DuGuYang 3 лет назад
Родитель
Сommit
aebc2de374
1 измененных файлов с 48 добавлено и 19 удалено
  1. 48 19
      Areas/Admin/Controllers/MainServer/SysToolsController.cs

+ 48 - 19
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -896,30 +896,59 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 return "创客编号不存在";
             }
-            PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == PosSn);
-            pos.UserId = pos.BuyUserId;
-            merchant.UserId = pos.BuyUserId;
-            merchant.MerUserType = 0;
-            user.MerchantType = 0;
-            db.SaveChanges();
-            if (pos.BindMerchantId == 0)
+            PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqSnNo == PosSn) ?? new PosMerchantInfo();
+            if (merchant.Id == 0)
             {
-                pos.BindMerchantId = merchant.Id;
-                if (IsSend == 1)
+                return "机具" + PosSn + "对应的商户不存在";
+            }
+            else if (merchant.MerUserType == 1 && merchant.UserId == user.Id)
+            {
+                pos.UserId = pos.BuyUserId;
+                merchant.UserId = pos.BuyUserId;
+                merchant.MerUserType = 0;
+                user.MerchantType = 0;
+                db.SetMerchantTypeRecord.Add(new SetMerchantTypeRecord()
                 {
-                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                    CreateDate = DateTime.Now,
+                    SeoTitle = SysUserName + "_" + SysRealName,
+                    IsRecyc = (ulong)pos.IsPurchase,
+                    CreditAmount = pos.CreditTrade,
+                    PosSnType = pos.PosSnType,
+                    ActDate = pos.ActivationTime,
+                    BindDate = pos.BindingTime,
+                    ActStatus = (ulong)pos.ActivationState,
+                    BindStatus = (ulong)pos.BindingState,
+                    MerNo = merchant.KqMerNo,
+                    PosSn = pos.PosSn,
+                    Note = "后台取消商户型创客",
+                    ToUserId = user.Id,
+                    FromUserId = pos.BuyUserId,
+                    OperateType = 2,
+                    BuyUserId = pos.BuyUserId,
+                });
+                db.SaveChanges();
+                if (pos.BindMerchantId == 0)
+                {
+                    pos.BindMerchantId = merchant.Id;
+                    if (IsSend == 1)
                     {
-                        UserId = pos.BuyUserId, //接收创客
-                        MsgType = 2,
-                        Title = "商户型代理取消成功", //标题
-                        Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已给下级代理" + user.RealName + "" + MakerCode + "取消成功",
-                        CreateDate = DateTime.Now,
-                    }));
+                        RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                        {
+                            UserId = pos.BuyUserId, //接收创客
+                            MsgType = 2,
+                            Title = "商户型代理取消成功", //标题
+                            Summary = "您的 " + kqProducts.Name + " SN:" + pos.PosSn + "已给下级代理" + user.RealName + "" + MakerCode + "取消成功",
+                            CreateDate = DateTime.Now,
+                        }));
+                    }
                 }
+                string text = string.Format("取消商户代理,创客编号: " + user.MakerCode + ",机具SN:" + pos.PosSn + ",操作人:" + SysRealName + ",Time:" + DateTime.Now + "");
+                function.WriteLog(text, "CancelMerAgent");//取消商户型代理日志
+            }
+            else
+            {
+                return "未找到相关信息";
             }
-            string text = string.Format("取消商户代理,创客编号: " + user.MakerCode + ",机具SN:" + pos.PosSn + ",操作人:" + SysRealName + ",Time:" + DateTime.Now + "");
-            function.WriteLog(text, "CancelMerAgent");//取消商户型代理日志
-
             return "success";
         }