Procházet zdrojové kódy

增加代付
调整生成邀请二维码规则

lichunlei před 3 roky
rodič
revize
ccc4025e91
100 změnil soubory, kde provedl 911 přidání a 26 odebrání
  1. 3 0
      .gitignore
  2. 136 0
      AppStart/Helper/Cash/CashBase.cs
  3. 43 0
      AppStart/Helper/Cash/CashPersonalCreateHelper.cs
  4. 43 0
      AppStart/Helper/Cash/CashSignConfirmHelper.cs
  5. 43 0
      AppStart/Helper/Cash/CashSignHelper.cs
  6. 15 6
      AppStart/Helper/MakeReferenceQrCodeService.cs
  7. 2 2
      AppStart/Helper/Profit/ProfitHelper.cs
  8. 158 0
      AppStart/Helper/RSAForJava.cs
  9. 317 0
      AppStart/Helper/RSAHelper.cs
  10. 1 1
      AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs
  11. 5 1
      AppStart/Helper/SycnSpServer/SycnSpTradeService.cs
  12. 23 14
      Controllers/HomeController.cs
  13. 5 0
      SpModels/ActivateRecord.cs
  14. 5 0
      SpModels/BindRecord.cs
  15. 5 0
      SpModels/Merchants.cs
  16. 5 0
      SpModels/TradeRecord.cs
  17. 101 1
      SpModels/WebCMSEntities.cs
  18. 1 1
      Startup.cs
  19. binární
      bin/Debug/netcoreapp3.0/Aliyun.OSS.dll
  20. binární
      bin/Debug/netcoreapp3.0/BouncyCastle.Crypto.dll
  21. binární
      bin/Debug/netcoreapp3.0/CSRedisCore.dll
  22. binární
      bin/Debug/netcoreapp3.0/Google.Protobuf.dll
  23. binární
      bin/Debug/netcoreapp3.0/GraphQL-Parser.dll
  24. binární
      bin/Debug/netcoreapp3.0/GraphQL.dll
  25. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT06654a3d4b305537s.png
  26. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1aab5e054e67dfe6s.png
  27. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1d43db173592c887s.png
  28. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1ecffe5fe7eb2443s.png
  29. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT6a3a769edb1e4247s.png
  30. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT71e7354723878729s.png
  31. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT96a03886e5b83c9fs.png
  32. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTabadf2f83f488418s.png
  33. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTac16ef12f363de2es.png
  34. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTc96899ccf34d113bs.png
  35. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT0b77fd65c0950181s.jpg
  36. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT158eb200243aaf41s.jpg
  37. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT2b268d0370015a1bs.jpg
  38. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT35655767b52deb5cs.jpg
  39. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT37b086ec0042d573s.jpg
  40. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT40b81cd0a0b54d7ds.jpg
  41. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT49b3779a16d631c9s.jpg
  42. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT4b6cb1fddff49de9s.jpg
  43. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT599dab4ab3b34059s.jpg
  44. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT62b0156527ff758cs.jpg
  45. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT643b3a2c93071bc2s.jpg
  46. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT9324df6765c2da50s.jpg
  47. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT9c593872bed52dafs.jpg
  48. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MTb51ff257aecab7ees.jpg
  49. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MTd1461c3cb37ed6e0s.jpg
  50. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/25/MTb5f435e93475aa07s.png
  51. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT015ac90b7f63114c.png
  52. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0250d61d07de04d9.png
  53. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT09229706a78279a8.png
  54. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0a143e96b1bba974.png
  55. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0c87d8e6454fe222.png
  56. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0cd3692ba0f64f89.png
  57. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0d2df1b8e8a33966.png
  58. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT105d9f59fbfda995.png
  59. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT11619c779eb4b879.png
  60. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT137792d70d4a0dd9.png
  61. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT147ffc55e7c0e5e9.png
  62. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT156fb9799771a656.png
  63. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT17cf5b808bcc8149.png
  64. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT18161d1f97af47b4.png
  65. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT1d7d6bf2d4dd853d.png
  66. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT1e22c26bbf97dfae.png
  67. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2013676faa1e5dd0.png
  68. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT20de49f65a5af19e.png
  69. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT262b6709cf2b1dc4.png
  70. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT28ac6e437927d984.png
  71. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2bde110684c7e72f.png
  72. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2c16e7fecf026f01.png
  73. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2ed77087535e2183.png
  74. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT313d728d2ee818ea.png
  75. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT38fecb521d4f7a7c.png
  76. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT3e3b8b57159e2361.png
  77. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT3fa2c62977fb79bf.png
  78. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT44d07d7f765ef97f.png
  79. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT461589f40f14dffd.png
  80. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT47c8273f9fd9a448.png
  81. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4b323809d807aa14.png
  82. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4bacb3a3aeeaae14.png
  83. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4c2df2f4554e8a67.png
  84. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4c5a637f3de015e4.png
  85. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4d47cc5cb69861d8.png
  86. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4d5c235b55ccdd63.png
  87. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4ffe72c83dfdd033.png
  88. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT50d12c26b362de83.png
  89. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT53c3895641548c6e.png
  90. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5852a28a93299edd.png
  91. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5a2eb831d10b4357.png
  92. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5ae548c0599fee69.png
  93. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5d683d9094f07673.png
  94. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5d6f063a580432f7.png
  95. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT64e63986ef73dce2.png
  96. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT6648c92bbe07396b.png
  97. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT67b54c8e2c2b89ec.png
  98. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT67d4fc84bfec9699.png
  99. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT68df4ba80d9b263e.png
  100. binární
      bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT6c21e60190d55ec4.png

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+/bin
+/publish
+/obj

