瀏覽代碼

导激活时,若同时满足【手机号已存在,SN不相同、商品名称为激活后补卡】,则该条数据为补卡数据,需要进行
1. 将原SN状态变更稳定期
2. 将新SN的绑定时间及激活时间变更为原SN的时间,状态变更为已绑定已激活,发放循环资格不发放激活奖励

lichunlei 1 年之前
父節點
當前提交
b278cd623d
共有 1 個文件被更改,包括 23 次插入16 次删除
  1. 23 16
      AppStart/Helper/SycnSpServer/SycnSpBindService.cs

+ 23 - 16
AppStart/Helper/SycnSpServer/SycnSpBindService.cs

@@ -189,12 +189,29 @@ namespace MySystem
                             PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
                             if (pos != null)
                             {
+                                string KindName = Bind.Remark; //商品类型名称
+                                string Name = Bind.Field3; //商品名称
                                 pos.BindingState = 1;
                                 pos.BindingTime = Bind.CreateTime;
                                 pos.Status = 0;
+                                pos.IsFirst = 1;
+                                if(Name == "激活后补卡")
+                                {
+                                    PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
+                                    if(forMerNo != null)
+                                    {
+                                        PxcModels.PosMachinesTwo oldpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forMerNo.SnId);
+                                        if(oldpos != null)
+                                        {
+                                            oldpos.IsFirst = 0;
+                                            pos.BindingState = oldpos.BindingState;
+                                            pos.BindingTime = oldpos.BindingTime;
+                                            pos.ActivationState = oldpos.ActivationState;
+                                            pos.ActivationTime = oldpos.ActivationTime;
+                                        }
+                                    }
+                                }
 
-                                string KindName = Bind.Remark; //商品类型名称
-                                string Name = Bind.Field3; //商品名称
                                 decimal ActualAmount = decimal.Parse(function.CheckNum(Bind.SeoTitle)); //实付金额
                                 string ActStatus = Bind.Field5; //激活状态名称
                                 if (KindName == "基础套餐" && Name == "双百套餐" && ActStatus == "已激活" && ActualAmount >= 100)
@@ -220,18 +237,19 @@ namespace MySystem
                                     merFor.SnId = pos.Id;
                                 }
 
-                                PxcModels.PosMerchantInfo add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo);
+                                PxcModels.PosMerchantInfo add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo && m.KqSnNo == Bind.MerSnNo);
                                 if (add == null)
                                 {
                                     add = db.PosMerchantInfo.Add(new PxcModels.PosMerchantInfo()
                                     {
                                         CreateDate = Bind.CreateTime,
                                         KqMerNo = Bind.MerNo,
+                                        KqSnNo = Bind.MerSnNo,
                                         MerchantNo = Bind.MerNo.Length > 16 ? Bind.MerNo.Substring(0, 16) : Bind.MerNo,
                                     }).Entity;
                                     db.SaveChanges();
                                 }
-                                PxcModels.SimposMerchantInfo sim = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo);
+                                PxcModels.SimposMerchantInfo sim = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo && m.KqSnNo == Bind.MerSnNo);
                                 if (sim == null)
                                 {
                                     string json = Bind.SeoDescription;
@@ -245,17 +263,6 @@ namespace MySystem
                                     if(!string.IsNullOrEmpty(json))
                                     {
                                         JsonData jsonObj = JsonMapper.ToObject(json);
-                                        // string OrderNo = jsonObj["订单编码"].ToString();
-                                        // string CreateDate = jsonObj["订单创建时间"].ToString();
-                                        // string PhoneNumber = jsonObj["选择号码"].ToString();
-                                        // string HasFirstCharge = jsonObj["是否有首充"].ToString();
-                                        // string FirstChargeAmount = jsonObj["首充金额(元)"].ToString();
-                                        // string Province = jsonObj["号码归属省份"].ToString();
-                                        // string City = jsonObj["号码归属地市"].ToString();
-                                        // string OrderStatus = jsonObj["订单状态"].ToString();
-                                        // string ActDate = jsonObj["激活时间"].ToString();
-                                        // string SimNo = jsonObj["SIM卡号"].ToString();
-
                                         ProductName = jsonObj["ProductName"].ToString();
                                         ActivityName = jsonObj["ActiveName"].ToString();
                                         ProductTypeName = jsonObj["ProductType"].ToString();
@@ -269,6 +276,7 @@ namespace MySystem
                                         Id = add.Id,
                                         CreateDate = Bind.CreateTime,
                                         KqMerNo = Bind.MerNo,
+                                        KqSnNo = Bind.MerSnNo,
                                         MerchantNo = Bind.MerNo.Length > 16 ? Bind.MerNo.Substring(0, 16) : Bind.MerNo,
                                         ProductName = ProductName,
                                         ActivityName = ActivityName,
@@ -282,7 +290,6 @@ namespace MySystem
                                 }
                                 pos.BindMerchantId = add.Id;
                                 pos.LastMerchantId = add.Id;
-                                pos.IsFirst = 1;
                                 if(pos.CardType < 2)
                                 {
                                     pos.IsPurchase = 1;