فهرست منبع

小微商户进件添加商户名随机数
商户主体类型添加(BindStatus)1是个体户2是企业3是小微
待分配活动金额添加

DuGuYang 1 سال پیش
والد
کامیت
2ac5c3ca0f

+ 1 - 1
AppStart/Redis/MySql/MachineForQrCodeDbconn.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using MySystem.Models.Main;
+using MySystem.Models.Main1;
 
 namespace MySystem
 {

+ 1 - 1
AppStart/Redis/MySql/StoreHouseDbconn.cs

@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using Library;
 using System.Linq;
-using MySystem.Models.Main;
+using MySystem.Models.Main1;
 
 namespace MySystem
 {

+ 1 - 1
Areas/Api/Controllers/Main/ConsumerOrdersController.cs

@@ -33,7 +33,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 value = sr.ReadToEnd();
                 value = value.Split('=')[1];
             }
-            value = DesDecrypt(value);
+            // value = DesDecrypt(value);
             JsonData data = JsonMapper.ToObject(value);
             string SnNo = data["Sn"].ToString(); //商户
             string Machine = data["Machine"].ToString();

+ 27 - 12
Areas/Api/Controllers/Main/MerchantAddInfoController.cs

@@ -11,6 +11,7 @@ using System.Web;
 using MySystem.Models.Main;
 using LitJson;
 using Library;
+using System.Text.RegularExpressions;
 
 namespace MySystem.Areas.Api.Controllers.v1
 {
@@ -185,25 +186,39 @@ namespace MySystem.Areas.Api.Controllers.v1
                 BankBranchId = openBank.BankCode;
             }
             Dictionary<string, object> Obj = new Dictionary<string, object>();
-            // var query = MerchantAddInfoService.Query(" CertMerchantName='" + CertMerchantName + "'");
-            // if (query == null)
-            // {
-            //     Dictionary<string, object> Fiel = new Dictionary<string, object>();
-            //     Fiel.Add("CertMerchantName", CertMerchantName);
-            //     MerchantAddInfoService.Add(Fiel);
-            // }
+            var query = MerchantAddInfoService.Query(" CertMerchantName='" + CertMerchantName + "'");
+            if (query == null)
+            {
+                if (SubjectType == "SUBJECT_TYPE_SMALL")
+                {
+                    CertMerchantName = CertMerchantName + function.MD5_16(Guid.NewGuid().ToString("N"));
+                }
+                Dictionary<string, object> Fiel = new Dictionary<string, object>();
+                Fiel.Add("CertMerchantName", CertMerchantName);
+                MerchantAddInfoId = (int)MerchantAddInfoService.Add(Fiel, false).Data;
+            }
             // var ActivitiesId = "20191030111cff5b5e";
             // var ActivitiesRate = "0.38";
             // MerchantAddInfoUtil.EditMerchantAddInfo(query.Id, ContactName, ContactIdNumber, MobilePhone, ContactEmail, SubjectType, LicenseCopy, LicenseNumber, CertLegalPerson, CertMerchantName, CertLegalPerson, ServicePhone, BizStoreName, BizAddressCode, BizStoreAddress, StoreEntrancePic, IndoorPic, QualificationType, SettlementId, BankAccountType, AccountName, AccountBank, BankAddressCode, BankName, BankBranchId, AccountNumber, IdCardCopy, IdCardNational, IdCardName, IdCardNumber, IdCardAddress, CardPeriodBegin, CardPeriodEnd, MerchantShortname, Qualifications, ActivitiesId, ActivitiesRate, AlipayAccount, AlipayMccCode, ChannelKind, SalesScenesType, OpenAccountLicenses, RentAgreement, OperatorMcht, AgentProtocol, SignaturePicture, Support, CheckstandImg, ProductImg, Agreement, TaxImage, OrganizationCopy, IndustryLicense1, FaceRecognition, Extra1, BankCard, PersonWithIdCard, TakeCreditCard, MchtNo);
 
             Dictionary<string, object> Fields = new Dictionary<string, object>();
             Fields.Add("LicenseCopy", LicenseCopy); //- 营业执照
-            Fields.Add("CertMerchantName", CertMerchantName); //- 商户名称
+            // Fields.Add("CertMerchantName", CertMerchantName); //- 商户名称
             Fields.Add("LicenseNumber", LicenseNumber); //- 商户信用代码
             Fields.Add("SubjectType", SubjectType); //- 主体类型
             var LicenceType = "";
-            if (SubjectType == "SUBJECT_TYPE_ENTERPRISE") LicenceType = "0"; //- 企业公司
-            if (SubjectType == "SUBJECT_TYPE_INDIVIDUAL") LicenceType = "1"; //- 个体工商户
+            int BindStatus = 0;
+            if (SubjectType == "SUBJECT_TYPE_ENTERPRISE")
+            {
+                LicenceType = "0";
+                BindStatus = 2;
+            } //- 企业公司
+            if (SubjectType == "SUBJECT_TYPE_INDIVIDUAL")
+            {
+                LicenceType = "1";
+                BindStatus = 1;
+            } //- 个体工商户
+            if (SubjectType == "SUBJECT_TYPE_SMALL") BindStatus = 3; //- 小微
             Fields.Add("LicenceType", LicenceType); //- 主体类型
             Fields.Add("MerchantShortname", MerchantShortname); //- 用户名称简写
             Fields.Add("ServicePhone", ServicePhone); //- 商户电话
@@ -252,7 +267,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             Fields.Add("extra1", Extra1); // 补充资料照片组
             Fields.Add("industryLicense1", IndustryLicense1); //- 特殊资质照片组
             Fields.Add("ResserveMobile", ResserveMobile); //银行预留手机号
-            MerchantAddInfoId = (int)MerchantInfoUtil.EditMerchantInfo(MerchantAddInfoId, UserId, CertMerchantName, MobilePhone, BizAddressCode, BizStoreAddress).Data;
+            MerchantAddInfoId = (int)MerchantInfoUtil.EditMerchantInfo(MerchantAddInfoId, UserId, CertMerchantName, MobilePhone, BizAddressCode, BizStoreAddress, BindStatus).Data;
             MerchantAddInfoUtil.EditMerchantAddInfo(Fields, MerchantAddInfoId);
             if (Finish == 1)
             {
@@ -263,7 +278,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 RedisDbconn.Instance.AddList("MerchantConfirmHdQueue", "{\"MerchantId\":\"" + MerchantAddInfoId + "\"}");
             }
             else
-            {                
+            {
                 Dictionary<string, object> Fiel = new Dictionary<string, object>();
                 Fiel.Add("Sort", 0);
                 MerchantInfoService.Edit(Fiel, MerchantAddInfoId, false);

+ 25 - 5
Areas/Api/Controllers/Main/MerchantInfoController.cs

@@ -24,9 +24,6 @@ namespace MySystem.Areas.Api.Controllers.v1
         }
 
 
-
-
-
         #region 创客-首页-进件查询
         // [Authorize]
         public JsonResult MerchantByStatus(string value)
@@ -263,7 +260,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             }
             if (Kind > 0)
             {
-                query = query.Where(m => m.QueryCount == Kind);
+                query = query.Where(m => m.BindStatus == Kind);
             }
             if (ActiveStatus > 0)
             {
@@ -673,7 +670,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             JsonData data = JsonMapper.ToObject(value);
             Dictionary<string, object> Obj = new Dictionary<string, object>();
             string Sn = data["Sn"].ToString();
-            MerchantQrCode code = MerchantQrCodeService.Query(Sn);
+            Models.Main1.MerchantQrCode code = MerchantQrCodeService.Query(Sn);
             MerchantInfo query = MerchantInfoService.Query(code.MerchantId);
             MerchantParamSet set = MerchantParamSetService.Query(code.MerchantId);
             Obj.Add("Name", query.Name); //名称
@@ -756,6 +753,29 @@ namespace MySystem.Areas.Api.Controllers.v1
         #endregion
 
 
+        #region 首页-查询该商户是否已存在
+        // [Authorize]
+        public JsonResult CheckMerchant(string value)
+        {
+            value = DesDecrypt(value);
+            JsonData data = JsonMapper.ToObject(value);
+            bool Obj = CheckMerchantDo(value);
+            return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
+        }
+        public bool CheckMerchantDo(string value)
+        {
+            JsonData data = JsonMapper.ToObject(value);
+            string CertMerchantName = data["CertMerchantName"].ToString();
+            var Info = MerchantAddInfoService.Query(" CertMerchantName='" + CertMerchantName + "'");
+            if (Info.Id > 0)
+            {
+                return true;
+            }
+            return false;
+        }
+        #endregion
+
+
         #region 检查签名是否合法,合法返回1,不合法返回提示信息
 
         /// <summary>

+ 13 - 10
Areas/Api/Controllers/Main/MerchantQrCodeController.cs

@@ -43,7 +43,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
             Models.Main.MerchantInfo merchant = MerchantInfoDbconn.Instance.Get(MerchantId) ?? new Models.Main.MerchantInfo();
-            IQueryable<Models.Main1.MerchantQrCode> query = main1db.MerchantQrCode.Where(m => m.MerchantId == MerchantId);
+            IQueryable<Models.Main1.MerchantQrCode> query = main1db.MerchantQrCode.Where(m => m.MerchantId == MerchantId && m.QueryCount == 2);
             if (PageNum == 1)
             {
                 query = query.Take(PageSize);
@@ -86,14 +86,14 @@ namespace MySystem.Areas.Api.Controllers.v1
             string SnNo = data["SnNo"].ToString(); //Sn编号
             string MachineNo = data["Machine"].ToString(); //音箱码
             Dictionary<string, object> Obj = new Dictionary<string, object>();
-            Models.Main1.MerchantQrCode query = MerchantQrCodeService.Query(SnNo);
-            Models.Main1.PosMachinesTwo pos = PosMachinesTwoService.Query(SnNo);
+            Models.Main1.MerchantQrCode query = MerchantQrCodeService.Query(" SnNo='" + SnNo + "'");
+            Models.Main1.PosMachinesTwo pos = PosMachinesTwoService.Query(" PosSn='" + SnNo + "'");
             Models.Main.MerchantInfo merchant = MerchantInfoService.Query(MerchantId);
-            if(pos.Id == 0)
+            if (pos.Id == 0)
             {
                 return new AppResultJson() { Status = "-1", Info = "绑定失败" };
             }
-            if(pos.BuyUserId == 0)
+            if (pos.BuyUserId == 0)
             {
                 return new AppResultJson() { Status = "-1", Info = "码牌未授权" };
             }
@@ -107,6 +107,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             Dictionary<string, object> fields = new Dictionary<string, object>();
             fields.Add("MerchantId", MerchantId);
             fields.Add("SnNo", SnNo);
+            fields.Add("QueryCount", 2);
             MerchantQrCodeService.Add(fields);
             // query = maindb.MerchantQrCode.Add(new MerchantQrCode()
             // {
@@ -119,7 +120,8 @@ namespace MySystem.Areas.Api.Controllers.v1
             Models.Main1.MachineForQrCode forQrCode = main1db.MachineForQrCode.FirstOrDefault(m => m.DataId == DataId);
             if (forQrCode == null)
             {
-                forQrCode = main1db.MachineForQrCode.Add(new Models.Main1.MachineForQrCode(){
+                forQrCode = main1db.MachineForQrCode.Add(new Models.Main1.MachineForQrCode()
+                {
                     DataId = DataId,
                     SnNo = SnNo,
                     MachineSnNo = MachineNo,
@@ -128,7 +130,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 }).Entity;
             }
             else
-            { 
+            {
                 forQrCode.SnNo = SnNo;
                 forQrCode.MachineSnNo = MachineNo;
                 forQrCode.BindDate = DateTime.Now;
@@ -142,7 +144,8 @@ namespace MySystem.Areas.Api.Controllers.v1
             fields.Add("BindingState", 1);
             fields.Add("BindMerchantId", MerchantId);
             fields.Add("OpId", 2);
-            PosMachinesTwoService.Edit(fields, pos.Id);
+            fields.Add("QueryCount", 2);
+            PosMachinesTwoService.Edit(fields, pos.Id, false);
             // pos.BuyUserId = merchant.UserId;
             // pos.UserId = merchant.UserId;
             // pos.BindingTime = DateTime.Now;
@@ -151,7 +154,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             // maindb.SaveChanges();
 
             PublicFunction.BindUserMachineData(main1db, merchant.UserId, 0, 1, SnNo);
-            
+
             return new AppResultJson() { Status = "1", Info = "绑定成功" };
         }
         #endregion
@@ -178,7 +181,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             query.MerchantId = MerchantId; //商户
             query.MachineId = MachineId; //设备
             Models.Main1.MachineForQrCode qrcode = new Models.Main1.MachineForQrCode()
-            { 
+            {
                 MerchantId = MerchantId,
                 DataId = QrCodeId + "_" + MachineId,
                 BindDate = DateTime.Now,

+ 85 - 0
Areas/Api/Controllers/Main/MobileCodeCheckController.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using Microsoft.AspNetCore.Authorization;
+using System.Web;
+using MySystem.Models.Main1;
+using LitJson;
+using Library;
+
+namespace MySystem.Areas.Api.Controllers.v1
+{
+    [Area("Api")]
+    [Route("Api/v1/[controller]/[action]")]
+    public class MobileCodeCheckController : BaseController
+    {
+        public MobileCodeCheckController(IHttpContextAccessor accessor) : base(accessor)
+        {
+        }
+
+
+
+        #region 我的-发送验证码
+        // [Authorize]
+        public JsonResult SendSms(string value)
+        {
+            value = DesDecrypt(value);
+            JsonData data = JsonMapper.ToObject(value);
+            AppResultJson result = SendSmsDo(value);
+            return Json(new AppResultJson() { Status = result.Status, Info = result.Info, Data = result.Data });
+        }
+        public AppResultJson SendSmsDo(string value)
+        {
+            JsonData data = JsonMapper.ToObject(value);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string Mobile = data["Mobile"].ToString(); //手机号
+            MobileCodeCheck check = RedisDbconn.Instance.Get<MobileCodeCheck>("MobileCodeCheck:" + Mobile);
+            if (check != null)
+            { 
+                return new AppResultJson() { Status = "1", Info = "", Data = Obj };
+            }
+            // string CheckCode = "111111";
+            string CheckCode = function.get_Random(6);
+            MobileCodeCheck query = new MobileCodeCheck()
+            {
+                Mobile = Mobile, //手机号
+                CheckCode = CheckCode,
+            };
+            RedisDbconn.Instance.Set("MobileCodeCheck:" + Mobile, query);
+            RedisDbconn.Instance.SetExpire("MobileCodeCheck:" + Mobile, 300);
+
+            SendSMS.Instance.Do(Mobile, CheckCode); //发送短信
+            return new AppResultJson() { Status = "1", Info = "", Data = Obj };
+        }
+        #endregion
+
+
+
+        #region 检查签名是否合法,合法返回1,不合法返回提示信息
+
+        /// <summary>
+        /// 检查签名是否合法,合法返回1,不合法返回提示信息
+        /// </summary>
+        /// <param name="value">请求的参数(json字符串)</param>
+        /// <param name="signField">要签名的字段</param>
+        /// <returns></returns>
+        private string CheckSign(string value, string[] signField)
+        {
+            JsonData json = JsonMapper.ToObject(value);
+            Dictionary<string, string> dic = new Dictionary<string, string>();
+            for (int i = 0; i < signField.Length; i++)
+            {
+                dic.Add(signField[i], json[signField[i]].ToString());
+            }
+            string sign = json["sign"].ToString(); //客户端签名字符串
+            return new Sign().sign(dic, sign);
+        }
+
+        #endregion
+
+    }
+}

+ 12 - 12
Areas/Api/Controllers/Main/PosMachinesController.cs

@@ -7,7 +7,7 @@ using Microsoft.Extensions.Logging;
 using Microsoft.Extensions.Options;
 using Microsoft.AspNetCore.Authorization;
 using System.Web;
-using MySystem.Models.Main;
+using MySystem.Models.Main1;
 using LitJson;
 using Library;
 using MySystem.Service.Main;
@@ -40,7 +40,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
             int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
-            MerchantInfo merchant = MerchantInfoDbconn.Instance.Get(BindMerchantId) ?? new MerchantInfo();
+            Models.Main.MerchantInfo merchant = MerchantInfoDbconn.Instance.Get(BindMerchantId) ?? new Models.Main.MerchantInfo();
             List<Dictionary<string, object>> query = PosMachinesService.List(new List<RelationData>(), " and BindMerchantId=" + BindMerchantId, PageNum, PageSize);
             foreach (var subdata in query)
             {
@@ -74,7 +74,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
             int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
-            MerchantInfo merchant = MerchantInfoDbconn.Instance.Get(BindMerchantId) ?? new MerchantInfo();
+            Models.Main.MerchantInfo merchant = MerchantInfoDbconn.Instance.Get(BindMerchantId) ?? new Models.Main.MerchantInfo();
             List<int> query = PosMachinesDbconn.Instance.GetList(BindMerchantId, PageNum, PageSize);
             foreach (int MachineId in query)
             {
@@ -251,22 +251,22 @@ namespace MySystem.Areas.Api.Controllers.v1
             int Id = int.Parse(function.CheckInt(data["Id"].ToString()));
             Dictionary<string, object> Obj = new Dictionary<string, object>();
             string CheckKey = "_" + Id;
-            var list = maindb.MachineForQrCode.Select(m => new { m.MerchantId, m.DataId }).Where(m => m.MerchantId == BindMerchantId && m.DataId.EndsWith(CheckKey)).ToList();
+            var list = main1db.MachineForQrCode.Select(m => new { m.MerchantId, m.DataId }).Where(m => m.MerchantId == BindMerchantId && m.DataId.EndsWith(CheckKey)).ToList();
             foreach (var sub in list)
             {
-                MachineForQrCode edit = maindb.MachineForQrCode.FirstOrDefault(m => m.DataId == sub.DataId);
+                MachineForQrCode edit = main1db.MachineForQrCode.FirstOrDefault(m => m.DataId == sub.DataId);
                 if (edit != null)
                 {
-                    maindb.MachineForQrCode.Remove(edit);
+                    main1db.MachineForQrCode.Remove(edit);
                     int MachineId = int.Parse(function.CheckInt(edit.DataId.Split('_')[1]));
-                    PosMachines machine = maindb.PosMachines.FirstOrDefault(m => m.BindMerchantId == MachineId);
+                    PosMachines machine = main1db.PosMachines.FirstOrDefault(m => m.BindMerchantId == MachineId);
                     if (machine != null)
                     {
                         machine.BindMerchantId = 0;
                     }
                 }
             }
-            maindb.SaveChanges();
+            main1db.SaveChanges();
 
             return new AppResultJson() { Status = "1", Info = "", Data = Obj };
         }
@@ -297,7 +297,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             {
                 PageSize = 100000;
             }
-            IQueryable<PosMachinesTwo> query = maindb.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BindingState == 1);
+            IQueryable<PosMachinesTwo> query = main1db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BindingState == 1);
             if (!string.IsNullOrEmpty(SnNo))
             {
                 query = query.Where(m => m.PosSn == SnNo);
@@ -339,7 +339,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                     Deposit = decimal.Parse(function.CheckNum(subdata.PrizeParams));
                 }
                 curData.Add("Deposit", Deposit);
-                MerchantAddInfo merchant = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == subdata.BindMerchantId) ?? new MerchantAddInfo();
+                MerchantAddInfo merchant = main1db.MerchantAddInfo.FirstOrDefault(m => m.Id == subdata.BindMerchantId) ?? new MerchantAddInfo();
                 curData.Add("BindedMerchant", merchant.CertMerchantName);
                 curData.Add("IsLeader",IsLeader);
                 dataList.Add(curData);
@@ -371,7 +371,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             {
                 PageSize = 100000;
             }
-            IQueryable<PosMachinesTwo> query = maindb.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BrandId == BrandId);
+            IQueryable<PosMachinesTwo> query = main1db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BrandId == BrandId);
             if (!string.IsNullOrEmpty(SnNo))
             {
                 query = query.Where(m => m.PosSn == SnNo);
@@ -445,7 +445,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             {
                 PageSize = 100000;
             }
-            IQueryable<PosMachinesTwo> query = maindb.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BindingState == 0);
+            IQueryable<PosMachinesTwo> query = main1db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId == UserId && m.BindingState == 0);
             if (!string.IsNullOrEmpty(SnNo))
             {
                 query = query.Where(m => m.PosSn == SnNo && m.PosSnType == 0);

+ 2 - 0
Models/Main/MerchantInfo.cs

@@ -43,5 +43,7 @@ namespace MySystem.Models.Main
         public int ActStat { get; set; }
         public DateTime? SignDate { get; set; }
         public decimal AllocationAmount { get; set; }
+        public decimal ActMaxAmount { get; set; }
+        public decimal ActCurrentAmount { get; set; }
     }
 }

+ 2 - 2
Models/Main/MerchantTradeSummary.cs

@@ -17,14 +17,14 @@ namespace MySystem.Models.Main
         public string SeoTitle { get; set; }
         public string SeoKeyword { get; set; }
         public string SeoDescription { get; set; }
+        public decimal AliPayInFactAmount { get; set; }
+        public decimal WeChatInfactAmount { get; set; }
         public int OderCount { get; set; }
         public decimal InFactAmount { get; set; }
         public decimal TradeAmount { get; set; }
         public string TradeDate { get; set; }
         public string TradeMonth { get; set; }
         public int MerchantId { get; set; }
-        public decimal AliPayInFactAmount { get; set; }
-        public decimal WeChatInfactAmount { get; set; }
         public decimal ActAmount { get; set; }
         public decimal NonActAmount { get; set; }
     }

+ 10 - 2
Models/Main/WebCMSEntities.cs

@@ -5308,7 +5308,7 @@ namespace MySystem.Models.Main
                     .HasCollation("utf8_general_ci");
 
                 entity.Property(e => e.BizStoreAddress)
-                    .HasColumnType("varchar(50)")
+                    .HasColumnType("varchar(100)")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
@@ -5816,7 +5816,7 @@ namespace MySystem.Models.Main
                     .HasCollation("utf8_general_ci");
 
                 entity.Property(e => e.WeChatSignUrl)
-                    .HasColumnType("longtext")
+                    .HasColumnType("varchar(500)")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
@@ -6503,6 +6503,14 @@ namespace MySystem.Models.Main
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
 
+                entity.Property(e => e.ActCurrentAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("活动已返金额");
+
+                entity.Property(e => e.ActMaxAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("活动应返金额");
+
                 entity.Property(e => e.ActStat)
                     .HasColumnType("int(11)")
                     .HasComment("激活统计标记");

+ 2 - 0
Models/Main1/MerchantInfo.cs

@@ -43,5 +43,7 @@ namespace MySystem.Models.Main1
         public int ActStat { get; set; }
         public DateTime? SignDate { get; set; }
         public decimal AllocationAmount { get; set; }
+        public decimal ActMaxAmount { get; set; }
+        public decimal ActCurrentAmount { get; set; }
     }
 }

+ 8 - 0
Models/Main1/WebCMSEntities.cs

@@ -6503,6 +6503,14 @@ namespace MySystem.Models.Main1
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
 
+                entity.Property(e => e.ActCurrentAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("活动已返金额");
+
+                entity.Property(e => e.ActMaxAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("活动应返金额");
+
                 entity.Property(e => e.ActStat)
                     .HasColumnType("int(11)")
                     .HasComment("激活统计标记");

+ 6 - 0
Service/Main/MerchantTradeSummaryService.cs

@@ -43,6 +43,8 @@ namespace MySystem.Service.Main
             fields.Add("InFactAmount"); //实收金额
             fields.Add("WeChatInfactAmount"); //微信实收金额
             fields.Add("AliPayInFactAmount"); //支付宝实收金额
+            fields.Add("ActAmount"); //活动总金额
+            fields.Add("NonActAmount"); //非活动总金额
             fields.Add("TradeDate"); //日期
             fields.Add("TradeMonth"); //月份
             fields.Add("MerchantId"); //商户Id
@@ -69,6 +71,8 @@ namespace MySystem.Service.Main
             fields.Add("InFactAmount"); //实收金额
             fields.Add("WeChatInfactAmount"); //微信实收金额
             fields.Add("AliPayInFactAmount"); //支付宝实收金额
+            fields.Add("ActAmount"); //活动总金额
+            fields.Add("NonActAmount"); //非活动总金额
             fields.Add("TradeDate"); //日期
             fields.Add("TradeMonth"); //月份
             fields.Add("MerchantId"); //商户Id
@@ -95,6 +99,8 @@ namespace MySystem.Service.Main
             fields.Add("InFactAmount"); //实收金额
             fields.Add("WeChatInfactAmount"); //微信实收金额
             fields.Add("AliPayInFactAmount"); //支付宝实收金额
+            fields.Add("ActAmount"); //活动总金额
+            fields.Add("NonActAmount"); //非活动总金额
             fields.Add("TradeDate"); //日期
             fields.Add("TradeMonth"); //月份
             fields.Add("MerchantId"); //商户Id

+ 13 - 12
Service/Main/PosMachinesService.cs

@@ -6,7 +6,7 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Data;
-using MySystem.Models.Main;
+using MySystem.Models.Main1;
 using Library;
 using LitJson;
 
@@ -14,7 +14,8 @@ namespace MySystem.Service.Main
 {
     public class PosMachinesService
     {
-        static string _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        // static string _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        static string _conn = ConfigurationManager.AppSettings["ZsSqlConnStr"].ToString();
 
         /// <summary>
         /// 查询列表
@@ -48,7 +49,7 @@ namespace MySystem.Service.Main
             fields.Add("ActivationStatus"); //激活状态
             fields.Add("ActivationDate"); //激活时间
 
-            Dictionary<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("MerchantInfo", relationData, orderBy, page, limit, condition, fields);
+            Dictionary<string, object> obj = new DbService(AppConfig.Base.main1Tables, _conn).IndexData("MerchantInfo", relationData, orderBy, page, limit, condition, fields);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             count = int.Parse(obj["count"].ToString());
             return diclist;
@@ -76,7 +77,7 @@ namespace MySystem.Service.Main
             fields.Add("ActivationStatus"); //激活状态
             fields.Add("ActivationDate"); //激活时间
 
-            Dictionary<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("MerchantInfo", relationData, orderBy, page, limit, condition, fields);
+            Dictionary<string, object> obj = new DbService(AppConfig.Base.main1Tables, _conn).IndexData("MerchantInfo", relationData, orderBy, page, limit, condition, fields);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             return diclist;
         }
@@ -95,7 +96,7 @@ namespace MySystem.Service.Main
         }
         public static MerchantInfo Query(string condition, string fields = "*")
         {
-            var merchantInfo = new DbService(AppConfig.Base.mainTables, _conn).Query(fields, "MerchantInfo", condition);
+            var merchantInfo = new DbService(AppConfig.Base.main1Tables, _conn).Query(fields, "MerchantInfo", condition);
             if (merchantInfo.Count > 0)
             {
                 return Newtonsoft.Json.JsonConvert.DeserializeObject<MerchantInfo>(Newtonsoft.Json.JsonConvert.SerializeObject(merchantInfo));
@@ -105,7 +106,7 @@ namespace MySystem.Service.Main
 
         public static decimal Sum(string condition, string field)
         {
-            var dt = new DbService(AppConfig.Base.mainTables, _conn).Query("Sum(" + field + ") " + field, "MerchantInfo", condition);
+            var dt = new DbService(AppConfig.Base.main1Tables, _conn).Query("Sum(" + field + ") " + field, "MerchantInfo", condition);
             decimal amount = 0;
             if (dt.Count > 0)
             {
@@ -121,7 +122,7 @@ namespace MySystem.Service.Main
         /// <returns></returns>
         public static int Count(string condition = "", string field = "Id")
         {
-            var dt = new DbService(AppConfig.Base.mainTables, _conn).Query("Count(" + field + ") " + field, "MerchantInfo", condition);
+            var dt = new DbService(AppConfig.Base.main1Tables, _conn).Query("Count(" + field + ") " + field, "MerchantInfo", condition);
             int result = 0;
             if (dt.Count > 0)
             {
@@ -162,7 +163,7 @@ namespace MySystem.Service.Main
                 }
 
             }
-            int Id = new DbService(AppConfig.Base.mainTables, _conn).Add("MerchantInfo", fields, 0);
+            int Id = new DbService(AppConfig.Base.main1Tables, _conn).Add("MerchantInfo", fields, 0);
             return new AppResultJson() { Status = "1", Data = Id };
         }
 
@@ -185,7 +186,7 @@ namespace MySystem.Service.Main
                 }
 
             }
-            new DbService(AppConfig.Base.mainTables, _conn).Edit("MerchantInfo", fields, Id);
+            new DbService(AppConfig.Base.main1Tables, _conn).Edit("MerchantInfo", fields, Id);
             return new AppResultJson() { Status = "1", Data = Id };
         }
 
@@ -197,7 +198,7 @@ namespace MySystem.Service.Main
         {
             Dictionary<string, object> fields = new Dictionary<string, object>();
             fields.Add("Status", -1);
-            new DbService(AppConfig.Base.mainTables, _conn).Edit("MerchantInfo", fields, Id);
+            new DbService(AppConfig.Base.main1Tables, _conn).Edit("MerchantInfo", fields, Id);
         }
 
         /// <summary>
@@ -206,7 +207,7 @@ namespace MySystem.Service.Main
         /// <param name="Id">主键Id</param>
         public static void Delete(int Id)
         {
-            new DbService(AppConfig.Base.mainTables, _conn).Delete("MerchantInfo", Id);
+            new DbService(AppConfig.Base.main1Tables, _conn).Delete("MerchantInfo", Id);
         }
 
         /// <summary>
@@ -216,7 +217,7 @@ namespace MySystem.Service.Main
         /// <param name="Sort">排序序号</param>
         public static void Sort(int Id, int Sort)
         {
-            new DbService(AppConfig.Base.mainTables, _conn).Sort("MerchantInfo", Sort, Id);
+            new DbService(AppConfig.Base.main1Tables, _conn).Sort("MerchantInfo", Sort, Id);
         }
 
         /// <summary>

+ 1 - 1
Startup.cs

@@ -164,7 +164,7 @@ namespace MySystem
         private void initMain1Server()
         {
             Dictionary<string, Dictionary<string, string>> tables = new Dictionary<string, Dictionary<string, string>>();
-            string connstr = Configuration["Setting:SqlConnStr"];
+            string connstr = Configuration["Setting:ZsSqlConnStr"];
             System.Data.DataTable tablecollection = Library.CustomerSqlConn.dtable("select DISTINCT TABLE_NAME from information_schema.columns where table_schema = 'QrCodePlateMainServer'", connstr);
             foreach (System.Data.DataRow subtable in tablecollection.Rows)
             {

+ 85 - 0
Util/HaoDa/SendSMS.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Security;
+using System.Security.Cryptography.X509Certificates;
+using System.Text;
+using Library;
+// using MongoDB.Bson;
+// using MongoDB.Driver;
+// using MongoDB.Driver.Linq;
+
+namespace MySystem
+{
+    public class SendSMS
+    {
+        public readonly static SendSMS Instance = new SendSMS();
+        private SendSMS()
+        {
+        }
+
+
+        #region 发送短信验证码
+
+        private string host = "https://gyytz.market.alicloudapi.com";
+        private string path = "/sms/smsSend";
+        private string method = "POST";
+        private string appcode = "8e5704921ca3422f80f0deb935a7ddc6";
+
+        public string Do(string mobile, string code)
+        {
+            String querys = "mobile=" + mobile + "&param=**code**%3A" + code + "%2C**minute**%3A5&smsSignId=8b278cf2bb2a4b3c818cc7a436307a12&templateId=908e94ccf08b4476ba6c876d13f084ad";
+            String bodys = "";
+            String url = host + path;
+            HttpWebRequest httpRequest = null;
+            HttpWebResponse httpResponse = null;
+
+            if (0 < querys.Length)
+            {
+                url = url + "?" + querys;
+            }
+
+            if (host.Contains("https://"))
+            {
+                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
+                httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
+            }
+            else
+            {
+                httpRequest = (HttpWebRequest)WebRequest.Create(url);
+            }
+            httpRequest.Method = method;
+            httpRequest.Headers.Add("Authorization", "APPCODE " + appcode);
+            if (0 < bodys.Length)
+            {
+                byte[] data = Encoding.UTF8.GetBytes(bodys);
+                using (Stream stream = httpRequest.GetRequestStream())
+                {
+                    stream.Write(data, 0, data.Length);
+                }
+            }
+            try
+            {
+                httpResponse = (HttpWebResponse)httpRequest.GetResponse();
+            }
+            catch (WebException ex)
+            {
+                httpResponse = (HttpWebResponse)ex.Response;
+            }
+
+            Stream st = httpResponse.GetResponseStream();
+            StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
+            string result = reader.ReadToEnd();
+            return result;
+        }
+
+        public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
+        {
+            return true;
+        }
+
+        #endregion
+    }
+}

+ 10 - 4
Util/HaoDa/UserTradeDbconn.cs

@@ -26,13 +26,19 @@ namespace MySystem
             {
                 fieldList += "sum(" + field + ") " + field + ",";
             }
-            fieldList = fieldList.TrimEnd(',');
             DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + TradeDate + " where MerchantId=" + MerchantId + "", AppConfig.Base.StatConnRds);
             if(dt.Rows.Count > 0)
             {
                 foreach(string field in fields.Split(','))
                 {
-                    AmtList.Add(field, dt.Rows[0][0].ToString());
+                    AmtList.Add(field, dt.Rows[0][field].ToString());
+                }
+            }
+            else
+            {
+                foreach(string field in fields.Split(','))
+                {
+                    AmtList.Add(field, "0");
                 }
             }
             return AmtList;
@@ -54,7 +60,7 @@ namespace MySystem
                 Dictionary<string, object> Item = new Dictionary<string, object>();
                 foreach(string field in fields.Split(','))
                 {
-                    Item.Add(field, dt.Rows[0][0].ToString());
+                    Item.Add(field, dt.Rows[0][field].ToString());
                 }
                 AmtList.Add(Item);
             }
@@ -85,7 +91,7 @@ namespace MySystem
                 {
                     foreach(string field in fields.Split(','))
                     {
-                        Item.Add(field, function.CheckNum(dt.Rows[0][0].ToString()));
+                        Item.Add(field, function.CheckNum(dt.Rows[0][field].ToString()));
                     }
                 }
                 else

+ 2 - 1
Util/Main/MerchantInfoUtil.cs

@@ -20,7 +20,7 @@ namespace MySystem
         /// <param name="Areas">门店省市编码</param>
         /// <param name="Address">门店地址</param>
         /// <returns></returns>
-        public static AppResultJson EditMerchantInfo(int Id, int UserId, string Name, string Mobile, string Areas, string Address)
+        public static AppResultJson EditMerchantInfo(int Id, int UserId, string Name, string Mobile, string Areas, string Address, int BindStatus)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
             Fields.Add("UserId", UserId);
@@ -28,6 +28,7 @@ namespace MySystem
             Fields.Add("Mobile", Mobile);
             Fields.Add("Areas", Areas);
             Fields.Add("Address", Address);
+            Fields.Add("BindStatus", BindStatus);
             AppResultJson info = new AppResultJson();
             if (Id == 0)
             {

+ 1 - 1
Util/MySelf/MySelfUtil.cs

@@ -119,7 +119,7 @@ namespace MySystem
             Obj.Add("TotalActual", query.TotalActual.ToString("f2")); //实收总金额
             var yesterday = DateTime.Now.AddDays(-1).ToString("yyyyMMdd");
             Obj.Add("YesterDayActual", decimal.Parse(function.CheckNum(UserTradeDbconn.Instance.GetTrade(MerchantId, yesterday, "InFactAmount")["InFactAmount"].ToString())).ToString("f2")); //昨日收入
-            Obj.Add("SettleAmount", ""); //待结算金额
+            Obj.Add("SettleAmount", 0.00); //待结算金额
             Obj.Add("TotalOrder", query.TotalConsumeCount); //累计订单
             Obj.Add("TotalCustomer", query.TotalCustomer); //累计客户
             Obj.Add("Logo", BaseController.DefaultPic(query.Logo)); //Logo图片

+ 3 - 1
Util/WorkSpace/WorkSpaceUtil.cs

@@ -48,7 +48,9 @@ namespace MySystem
                 Start = Start.AddDays(1);
             }
             Obj.Add("TotalAmount", TotalAmount.ToString("f2")); //营总收益
-            Obj.Add("AllocationAmount", MerchantInfoService.Query(MerchantId).AllocationAmount); //未分配活动金额
+            MerchantInfo merchant = MerchantInfoService.Query(MerchantId);
+            decimal AllocationAmount = merchant.ActMaxAmount - merchant.ActCurrentAmount;
+            Obj.Add("AllocationAmount", AllocationAmount); //未分配活动金额
             Obj.Add("TotalOrder", TotalOrder); //累计订单
             Obj.Add("TotalUser", TotalUser); //会员数
             Obj.Add("TotalActual", TotalActual); //实收总额

+ 2 - 2
appsettings.Development.json

@@ -11,12 +11,12 @@
     "Host": "http://localhost:6003/",
     "OssHost": "http://oss.kexiaoshuang.com/",
     "SourceHost": "http://test.mpap2.kexiaoshuang.com/",
-    "SpHost": "http://test.mpsp2.kexiaoshuang.com/",
+    "SpHost": "http://test.mpsp.kexiaoshuang.com/",
     "Database": "TpAdminServer",
     "StatSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer2;charset=utf8;",
     "KxsSqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer;charset=utf8;",
     "SqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer2;charset=utf8;",
-    "ZSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer;charset=utf8;",
+    "ZsSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer;charset=utf8;",
     "BsSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateBsServer;password=ld5Px33wvhyEz44P;database=QrCodePlateBsServer;charset=utf8;",
     "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=5,poolsize=500,preheat=50,asyncPipeline=true",
     "IOSAppVersion": "1.0.0",