+ 136 - 0
AppStart/Helper/Cash/CashBase.cs

@@ -0,0 +1,136 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.Models;
+using Library;
+using LitJson;
+using System.Threading;
+using System.Security.Cryptography;
+
+namespace MySystem
+{
+    public class PayApply
+    {
+        public string taskNo { get; set; }
+        public string entOrderNo { get; set; }
+        public string payeeName { get; set; }
+        public string payeeIdCard { get; set; }
+        public string payeePhone { get; set; }
+        public string payeeAccount { get; set; }
+        public string paymentModel { get; set; }
+        public string amount { get; set; }
+        public string callbackUrl { get; set; }
+        public string remark { get; set; }
+    }
+    public class CashBase
+    {
+        public readonly static CashBase Instance = new CashBase();
+        private CashBase()
+        { }
+
+        public string PrivateKey = ""; //私钥
+        public string PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoZa64mEChZCYmn6t+33ZksHoV9Me/SR2oOkbNifkwP8EmhtopMZE00yumd3zKY0enJvqZ+22x486MUUu3d658n+nl6k8taSAYVrUb6vIfFueUYcbvorxzZNLvdi3AnQGJybRGJis/9WOYJc0XioNq9ywP/RLWMNGmuF+RBFYoRic9dGMoPF2I4Y/RazxUNN9mJRQwIacAd7r+miikBzrQ0kdC0QdNR4eEc2u8UEy2VhMuMqc9oKXVSdlVV+8Cx5m9kZzyRL0UryvUV6VYk8zMxoQVHpTtu0GjL8nXBfiJzglCqIpum989AIxrafgIwvwj8fTMnET4eTwT7nUyskgewIDAQAB";  //公钥
+        public string EnterpriseNo = "8880010000269";  //平台分配的企业编码
+        public string ChannelNo = "8880010000267";  //平台分配的渠道编码
+        public string RequestUrl = "http://yhs-service-pay2data.juheba.top:8888/";  //请求地址
+
+        //查询签约状态
+        public string QuerySignStatus(string IdCard)
+        {
+            Dictionary<string, object> data = new Dictionary<string, object>();
+            data.Add("apiCode", "3003"); //接口编号,固定:3003
+            data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
+            data.Add("channelNo", ChannelNo); //平台分配的渠道编码
+            data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
+            data.Add("idCard", IdCard); //从业者身份证号
+            return PostData("api/personal/signed/result", data, new Dictionary<string, object>());
+        }
+
+        //从业者数据提交
+        public string CreateInfo(string Name, string IdCard, string Phone, string FrontCertImg, string BackCertImg)
+        {
+            Dictionary<string, object> data = new Dictionary<string, object>();
+            data.Add("apiCode", "3000"); //接口编号,固定:3003
+            data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
+            data.Add("channelNo", ChannelNo); //平台分配的渠道编码
+            data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
+            data.Add("name", Name); //从业者姓名
+            data.Add("idCard", IdCard); //从业者身份证号
+            data.Add("phone", Phone); //从业者手机号
+            Dictionary<string, object> fileData = new Dictionary<string, object>();
+            fileData.Add("frontCertImg", FrontCertImg); //身份证正面照
+            fileData.Add("backCertImg", BackCertImg); //身份证反面照
+            return PostData("api/personal/create", data, fileData);
+        }
+
+        //发起签约确认
+        public string ConfirmSign(string IdCard)
+        {
+            Dictionary<string, object> data = new Dictionary<string, object>();
+            data.Add("apiCode", "3004"); //接口编号,固定:3003
+            data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
+            data.Add("channelNo", ChannelNo); //平台分配的渠道编码
+            data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
+            data.Add("idCard", IdCard); //从业者身份证号
+            return PostData("api/personal/sign", data, new Dictionary<string, object>());
+        }
+
+        //提价代付申请
+        public string PayApply(PayApply ReqData)
+        {
+            Dictionary<string, object> data = new Dictionary<string, object>();
+            data.Add("apiCode", "3004"); //接口编号,固定:3003
+            data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
+            data.Add("channelNo", ChannelNo); //平台分配的渠道编码
+            data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
+            data.Add("taskNo", ReqData.taskNo); //企业后台创建的任务编码
+            data.Add("entOrderNo", ReqData.entOrderNo); //企业流水号
+            data.Add("payeeName", ReqData.payeeName); //收款人姓名
+            data.Add("payeeIdCard", ReqData.payeeIdCard); //收款人身份证号
+            data.Add("payeePhone", ReqData.payeePhone); //收款人手机号
+            data.Add("payeeAccount", ReqData.payeeAccount); //收款人帐号(银行卡号、支付宝帐号)
+            data.Add("paymentModel", ReqData.paymentModel); //支付类型
+            data.Add("amount", ReqData.amount); //金额(单位:分)
+            data.Add("callbackUrl", ReqData.callbackUrl); //通知地址
+            data.Add("remark", ReqData.remark); //结算单备注信息
+            return PostData("api/pay/apply", data, new Dictionary<string, object>());
+        }
+
+        //公用请求方法
+        public string PostData(string path, Dictionary<string, object> data, Dictionary<string, object> fileData)
+        {
+            Dictionary<string, object> main = new Dictionary<string, object>();
+            main.Add("enterpriseNo", EnterpriseNo);
+            main.Add("channelNo", ChannelNo);
+            function.WriteLog(DateTime.Now.ToString(), "代付公用请求方法");
+            function.WriteLog("path:" + path, "代付公用请求方法");
+            string body = Newtonsoft.Json.JsonConvert.SerializeObject(data);
+            function.WriteLog("body:" + body, "代付公用请求方法");
+            body = Encrypt(body);
+            main.Add("body", body);
+            if (fileData.Keys.Count > 0)
+            {
+                main.Add("fileData", fileData);
+            }
+            string req = Newtonsoft.Json.JsonConvert.SerializeObject(main);
+            function.WriteLog("req:" + req, "代付公用请求方法");
+            string result = function.PostWebRequest(RequestUrl + path, req, "application/json");
+            function.WriteLog("result:" + result, "代付公用请求方法");
+            function.WriteLog("-----------------", "代付公用请求方法");
+            return result;
+        }
+
+        //加密
+        public string Encrypt(string content)
+        {
+            // var toDecryptArray = System.Text.Encoding.UTF8.GetBytes(content);
+            // var keyArray = System.Text.Encoding.UTF8.GetBytes(PublicKey);
+            // var rsa = RSA.Create();
+            // rsa.ImportRSAPublicKey(keyArray, out _);
+            // var contentArray = rsa.Encrypt(toDecryptArray, RSAEncryptionPadding.Pkcs1);
+            // return Convert.ToBase64String(contentArray);
+            
+            return new RSAHelper(RSAType.RSA, System.Text.Encoding.UTF8, "", PublicKey).Encrypt(content);
+        }
+    }
+}

