|
@@ -1,6 +1,7 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
+using System.Text.RegularExpressions;
|
|
|
using MySystem.Models;
|
|
|
using Library;
|
|
|
using LitJson;
|
|
@@ -13,14 +14,14 @@ namespace MySystem
|
|
|
private MerchantConfirmService()
|
|
|
{ }
|
|
|
|
|
|
- public void Start(string MerchantIdString)
|
|
|
+ public void Start(string MerchantIdString, int Kind = 0)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
int MerchantId = int.Parse(function.CheckInt(MerchantIdString));
|
|
|
- WebCMSEntities db = new WebCMSEntities();
|
|
|
- MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
|
|
|
- MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
|
|
|
+ PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
|
|
|
+ PxcModels.MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
|
|
|
+ PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
|
|
|
if (AddInfo != null && merchant != null)
|
|
|
{
|
|
|
string BusinessCode = AddInfo.BusinessCode;
|
|
@@ -28,86 +29,28 @@ namespace MySystem
|
|
|
{
|
|
|
BusinessCode = "KXS" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(5);
|
|
|
AddInfo.BusinessCode = BusinessCode;
|
|
|
- db.SaveChanges();
|
|
|
}
|
|
|
+ merchant.LoginPwd = function.MD532(AddInfo.MobilePhone.Substring(6));
|
|
|
+ db.SaveChanges();
|
|
|
List<MerchantInfo> merchants = TendisDbconn.Instance.GetList<MerchantInfo>("MerchantList:" + merchant.UserId, 1, 10000000);
|
|
|
-
|
|
|
- //微信
|
|
|
- string result = new WeChatFunction().MerchantCreate(AddInfo, merchant);
|
|
|
- if (result.Contains("\"applyment_id\":"))
|
|
|
- {
|
|
|
- JsonData jsonObj = JsonMapper.ToObject(result);
|
|
|
- AddInfo.ApplymentId = jsonObj["applyment_id"].ToString();
|
|
|
- db.SaveChanges();
|
|
|
- List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
|
|
|
- bool op = signs.Any(m => m.BusinessCode == BusinessCode);
|
|
|
- if (!op)
|
|
|
- {
|
|
|
- TendisDbconn.Instance.AddList("WeChatSignList", new MerchantSign()
|
|
|
- {
|
|
|
- BusinessCode = BusinessCode,
|
|
|
- MerchantAddInfoId = MerchantId,
|
|
|
- Status = ""
|
|
|
- });
|
|
|
- }
|
|
|
- signs.Clear();
|
|
|
- if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
- {
|
|
|
- BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
- }
|
|
|
- }
|
|
|
- else if (result.Contains("\"message\":"))
|
|
|
- {
|
|
|
- JsonData jsonObj = JsonMapper.ToObject(result);
|
|
|
- AddInfo.Status = -1;
|
|
|
- string Season = function.CheckNull(AddInfo.SeoDescription);
|
|
|
- if (string.IsNullOrEmpty(Season))
|
|
|
- {
|
|
|
- Season = "WeChat:" + jsonObj["message"].ToString() + ";";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Season += "WeChat:" + jsonObj["message"].ToString()+ ";";
|
|
|
- }
|
|
|
- AddInfo.SeoDescription = Season;
|
|
|
- db.SaveChanges();
|
|
|
- if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
- {
|
|
|
- BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
- }
|
|
|
- List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
|
|
|
- MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
|
|
|
- if (sign != null)
|
|
|
- {
|
|
|
- signs.Remove(sign);
|
|
|
- TendisDbconn.Instance.Clear("WeChatSignList");
|
|
|
- TendisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- //支付宝
|
|
|
- bool checkAlipay = true;
|
|
|
- string content = new AlipayFunction().GetBatchNo(AddInfo.CreateMan, AddInfo.IdCardName, AddInfo.MobilePhone, AddInfo.ContactEmail);
|
|
|
- JsonData json = JsonMapper.ToObject(content);
|
|
|
- if (json["alipay_open_agent_create_response"]["code"].ToString() == "1000")
|
|
|
+ //微信
|
|
|
+ if (Kind == 0 || Kind == 2)
|
|
|
{
|
|
|
- string batch_no = json["alipay_open_agent_create_response"]["batch_no"].ToString();
|
|
|
- string Qualifications = AddInfo.Qualifications;
|
|
|
- if (!string.IsNullOrEmpty(Qualifications))
|
|
|
- {
|
|
|
- Qualifications = function.getPath("/bsserver_com" + Qualifications);
|
|
|
- }
|
|
|
- content = new AlipayFunction().CommonSign(batch_no, AddInfo.UpdateMan, AddInfo.LicenseNumber, function.getPath("/bsserver_com" + AddInfo.LicenseCopy), Qualifications);
|
|
|
- json = JsonMapper.ToObject(content);
|
|
|
- if (json["alipay_open_agent_common_sign_response"]["code"].ToString() == "1000")
|
|
|
+ string result = new WeChatFunction().MerchantCreate(AddInfo, merchant);
|
|
|
+ if (result.Contains("\"applyment_id\":"))
|
|
|
{
|
|
|
+ JsonData jsonObj = JsonMapper.ToObject(result);
|
|
|
+ AddInfo.ApplymentId = jsonObj["applyment_id"].ToString();
|
|
|
+ AddInfo.Status = 0;
|
|
|
+ db.SaveChanges();
|
|
|
List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
|
|
|
- bool op = signs.Any(m => m.BusinessCode == batch_no);
|
|
|
+ bool op = signs.Any(m => m.BusinessCode == BusinessCode);
|
|
|
if (!op)
|
|
|
{
|
|
|
- TendisDbconn.Instance.AddList("AlipaySignList", new MerchantSign()
|
|
|
+ TendisDbconn.Instance.AddList("WeChatSignList", new MerchantSign()
|
|
|
{
|
|
|
- BusinessCode = batch_no,
|
|
|
+ BusinessCode = BusinessCode,
|
|
|
MerchantAddInfoId = MerchantId,
|
|
|
Status = ""
|
|
|
});
|
|
@@ -117,44 +60,160 @@ namespace MySystem
|
|
|
{
|
|
|
BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
|
|
|
+ if (merchantAddInfo != null)
|
|
|
+ {
|
|
|
+ merchantAddInfo.ApplymentId = AddInfo.ApplymentId;
|
|
|
+ merchantAddInfo.Status = AddInfo.Status;
|
|
|
+ BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ else if (result.Contains("\"message\":"))
|
|
|
{
|
|
|
- checkAlipay = false;
|
|
|
+ JsonData jsonObj = JsonMapper.ToObject(result);
|
|
|
+ AddInfo.Status = -1;
|
|
|
+ merchant.Status = -1;
|
|
|
+ string Season = function.CheckNull(AddInfo.SeoDescription);
|
|
|
+ if (string.IsNullOrEmpty(Season))
|
|
|
+ {
|
|
|
+ Season = "WeChat:" + jsonObj["message"].ToString() + ";";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Season = Regex.Replace(Season, "WeChat:.*?;", "");
|
|
|
+ Season += "WeChat:" + jsonObj["message"].ToString() + ";";
|
|
|
+ }
|
|
|
+ AddInfo.SeoDescription = Season;
|
|
|
+ db.SaveChanges();
|
|
|
+ if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
+ {
|
|
|
+ BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
|
|
|
+ if (merchantAddInfo != null)
|
|
|
+ {
|
|
|
+ merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
|
|
|
+ merchantAddInfo.Status = AddInfo.Status;
|
|
|
+ BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
|
|
|
+ MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
|
|
|
+ if (sign != null)
|
|
|
+ {
|
|
|
+ signs.Remove(sign);
|
|
|
+ TendisDbconn.Instance.Clear("WeChatSignList");
|
|
|
+ TendisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- checkAlipay = false;
|
|
|
- }
|
|
|
- if(!checkAlipay)
|
|
|
+
|
|
|
+ //支付宝
|
|
|
+ if (Kind == 0 || Kind == 1)
|
|
|
{
|
|
|
- JsonData jsonObj = JsonMapper.ToObject(content);
|
|
|
- AddInfo.QueryCount = -1;
|
|
|
- string Season = function.CheckNull(AddInfo.SeoDescription);
|
|
|
- if (string.IsNullOrEmpty(Season))
|
|
|
+ bool checkAlipay = true;
|
|
|
+ string content = new AlipayFunction().GetBatchNo(AddInfo.CreateMan, AddInfo.IdCardName, AddInfo.MobilePhone, AddInfo.ContactEmail);
|
|
|
+ JsonData json = JsonMapper.ToObject(content);
|
|
|
+ if (json["alipay_open_agent_create_response"]["code"].ToString() == "10000")
|
|
|
{
|
|
|
- Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";";
|
|
|
+ string batch_no = json["alipay_open_agent_create_response"]["batch_no"].ToString();
|
|
|
+ string Qualifications = AddInfo.Qualifications;
|
|
|
+ if (!string.IsNullOrEmpty(Qualifications))
|
|
|
+ {
|
|
|
+ Qualifications = function.getPath("/bsserver_com" + Qualifications);
|
|
|
+ }
|
|
|
+ content = new AlipayFunction().CommonSign(batch_no, AddInfo.UpdateMan, AddInfo.LicenseNumber, function.getPath("/bsserver_com" + AddInfo.LicenseCopy), Qualifications);
|
|
|
+ json = JsonMapper.ToObject(content);
|
|
|
+ if (json["alipay_open_agent_common_sign_response"]["code"].ToString() == "10000")
|
|
|
+ {
|
|
|
+ content = new AlipayFunction().CommonSignConfirm(batch_no);
|
|
|
+ json = JsonMapper.ToObject(content);
|
|
|
+ if (json["alipay_open_agent_commonsign_confirm_response"]["code"].ToString() == "10000")
|
|
|
+ {
|
|
|
+ AddInfo.QueryCount = 0;
|
|
|
+ AddInfo.SeoTitle = batch_no;
|
|
|
+ db.SaveChanges();
|
|
|
+ List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
|
|
|
+ bool op = signs.Any(m => m.BusinessCode == batch_no);
|
|
|
+ if (!op)
|
|
|
+ {
|
|
|
+ TendisDbconn.Instance.AddList("AlipaySignList", new MerchantSign()
|
|
|
+ {
|
|
|
+ BusinessCode = batch_no,
|
|
|
+ MerchantAddInfoId = MerchantId,
|
|
|
+ Status = ""
|
|
|
+ });
|
|
|
+ }
|
|
|
+ signs.Clear();
|
|
|
+ if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
+ {
|
|
|
+ BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ checkAlipay = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ checkAlipay = false;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString()+ ";" + Season;
|
|
|
- }
|
|
|
- AddInfo.SeoDescription = Season;
|
|
|
- db.SaveChanges();
|
|
|
- if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
- {
|
|
|
- BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
+ checkAlipay = false;
|
|
|
}
|
|
|
- List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AliaySignList", 1, 10000000);
|
|
|
- MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
|
|
|
- if (sign != null)
|
|
|
+ if (!checkAlipay)
|
|
|
{
|
|
|
- signs.Remove(sign);
|
|
|
- TendisDbconn.Instance.Clear("AliaySignList");
|
|
|
- TendisDbconn.Instance.AddList("AliaySignList", signs.ToArray());
|
|
|
+ JsonData jsonObj = JsonMapper.ToObject(content);
|
|
|
+ AddInfo.QueryCount = -1;
|
|
|
+ merchant.Status = -1;
|
|
|
+ string Season = function.CheckNull(AddInfo.SeoDescription);
|
|
|
+ if (string.IsNullOrEmpty(Season))
|
|
|
+ {
|
|
|
+ Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Season = Regex.Replace(Season, "Alipay:.*?;", "");
|
|
|
+ Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";" + Season;
|
|
|
+ }
|
|
|
+ AddInfo.SeoDescription = Season;
|
|
|
+ db.SaveChanges();
|
|
|
+ if (merchants.Any(m => m.Id == merchant.Id) == false)
|
|
|
+ {
|
|
|
+ BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
|
|
|
+ if (merchantAddInfo != null)
|
|
|
+ {
|
|
|
+ merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
|
|
|
+ merchantAddInfo.QueryCount = AddInfo.QueryCount;
|
|
|
+ BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AlipaySignList", 1, 10000000);
|
|
|
+ MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
|
|
|
+ if (sign != null)
|
|
|
+ {
|
|
|
+ signs.Remove(sign);
|
|
|
+ TendisDbconn.Instance.Clear("AlipaySignList");
|
|
|
+ TendisDbconn.Instance.AddList("AlipaySignList", signs.ToArray());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, AddInfo);
|
|
|
+ BothdisDbconn.Instance.Set("MerchantInfo:" + MerchantId, merchant);
|
|
|
+ BothdisDbconn.Instance.SendMq("Pop:MerchantAddInfo", AddInfo);
|
|
|
+ BothdisDbconn.Instance.SendMq("Pop:MerchantInfo", merchant);
|
|
|
}
|
|
|
db.Dispose();
|
|
|
}
|