From 5b46930255ec185a906d07165f9d0dc91c300ab8 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 02 四月 2024 10:56:30 +0800
Subject: [PATCH] 提交

---
 CoreCms.Net.Web.Admin/Controllers/apply/applyModelController.cs |  234 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 231 insertions(+), 3 deletions(-)

diff --git a/CoreCms.Net.Web.Admin/Controllers/apply/applyModelController.cs b/CoreCms.Net.Web.Admin/Controllers/apply/applyModelController.cs
index d2443ff..db418df 100644
--- a/CoreCms.Net.Web.Admin/Controllers/apply/applyModelController.cs
+++ b/CoreCms.Net.Web.Admin/Controllers/apply/applyModelController.cs
@@ -32,6 +32,11 @@
 using SqlSugar;
 using CoreCms.Net.Web.Admin.Infrastructure;
 using CoreCms.Net.Model.Entities.baifenbingfa.apply;
+using CoreCms.Net.Model.ViewModels.baifenbingfa;
+using CoreCms.Net.Auth.HttpContextUser;
+using Essensoft.Paylink.Alipay.Domain;
+using Microsoft.CodeAnalysis.CSharp.Syntax;
+using K4os.Compression.LZ4.Internal;
 
 namespace CoreCms.Net.Web.Admin.Controllers
 {
@@ -47,16 +52,28 @@
     {
         private readonly IWebHostEnvironment _webHostEnvironment;
         private readonly IapplyModelServices _applyModelServices;
+        private readonly IHttpContextUser _httpContextUser;
+        private readonly ICoreCmsUserServices _coreCmsUserServices;
+        private readonly ISysRoleServices _sysRoleServices;
+        private readonly ISysUserRoleServices _sysUserRoleServices;
 
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         ///</summary>
         public applyModelController(IWebHostEnvironment webHostEnvironment
             ,IapplyModelServices applyModelServices
+              , IHttpContextUser httpContextUser
+             , ICoreCmsUserServices coreCmsUserServices
+             , ISysRoleServices sysRoleServices 
+           ,  ISysUserRoleServices sysUserRoleServices 
             )
         {
             _webHostEnvironment = webHostEnvironment;
             _applyModelServices = applyModelServices;
+            _httpContextUser = httpContextUser;
+            _coreCmsUserServices = coreCmsUserServices;
+            _sysRoleServices = sysRoleServices;
+            _sysUserRoleServices = sysUserRoleServices;
         }
 
         #region 鑾峰彇鍒楄〃============================================================
@@ -282,8 +299,77 @@
                 jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
                 return jm;
             }
+            //瀹℃壒閫昏緫
+            //鍒ゆ柇瀹℃壒鐘舵�佹槸鍚﹀彲浠ュ鎵�
+            if (model.ayStataType != applyStataType.applying)
+            {
+                jm.msg = "淇℃伅宸茬粡瀹℃壒缁撴潫";
+                return jm;
+            }
+            //鏌ヨ瀹℃壒瑙掕壊閲岃竟鏄惁鏈夊綋鍓嶄汉锛屽綋鍓嶄汉鏄惁宸茬粡瀹℃壒杩囦簡
+            var id = _httpContextUser.ID;
+            var name = _httpContextUser.Name;
+
+          var shenpirole =  _sysRoleServices.QueryListByClause(x=>x.roleCode == model.roleID).FirstOrDefault();
+            if (shenpirole != null)
+            {
+             var shenpiren =   _sysUserRoleServices.QueryListByClause(x => x.roleId == shenpirole.id && x.userId == id).FirstOrDefault();
+                if(shenpiren == null)
+                {
+                    jm.msg = "浣犱笉鏄鎵逛汉";
+                    return jm;
+                }
+            }
+            else
+            {
+                jm.msg = "娌℃湁瀹℃壒瑙掕壊";
+                return jm;
+            }
+
+
+            if (!string.IsNullOrEmpty(model.managerID))
+            {
+                var managerID = model.managerID.Split(',');
+                var sid = id + "";
+                var managerIDs = managerID.Where(x => x == sid).FirstOrDefault();
+
+                if (!string.IsNullOrEmpty(managerIDs))
+                {
+                    jm.msg = "浣犲凡缁忓鎵硅繃浜�";
+                    return jm;
+                }
+            }
+            
+
+
+
+            var modelDTO = new applyModelDTO();
+            modelDTO.id = model.id;
+
+            modelDTO.id = model.id;
+            modelDTO.managerID = model.managerID;
+            modelDTO.managerName = model.managerName;
+            modelDTO.roleID = model.roleID;
+            modelDTO.managerApplyCount = model.managerApplyCount;
+            modelDTO.aType = (int)model.aType;
+            modelDTO.aTypeName = model.aType.GetDescription();
+            modelDTO.ayStataType = (int)model.ayStataType;
+            modelDTO.ayStataTypeName = model.ayStataType.GetDescription();
+            modelDTO.userID = model.userID;
+            modelDTO.dec = model.dec;
+            modelDTO.reMake = model.reMake;
+            modelDTO.oldData = model.oldData;
+            modelDTO.data = model.data;
+            modelDTO.createById = model.createById;
+            modelDTO.upDataById = model.upDataById;
+            modelDTO.createTime = model.createTime;
+            modelDTO.upDataTime = model.upDataTime;
+            modelDTO.createBy = model.createBy;
+            modelDTO.upDataBy = model.upDataBy;
+            modelDTO.isdelete = model.isdelete;
+            modelDTO.isdelete = true;
             jm.code = 0;
-            jm.data = model;
+            jm.data = modelDTO;
 
             return jm;
         }