+ 43 - 0
AppStart/Helper/Cash/CashPersonalCreateHelper.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.Models;
+using Library;
+using LitJson;
+using System.Threading;
+
+namespace MySystem
+{
+    public class CashPersonalCreateHelper
+    {
+        public readonly static CashPersonalCreateHelper Instance = new CashPersonalCreateHelper();
+        private CashPersonalCreateHelper()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    
+                    db.SaveChanges();
+                    db.Dispose();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "代付提交资料异常");
+                }
+                Thread.Sleep(1000);
+            }
+        }
+    }
+}

+ 43 - 0
AppStart/Helper/Cash/CashSignConfirmHelper.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.Models;
+using Library;
+using LitJson;
+using System.Threading;
+
+namespace MySystem
+{
+    public class CashSignConfirmHelper
+    {
+        public readonly static CashSignConfirmHelper Instance = new CashSignConfirmHelper();
+        private CashSignConfirmHelper()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    
+                    db.SaveChanges();
+                    db.Dispose();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "代付确认签约异常");
+                }
+                Thread.Sleep(1000);
+            }
+        }
+    }
+}

+ 43 - 0
AppStart/Helper/Cash/CashSignHelper.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.Models;
+using Library;
+using LitJson;
+using System.Threading;
+
+namespace MySystem
+{
+    public class CashSignHelper
+    {
+        public readonly static CashSignHelper Instance = new CashSignHelper();
+        private CashSignHelper()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    
+                    db.SaveChanges();
+                    db.Dispose();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "代付签约异常");
+                }
+                Thread.Sleep(1000);
+            }
+        }
+    }
+}

+ 15 - 6
AppStart/Helper/MakeReferenceQrCodeService.cs

@@ -50,12 +50,8 @@ namespace MySystem
                     WebCMSEntities db = new WebCMSEntities();
                     Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
                     if (user != null)
-                    { 
-                        string path = function.CreateQRCode2(ConfigurationManager.AppSettings["SourceHost"].ToString() + "p/user-inviteregist-1?Id=" + user.Id, function.MD5_16(user.Id.ToString() + "8745"), "/bsserver_com/static/ReferenceQrCode/");
-                        path = path.Replace("//", "/");
-                        string resultpath = "/bsserver_com/static/ReferenceQrCode/" + function.MD5_16(user.Id.ToString() + "8745") + "Pic.png";
-                        MakeQRCode(function.getPath("/static/QrCodeBg.png"), function.getPath(path), function.getPath(resultpath), user);
-                        resultpath = resultpath.Replace("bsserver_com/", "");
+                    {
+                        string resultpath = MergeQrCode(user);
                         user.ReferenceQrCode = resultpath;
                         db.SaveChanges();
                         PxcModels.WebCMSEntities pxcdb = new PxcModels.WebCMSEntities();
@@ -81,6 +77,19 @@ namespace MySystem
                 function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
             }
         }
