From 2fbf434b439ea3fdd55a587ac853cdbed2788a3e Mon Sep 17 00:00:00 2001
From: liaoxujun@qq.com <liaoxujun@qq.com>
Date: 星期三, 06 三月 2024 15:52:54 +0800
Subject: [PATCH] 经销商关联用户等级完成,修改部分版权后台图片

---
 CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs |  136 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 127 insertions(+), 9 deletions(-)

diff --git a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
index 54e6806..2f1cbcf 100644
--- a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
+++ b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
@@ -15,6 +15,7 @@
 using System.Threading.Tasks;
 using CoreCms.Net.Configuration;
 using CoreCms.Net.Filter;
+using CoreCms.Net.IRepository.UnitOfWork;
 using CoreCms.Net.IServices;
 using CoreCms.Net.Loging;
 using CoreCms.Net.Model.Entities;
@@ -28,6 +29,7 @@
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Hosting;
 using Microsoft.AspNetCore.Mvc;
+using Microsoft.CodeAnalysis.Operations;
 using SqlSugar;
 
 namespace CoreCms.Net.Web.Admin.Controllers
@@ -47,18 +49,31 @@
         private readonly ICoreCmsDistributionGradeServices _distributionGradeServices;
         private readonly ICoreCmsUserServices _userServices;
         private readonly IWebHostEnvironment _webHostEnvironment;
+        private readonly ICoreCmsAreaServices _areaServices;
+        private readonly ICoreCmsSettingServices _coreCmsSettingServices;
+        private readonly IUnitOfWork _unitOfWork;
+
 
         /// <summary>
         ///     鏋勯�犲嚱鏁�
         /// </summary>
         public CoreCmsDistributionController(IWebHostEnvironment webHostEnvironment
-            , ICoreCmsDistributionServices coreCmsDistributionServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsDistributionGradeServices distributionGradeServices, ICoreCmsUserServices userServices)
+            , ICoreCmsDistributionServices coreCmsDistributionServices,
+            ICoreCmsUserGradeServices userGradeServices,
+            ICoreCmsDistributionGradeServices distributionGradeServices,
+            ICoreCmsUserServices userServices,
+            ICoreCmsAreaServices areaServices,
+            ICoreCmsSettingServices coreCmsSettingServices,
+            IUnitOfWork unitOfWork)
         {
             _webHostEnvironment = webHostEnvironment;
             _coreCmsDistributionServices = coreCmsDistributionServices;
             _userGradeServices = userGradeServices;
             _distributionGradeServices = distributionGradeServices;
             _userServices = userServices;
+            _areaServices = areaServices;
+            _coreCmsSettingServices = coreCmsSettingServices;
+            _unitOfWork = unitOfWork;
         }
 
         #region 鑾峰彇鍒楄〃============================================================
@@ -213,6 +228,7 @@
                 where = where.And(p => p.isDelete == false);
             //鑾峰彇鏁版嵁
             var list = await _coreCmsDistributionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize);
+
             //杩斿洖鏁版嵁
             jm.data = list;
             jm.code = 0;
@@ -384,22 +400,124 @@
                 return jm;
             }
 
+
             //浜嬬墿澶勭悊杩囩▼寮�濮�
             oldModel.name = entity.name;
             oldModel.gradeId = entity.gradeId;
             oldModel.mobile = entity.mobile;
             oldModel.weixin = entity.weixin;
             oldModel.qq = entity.qq;
-            oldModel.verifyStatus = entity.verifyStatus;
-            oldModel.updateTime = DateTime.Now;
-            if (oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes) oldModel.verifyTime = DateTime.Now;
 
-            //浜嬬墿澶勭悊杩囩▼缁撴潫
-            var bl = await _coreCmsDistributionServices.UpdateAsync(oldModel);
-            jm.code = bl ? 0 : 1;
-            jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+            try
+            {
+                _unitOfWork.BeginTran();
+                if (oldModel.verifyStatus != (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes && entity.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+                {
+                    var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries();
+                    var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey);
+                    var group = await _userGradeServices.GetUserGradeByValueKey(kc);
+                    if (group != null)
+                    {
+                        var olduser = await _userServices.QueryByIdAsync(oldModel.userId);
+                        if (olduser != null)
+                        {
+                            olduser.grade = group.id;
+                            olduser.updataTime = DateTime.Now;
+                            await _userServices.UpdateAsync(olduser);
 
-            return jm;
+                        }
+                    }
+
+                    //濡傛灉鏄�氳繃瀹℃牳
+                    oldModel.verifyTime = DateTime.Now;
+                }
+                else
+                if (oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes && entity.verifyStatus != (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+                {
+                    //濡傛灉鏄彇娑堝鏍�
+
+                    var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries();
+                    var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey);
+                    var group = await _userGradeServices.GetUserGradeByValueKey(kc);
+                    var defgroup = await _userGradeServices.GetDefaultUserGrade();
+                    if (defgroup != null)
+                    {
+                        var olduser = await _userServices.QueryByIdAsync(oldModel.userId);
+                        if (olduser != null)
+                        {
+                            if (olduser.grade == group.id)
+                            {
+                                if (defgroup != null)
+                                {
+                                    olduser.grade = defgroup.id;
+                                }
+                                else
+                                {
+
+                                    olduser.grade = 0;
+                                }
+
+                                olduser.updataTime = DateTime.Now;
+                                await _userServices.UpdateAsync(olduser);
+
+                            }
+                        }
+
+                    }
+                }
+                    oldModel.verifyStatus = entity.verifyStatus;
+                    oldModel.updateTime = DateTime.Now;
+                    //if (oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+                    //{
+                    //    oldModel.verifyTime = DateTime.Now;
+                    //}
+
+                    //浜嬬墿澶勭悊杩囩▼缁撴潫
+                    var bl = await _coreCmsDistributionServices.UpdateAsync(oldModel);
+
+                _unitOfWork.CommitTran();
+                jm.code = bl ? 0 : 1;
+                    jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+                    return jm;
+                }
+            catch (Exception )
+            {
+                _unitOfWork.RollbackTran();
+                jm.code =  1;
+                jm.msg = GlobalConstVars.EditFailure;
+
+                return jm;
+
+            }
+            //if(oldModel.verifyStatus!= (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes&& entity.verifyStatus== (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+            //{
+            //    var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries();
+            //    var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey);
+            //    var group = await _userGradeServices.GetUserGradeByValueKey(kc);
+
+            //    //濡傛灉鏄�氳繃瀹℃牳
+            //    oldModel.verifyTime = DateTime.Now;
+            //}
+            //else
+            //    if(oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes && entity.verifyStatus != (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+            //{
+            //    //濡傛灉鏄彇娑堝鏍�
+
+            //}
+            //oldModel.verifyStatus = entity.verifyStatus;
+            //oldModel.updateTime = DateTime.Now;
+            ////if (oldModel.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes)
+            ////{
+            ////    oldModel.verifyTime = DateTime.Now;
+            ////}
+
+            ////浜嬬墿澶勭悊杩囩▼缁撴潫
+            //var bl = await _coreCmsDistributionServices.UpdateAsync(oldModel);
+            //jm.code = bl ? 0 : 1;
+            //jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure;
+
+            //return jm;
         }
 
         #endregion

--
Gitblit v1.9.1