From 445d14becca6b5251814934343d7a6394ada6009 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期五, 17 十月 2025 16:55:19 +0800
Subject: [PATCH] no message
---
CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs | 482 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 451 insertions(+), 31 deletions(-)
diff --git a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
index c6ee4ae..1e7836d 100644
--- a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
+++ b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs
@@ -1,7 +1,7 @@
/***********************************************************************
- * Project: CoreCms
+ * Project: baifenBinfa
* ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺
- * Web: hhtp://chuanyin.com
+ * Web: http://chuanyin.com
* Author:
* Email:
* CreateTime: 202403/02
@@ -9,12 +9,14 @@
***********************************************************************/
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,21 @@
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 NPOI.SS.Formula.Functions;
using SqlSugar;
+using ZstdSharp.Unsafe;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
- /// 鍒嗛攢鍟嗚〃
+ /// 缁忛攢鍟嗚〃
/// </summary>
- [Description("鍒嗛攢鍟嗚〃")]
+ [Description("缁忛攢鍟嗚〃")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
@@ -47,18 +53,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 +141,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 +239,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 +318,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 +328,130 @@
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 +514,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
@@ -424,11 +740,76 @@
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
+ try
+ {
+ _unitOfWork.BeginTran();
+
+ //濡傛灉鏄彇娑堝鏍�
- var bl = await _coreCmsDistributionServices.DeleteByIdAsync(entity.id);
- jm.code = bl ? 0 : 1;
- jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
- return jm;
+ 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(model.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 == model.userId);
+ //澶勭悊搴楅摵 鍙栨秷宸叉湁搴楅摵鐨勪娇鑳�
+ if(store != null )
+
+ {
+
+
+ // var clerk= await _unitOfWork.GetDbClient().Queryable<CoreCmsClerk>().Where(x => x.storeId == store.id).ToListAsync();
+ //鍒犻櫎搴楅摵鍛樺伐
+ await _unitOfWork.GetDbClient().Deleteable<CoreCmsClerk>().Where(x=>x.storeId==store.id).ExecuteCommandAsync();
+ //鍒犻櫎搴楅摵
+ await _coreCmsStoreServices.DeleteByIdAsync(store.id);
+
+
+
+ }
+
+
+ }
+ var bl = await _coreCmsDistributionServices.DeleteByIdAsync(entity.id);
+
+ _unitOfWork.CommitTran();
+ jm.code = bl ? 0 : 1;
+ jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
+
+ return jm;
+
+ }
+ catch (Exception)
+ {
+
+ _unitOfWork.RollbackTran();
+ jm.code = 1;
+ jm.msg = GlobalConstVars.DeleteFailure;
+
+ return jm;
+ }
+
}
@@ -469,5 +850,44 @@
}
#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