+        public string MergeQrCode(Users user, int pid = 0)
+        {
+            string BgPic = "QrCodeBg.png";
+            if (pid > 0)
+            {
+                BgPic = "QrCodeBg" + pid + ".png";
+            }
+            string path = function.CreateQRCode2(ConfigurationManager.AppSettings["SourceHost"].ToString() + "p/user-inviteregist-1?Id=" + user.Id, function.MD5_16(user.Id.ToString() + "9527"), "/bsserver_com/static/ReferenceQrCode/");
+            path = path.Replace("//", "/");
+            string resultpath = "/bsserver_com/static/ReferenceQrCode/" + function.MD5_16(user.Id.ToString() + "9527") + "Pic.png";
+            MakeQRCode(function.getPath("/static/QrCodeBg.png"), function.getPath(path), function.getPath(resultpath), user);
+            return resultpath.Replace("bsserver_com/", "");
+        }
 
         public void MakeQRCode(string sourcepath, string qrcode, string resultpath, Users us)
         {

+ 2 - 2
AppStart/Helper/Profit/ProfitHelper.cs

@@ -2050,7 +2050,7 @@ namespace MySystem
                     若创客为商户型创客,则机具UserId的创客获得万4分润
 
                     //查分润
-                    select u.MakerCode,u.RealName,u.UserLevel,p.PosSn,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,
+                    select u.MakerCode,u.RealName,u.UserLevel,p.KqSnNo,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,
                     k.Name,CreditTradeAmt,CreditTradeProfit,DebitTradeAmt,DebitTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit from (
                     select UserId,ProfitType,BrandId,MerchantId,
                     sum(CreditTradeAmt) as CreditTradeAmt,
@@ -2061,7 +2061,7 @@ namespace MySystem
                     sum(QrCreditTradeProfit) as QrCreditTradeProfit
                     from ProfitRewardRecord where MerchantId>0
                     GROUP BY UserId,ProfitType,BrandId,MerchantId
-                    ) tb left join Users u on tb.UserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join PosMachinesTwo p on tb.MerchantId=p.BindMerchantId ORDER BY p.PosSn,u.MakerCode
+                    ) tb left join Users u on tb.UserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join PosMerchantInfo p on tb.MerchantId=p.Id ORDER BY p.KqSnNo,u.MakerCode
 
                     //查补贴
                     select u.MakerCode,u.RealName,u.UserLevel,m.KqSnNo,m.MerchantName,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,

+ 158 - 0
AppStart/Helper/RSAForJava.cs

@@ -0,0 +1,158 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Org.BouncyCastle.Asn1.Pkcs;
+using Org.BouncyCastle.Asn1.X509;
+using Org.BouncyCastle.Crypto.Generators;
+using Org.BouncyCastle.Crypto.Parameters;
+using Org.BouncyCastle.Math;
+using Org.BouncyCastle.Pkcs;
+using Org.BouncyCastle.Security;
+using Org.BouncyCastle.Crypto.Engines;
+using Org.BouncyCastle.X509;
+using Org.BouncyCastle.Crypto;
+using Org.BouncyCastle.Asn1;
+using Org.BouncyCastle.Crypto.Encodings;
+
+namespace MySystem
+{
+    public class RSAForJava
+    {
+
+        public RSAForJava()
+        {
+
+        }
+        /// <summary>
+        /// KEY 结构体
+        /// </summary>
+        public struct RSAKEY
+        {
+            /// <summary>
+            /// 公钥
+            /// </summary>
+            public string PublicKey
+            {
+                get;
+                set;
+            }
+            /// <summary>
+            /// 私钥
+            /// </summary>
+            public string PrivateKey
+            {
+                get;
+                set;
+            }
+        }
+        public RSAKEY GetKey()
+        {
+            //RSA密钥对的构造器  
+            RsaKeyPairGenerator keyGenerator = new RsaKeyPairGenerator();
+
+            //RSA密钥构造器的参数  
+            RsaKeyGenerationParameters param = new RsaKeyGenerationParameters(
+                Org.BouncyCastle.Math.BigInteger.ValueOf(3),
+                new Org.BouncyCastle.Security.SecureRandom(),
+                1024,   //密钥长度  
+                25);
+            //用参数初始化密钥构造器  
+            keyGenerator.Init(param);
+            //产生密钥对  
+            AsymmetricCipherKeyPair keyPair = keyGenerator.GenerateKeyPair();
+            //获取公钥和密钥  
+            AsymmetricKeyParameter publicKey = keyPair.Public;
+            AsymmetricKeyParameter privateKey = keyPair.Private;
+
+            SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey);
+            PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);
+
+
+            Asn1Object asn1ObjectPublic = subjectPublicKeyInfo.ToAsn1Object();
+
+            byte[] publicInfoByte = asn1ObjectPublic.GetEncoded("UTF-8");
+            Asn1Object asn1ObjectPrivate = privateKeyInfo.ToAsn1Object();
+            byte[] privateInfoByte = asn1ObjectPrivate.GetEncoded("UTF-8");
+
+            RSAKEY item = new RSAKEY()
+            {
+                PublicKey = Convert.ToBase64String(publicInfoByte),
+                PrivateKey = Convert.ToBase64String(privateInfoByte)
+            };
+            return item;
+        }
+        private AsymmetricKeyParameter GetPublicKeyParameter(string s)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            byte[] publicInfoByte = Convert.FromBase64String(s);
+            Asn1Object pubKeyObj = Asn1Object.FromByteArray(publicInfoByte);//这里也可以从流中读取,从本地导入   
+            AsymmetricKeyParameter pubKey = PublicKeyFactory.CreateKey(publicInfoByte);
+            return pubKey;
+        }
+        private AsymmetricKeyParameter GetPrivateKeyParameter(string s)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            byte[] privateInfoByte = Convert.FromBase64String(s);
+            // Asn1Object priKeyObj = Asn1Object.FromByteArray(privateInfoByte);//这里也可以从流中读取,从本地导入   
+            // PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);
+            AsymmetricKeyParameter priKey = PrivateKeyFactory.CreateKey(privateInfoByte);
+            return priKey;
+        }
+        public string EncryptByPrivateKey(string s, string key)
+        {
+            //非对称加密算法,加解密用  
+            IAsymmetricBlockCipher engine = new Pkcs1Encoding(new RsaEngine());
+
+
+            //加密  
+
+            try
+            {
+                engine.Init(true, GetPrivateKeyParameter(key));
+                byte[] byteData = System.Text.Encoding.UTF8.GetBytes(s);
+                var ResultData = engine.ProcessBlock(byteData, 0, byteData.Length);
+                return Convert.ToBase64String(ResultData);
+                //Console.WriteLine("密文(base64编码):" + Convert.ToBase64String(testData) + Environment.NewLine);
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+
+            }
+        }
+        public string DecryptByPublicKey(string s, string key)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            //非对称加密算法,加解密用  
+            IAsymmetricBlockCipher engine = new Pkcs1Encoding(new RsaEngine());
+
+
+            //解密
+
+            try
+            {
+                engine.Init(false, GetPublicKeyParameter(key));
+                byte[] byteData = Convert.FromBase64String(s);
+                string result = "";
+                List<byte> cache = new List<byte>();
+                for (int i = 0; i < byteData.Length; i++)
+                {
+                    cache.Add(byteData[i]);
+                    if ((i + 1) % 256 == 0 || i + 1 == byteData.Length)
+                    {
+                        var ResultData = engine.ProcessBlock(cache.ToArray(), 0, cache.ToArray().Length);
+                        result += System.Text.Encoding.UTF8.GetString(ResultData);
+                        cache.Clear();
+                    }
+                }
+                return result;
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+            }
+        }
+    }
+}

