ComplianceServer/oldcode/wechatTest/UnitTest1.cs

1153 lines
50 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using CRM.Core.BLL.EventBus.EventHandlers;
using CRM.Core.BLL.EventBus.Events;
using CRM.Core.BLL.Quality;
using CRM.Core.Common.EventBus;
using CRM.Core.Common.WebHelper;
using CRM.Core.DTO.Res;
using CRM.Core.Model.Entity;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using WX.CRM.BLL.Util;
using WX.CRM.BLL.Wx;
using WX.CRM.Common;
using WX.CRM.Common.WxPay;
//using WeChatServerServices;
using WX.CRM.DAL.Redis;
using WX.CRM.Model.DTO;
using WX.CRM.Model.Entity;
namespace wechatTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
}
[TestMethod]
public void TestUploadImage()
{
//var path = "C://Users//Administrator//Desktop//22.jpg";
//var bll = new WX.CRM.BLL.Wx.WX_FILEPATH_BL();
////var result = bll.UploadImage(path);
//Console.WriteLine(result);
}
[TestMethod]
public void TestUpload()
{
//try
//{
// var pstr = "testparams";
// var ret = Utility.PostData("http://localhost:18739/WXFilePathService.svc/Upload", pstr, Encoding.UTF8);
// Console.WriteLine(ret);
//}
//catch (Exception ex)
//{
//}
string path = @"C:\Users\Administrator\Desktop\22.jpg";
//string path = @"D:\soft\MongoCola2.0.5.zip";
//string path = @"C:\Users\Administrator\Desktop\z\Bootstrap_Table.rar";
//string path = @"C:\Users\Administrator\Desktop\z\sealtalk-web.zip";
System.Net.WebClient client = new System.Net.WebClient();
client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
var buffer = File.ReadAllBytes(path);
//client.UploadDataCompleted += UploadWc_UploadDataCompleted;
//client.UploadData(new Uri("http://localhost:46231/FilePath.svc/Upload/1111111111/22.jpg"), buffer);
client.UploadData(new Uri("http://192.168.1.132:8099/WxFileUpload2.ashx?fileName=22.jpg"), buffer);
//client.UploadDataAsync(new Uri("http://192.168.1.45:809/FilePath.svc/Upload/1111111111/22.jpg"), buffer);
}
private void UploadWc_UploadDataCompleted(object sender, System.Net.UploadDataCompletedEventArgs e)
{
Console.WriteLine(e.Result);
}
[TestMethod]
public void TestPutRContact()
{
//var model = new rcontact()
//{
// jobwxusername = "aaaa",
// username = "wxid_h1sph8q2rgo722",
// nickname = "浣溪沙",
// type = 1
//};
var list = new List<rcontact>
{
new rcontact()
{
jobwxusername = "test",
username = "wxid_h1sph8q2rgo722",
nickname = "浣溪沙",
type = 1
}
};
//dynamic model = new JObject();
//model.username = "wxid_h1sph8q2rgo722";
//model.nickname = "浣溪沙";
//model.type = 1;
//var url = "http://localhost:18739/WeiXinService.svc/RContact/Put";
var url = "http://192.168.1.45:809/WxMessageSvr.svc/RContact/Put";
var para = JsonConvert.SerializeObject(list);
//var para = JsonConvert.SerializeObject(model);
//var para = list.ToString();
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
//request.Method = "POST";
////request.ContentType = "application/x-www-form-urlencoded";
//request.ContentType = "application/json";
//byte[] data = Encoding.UTF8.GetBytes(para);
//using (BinaryWriter reqStream = new BinaryWriter(request.GetRequestStream()))
//{
// reqStream.Write(data, 0, data.Length);
//}
//using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
//{
// StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
// string result = reader.ReadToEnd();
// Console.WriteLine(result);
//}
//var ret = Utility.PostData(url, para, Encoding.UTF8);
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
webClient.Headers[HttpRequestHeader.ContentType] = "application/json";
//string result = webClient.UploadString(url, "POST", "{\"jobwxusername\" : \"Ashu|29|7 Years|.NET\"}");
string result = webClient.UploadString(url, "POST", para);
Console.WriteLine(result);
//webClient.UploadString(url, "POST", para);
//webClient.UploadString(url, "POST", "{\"username\":\"test\"}");
//webClient.UploadString(url, "POST", "aaa");
}
[TestMethod]
public void TestPutMessage()
{
var message = new message()
{
msgId = 1,
msgSvrId = 12121212121,
content = "测试测试"
};
var url = "http://192.168.1.132:809/WxMessageSvr.svc/Message/Put";
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
webClient.Headers[HttpRequestHeader.ContentType] = "application/json";
//string result = webClient.UploadString(url, "POST", JsonConvert.SerializeObject(message));
string result = webClient.UploadString(url, "POST", "{\"CTIME\":\"2016-12-20 19:38:40\",\"username\":\"wxid_h1sph8q2rgo722\",\"bizClientMsgId\":\"\",\"content\":\"yangjn6189%3A%0A%E6%98%AF%E5%88%B0%E5%90%83%E7%BE%8A%E8%82%89%E6%97%81%E8%BE%B9%E7%9A%84\",\"url\":\"\",\"filepath\":\"\",\"talker\":\"2717306012@chatroom\",\"nickname\":\"%E6%B5%A3%E6%BA%AA%E6%B2%99\",\"yunstatus\":1,\"msgSvrId\":7730313252734763026,\"createTime\":1480932765000,\"status\":3,\"isShowTimer\":0,\"talkerId\":34,\"isSend\":0,\"flag\":0,\"type\":1,\"upstatus\":0,\"msgId\":16,\"bizChatId\":-1,\"msgSeq\":0}");
Console.WriteLine(result);
}
[TestMethod]
public void TestPutAlive()
{
var alive = new alive()
{
username = "test",
lasttime = DateTime.Now.ToString()
};
var url = "http://192.168.1.45:809/WxMessageSvr.svc/Alive/Put";
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
webClient.Headers[HttpRequestHeader.ContentType] = "application/json";
//string result = webClient.UploadString(url, "POST", JsonConvert.SerializeObject(alive));
string result = webClient.UploadString(url, "POST", "{\"username\":\"test\",\"lasttime\":11}");
Console.WriteLine(result);
}
[TestMethod]
public void TestGetFileExt()
{
string path = @"asdfasdf\Desktop\Entity.aaa";
var ext = Path.GetFileNameWithoutExtension(path);
Console.WriteLine(ext);
}
[TestMethod]
public void TestGetMonth()
{
var yearMonth = DateTime.Now.ToString("yyyyMM");
var month = "201612";
if (yearMonth.Equals(month))
{
Console.WriteLine("ok");
}
Console.WriteLine(yearMonth);
}
//[TestMethod]
//public void TestMessage()
//{
// var json =
// "{\"filepath\":\"\",\"url\":\"\",\"username\":\"wxid_h1sph8q2rgo722\",\"nickname\":\"浣溪沙\",\"yunstatus\":1,\"upstatus\":0,\"ctime\":null,\"msgId\":272,\"msgSvrId\":6274263898379622724,\"type\":1,\"status\":3,\"isSend\":0,\"isShowTimer\":0,\"createTime\":1482314314000,\"talker\":\"8187202671@chatroom\",\"content\":\"wxid_jo5nnmegwumv21:\n的点点滴滴\",\"imgPath\":null,\"reserved\":null,\"lvbuffer\":null,\"transContent\":null,\"transBrandWording\":null,\"talkerId\":38,\"bizClientMsgId\":\"\",\"bizChatId\":-1,\"bizChatUserId\":null,\"msgSeq\":602350890,\"flag\":0}";
// var info = JsonConvert.DeserializeObject<WeChatServerServices.Model.message>(json);
// Subscribe s = new Subscribe();
// s.WxMessage(info);
//}
//[TestMethod]
//public void TestDoCreateTable()
//{
// Subscribe s = new Subscribe();
// var table = s.GetTableName();
// Console.WriteLine(table);
//}
[TestMethod]
public async Task TestRedisSet()
{
var isExists = await new RedisSet<string>().Contains("wxid:wxid_h1sph8q2rgo722", "zch55771");
Console.WriteLine(isExists);
}
[TestMethod]
public void TestZxReg()
{
//var url = "http://r.szzy888.com/Account/UnionRegister";
//var para = string.Format("userName={0}&userPassword={1}&userTrueName={2}&from={3}", "15179368185", "abc123", "", "guangzhou");
//var result = Utility.PostData(url, para, Encoding.UTF8);
////var result = "{\"result\":0,\"message\":\"注册成功!!\",\"data\":{\"userId\":\"161226020000803546\",\"userName\":\"13149388270\"}}";
//var json = JObject.Parse(result);
//var data = JObject.Parse(json["data"].ToString());
//Console.WriteLine(int.Parse(json["result"].ToString()));
//Console.WriteLine(json["message"]);
//Console.WriteLine(data["userId"]);
var result = Utility.PostData("http://localhost:46231/WxOrderSvr.svc/ZxRegister/Put/399673230373752993", Encoding.UTF8);
Console.WriteLine(result);
}
[TestMethod]
public void TestBatchInserUserIMEI()
{
var result = Utility.PostData("http://localhost:46231/WeiXinService.svc/BatchInsertUserIMEI?imeis=111111", Encoding.UTF8);
Console.Write(result);
}
[TestMethod]
public void TestUpPay()
{
ValidationErrors errors = new ValidationErrors();
SzzyOrderResult<SearchOrderResultData> result = new SzzyOrderResult<SearchOrderResultData>();
WX_SZZYORDER_BL wx_SzzyOrder_BL = new WX_SZZYORDER_BL();
WX.CRM.BLL.Util.CACHE_BL cache_BL = new WX.CRM.BLL.Util.CACHE_BL();
var str = cache_BL.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.WeiXIn_SzzyOrderUnPayDayInterval);
int m = 1;
int.TryParse(str, out m);
var list = wx_SzzyOrder_BL.GetUnPayList(-m);
Console.Write(list.Count());
}
[TestMethod]
public void TestWorkAccountSystemPauseHandle()
{
WX_WORKACCOUNT_BL wx_WorkAccount_BL = new WX_WORKACCOUNT_BL();
string errmsg = string.Empty;
var flag = wx_WorkAccount_BL.EveryDaySystemPauseHandle(out errmsg);
if (!flag)
{
LogHelper.Info("处理系统暂停工作微信失败:" + errmsg);
}
else
{
LogHelper.Info("处理系统暂停工作微信成功!");
}
Console.Write(flag);
}
[TestMethod]
public void TestWorkAccountManualPauseHandle()
{
WX_WORKACCOUNT_BL wx_WorkAccount_BL = new WX_WORKACCOUNT_BL();
string errmsg = string.Empty;
var flag = wx_WorkAccount_BL.EveryDayManualPauseHandle(out errmsg);
if (!flag)
{
LogHelper.Info("处理手工暂停工作微信失败:" + errmsg);
}
else
{
LogHelper.Info("处理手工暂停工作微信成功!");
}
Console.Write(flag);
}
[TestMethod]
public void TestDoWhile()
{
var tag = true;
do
{
var i = GetRandom();
Console.WriteLine(i);
if (i < 10)
{
tag = false;
}
} while (tag);
}
[TestMethod]
public void TestCheckDate()
{
var time = DateTime.Parse("2017/2/14 12:40:40");
var today = DateTime.Parse(DateTime.Now.Date.ToString());
var tomorrow = DateTime.Parse(DateTime.Now.Date.AddDays(1).ToString());
Console.WriteLine("today:" + today.ToString());
Console.WriteLine("tomorrow:" + tomorrow.ToString());
Console.WriteLine(time > today && time < tomorrow);
;
}
private int GetRandom()
{
Thread.Sleep(100);
var random = new Random().Next(0, 50);
return random;
}
[TestMethod]
public void TestGetSzzyOrderListInfo()
{
var bll = new WX_SZZYORDER_BL();
var list = bll.GetSzzyOrderListInfo();
Console.WriteLine(list.Count);
}
[TestMethod]
public void TestPhoneMd5()
{
WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper();
var mobile = sHelper.decyptData("UPWEBSITE", "4fU18+ipbzZ6vNhKMAi7IA==");
mobile = sHelper.encyptData("nj_crm", "13536107428");
//var mobile = sHelper.decyptData("nj_crm", "gNLkefJCGeWYGg+bthdoeA==");
//mobile = sHelper.encyptData("nj_crm", "13330196860");
//var mobile = sHelper.decyptData("TDORDERSITE", "YnegPa+RwIqrgZXjBLSrS0wxLnYRPgANkb7k5EXff8kkKip+/1v8gQZVTt0L1Jo6");
//mobile = sHelper.encyptData("nj_crm", "13330196860");
//var mobile = sHelper.decyptData("UPWEBSITE", HttpUtility.UrlDecode("delvAlmupXmJNN8LDai1GrymT4kDdaBMREaahQqtOsAibHcdbbYIqZX63CcqonXJbXQp1%2fLd3j4YX0guSfooyw%3d%3d"));
Console.WriteLine(mobile);
//var str = sHelper.decyptData("TDORDERSITE", "WSMG984VTfLKhFCfJh3mF20SaYp6IsFReQSCeo7c9zvimPfuFeUw1AJvUH8Mj+vZt01cnGUWoBthdHUfLRYrjwNoZa7YhvcN1OJQDtn30Gd5t0YbJSFEj84EIFh/iu0LUnlOba013+XWaKaikUiH830YxG+jU2qs0SaREh0hR64RE0ejkrIzAApjsl8WPYiCM6ybgipBla0/WIMFF8UJZIPXc6uW8vBGvynSyNsq90o=");
//Console.WriteLine(str);
//var phone = Utility.EncryptMD5("13606815699" + "hc.pj.2017");
//Console.WriteLine(phone);
//var url = "WSMG984VTfLKhFCfJh3mF20SaYp6IsFReQSCeo7c9zvimPfuFeUw1AJvUH8Mj+vZt01cnGUWoBthdHUfLRYrjwNoZa7YhvcN1OJQDtn30Gd5t0YbJSFEj84EIFh/iu0LUnlOba013+XWaKaikUiH830YxG+jU2qs0SaREh0hR64RE0ejkrIzAApjsl8WPYiCM6ybgipBla0/WIMFF8UJZIPXc6uW8vBGvynSyNsq90o=&clientid=UPWEBSITE&sign=pFS+IHDK0XNMXegM0z4ddw==";
//Console.WriteLine(HttpUtility.UrlEncode(url));
}
[TestMethod]
public void TestPhoneCti()
{
//OTFOETB2ttGsS1fGKcWy0Q%3D%3D
//X%2bCoAxNn4JSdr0UtCNN4rA%3d%3d
//y01UqKP8k5%2FDq4wYLxxIGw%3D%3D
//VgkvawNBKFDM+Z7BxbHD2w==
//Zt2Nd9bCjOtXc9zs4ZVrSQ==
var CNumber = "019928301085";
CNumber = CNumber.Replace("+86", "");
if (CNumber.StartsWith("01") && CNumber.Length == 12)
{
CNumber = CNumber.Substring(1);
}
Console.WriteLine(CNumber);
//var encyptMobile = new SecurityHelper().encyptCtiNumStr("019928301085");
//Console.WriteLine(encyptMobile);
//var mobile = new SecurityHelper().decyptCtiNumStr(encyptMobile);
//Console.WriteLine(mobile);
////if (mobile.StartsWith("01") && mobile.Length == 12)
////{
//// mobile = mobile.Substring(1);
//// Console.WriteLine("a:" + mobile);
////}
////mobile = mobile.Replace("+86", "");
////if (mobile.Length == 12 && mobile.StartsWith("01"))//长度必须是12位且是01开头必然是手机号去除前面的0
////{
//// mobile = mobile.Substring(mobile.Length - 11, 11);
//// Console.WriteLine("b:" + mobile);
////}
////else if (mobile.Length > 12)//大于12位的取后面的11位
////{
//// mobile = mobile.Substring(mobile.Length - 11, 11);
//// Console.WriteLine("c:" + mobile);
////}//小于等于11的不做处理
//var resid = WX.CRM.Common.ResUtil.CreateResId(mobile);
//Console.WriteLine(resid);
}
[TestMethod]
public void TestCurDate()
{
/*
//DateTime convertedDate = DateTime.Parse(DateTime.Now.ToShortDateString());
//Console.WriteLine(convertedDate.ToLocalTime());
DateTime convertedDate = DateTime.SpecifyKind(DateTime.Parse(DateTime.Now.ToShortDateString()), DateTimeKind.Utc);
Console.WriteLine(convertedDate.ToString());
var date = DateTime.Parse(DateTime.UtcNow.ToShortDateString()).AddDays(1);
//var date = DateTime.UtcNow.ToUniversalTime();
Console.WriteLine(date.ToString());
*/
DateTime expireDate = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc).AddMinutes(10);
var timeSpan = expireDate - DateTime.Now;
Console.WriteLine(expireDate - DateTime.UtcNow);
Console.WriteLine(timeSpan);
}
[TestMethod]
public void TestSoftUser()
{
//WSMG984VTfLcooTfvUvIVfIEsItqa4MD/eSggp6Qv3phSAhba0aBtgc7HbvCoenHBK/OoOkCo/EzCgWl+zW5F+1qAgdYgWopPFshWxd5bqtoB7F0R8LMV7xP3lFTSnMGTI1ad2s6Rh5ShMb/zCF6CnK0Pxp9IKbRA7id/y5JyM4DEQYRCAHE7OHED6fum6cbvQTbhfu96w5ABQonjqcCssKAY8KTwFZg7BCudlXa6i8=&clientid=TDORDERSITE&sign=EEjOFIIQU1N4Hmaanvt+aQ==
//string _url = "http://121.14.69.17:801/ResourceService.svc/GetResRegUser";
//System.Web.Script.Serialization.JavaScriptSerializer serize = new System.Web.Script.Serialization.JavaScriptSerializer();
//string message = serize.Serialize(new ResModel() { StartTime = sd.ToString(), EndTime = ed.ToString(), typeId = _id });
//string message = serize.Serialize(new ResModel() { StartTime = DateTime.Parse("2017-03-01").ToString(), EndTime = DateTime.Parse("2017-03-19").ToString(), companyCode = "TDOEM" });
string clientid = "UPWEBSITE";
string key = "content={0}&clientId=UPWEBSITE&sign={1}";
//string jiami = new SecurityHelper().encyptData(clientid, message);
string jiami1 = HttpUtility.UrlEncode("WSMG984VTfLcooTfvUvIVfIEsItqa4MD/eSggp6Qv3phSAhba0aBtgc7HbvCoenHBK/OoOkCo/EzCgWl+zW5F+1qAgdYgWopPFshWxd5bqtoB7F0R8LMV7xP3lFTSnMGTI1ad2s6Rh5ShMb/zCF6CnK0Pxp9IKbRA7id/y5JyM4DEQYRCAHE7OHED6fum6cbvQTbhfu96w5ABQonjqcCssKAY8KTwFZg7BCudlXa6i8=", Encoding.UTF8);
//string jiasuo = new SecurityHelper().signData(clientid, jiami);
string jiasuo1 = HttpUtility.UrlEncode("EEjOFIIQU1N4Hmaanvt+aQ==", Encoding.UTF8);
key = string.Format(key, jiami1, jiasuo1);
Console.WriteLine(key);
//WX.CRM.Common.LogHelper.Error(_url);
// string str = WX.CRM.Common.Utility.HttpPostData(_url, key, Encoding.UTF8);
//string str = WX.CRM.Common.Utility.PostData(_url + "?" + key, System.Text.Encoding.UTF8);
//str = new SecurityHelper().decyptData("UPWEBSITE", str);
//Console.WriteLine(str);
//var str = "delvAlmupXkNIYzx75OcSzeE8/t07dG3IqLY0reM/plP1nV37r4r2A==";
//var ret = new SecurityHelper().decyptData("UPWEBSITE", str);
//Console.WriteLine(ret);
}
[TestMethod]
public void TestResourceJoin()
{
//Join?content={content}&clientid={clientid}&sign={sign}
var model = new JionActiveDto()
{
account = "dn0000028",
accounttype = 0,
campaignId = "web_gzyy_20181115"
};
var json = JsonConvert.SerializeObject(model);
var para = new SecurityHelper().createSignEncodingStr(json);
Console.WriteLine(para);
//var url = "http://47.107.128.102:8096/ResourceService.svc/Join";
//var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
//Console.WriteLine(rep);
//var jiemi = new SecurityHelper().decyptData("UPWEBSITE", rep);
//Console.WriteLine(jiemi);
}
[TestMethod]
public void TestExpiryOrder()
{
ValidationErrors errors = new ValidationErrors();
SzzyOrderResult<SearchOrderResultData> result = new SzzyOrderResult<SearchOrderResultData>();
WX_SZZYORDER_BL wx_SzzyOrder_BL = new WX_SZZYORDER_BL();
var list = wx_SzzyOrder_BL.GetList(m => m.ORDERSTATUS == "4" && m.ENDTIME < DateTime.Now).OrderBy(m => m.ENDTIME);
foreach (var item in list)
{
Thread.Sleep(1000);
}
}
[TestMethod]
public void TestNum()
{
/*string url = "http://192.168.1.132/uploadfile/20173/683158d486caa14bb6ba070995c4efcb.amr";
string arr = url.Substring(0, url.IndexOf("uploadfile")) + "uploadfile";
url = url.Replace(arr, "");
Console.WriteLine(url);*/
var str = WX.CRM.Common.Utility.ConvertDateTimeToInt(Convert.ToDateTime("2017-5-16"));
var str2 = WX.CRM.Common.Utility.ConvertStringToDateTime("1494864000000");
Console.WriteLine(WX.CRM.Model.Enum.Parameter.WeiXin_IllegalKewords.ToString());
string url = "http://192.168.1.132/uploadfile/20173/683158d486caa14bb6ba070995c4efcb.amr";
string arr = url.Substring(0, url.IndexOf("uploadfile")) + "uploadfile";
url = url.Replace(arr, "");
var path = Path.Combine(@"\\192.168.1.171\weixin", "audio");
Console.WriteLine(arr);
Console.WriteLine(url);
Console.WriteLine(path);
}
[TestMethod]
public void TestMsgSql()
{
var list = new List<string>()
{
"wx_gen_msqunfa_detail197007_0",
"wx_gen_msqunfa_detail197007_1",
"wx_gen_msqunfa_detail197011_0",
"wx_gen_msqunfa_detail197101_0",
"wx_gen_msqunfa_detail197111_1",
"wx_gen_msqunfa_detail197201_1",
"wx_gen_msqunfa_detail197501_1",
"wx_gen_msqunfa_detail197503_1",
"wx_gen_msqunfa_detail197510_0",
"wx_gen_msqunfa_detail197510_1",
"wx_gen_msqunfa_detail197601_1",
"wx_gen_msqunfa_detail197611_1",
"wx_gen_msqunfa_detail197701_0",
"wx_gen_msqunfa_detail197706_0",
"wx_gen_msqunfa_detail197707_0",
"wx_gen_msqunfa_detail197710_0",
"wx_gen_msqunfa_detail197710_1",
"wx_gen_msqunfa_detail197711_1",
"wx_gen_msqunfa_detail197801_0",
"wx_gen_msqunfa_detail197801_1",
"wx_gen_msqunfa_detail197802_0",
"wx_gen_msqunfa_detail197802_1",
"wx_gen_msqunfa_detail197803_0",
"wx_gen_msqunfa_detail197803_1",
"wx_gen_msqunfa_detail197804_0",
"wx_gen_msqunfa_detail197804_1",
"wx_gen_msqunfa_detail197805_0",
"wx_gen_msqunfa_detail197805_1",
"wx_gen_msqunfa_detail197806_0",
"wx_gen_msqunfa_detail197806_1",
"wx_gen_msqunfa_detail197807_0",
"wx_gen_msqunfa_detail197901_0",
"wx_gen_msqunfa_detail198007_0",
"wx_gen_msqunfa_detail198109_1",
"wx_gen_msqunfa_detail198205_0",
"wx_gen_msqunfa_detail198208_1",
"wx_gen_msqunfa_detail198302_0",
"wx_gen_msqunfa_detail198309_1",
"wx_gen_msqunfa_detail198401_1",
"wx_gen_msqunfa_detail198502_1",
"wx_gen_msqunfa_detail198607_1",
"wx_gen_msqunfa_detail198609_1",
"wx_gen_msqunfa_detail198804_0",
"wx_gen_msqunfa_detail198810_1",
"wx_gen_msqunfa_detail198910_0",
"wx_gen_msqunfa_detail199108_0",
"wx_gen_msqunfa_detail199311_0",
"wx_gen_msqunfa_detail199404_1",
"wx_gen_msqunfa_detail199601_1",
"wx_gen_msqunfa_detail199712_0",
"wx_gen_msqunfa_detail199812_1",
"wx_gen_msqunfa_detail199902_1",
"wx_gen_msqunfa_detail200302_1",
"wx_gen_msqunfa_detail201003_1",
"wx_gen_msqunfa_detail201004_0",
"wx_gen_msqunfa_detail201004_1",
"wx_gen_msqunfa_detail201005_0",
"wx_gen_msqunfa_detail201005_1",
"wx_gen_msqunfa_detail201006_0",
"wx_gen_msqunfa_detail201006_1",
"wx_gen_msqunfa_detail201007_0",
"wx_gen_msqunfa_detail201007_1",
"wx_gen_msqunfa_detail201008_0",
"wx_gen_msqunfa_detail201008_1",
"wx_gen_msqunfa_detail201009_0",
"wx_gen_msqunfa_detail201009_1",
"wx_gen_msqunfa_detail201010_0",
"wx_gen_msqunfa_detail201010_1",
"wx_gen_msqunfa_detail201011_0",
"wx_gen_msqunfa_detail201011_1",
"wx_gen_msqunfa_detail201012_0",
"wx_gen_msqunfa_detail201012_1",
"wx_gen_msqunfa_detail201101_0",
"wx_gen_msqunfa_detail201101_1",
"wx_gen_msqunfa_detail201102_0",
"wx_gen_msqunfa_detail201501_0",
"wx_gen_msqunfa_detail201504_0",
"wx_gen_msqunfa_detail201612_1",
"wx_gen_msqunfa_detail201701_0",
"wx_gen_msqunfa_detail201701_1",
"wx_gen_msqunfa_detail201702_0",
"wx_gen_msqunfa_detail201702_1",
"wx_gen_msqunfa_detail201703_0",
"wx_gen_msqunfa_detail201703_1",
"wx_gen_msqunfa_detail201704_0",
"wx_gen_msqunfa_detail201704_1",
"wx_gen_msqunfa_detail201705_0",
"wx_gen_msqunfa_detail201705_1",
"wx_gen_msqunfa_detail201706_0",
"wx_gen_msqunfa_detail201706_1",
"wx_gen_msqunfa_detail201707_0",
"wx_gen_msqunfa_detail201707_1",
"wx_gen_msqunfa_detail201708_0",
"wx_gen_msqunfa_detail201708_1",
"wx_gen_msqunfa_detail201709_0",
"wx_gen_msqunfa_detail201709_1",
"wx_gen_msqunfa_detail201710_0",
"wx_gen_msqunfa_detail201710_1",
"wx_gen_msqunfa_detail201711_0",
"wx_gen_msqunfa_detail201711_1",
"wx_gen_msqunfa_detail201712_0",
"wx_gen_msqunfa_detail201712_1",
"wx_gen_msqunfa_detail201801_0",
"wx_gen_msqunfa_detail201801_1",
"wx_gen_msqunfa_detail201802_0",
"wx_gen_msqunfa_detail201802_1",
"wx_gen_msqunfa_detail201803_0",
"wx_gen_msqunfa_detail201803_1",
"wx_gen_msqunfa_detail201809_0",
"wx_gen_msqunfa_detail201902_1",
"wx_gen_msqunfa_detail201903_1",
"wx_gen_msqunfa_detail202109_1",
"wx_gen_msqunfa_detail202904_1",
"wx_gen_msqunfa_detail203004_1",
"wx_gen_msqunfa_detail203207_1"
};
var sql = "";
var i = 1;
foreach (var item in list)
{
var sql2 = "select fd.username talker,f.jobusername username,CONVERT(varchar(100), dateadd(HOUR,8, dateadd(ss,f.createtime/1000,CONVERT(datetime,'1/1/1970',111))), 111) createTime ";
sql2 += "from wx_gen_msqunfa f join " + item + " fd on f.clientid = fd.clientid ";
//sql2 += "where not exists(select 1 from wx_communication3day d where fd.username = d.username and f.jobusername = d.jobusername) ";
sql2 += "where fd.username in('wxid_8hs2u25pb7gj22','wxid_bieom4hi5kx422','wxid_wimdq0a9whrf22','wxid_4s45rfhfcwci22') ";
sql2 += "group by fd.username,f.jobusername,CONVERT(varchar(100), dateadd(HOUR, 8, dateadd(ss, f.createtime / 1000, CONVERT(datetime, '1/1/1970', 111))), 111) ";
if (i != list.Count)
sql2 += "union ";
sql = sql + sql2;
i++;
}
Console.WriteLine(sql);
}
[TestMethod]
public void TestMsgSql2()
{
var list = new List<string>()
{
"wx_message201612",
"wx_message201701",
"wx_message201702",
"wx_message201703",
"wx_message201704",
"wx_message201705",
"wx_message201706",
"wx_message201707",
"wx_message201708",
"wx_message201709",
"wx_message201710",
"wx_message201711",
"wx_message201712",
"wx_message201801",
"wx_message201802",
"wx_message201803"
};
var list2 = new List<string>()
{
"wx_gen_msqunfa_detail197701_0",
"wx_gen_msqunfa_detail197710_1",
"wx_gen_msqunfa_detail197711_1",
"wx_gen_msqunfa_detail197904_0",
"wx_gen_msqunfa_detail197911_0",
"wx_gen_msqunfa_detail198012_0",
"wx_gen_msqunfa_detail198102_1",
"wx_gen_msqunfa_detail201003_1",
"wx_gen_msqunfa_detail201004_0",
"wx_gen_msqunfa_detail201701_0",
"wx_gen_msqunfa_detail201702_1",
"wx_gen_msqunfa_detail201703_0",
"wx_gen_msqunfa_detail201703_1",
"wx_gen_msqunfa_detail201704_0",
"wx_gen_msqunfa_detail201704_1",
"wx_gen_msqunfa_detail201705_0",
"wx_gen_msqunfa_detail201705_1",
"wx_gen_msqunfa_detail201706_0",
"wx_gen_msqunfa_detail201706_1",
"wx_gen_msqunfa_detail201707_0",
"wx_gen_msqunfa_detail201707_1",
"wx_gen_msqunfa_detail201708_0",
"wx_gen_msqunfa_detail201708_1",
"wx_gen_msqunfa_detail201709_0",
"wx_gen_msqunfa_detail201709_1",
"wx_gen_msqunfa_detail201710_0",
"wx_gen_msqunfa_detail201710_1",
"wx_gen_msqunfa_detail201711_0",
"wx_gen_msqunfa_detail201711_1",
"wx_gen_msqunfa_detail201712_0",
"wx_gen_msqunfa_detail201712_1",
"wx_gen_msqunfa_detail201801_0",
"wx_gen_msqunfa_detail201801_1",
"wx_gen_msqunfa_detail201802_0",
"wx_gen_msqunfa_detail201802_1",
"wx_gen_msqunfa_detail201803_0",
"wx_gen_msqunfa_detail201803_1"
};
var sql = "select talker,username,count(*)num from(";
foreach (var item in list)
{
var sql3 = "select m.talker,m.username,CONVERT(varchar(100), dateadd(HOUR,8, dateadd(ss,m.createTime/1000,CONVERT(datetime,'1/1/1970',111))), 111) createTime ";
sql3 += "from " + item + " m where m.msgtype <> 10000 and m.issend = 1 ";
sql3 += "and not exists(select 1 from wx_communication3day d where m.talker = d.username and m.username = d.jobusername) ";
//sql3 += "and m.username = 'wxid_ock65zi7igqw22' ";
sql3 += "group by m.talker,m.username,CONVERT(varchar(100), dateadd(HOUR,8, dateadd(ss,m.createTime/1000,CONVERT(datetime,'1/1/1970',111))), 111) ";
sql3 += "union ";
sql += sql3;
}
var i = 1;
foreach (var item in list2)
{
var sql2 = "select fd.username talker,f.jobusername username,CONVERT(varchar(100), dateadd(HOUR,8, dateadd(ss,f.createtime/1000,CONVERT(datetime,'1/1/1970',111))), 111) createTime ";
sql2 += "from wx_gen_msqunfa f join " + item + " fd on f.clientid = fd.clientid ";
sql2 += "where not exists(select 1 from wx_communication3day d where fd.username = d.username and f.jobusername = d.jobusername) ";
//sql2 += "where f.jobusername in('wxid_ock65zi7igqw22') ";
sql2 += "group by fd.username,f.jobusername,CONVERT(varchar(100), dateadd(HOUR, 8, dateadd(ss, f.createtime / 1000, CONVERT(datetime, '1/1/1970', 111))), 111) ";
if (i != list2.Count)
sql2 += "union ";
sql = sql + sql2;
i++;
}
sql += ")m group by talker,username having count(*)>=3;";
Console.WriteLine(sql);
}
[TestMethod]
public void TestArrayList()
{
var userName = "";
using (var db = new crmContext())
{
var regUser = db.SOFT_USER.FirstOrDefault(p => p.USERNAME == userName);
if (regUser != null)
Console.WriteLine(regUser.USERNAME);
else
Console.WriteLine("user is null");
}
}
[TestMethod]
public void TestConn()
{
var conn = ConfigurationManager.ConnectionStrings;
foreach (ConnectionStringSettings connectionStringSettings in conn)
{
Console.WriteLine(connectionStringSettings.ConnectionString);
}
}
[TestMethod]
public void TestConfig()
{
var config = Utility.GetSettingOrNullByKey("IsSaveUploadFile");
if ((!string.IsNullOrEmpty(config) && config == "0"))
Console.WriteLine("ok");
else
Console.WriteLine("11111111111");
}
[TestMethod]
public void TestLottery()
{
//for (int i = 0; i < 10; i++)
//{
// var ret = RandLottery(new List<int>());
// Console.WriteLine(ret);
//}
var para = new List<int>() { 0, 6 };
//var para = new List<int>() { 2 };
//var para = new List<int>() { 3 };
//var para = new List<int>() {3, 5};
var ret = RandLottery(para);
Console.WriteLine(ret);
}
[TestMethod]
public void TestYiZhengSMS()
{
var list = new List<SmsDto>()
{
new SmsDto(){ message = "aaaa", mobile="13416115228"}
};
var json = JsonConvert.SerializeObject(list);
WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper();
//var key = sHelper.createSignEncodingStr(json);
string clientid = "UPWEBSITE";
//string key = "content={0}&clientid=gd_crm&sign={1}";
string jiami = sHelper.encyptData(clientid, json);
string jiami1 = HttpUtility.UrlEncode(jiami, Encoding.UTF8);
string jiasuo = sHelper.signData(clientid, jiami);
string jiasuo1 = HttpUtility.UrlEncode(jiasuo, Encoding.UTF8);
//key = string.Format(key, jiami1, jiasuo1);
var para = new PutSmsDto() { clientid = clientid, content = jiami1, sign = jiasuo1 };
//Console.WriteLine(key);
var url = "http://192.168.1.132:906/SmsService.svc/PutSms";
//var url = "http://localhost:18739/SmsService.svc/PutSms";
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
webClient.Headers.Add("Content-Type", "application/json");
//string result = webClient.UploadString(url, "POST", JsonConvert.SerializeObject(message));
string result = webClient.UploadString(url, "POST", JsonConvert.SerializeObject(para));
Console.WriteLine(result);
//var result = Utility.PostData(url, key, Encoding.UTF8);
//var result = Utility.GetData(url, key, Encoding.UTF8);
//Console.WriteLine(result);
//string str = "Jn92AhYu1+g=";
//WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper();
//var ret = sHelper.decyptData("UPWEBSITE", str);
//Console.WriteLine(ret);
}
[TestMethod]
public void TestQingQiu()
{
var clientid = "UPWEBSITE";
var content = HttpUtility.UrlDecode("aaMP6krLOXtD7Hg3HxAsko1ID%2fuQLEe%2bePGDRyY3oPhs2KBtqgWejFR2lGmCtTtn");
var sign = HttpUtility.UrlDecode("A13fi2okBLI3jacAhaW2JA%3d%3d");
WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper();
//var aa = sHelper.decyptData(clientid, content);
//Console.WriteLine(aa);
if (!sHelper.CheckClientValid(clientid, content, sign))
{
Console.WriteLine("err");
}
else
{
Console.WriteLine("ok");
}
}
[TestMethod]
public void TestJiaMi()
{
////var account = "nanjing";
////var date = DateTime.Now.ToString("yyyyMMdd");
////var str = account + "#" + date;
//WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper();
////var clientId = "UPWEBSITE";
////var ret = sHelper.encyptData(clientId, str);
////Console.WriteLine(ret);
//var data = sHelper.decyptData("UPWEBSITE", "delvAlmupXmJNN8LDai1GrymT4kDdaBM2V3rGyDPkwI=");
//Console.WriteLine(data);
//var obj = Utility.JSONToObject<aa>(data);
//Console.WriteLine(obj.result);
////var arr = data.Split('#');
////Console.WriteLine(arr[0]);
////Console.WriteLine(arr[1]);
var mobile = string.Empty;
var sHelper = new WX.Interface.Security.EncDecUtil();
var num = sHelper.encyptData(mobile, "1622a92d");
Console.WriteLine(num);
}
[TestMethod]
public void TestTuiSongJiaMi()
{
//var phone = new SecurityHelper().decyptData("UPWEBSITE", string.Format("{0}", HttpUtility.UrlDecode(Utility.JSONToObject<string>("\"delvAlmupXmJNN8LDai1GrymT4kDdaBMREaahQqtOsAibHcdbbYIqU%2bR3ZxgW6MVT6Y9AcORszm9P3MqN7rkog%3d%3d\""))));
//Jn92AhYu1+g=
//var phone = new SecurityHelper().decyptData("UPWEBSITE", string.Format("{0}", "Jn92AhYu1+g="));
//Console.WriteLine("phone:" + phone);
//var username = Utility.EncryptMD5(phone.Trim() + "hc.pj.2017");
//Console.WriteLine(username);
var aa = HttpUtility.UrlEncode("Alu3WU3OOD2XUp4ivX5tCCrCEbb8NbkFjd5hgs2xLNAz4cJSKmW4sMSgjIBWj9bH9naPvXccUDN7pWu/0JYwABN+YUb2lEo6Yv6ecirHF9bC+BGUjlPTqlcKonuZjYBHvCWPH0DNVL/vsdWH1BDjoOifH5p1p5ym&clientid=UPWEBSITE&sign=bpiIQZaHGxkMb8reb89zAQ==");
Console.WriteLine(aa);
}
[TestMethod]
public void TestPassword()
{
var pwd = Utility.Sha512("abc123J1AcCb5m");
Console.WriteLine(pwd);
}
[TestMethod]
public void TestOrderActive()
{
CRM.Core.BLL.Wx.WX_OrderActive_BL orderActive_BL = new CRM.Core.BLL.Wx.WX_OrderActive_BL();
var orderDate = Convert.ToDateTime("2019-2-1 09:46:36").Date;
var list = orderActive_BL.GetList("UPCFJC_20181119180241", "QBJZ", orderDate);
var count = 0;
if (list != null)
{
count = list.Count;
}
Console.WriteLine(orderDate.ToString() + "\r\n" + count);
}
[TestMethod]
public void HgSmsSend()
{
QC_CUSTOMERCOMPLAIN_BL complainBL = new QC_CUSTOMERCOMPLAIN_BL();
EventBus.Instance.Subscribe(new SendHgMessageEventHandler());
var hgReceiveMobile = ConfigurationManager.AppSettings["HgReceiveMobile"];
var resList = new List<string>();
if (!string.IsNullOrWhiteSpace(hgReceiveMobile))
{
resList = hgReceiveMobile.Split(',').ToList();
}
var list = complainBL.GetUnHandleList();
if (list != null && list.Count > 0)
{
foreach (var resId in resList)
{
var sendHgMessageEvent = new SendHgMessageEvent(-1, resId, 10000);
EventBus.Instance.Publish(sendHgMessageEvent);
}
}
else
{
list = complainBL.GetHandleingList();
if (list != null && list.Count > 0)
{
foreach (var resId in resList)
{
var sendHgMessageEvent = new SendHgMessageEvent(0, resId, 10000);
EventBus.Instance.Publish(sendHgMessageEvent);
}
}
}
}
[TestMethod]
public void OrderDonate()
{
CRM.Core.BLL.Wx.WX_SZZYORDER_BL orderBL = new CRM.Core.BLL.Wx.WX_SZZYORDER_BL();
CRM.Core.BLL.Wx.WX_OrderActive_BL orderActive_BL = new CRM.Core.BLL.Wx.WX_OrderActive_BL();
var orderId = 80000051;
var order = orderBL.GetModel(orderId);
if ((order.giftdays.HasValue && order.giftdays > 0) || (order.giftdays2.HasValue && order.giftdays2 > 0))
{
//查询符合条件的活动信息
var orderCdate = DateTime.Now.Date;
if (order.CTIME.HasValue)
{
orderCdate = order.CTIME.Value.Date;
}
var activeList = orderActive_BL.GetList(order.PRODUCTCODE, order.companycode, orderCdate);
if (activeList != null && activeList.Count > 0)
{
string activeproductcode = "";
List<ActiveProduct> activeProductList = new List<ActiveProduct>();
foreach (var active in activeList)
{
//订购的数量达到最低要求
if (order.BOOKNUM >= active.MinCount)
{
var count = 0;//产品数量
//是否跟随订单赠送1用订单表的giftdays字段作为赠送时长0用本表的donateday字段作为赠送时长,2:用订单表的giftdays2字段作为赠送时长
if (active.IsFollowOrder == 1 && order.giftdays > 0)
{
count = order.BOOKNUM * order.giftdays.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了
}
else if (active.IsFollowOrder == 2 && order.giftdays2 > 0)
{
count = order.BOOKNUM * order.giftdays2.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了
}
else if (active.IsFollowOrder == 0 && order.giftdays > 0)
{
count = order.BOOKNUM * active.DonateDay;//产品数量
}
if (count == 0)
{
continue;
}
Console.WriteLine(active.ActiveCode + " : " + count);
}
}
}
}
}
[TestMethod]
public void RiskUrl()
{
//WX_PRODUCT_BL product_bl = new WX_PRODUCT_BL();
//CRM.Core.BLL.Base.BAS_PARAMETER_BL paramter_bl = new CRM.Core.BLL.Base.BAS_PARAMETER_BL();
SecurityHelper sHelper = new SecurityHelper();
string url = "https://r2.soft.tcfortune.com/contract_sign_crm/signcontract";
var json2 = new
{
productName = "测试",
period = string.Format("{0}天", 1),
price = string.Format("{0}元", 0.01),
userId = "ceshi116",
productLevel = 1,
productInvestTime = 1,
productInvestType = 1,
issupplement = 1,
orderId = "80026027",
htid = string.Format("DN{0}", "1885305293046611")
};
string clientid = SecurityHelper.OrderClientIdKey;
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json2));
string sign = sHelper.signData(clientid, content);
var htUrl = url + string.Format("?content={0}&sign={1}&clientId={2}&protocolType=", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
Console.WriteLine(htUrl);
}
[TestMethod]
public void WxPay()
{
NativePay wxPay = new NativePay();
string res = wxPay.GetPayQRCode("123456", WxPayApi.GenerateOutTradeNo(), "测试", 1, "1526275611");
Console.WriteLine(res);
}
[TestMethod]
public void TnbNotice()
{
CRM.Core.BLL.Wx.TnbSyncModel param = new CRM.Core.BLL.Wx.TnbSyncModel();
param.orderNo = "11111";
param.thridOrderNo = "22222222";
param.payWay = "WX";
param.merchantOrderNo = "123";
param.totalPrice = 1;
string sign = string.Format("{0}-{1}-{2}-{3}-{4}-{5}", param.orderNo, param.thridOrderNo, param.payWay, param.totalPrice, param.merchantOrderNo, "LJo2wgt8920RjgCL");
param.sign = Utility.EncryptMD5(sign);
string freejson = JsonHelper.ObjDivertToJson(param);
string msg = Utility.PostAjaxData("http://api.taoniubang.com/orders/callback/dn", freejson, Encoding.UTF8);//返回信息
//TnbResult res = JsonHelper.JsonDivertToObj<TnbResult>(msg);
Console.WriteLine(msg);
}
private int RandLottery(List<int> arr)
{
var list = new List<int>() { 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 5, 7 };
var list046 = new List<int>() { 0, 4, 6 };
var list357 = new List<int>() { 3, 5, 7 };
//第一次抽奖
if (arr.Count <= 0)
{
return list.OrderBy(p => Guid.NewGuid()).First();
}
else if (arr.Count == 1)
{
//第二次抽奖,使用 list 是为了保证中奖率的问题
if (arr.Contains(2))
{
//如果已经抽中 2那就不能抽中 2046
var list2 = list.Where(p => p != 0 && p != 4 && p != 6 && p != 2);
return list2.OrderBy(p => Guid.NewGuid()).First();
}
else if (arr.Contains(0) || arr.Contains(4) || arr.Contains(6))
{
//如果抽中 046 中的一个,就去掉抽中的那个和 2
var list2 = list.Where(p => p != 2 && p != arr[0]);
return list2.OrderBy(p => Guid.NewGuid()).First();
}
else
{
//如果抽中 357 中的一个,就去掉抽中的那个
var list2 = list.Where(p => p != arr[0]);
return list2.OrderBy(p => Guid.NewGuid()).First();
}
}
else
{
var except046 = new List<int>();
var except357 = new List<int>();
var allList = new List<int>();
//获取与046的交集
var intersect046 = list046.Intersect(arr);
//如果中了 2就不能中 046
if (!arr.Contains(2))
{
//小于2说明这个组还能再抽奖
if (intersect046.Count() < 2)
{
//取能中奖的数
except046 = list046.Except(intersect046).ToList();
}
}
//获取与357的交集
var intersect357 = list357.Intersect(arr);
//小于2说明这个组还能再抽奖
if (intersect357.Count() < 2)
{
//取能中奖的数
except357 = list357.Except(intersect357).ToList();
}
allList.AddRange(except046);
allList.AddRange(except357);
//如果不包含046并且没中过 2那么可以抽 2
if (intersect046.Count() <= 0 && !arr.Contains(2))
{
allList.Add(2);
}
return allList.OrderBy(p => Guid.NewGuid()).First();
}
}
public class ResModel
{
public string StartTime { get; set; }
public string EndTime { get; set; }
public string companyCode { get; set; }
}
public class SmsDto
{
public string message { get; set; }
public string mobile { get; set; }
}
public class PutSmsDto
{
public string content { get; set; }
public string clientid { get; set; }
public string sign { get; set; }
}
public class aa
{
public string result { get; set; }
}
}
}