@@ -300,7 +386,120 @@
         [Description("缂栬緫鎻愪氦")]
         public async Task<AdminUiCallBack> DoEdit([FromBody]applyModel entity)
         {
-            var jm = await _applyModelServices.UpdateAsync(entity);
+          
+
+            var applyModel = await _applyModelServices.QueryByIdAsync(entity.id, false);
+            var jm = new AdminUiCallBack();
+            if (applyModel == null)
+            {
+                jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
+                return jm;
+            }
+            //瀹℃壒閫昏緫
+            //鍒ゆ柇瀹℃壒鐘舵�佹槸鍚﹀彲浠ュ鎵�
+            if (applyModel.ayStataType != applyStataType.applying)
+            {
+                jm.msg = "淇℃伅宸茬粡瀹℃壒缁撴潫";
+                return jm;
+            }
+            var id = _httpContextUser.ID;
+            var name = _httpContextUser.Name;
+            if (!string.IsNullOrEmpty(applyModel.managerID))
+            {
+                var managerID = applyModel.managerID.Split(',');
+                var sid = id + "";
+                var managerIDs = managerID.Where(x => x == sid).FirstOrDefault();
+
+                if (!string.IsNullOrEmpty(managerIDs))
+                {
+                    jm.msg = "浣犲凡缁忓鎵硅繃浜�";
+                    return jm;
+                } 
+            }
+
+            //鍚屾剰杩樻槸鎷掔粷
+          
+            if (entity.isdelete == true)
+            {
+                if (string.IsNullOrEmpty(applyModel.managerID))
+                {
+                    if(applyModel.managerApplyCount == 1)
+                    {
+                        applyModel.ayStataType = applyStataType.ok;
+                    }
+                    else
+                    {
+                        applyModel.ayStataType = applyStataType.applying;
+                    }
+                    applyModel.managerID = id + "";
+                    applyModel.managerName = name + "";
+                }
+                else
+                {
+                   var managerID = applyModel.managerID.Split(',');
+                    if(managerID.Length +1 < applyModel.managerApplyCount)
+                    {
+                        applyModel.ayStataType = applyStataType.applying;
+                    }
+                    else
+                    {
+                        applyModel.ayStataType = applyStataType.ok;
+                    }
+                    applyModel.managerID += "," +id ;
+                    applyModel.managerName += "," + name;
+                }
+            }
+            else
+            {
+                applyModel.ayStataType = applyStataType.no;
+                if (string.IsNullOrEmpty(applyModel.managerID))
+                {
+                    applyModel.managerID = id + "";
+                    applyModel.managerName = name + "";
+                }
+                else
+                {
+                    applyModel.managerID += "," + id;
+                    applyModel.managerName += "," + name;
+                }
+            }
+            applyModel.upDataBy = name;
+            applyModel.upDataById = id;
+            applyModel.upDataTime = DateTime.Now;
+            //淇敼瀹℃壒浜猴紝瀹℃壒鐘舵��
+            jm = await _applyModelServices.UpdateAsync(applyModel);
+            //濡傛灉瀹℃壒宸茬粡閫氳繃锛屾墽琛屼慨鏀广��
+            if (applyModel.ayStataType == applyStataType.ok)
+            {
+                if (applyModel.aType == applyType.points)
+                {
+                    FMUpdateUserPoint entityjifen = new FMUpdateUserPoint();
+                    entityjifen.id = applyModel.userID;
+                    int data;
+                    int.TryParse(entity.data, out data);
+                    entityjifen.point = data;
+                    entityjifen.memo = applyModel.reMake;
+                    jm = await _coreCmsUserServices.UpdatePiont(entityjifen);
+                }
+                else if (applyModel.aType == applyType.Balance)
+                {
+                    decimal data;
+                    decimal.TryParse(entity.data, out data);
+
+                    jm = await _coreCmsUserServices.UpdateBalance(applyModel.userID, data, applyModel.reMake);
+                }
+                else if (applyModel.aType == applyType.Referrer)
+                {
+                    int data;
+                    int.TryParse(entity.data, out data);
+                    var bl = await _coreCmsUserServices.UpdateAsync(p => new CoreCmsUser() { parentId = data }, p => p.id == applyModel.userID);
+                }
+            }
+          if(jm.code == 0)
+            {
+                jm.msg = "瀹℃壒鎴愬姛";
+            }
+
             return jm;
         }
         #endregion