+ 317 - 0
AppStart/Helper/RSAHelper.cs

@@ -0,0 +1,317 @@
+using System;
+using System.IO;
+using System.Security.Cryptography;
+using System.Text;
+
+namespace MySystem
+{
+    /// <summary>
+    /// RSA加解密 使用OpenSSL的公钥加密/私钥解密
+    /// 作者:李志强
+    /// 创建时间:2017年10月30日15:50:14
+    /// QQ:501232752
+    /// </summary>
+    public class RSAHelper
+	{
+		private readonly RSA _privateKeyRsaProvider;
+		private readonly RSA _publicKeyRsaProvider;
+		private readonly HashAlgorithmName _hashAlgorithmName;
+		private readonly Encoding _encoding;
+
+		/// <summary>
+		/// 实例化RSAHelper
+		/// </summary>
+		/// <param name="rsaType">加密算法类型 RSA SHA1;RSA2 SHA256 密钥长度至少为2048</param>
+		/// <param name="encoding">编码类型</param>
+		/// <param name="privateKey">私钥</param>
+		/// <param name="publicKey">公钥</param>
+		public RSAHelper(RSAType rsaType, Encoding encoding, string privateKey, string publicKey = null)
+		{
+			_encoding = encoding;
+			if (!string.IsNullOrEmpty(privateKey))
+			{
+				_privateKeyRsaProvider = CreateRsaProviderFromPrivateKey(privateKey);
+			}
+
+			if (!string.IsNullOrEmpty(publicKey))
+			{
+				_publicKeyRsaProvider = CreateRsaProviderFromPublicKey(publicKey);
+			}
+
+			_hashAlgorithmName = rsaType == RSAType.RSA ? HashAlgorithmName.SHA1 : HashAlgorithmName.SHA256;
+		}
+
+		#region 使用私钥签名
+
+		/// <summary>
+		/// 使用私钥签名
+		/// </summary>
+		/// <param name="data">原始数据</param>
+		/// <returns></returns>
+		public string Sign(string data)
+		{
+			byte[] dataBytes = _encoding.GetBytes(data);
+
+			var signatureBytes = _privateKeyRsaProvider.SignData(dataBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1);
+
+			return Convert.ToBase64String(signatureBytes);
+		}
+
+		#endregion
+
+		#region 使用公钥验证签名
+
+		/// <summary>
+		/// 使用公钥验证签名
+		/// </summary>
+		/// <param name="data">原始数据</param>
+		/// <param name="sign">签名</param>
+		/// <returns></returns>
+		public bool Verify(string data, string sign)
+		{
+			byte[] dataBytes = _encoding.GetBytes(data);
+			byte[] signBytes = Convert.FromBase64String(sign);
+
+			var verify = _publicKeyRsaProvider.VerifyData(dataBytes, signBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1);
+
+			return verify;
+		}
+
+		#endregion
+
+		#region 解密
+
+		public string Decrypt(string cipherText)
+		{
+			if (_privateKeyRsaProvider == null)
+			{
+				throw new Exception("_privateKeyRsaProvider is null");
+			}
+			return Encoding.UTF8.GetString(_privateKeyRsaProvider.Decrypt(Convert.FromBase64String(cipherText), RSAEncryptionPadding.Pkcs1));
+		}
+
+		#endregion
+
+		#region 加密
+
+		public string Encrypt(string text)
+		{
+			if (_publicKeyRsaProvider == null)
+			{
+				throw new Exception("_publicKeyRsaProvider is null");
+			}
+			return Convert.ToBase64String(_publicKeyRsaProvider.Encrypt(Encoding.UTF8.GetBytes(text), RSAEncryptionPadding.Pkcs1));
+		}
+
+		#endregion
+
+		#region 使用私钥创建RSA实例
+
+		public RSA CreateRsaProviderFromPrivateKey(string privateKey)
+		{
+			var privateKeyBits = Convert.FromBase64String(privateKey);
+
+			var rsa = RSA.Create();
+			var rsaParameters = new RSAParameters();
+
+			using (BinaryReader binr = new BinaryReader(new MemoryStream(privateKeyBits)))
+			{
+				byte bt = 0;
+				ushort twobytes = 0;
+				twobytes = binr.ReadUInt16();
+				if (twobytes == 0x8130)
+					binr.ReadByte();
+				else if (twobytes == 0x8230)
+					binr.ReadInt16();
+				else
+					throw new Exception("Unexpected value read binr.ReadUInt16()");
+
+				twobytes = binr.ReadUInt16();
+				if (twobytes != 0x0102)
+					throw new Exception("Unexpected version");
+
+				bt = binr.ReadByte();
+				if (bt != 0x00)
+					throw new Exception("Unexpected value read binr.ReadByte()");
+
+				rsaParameters.Modulus = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.Exponent = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.D = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.P = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.Q = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.DP = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.DQ = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.InverseQ = binr.ReadBytes(GetIntegerSize(binr));
+			}
+
+			rsa.ImportParameters(rsaParameters);
+			return rsa;
+		}
+
+		#endregion
+
+		#region 使用公钥创建RSA实例
+
+		public RSA CreateRsaProviderFromPublicKey(string publicKeyString)
+		{
+			// encoded OID sequence for  PKCS #1 rsaEncryption szOID_RSA_RSA = "1.2.840.113549.1.1.1"
+			byte[] seqOid = { 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00 };
+			byte[] seq = new byte[15];
+
+			var x509Key = Convert.FromBase64String(publicKeyString);
+
+			// ---------  Set up stream to read the asn.1 encoded SubjectPublicKeyInfo blob  ------
+			using (MemoryStream mem = new MemoryStream(x509Key))
+			{
+				using (BinaryReader binr = new BinaryReader(mem))  //wrap Memory Stream with BinaryReader for easy reading
+				{
+					byte bt = 0;
+					ushort twobytes = 0;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8230)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					seq = binr.ReadBytes(15);       //read the Sequence OID
+					if (!CompareBytearrays(seq, seqOid))    //make sure Sequence for OID is correct
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8103) //data read as little endian order (actual data order for Bit String is 03 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8203)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					bt = binr.ReadByte();
+					if (bt != 0x00)     //expect null byte next
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8230)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					byte lowbyte = 0x00;
+					byte highbyte = 0x00;
+
+					if (twobytes == 0x8102) //data read as little endian order (actual data order for Integer is 02 81)
+						lowbyte = binr.ReadByte();  // read next bytes which is bytes in modulus
+					else if (twobytes == 0x8202)
+					{
+						highbyte = binr.ReadByte(); //advance 2 bytes
+						lowbyte = binr.ReadByte();
+					}
+					else
+						return null;
+					byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };   //reverse byte order since asn.1 key uses big endian order
+					int modsize = BitConverter.ToInt32(modint, 0);
+
+					int firstbyte = binr.PeekChar();
+					if (firstbyte == 0x00)
+					{   //if first byte (highest order) of modulus is zero, don't include it
+						binr.ReadByte();    //skip this null byte
+						modsize -= 1;   //reduce modulus buffer size by 1
+					}
+
+					byte[] modulus = binr.ReadBytes(modsize);   //read the modulus bytes
+
+					if (binr.ReadByte() != 0x02)            //expect an Integer for the exponent data
+						return null;
+					int expbytes = (int)binr.ReadByte();        // should only need one byte for actual exponent data (for all useful values)
+					byte[] exponent = binr.ReadBytes(expbytes);
+
+					// ------- create RSACryptoServiceProvider instance and initialize with public key -----
+					var rsa = RSA.Create();
+					RSAParameters rsaKeyInfo = new RSAParameters
+					{
+						Modulus = modulus,
+						Exponent = exponent
+					};
+					rsa.ImportParameters(rsaKeyInfo);
+
+					return rsa;
+				}
+
+			}
+		}
+
+		#endregion
+
+		#region 导入密钥算法
+
+		private int GetIntegerSize(BinaryReader binr)
+		{
+			byte bt = 0;
+			int count = 0;
+			bt = binr.ReadByte();
+			if (bt != 0x02)
+				return 0;
+			bt = binr.ReadByte();
+
+			if (bt == 0x81)
+				count = binr.ReadByte();
+			else
+			if (bt == 0x82)
+			{
+				var highbyte = binr.ReadByte();
+				var lowbyte = binr.ReadByte();
+				byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };
+				count = BitConverter.ToInt32(modint, 0);
+			}
+			else
+			{
+				count = bt;
+			}
+
+			while (binr.ReadByte() == 0x00)
+			{
+				count -= 1;
+			}
+			binr.BaseStream.Seek(-1, SeekOrigin.Current);
+			return count;
+		}
+
+		private bool CompareBytearrays(byte[] a, byte[] b)
+		{
+			if (a.Length != b.Length)
+				return false;
+			int i = 0;
+			foreach (byte c in a)
+			{
+				if (c != b[i])
+					return false;
+				i++;
+			}
+			return true;
+		}
+
+		#endregion
+
+	}
+
+	/// <summary>
+	/// RSA算法类型
+	/// </summary>
+	public enum RSAType
+	{
+		/// <summary>
+		/// SHA1
+		/// </summary>
+		RSA = 0,
+		/// <summary>
+		/// RSA2 密钥长度至少为2048
+		/// SHA256
+		/// </summary>
+		RSA2
+	}
+}

