From c2b4e7c86e790d3880a8da9adeffafb3e6c12145 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 15 五月 2024 09:46:24 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop --- CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs | 410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 379 insertions(+), 31 deletions(-) diff --git a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs index 80f733d..ae8e340 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs @@ -1,20 +1,22 @@ /*********************************************************************** - * Project: CoreCms - * ProjectName: 鏍稿績鍐呭绠$悊绯荤粺 - * Web: https://www.corecms.net - * Author: 澶х伆鐏� - * Email: jianweie@163.com - * CreateTime: 2021/1/31 21:45:10 + * Project: baifenBinfa + * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺 + * Web: http://chuanyin.com + * Author: + * Email: + * CreateTime: 202403/02 * Description: 鏆傛棤 ***********************************************************************/ using System; +using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Linq.Expressions; 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; @@ -25,17 +27,20 @@ using CoreCms.Net.Utility.Extensions; using CoreCms.Net.Utility.Helper; using CoreCms.Net.Web.Admin.Infrastructure; +using Essensoft.Paylink.Alipay.Domain; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; +using Microsoft.CodeAnalysis.Operations; using SqlSugar; +using ZstdSharp.Unsafe; namespace CoreCms.Net.Web.Admin.Controllers { /// <summary> - /// 鍒嗛攢鍟嗚〃 + /// 缁忛攢鍟嗚〃 /// </summary> - [Description("鍒嗛攢鍟嗚〃")] + [Description("缁忛攢鍟嗚〃")] [Route("api/[controller]/[action]")] [ApiController] [RequiredErrorForAdmin] @@ -47,18 +52,38 @@ private readonly ICoreCmsDistributionGradeServices _distributionGradeServices; private readonly ICoreCmsUserServices _userServices; private readonly IWebHostEnvironment _webHostEnvironment; + private readonly ICoreCmsAreaServices _areaServices; + private readonly ICoreCmsSettingServices _coreCmsSettingServices; + private readonly IUnitOfWork _unitOfWork; + private readonly ICoreCmsStoreServices _coreCmsStoreServices; + private readonly ICoreCmsClerkServices _coreCmsClerkServices; + /// <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, + ICoreCmsStoreServices coreCmsStoreServices, + ICoreCmsClerkServices coreCmsClerkServices) { _webHostEnvironment = webHostEnvironment; _coreCmsDistributionServices = coreCmsDistributionServices; _userGradeServices = userGradeServices; _distributionGradeServices = distributionGradeServices; _userServices = userServices; + _areaServices = areaServices; + _coreCmsSettingServices = coreCmsSettingServices; + _unitOfWork = unitOfWork; + _coreCmsStoreServices = coreCmsStoreServices; + _coreCmsClerkServices= coreCmsClerkServices; + } #region 鑾峰彇鍒楄〃============================================================ @@ -115,10 +140,10 @@ //鐢ㄦ埛Id int var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0); if (userId > 0) where = where.And(p => p.userId == userId); - //鍒嗛攢鍟嗗悕绉� nvarchar + //缁忛攢鍟嗗悕绉� nvarchar var name = Request.Form["name"].FirstOrDefault(); if (!string.IsNullOrEmpty(name)) where = where.And(p => p.name.Contains(name)); - //鍒嗛攢绛夌骇 int + //缁忛攢绛夌骇 int var gradeId = Request.Form["gradeId"].FirstOrDefault().ObjectToInt(0); if (gradeId > 0) where = where.And(p => p.gradeId == gradeId); //鐢ㄦ埛绛夌骇 int @@ -213,6 +238,7 @@ where = where.And(p => p.isDelete == false); //鑾峰彇鏁版嵁 var list = await _coreCmsDistributionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize); + //杩斿洖鏁版嵁 jm.data = list; jm.code = 0; @@ -291,7 +317,7 @@ { var jm = new AdminUiCallBack(); - var user = await _userServices.QueryByClauseAsync(p => p.mobile == entity.registeredUserMobile); + var user = await _userServices.QueryByClauseAsync(p => p.id == entity.userId); if (user == null) { jm.msg = "鎻愪氦鐨勩�愬凡娉ㄥ唽鎵嬫満鍙枫�戞湭鏌ヨ鍒版敞鍐岀敤鎴�"; @@ -301,27 +327,129 @@ var isDistribution = await _coreCmsDistributionServices.ExistsAsync(p => p.userId == user.id); if (isDistribution) { - jm.msg = "鎻愪氦鐨勩�愬凡娉ㄥ唽鎵嬫満鍙枫�戝凡缁忔槸鍒嗛攢鍟嗕簡銆�"; + jm.msg = "鎻愪氦鐨勭敤鎴峰凡缁忔湁缁忛攢鍟嗚褰曪紝璇锋壘鍒扮浉鍏抽」杩涜瀹℃牳"; return jm; } var model = new CoreCmsDistribution(); - model.userId = user.id; - model.mobile = entity.registeredUserMobile; + model.userId = user.id; model.name = entity.name; model.gradeId = entity.gradeId; model.mobile = string.IsNullOrEmpty(entity.mobile) ? user.mobile : entity.mobile; - model.weixin = entity.weixin; - model.qq = entity.qq; + model.profession = entity.profession; + model.storeCoordinate = entity.storeCoordinate; + model.storeLogo = entity.storeBanner; + model.storeName= entity.storeName; + model.sales=entity.sales; + model.areaCode=entity.areaCode; + model.address=entity.address; model.verifyStatus = entity.verifyStatus; model.createTime = DateTime.Now; model.isDelete = false; - if (model.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes) model.verifyTime = DateTime.Now; + try + { + _unitOfWork.BeginTran(); + if (model.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes) + { + model.verifyTime = DateTime.Now; + //鑰佹ā鍨嬫湭閫氳繃瀹℃牳锛屾柊妯″瀷鏈�氳繃瀹℃牳锛岄偅涔堜负瀹℃牳閫氳繃杩囩▼ + var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries(); + var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey); + + var group = await _userGradeServices.GetUserGradeByValueKey(kc); + if (group != null) + { - var id = await _coreCmsDistributionServices.InsertAsync(model); + //鍏宠仈缁忛攢鍟嗙敤鎴风瓑绾� + if (user != null) + { + user.grade = group.id; + user.updataTime = DateTime.Now; + await _userServices.UpdateAsync(user); - jm.code = id > 0 ? 0 : 1; - jm.msg = id > 0 ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure; + } + } + //澶勭悊搴楅摵 + if (entity.profession == "鏂囧叿搴�") + { + + //鏂板缓搴楅摵鍚嶇О + + var store = await _coreCmsStoreServices.QueryByClauseAsync(x => x.userID == model.userId); + if (store != null) + { + //瀛樺湪搴楅摵 + store.coordinate = entity.storeCoordinate; + store.storeName = entity.storeName; + //鐢╨ogo浠f浛闂ㄥご鐓х墖 + store.logoImage = model.storeLogo; + store.en = true; + store.updateTime = DateTime.Now; + await _coreCmsStoreServices.UpdateAsync(store); + + + } + else + { + var areaCode = model.areaCode.Split(',').OrderByDescending(x => x).FirstOrDefault(); + var db = _unitOfWork.GetDbClient(); + string[] lat = []; + if (!string.IsNullOrEmpty(model.storeCoordinate)) + lat = model.storeCoordinate.Split(","); + //鏂板缓鍦伴摵 + store = new CoreCmsStore + { + userID = model.userId, + address = model.address, + areaId = areaCode.ToInt32OrDefault(510000), + storeName = model.storeName, + coordinate = model.storeCoordinate, + createTime = DateTime.Now, + mobile = model.mobile, + linkMan = user.nickName, + + + + }; + if (lat.Length == 2) + { + store.latitude = lat[0]; + store.longitude = lat[1]; + } + var storeid = await _unitOfWork.GetDbClient().Insertable(store).ExecuteReturnIdentityAsync(); + + //灏嗚嚜宸辫缃负搴楀憳 + CoreCmsClerk clerk = new CoreCmsClerk() + { + createTime = DateTime.Now, + storeId = storeid, + userId = entity.userId, + + }; + await _coreCmsClerkServices.InsertAsync(clerk); + + + + + } + + } + + } + + await _coreCmsDistributionServices.InsertAsync(model); + + _unitOfWork.CommitTran(); + } + catch (Exception) + { + _unitOfWork.RollbackTran(); + throw; + } + + + jm.code = 1; + jm.msg = GlobalConstVars.CreateSuccess ; return jm; } #endregion @@ -384,22 +512,208 @@ 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; + //oldModel.weixin = entity.weixin; + //oldModel.qq = entity.qq; - //浜嬬墿澶勭悊杩囩▼缁撴潫 - 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) + { - return jm; + //鑰佹ā鍨嬫湭閫氳繃瀹℃牳锛屾柊妯″瀷鏈�氳繃瀹℃牳锛岄偅涔堜负瀹℃牳閫氳繃杩囩▼ + var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries(); + var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey); + var olduser = await _userServices.QueryByIdAsync(oldModel.userId); + var group = await _userGradeServices.GetUserGradeByValueKey(kc); + if (group != null) + { + + //鍏宠仈缁忛攢鍟嗙敤鎴风瓑绾� + if (olduser != null) + { + olduser.grade = group.id; + olduser.updataTime = DateTime.Now; + await _userServices.UpdateAsync(olduser); + + } + } + + //濡傛灉鏄�氳繃瀹℃牳 + oldModel.verifyTime = DateTime.Now; + //澶勭悊搴楅摵 + if(entity.profession=="鏂囧叿搴�") + { + + //鏂板缓搴楅摵鍚嶇О + + var store = await _coreCmsStoreServices.QueryByClauseAsync(x => x.userID == oldModel.userId); + if(store!=null) + { + //瀛樺湪搴楅摵 + store.coordinate= entity.storeCoordinate; + store.storeName = entity.storeName; + //鐢╨ogo浠f浛闂ㄥご鐓х墖 + store.logoImage = entity.storeLogo; + store.en = true; + store.updateTime = DateTime.Now; + await _coreCmsStoreServices.UpdateAsync(store); + + + } + else + { + var areaCode = oldModel.areaCode.Split(',').OrderByDescending(x=>x).FirstOrDefault(); + var db = _unitOfWork.GetDbClient(); + string[] lat = []; + if (!string.IsNullOrEmpty(oldModel.storeCoordinate)) + lat = oldModel.storeCoordinate.Split(","); + //鏂板缓鍦伴摵 + store = new CoreCmsStore + { + userID = oldModel.userId, + address = oldModel.address, + areaId = areaCode.ToInt32OrDefault(510000), + storeName = oldModel.storeName, + coordinate = oldModel.storeCoordinate, + createTime = DateTime.Now, + mobile = oldModel.mobile, + linkMan = olduser.userName, + + + + }; + if(lat.Length==2) + { + store.latitude= lat[0]; + store.longitude= lat[1]; + } + var id= await _unitOfWork.GetDbClient().Insertable(store).ExecuteReturnIdentityAsync(); + + //灏嗚嚜宸辫缃负搴楀憳 + CoreCmsClerk clerk = new CoreCmsClerk() + { + createTime = DateTime.Now, + storeId = id, + userId = entity.userId, + + }; + await _coreCmsClerkServices.InsertAsync(clerk); + + + + + } + + } + + + + } + 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); + + } + } + var store = await _coreCmsStoreServices.QueryByClauseAsync(x => x.userID == oldModel.userId); + //澶勭悊搴楅摵 鍙栨秷宸叉湁搴楅摵鐨勪娇鑳� + if(store != null ) + if(store.en== true) + { + store.en = false; + store.updateTime= DateTime.Now; + + await _coreCmsStoreServices.UpdateAsync(store); + + } + + + } + } + 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 @@ -469,5 +783,39 @@ } #endregion + + + #region 棰勮鏁版嵁============================================================ + + // POST: Api/CoreCmsDistribution/GetDetailsAchievement/10 + /// <summary> + /// 棰勮鏁版嵁 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("棰勮鏁版嵁")] + public async Task<AdminUiCallBack> GetDetailsAchievement([FromBody] FMIntId entity) + { + var jm = new AdminUiCallBack(); + + var model = await _coreCmsDistributionServices.QueryByIdAsync(entity.id); + if (model == null) + { + jm.msg = "涓嶅瓨鍦ㄦ淇℃伅"; + return jm; + } + var distributionRankingDTOs = _coreCmsDistributionServices.QueryAchievement(model.userId); + + + + + jm.code = 0; + jm.data = distributionRankingDTOs; + + return jm; + } + + #endregion } } \ No newline at end of file -- Gitblit v1.9.1