@@ -361,13 +560,42 @@
             var jm = new AdminUiCallBack();
 
             var model = await _applyModelServices.QueryByIdAsync(entity.id, false);
+
+         
             if (model == null)
             {
                 jm.msg = "涓嶅瓨鍦ㄦ淇℃伅";
                 return jm;
             }
+
+            var modelDTO = new applyModelDTO();
+            modelDTO.id = model.id;
+
+            modelDTO.id = model.id;
+            modelDTO.managerID = model.managerID;
+            modelDTO.managerName = model.managerName;
+            modelDTO.roleID = model.roleID;
+            modelDTO.managerApplyCount = model.managerApplyCount;
+            modelDTO.aType = (int)model.aType;
+            modelDTO.aTypeName = model.aType.GetDescription();
+            modelDTO.ayStataType = (int)model.ayStataType;
+            modelDTO.ayStataTypeName = model.ayStataType.GetDescription();
+            modelDTO.userID = model.userID;
+            modelDTO.dec = model.dec;
+            modelDTO.reMake = model.reMake;
+            modelDTO.oldData = model.oldData;
+            modelDTO.data = model.data;
+            modelDTO.createById = model.createById;
+            modelDTO.upDataById = model.upDataById;
+            modelDTO.createTime = model.createTime;
+            modelDTO.upDataTime = model.upDataTime;
+            modelDTO.createBy = model.createBy;
+            modelDTO.upDataBy = model.upDataBy;
+            modelDTO.isdelete = model.isdelete;
+            
+
             jm.code = 0;
-            jm.data = model;
+            jm.data = modelDTO;
 
             return jm;
         }

--
Gitblit v1.9.1