+ 1 - 1
AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

@@ -51,7 +51,7 @@ namespace MySystem
                                 {
                                     BrandId = 3;
                                 }
-                                if (BrandId == 4 && Mer.SeoTitle == "200")
+                                if (BrandId == 4 && Mer.Field1 == "200")
                                 { 
                                     BrandId = 5;
                                 }

+ 5 - 1
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -134,10 +134,14 @@ namespace MySystem
                                             }
                                         }
                                         int BrandId = int.Parse(trade.ProductType);
-                                        if (trade.MerNo.StartsWith("M900"))
+                                        if (BrandId == 1 && trade.MerNo.StartsWith("M900"))
                                         {
                                             BrandId = 3;
                                         }
+                                        if (BrandId == 4 && trade.DeviceType == "200")
+                                        { 
+                                            BrandId = 5;
+                                        }
                                         db.TradeRecord.Add(new PxcModels.TradeRecord()
                                         {
                                             CreateDate = trade.CreateDate,

+ 23 - 14
Controllers/HomeController.cs

@@ -86,6 +86,18 @@ namespace MySystem.Controllers
             return "fail";
         }
 
+        public string getqrcode(int uid, int pid)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            Users user = db.Users.FirstOrDefault(m => m.Id == uid);
+            if (user != null)
+            {
+                return MakeReferenceQrCodeService.Instance.MergeQrCode(user, pid);
+            }
+            db.Dispose();
+            return "fail";
+        }
+
         private void th1()
         {
             Thread th = new Thread(th1do);
@@ -669,20 +681,17 @@ namespace MySystem.Controllers
 
         public string test()
         {
-            string result = "";
-            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
-            DataTable dt = OtherMySqlConn.dtable("select PosSn,UserId from PosMachinesTwo where UserId in (select Id from Users where MerchantType=1);");
-            foreach (DataRow dr in dt.Rows)
-            {
-                string PosSn = dr["PosSn"].ToString();
-                string UserId = dr["UserId"].ToString();
-                DataTable subdt = OtherMySqlConn.dtable("select Id from TradeRecord where SnNo='" + PosSn + "' and CreateDate>='2022-04-01 00:00:00'");
-                foreach (DataRow subdr in subdt.Rows)
-                {
-                    result += "update TradeRecord set UserId=" + UserId + " where Id=" + subdr["Id"].ToString() + ";\n";
-                }
-            }
-            OtherMySqlConn.connstr = "";
+            string result = "ok";
+            // result = CashBase.Instance.QuerySignStatus("523698138812123669");
+            result = CashBase.Instance.CreateInfo("李春雷", "513001198312090419", "13880789833", function.imageToBase64String(function.getPath("/static/1.jpg")), function.imageToBase64String(function.getPath("/static/2.jpg")));
+            //{"code":"000000","msg":"成功"}
+            return result;
+        }
+
+        public string test2()
+        {
+            string result = "ok";
+            result = CashBase.Instance.ConfirmSign("513001198312090419");
             return result;
         }
     }

+ 5 - 0
SpModels/ActivateRecord.cs

@@ -31,5 +31,10 @@ namespace MySystem.SpModels
         public string MerName { get; set; }
         public string MerNo { get; set; }
         public string ChannelSerial { get; set; }
+        public string Field5 { get; set; }
+        public string Field4 { get; set; }
+        public string Field3 { get; set; }
+        public string Field2 { get; set; }
+        public string Field1 { get; set; }
     }
 }

+ 5 - 0
SpModels/BindRecord.cs

@@ -27,5 +27,10 @@ namespace MySystem.SpModels
         public string MerName { get; set; }
         public string AgentName { get; set; }
         public string MerNo { get; set; }
+        public string Field5 { get; set; }
+        public string Field4 { get; set; }
+        public string Field3 { get; set; }
+        public string Field2 { get; set; }
+        public string Field1 { get; set; }
     }
 }

+ 5 - 0
SpModels/Merchants.cs

@@ -31,5 +31,10 @@ namespace MySystem.SpModels
         public string AgentName { get; set; }
         public string MerName { get; set; }
         public string MerNo { get; set; }
+        public string Field5 { get; set; }
+        public string Field4 { get; set; }
+        public string Field3 { get; set; }
+        public string Field2 { get; set; }
+        public string Field1 { get; set; }
     }
 }

+ 5 - 0
SpModels/TradeRecord.cs

@@ -43,5 +43,10 @@ namespace MySystem.SpModels
         public string MerName { get; set; }
         public string MerNo { get; set; }
         public string TradeSerialNo { get; set; }
+        public string Field5 { get; set; }
+        public string Field4 { get; set; }
+        public string Field3 { get; set; }
+        public string Field2 { get; set; }
+        public string Field1 { get; set; }
     }
 }

+ 101 - 1
SpModels/WebCMSEntities.cs

@@ -54,7 +54,7 @@ namespace MySystem.SpModels
                 entity.Property(e => e.ActivateDate).HasColumnType("datetime");
 
                 entity.Property(e => e.ActivateStatus)
-                    .HasColumnType("varchar(2)")
+                    .HasColumnType("varchar(20)")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
@@ -90,6 +90,31 @@ namespace MySystem.SpModels
 
                 entity.Property(e => e.CreateDate).HasColumnType("datetime");
 
+                entity.Property(e => e.Field1)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field2)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field3)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field4)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field5)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.MerIdcardNo)
                     .HasColumnType("varchar(18)")
                     .HasCharSet("utf8")
@@ -174,6 +199,31 @@ namespace MySystem.SpModels
 
                 entity.Property(e => e.CreateTime).HasColumnType("datetime");
 
+                entity.Property(e => e.Field1)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field2)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field3)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field4)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field5)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.MerName)
                     .HasColumnType("varchar(32)")
                     .HasCharSet("utf8")
@@ -1307,6 +1357,31 @@ namespace MySystem.SpModels
 
                 entity.Property(e => e.CreateTime).HasColumnType("datetime");
 
+                entity.Property(e => e.Field1)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field2)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field3)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field4)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field5)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.MerAuditDate).HasColumnType("datetime");
 
                 entity.Property(e => e.MerIdcardNo)
@@ -1794,6 +1869,31 @@ namespace MySystem.SpModels
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.Field1)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field2)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field3)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field4)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Field5)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.IsStoreCashier)
                     .HasColumnType("varchar(16)")
                     .HasCharSet("utf8")

+ 1 - 1
Startup.cs

@@ -231,7 +231,7 @@ namespace MySystem
             //必须打开的
 
             // StatService.Instance.StatUserLevel();
-            ProfitHelper.Instance.StatProfit("202204"); //统计分润
+            // ProfitHelper.Instance.StatProfit("202204"); //统计分润
             // StatService.Instance.ListenFluxRecord();
             // StatService.Instance.StartEverDay2();
             // TestHelper.Instance.Start();

binární
bin/Debug/netcoreapp3.0/Aliyun.OSS.dll


binární
bin/Debug/netcoreapp3.0/BouncyCastle.Crypto.dll


binární
bin/Debug/netcoreapp3.0/CSRedisCore.dll


binární
bin/Debug/netcoreapp3.0/Google.Protobuf.dll


binární
bin/Debug/netcoreapp3.0/GraphQL-Parser.dll


binární
bin/Debug/netcoreapp3.0/GraphQL.dll


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT06654a3d4b305537s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1aab5e054e67dfe6s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1d43db173592c887s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT1ecffe5fe7eb2443s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT6a3a769edb1e4247s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT71e7354723878729s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MT96a03886e5b83c9fs.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTabadf2f83f488418s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTac16ef12f363de2es.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/15/MTc96899ccf34d113bs.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT0b77fd65c0950181s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT158eb200243aaf41s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT2b268d0370015a1bs.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT35655767b52deb5cs.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT37b086ec0042d573s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT40b81cd0a0b54d7ds.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT49b3779a16d631c9s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT4b6cb1fddff49de9s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT599dab4ab3b34059s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT62b0156527ff758cs.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT643b3a2c93071bc2s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT9324df6765c2da50s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MT9c593872bed52dafs.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MTb51ff257aecab7ees.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/24/MTd1461c3cb37ed6e0s.jpg


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/1/25/MTb5f435e93475aa07s.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT015ac90b7f63114c.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0250d61d07de04d9.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT09229706a78279a8.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0a143e96b1bba974.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0c87d8e6454fe222.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0cd3692ba0f64f89.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT0d2df1b8e8a33966.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT105d9f59fbfda995.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT11619c779eb4b879.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT137792d70d4a0dd9.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT147ffc55e7c0e5e9.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT156fb9799771a656.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT17cf5b808bcc8149.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT18161d1f97af47b4.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT1d7d6bf2d4dd853d.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT1e22c26bbf97dfae.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2013676faa1e5dd0.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT20de49f65a5af19e.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT262b6709cf2b1dc4.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT28ac6e437927d984.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2bde110684c7e72f.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2c16e7fecf026f01.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT2ed77087535e2183.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT313d728d2ee818ea.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT38fecb521d4f7a7c.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT3e3b8b57159e2361.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT3fa2c62977fb79bf.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT44d07d7f765ef97f.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT461589f40f14dffd.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT47c8273f9fd9a448.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4b323809d807aa14.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4bacb3a3aeeaae14.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4c2df2f4554e8a67.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4c5a637f3de015e4.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4d47cc5cb69861d8.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4d5c235b55ccdd63.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT4ffe72c83dfdd033.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT50d12c26b362de83.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT53c3895641548c6e.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5852a28a93299edd.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5a2eb831d10b4357.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5ae548c0599fee69.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5d683d9094f07673.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT5d6f063a580432f7.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT64e63986ef73dce2.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT6648c92bbe07396b.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT67b54c8e2c2b89ec.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT67d4fc84bfec9699.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT68df4ba80d9b263e.png


binární
bin/Debug/netcoreapp3.0/KxsMainServer/upload/2022/2/19/MT6c21e60190d55ec4.png


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů