From 376f3de70bfdd7905876123ba5a331c0aa176199 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期四, 25 九月 2025 09:10:29 +0800
Subject: [PATCH] 修改注册时可以多模块注册
---
Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs | 643 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 605 insertions(+), 38 deletions(-)
diff --git a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
index 0a9e211..4288a85 100644
--- a/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
+++ b/Admin.NET/FZCTB.NET.API.Application/User/CustomerService.cs
@@ -6,16 +6,27 @@
using Admin.NET.Core;
using Admin.NET.Core.Service;
+using Aop.Api.Domain;
+using Dm.util;
+using Furion;
+using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Furion.FriendlyException;
+using FZCTB.NET.API.Application.Auth;
+using FZCTB.NET.API.Application.Auth.DTO;
using FZCTB.NET.API.Application.User.DTO;
+using FZCZTB.Net.CustomerSYSTem;
using FZCZTB.NET.MD.ConfigMd;
using FZCZTB.NET.MD.CutomerMd;
+using FZCZTB.NET.MD.CutomerMd.Extend;
using FZCZTB.NET.SYSService.CustomerSYS;
+using Lazy.Captcha.Core.Generator.Image.Gif;
using Mapster;
+using MapsterMapper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ViewComponents;
+using NewLife;
using OfficeOpenXml.FormulaParsing.ExpressionGraph.FunctionCompilers;
using System;
using System.Collections.Generic;
@@ -29,25 +40,44 @@
/// 瀹㈡埛鎺у埗
/// </summary>
[ApiDescriptionSettings("FZCAPISYS", Order = 149)]
-public class CustomerService: IDynamicApiController
+public class CustomerService: IDynamicApiController,IScoped
{
private readonly CustomerManagerS _customerManager;
private readonly SysCacheService _sysCacheService;
private readonly SqlSugarRepository<FBS_ExRole> _fBS_ExRoleRep;
-
+ private readonly SqlSugarRepository<FBS_CoutomerExRole> _fBS_CustomerExRoleRep;
private readonly SqlSugarRepository<FBS_EnterpriseType> _fBS_EnterpriseTypeRep;
private readonly SqlSugarRepository<FBS_Customer> _fBS_CustomerRep;
+ private readonly SqlSugarRepository<FBS_CustormerUsers> _fBS_CustormerUsersRep;
+
+ /// <summary>
+ /// 鐢ㄦ埛鎵╁睍
+ /// </summary>
+ private readonly SqlSugarRepository<FBS_CusExtend> _fBS_CusExtendRep;
+
+ private IMapper _mapper;
/// <summary>
///
/// </summary>
public CustomerService(SysCacheService cacheService, CustomerManagerS managerS,SqlSugarRepository<FBS_Customer> repository
- , SqlSugarRepository<FBS_EnterpriseType> fbsenrep )
+ , SqlSugarRepository<FBS_EnterpriseType> fbsenrep,IMapper mapper,
+ SqlSugarRepository<FBS_ExRole> exroles ,
+ SqlSugarRepository<FBS_CusExtend> cusrep,
+ SqlSugarRepository<FBS_CoutomerExRole> cexrrep
+ , SqlSugarRepository<FBS_CustormerUsers> cusUser
+ )
{
_sysCacheService= cacheService;
_customerManager = managerS;
_fBS_CustomerRep = repository;
_fBS_EnterpriseTypeRep = fbsenrep;
+ _fBS_ExRoleRep = exroles;
+ _fBS_CusExtendRep = cusrep;
+ _mapper = mapper;
+ _fBS_CustomerExRoleRep = cexrrep;
+ _fBS_CustormerUsersRep = cusUser;
+
}
/// <summary>
@@ -56,67 +86,124 @@
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
- public async Task<bool> CustomerRegistration(CustomerRDto param )
+ public async Task<string> CustomerRegistration(FBS_CusExtendVm param )
{
//_customerManager.
var ExRole= (await _customerManager.GetExRole()).Where(x => x.Code == param.ExRoleCode).FirstOrDefault();
-
- if(ExRole==null)
+ if(string.IsNullOrEmpty(param.ExRoleCode))
{
- throw Oops.Oh("璇烽�夋嫨涓�涓湁鏁堢殑瑙掕壊杩涜娉ㄥ唽");
+ throw Oops.Oh("璇疯嚦灏戦�夋嫨涓�涓敞鍐岃鑹�");
+ }
+ var EzRoleListstr= param.ExRoleCode.Split(',');
+
+ var EzRoleList= (await _customerManager.GetExRole()).Where(x => EzRoleListstr.Contains(x.Code) && x.Status == StatusEnum.Enable).ToList();
+ if(EzRoleListstr.Count() != EzRoleList?.Count())
+ {
+ throw Oops.Oh("娉ㄥ唽瑙掕壊鏈夎锛岃閫夋嫨鏈夋晥鐨勮鑹茶繘琛屾敞鍐�");
}
- //宸查�夎鑹诧紝璇烽�夋嫨涓�涓敞鍐岃鑹�
- var data= await _fBS_CustomerRep.AsQueryable().Includes(X => X.CoutomerExRols,y=>y.ExRole).Where(x => x.Account == param.Account).FirstAsync();
- if (data != null)
- {
- if (data.CoutomerExRols.Any(x => x.ExRole.Code == param.ExRoleCode))
- {
- throw Oops.Oh("宸茬粡娉ㄥ唽浜嗚瑙掕壊璇峰嬁閲嶅娉ㄥ唽");
- }
+
- else
- {
- throw Oops.Oh("璇ョ敤鎴峰悕閲嶅锛屽鏋滈渶瑕佸璇ョ敤鎴锋坊鍔犵浉搴旇鑹诧紝璇风櫥褰曚换鎰忚鑹插悗娣诲姞");
- }
+ // //宸查�夎鑹诧紝璇烽�夋嫨涓�涓敞鍐岃鑹�
+ //var data= await _fBS_CustomerRep.AsQueryable().Includes(X => X.CoutomerExRols,y=>y.ExRole).Where(x => x.Account == param.Account).FirstAsync();
+ // if (data != null)
+ // {
+ // if (data.CoutomerExRols.Any(x => x.ExRole.Code == param.ExRoleCode))
+ // {
+ // throw Oops.Oh("宸茬粡娉ㄥ唽浜嗚瑙掕壊璇峰嬁閲嶅娉ㄥ唽");
+ // }
- }
- var vcode= _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{param.Phone}");
+ // else
+ // {
+ // throw Oops.Oh("璇ョ敤鎴峰悕閲嶅锛屽鏋滈渶瑕佸璇ョ敤鎴锋坊鍔犵浉搴旇鑹诧紝璇风櫥褰曚换鎰忚鑹插悗娣诲姞");
+ // }
+
+ // }
+
+
+ var vcode= _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{param.OperatorPhone}");
if(param.PhoneVCode!="TEST")
if(vcode!=param.PhoneVCode)
{
//鎵嬫満楠岃瘉鐮侀敊璇�
throw Oops.Oh("鎵嬫満楠岃瘉鐮侀敊璇紝璇疯緭鍏ユ纭殑鎵嬫満楠岃瘉鐮�");
}
+
+
//浣跨敤鍚庣珛鍗冲垹闄�
- _sysCacheService.Remove($"{CacheConst.KeyPhoneVerCode}{param.Phone}");
- var dd = param.Adapt<FBS_Customer>();
- dd.RealName = dd.NickName;
-
- dd.Account = dd.Phone;
- dd.Password = "";
- dd.TenantId = 1300000000001;
+ _sysCacheService.Remove($"{CacheConst.KeyPhoneVerCode}{param.OperatorPhone}");
+
+
+ var cusex = await _fBS_CusExtendRep.GetFirstAsync(x => x.UnifiedSocialCreditCode == param.UnifiedSocialCreditCode);
+ if(cusex!=null)
+ {
+ throw Oops.Oh("璇ヤ紒涓氬凡缁忔敞鍐�");
+ }
+ var dd = param.Adapt<FBS_CusExtend>();
+
+ dd.TransactionCode = param.ExRoleCode;
+
dd.CreateTime = DateTime.Now;
dd.CreateUserId = 0;
- dd.CreateUserName = dd.NickName;
- dd.CoutomerExRols = new List<FBS_CoutomerExRole>()
+ dd.CreateUserName = "鐢ㄦ埛娉ㄥ唽";
+ await _fBS_CusExtendRep.AsTenant().BeginTranAsync();
+ try
{
- new FBS_CoutomerExRole
+ dd = await _fBS_CusExtendRep.InsertReturnEntityAsync(dd);
+
+ foreach (var item in EzRoleList)
{
- ExRoleId= ExRole?.Id??0
-
-
+
+
+ FBS_CoutomerExRole rulse = new FBS_CoutomerExRole
+ {
+ CusExtendId = dd.Id,
+ ExRoleId = item.Id ?? 0,
+ steps = CusExtendStep.UNExamine,
+ CreateTime = DateTime.Now,
+ CreateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name,
+ CreateUserId = ThisUser?.Id
+
+
+ };
+ await _fBS_CustomerExRoleRep.InsertAsync(rulse);
}
+
+ FBS_CustormerUsers user = new FBS_CustormerUsers
+ {
+ CusExtendId = dd.Id,
+ PhoneNumber = dd.OperatorPhone,
+ IsEn = true,
+ IsManager = true,
+ JobTitle = param.JobTitle,
+ Name = dd.OperatorName,
+ Nickname = param.Nickname,
+ CreateTime = dd.CreateTime,
+ CreateUserId = 0,
+ CreateUserName = "鐢ㄦ埛娉ㄥ唽",
+
+ };
+ await _fBS_CustormerUsersRep.InsertAsync(user);
+
+ await _fBS_CusExtendRep.AsTenant().CommitTranAsync();
+
+ return "娉ㄥ唽鎴愬姛";
+ }
+ catch (Exception)
+ {
+ await _fBS_CusExtendRep.AsTenant().RollbackTranAsync();
+ throw;
};
+
- await _fBS_CustomerRep.AsSugarClient().InsertNav(dd).Include(x=>x.CoutomerExRols).ExecuteCommandAsync();
+
- return true;
+
}
/// <summary>
/// 娉ㄥ唽鐧诲綍鍙�夎鑹�
@@ -134,9 +221,489 @@
[AllowAnonymous]
public async Task<List<EnterpriseTypeVM>> EnterpriseTypes()
{
- return await _fBS_EnterpriseTypeRep.AsQueryable().Select<EnterpriseTypeVM>().ToTreeAsync(x=>x.Child,x=>x.ParentId,null,x=>x.Id);
+ return await _fBS_EnterpriseTypeRep.AsQueryable().Select<EnterpriseTypeVM>().ToTreeAsync(x=>x.Child,x=>x.ParentId,0,x=>x.Id);
+ }
+
+ /// <summary>
+ /// 娉ㄥ唽瑙掕壊鐢ㄦ埛璧勬枡
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet]
+ public async Task<bool> CreaterExRolsInformation(string RuleCode)
+ {
+
+ var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ var user=await _customerManager.GetCustomer(id);
+ if(user==null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ var data = await _fBS_ExRoleRep.AsQueryable().ToListAsync();
+ var rols= await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == RuleCode && x.Status == StatusEnum.Enable);
+ if(rols==null)
+ {
+ throw Oops.Oh("浜ゆ槗涓讳綋涓嶅瓨鍦�");
+ }
+ var ExRoles = await _fBS_CustomerExRoleRep.GetListAsync(x => x.CusExtendId == user.CusExtendId);
+ if (ExRoles != null)
+ {
+ if (ExRoles?.Any(x => x.ExRoleId == rols.Id ) == true)
+ {
+ throw Oops.Oh("鐢ㄦ埛宸茬粡娉ㄥ唽浜嗚涓讳綋");
+ }
+
+ }
+
+ //澧炲姞鐢ㄦ埛瑙掕壊
+ await _fBS_CustomerExRoleRep.InsertAsync(new FBS_CoutomerExRole
+ {
+ ExRoleId = rols.Id,
+ CusExtendId = user.CusExtendId,
+ steps= CusExtendStep.UNExamine,
+
+ CreateTime = DateTime.Now,
+ CreateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name,
+ CreateUserId = ThisUser?.Id,
+ });
+
+
+
+
+ return true;
+
+
+
+
+ }
+ /// <summary>
+ /// 鑾峰彇 涓汉涓績鏁版嵁锛�
+ /// </summary>
+ [HttpPost]
+ public async Task<CusExtendDto> GetCusExtendInfo()
+ {
+ var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ //
+ var typeCode = App.User.FindFirst(ClaimConst.CustomerLogoinType)?.Value ;
+ if (typeCode == null)
+ {
+ throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋閿欒");
+
+ }
+ var user = await _customerManager.GetCustomer(id);
+ if (user == null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ var rols = await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == typeCode && x.Status == StatusEnum.Enable);
+ if (rols == null)
+ {
+ throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥");
+ }
+
+
+ return await _fBS_CusExtendRep.AsQueryable().Where(x => x.Id == user.CusExtendId).Includes(x => x.ExRoles, y => y.ExRole).Select(x => new CusExtendDto
+ {
+ ExRoles = x.ExRoles.Adapt<List<FBS_CoutomerExRoleOutput>>()
+ }, true).FirstAsync();
+
+
+ }
+
+ /// <summary>
+ /// 淇敼涓汉涓績鏁版嵁
+ /// </summary>
+ [HttpPost]
+ public async Task<bool> ChangeCusExtend(CusExtendDto InParam)
+ {
+ var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ //
+ var typeCode = App.User.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+ if (typeCode == null)
+ {
+ throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋閿欒");
+
+ }
+ var user = await _customerManager.GetCustomer(id);
+ if (user == null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ var rols = await _fBS_ExRoleRep.GetFirstAsync(x => x.Code == typeCode && x.Status == StatusEnum.Enable);
+ if (rols == null)
+ {
+ throw Oops.Oh("鐧诲綍浜ゆ槗涓讳綋鏃犳晥");
+ }
+ var tab = await _fBS_CusExtendRep.GetFirstAsync(x => x.Id == user.CusExtendId );
+ if (tab == null)
+ {
+ throw Oops.Oh("娌℃湁瀹屾垚淇℃伅褰曞叆");
+ }
+
+ bool isChangeData = false;
+
+
+
+ //娉曚汉
+ if (tab.LegalRepresentativeIdCard != InParam.LegalRepresentativeIdCard)
+ {
+ tab.LegalRepresentativeIdCard = InParam.LegalRepresentativeIdCard;
+ tab.LegalRepresentativeIdNumber = InParam.LegalRepresentativeIdNumber;
+ tab.LegalRepresentativeName = InParam.LegalRepresentativeName;
+ tab.LegalRepresentativePhone = InParam.LegalRepresentativePhone;
+ //閲嶆柊瀹℃牳?
+ isChangeData=true;
+ }
+
+
+ //浼佷笟淇℃伅
+ if (tab.BusinessLicense != InParam.BusinessLicense)
+ {
+ tab.EstablishmentTime = tab.EstablishmentTime;
+ tab.RegisteredCapital = tab.RegisteredCapital;
+ tab.Residence = tab.Residence;
+ tab.MainBusiness = InParam.MainBusiness;
+
+ tab.EnterpriseName = InParam.EnterpriseName;
+ tab.BusinessLicense = InParam.BusinessLicense;
+ //閲嶆柊瀹℃牳?
+ isChangeData = true;
+ }
+ if (tab.EnterpriseType != InParam.EnterpriseType)
+ {
+ tab.EnterpriseType = InParam.EnterpriseType;
+
+ }
+
+ //鑱旂郴鐢佃瘽
+ tab.EnterprisePhone = InParam.EnterprisePhone;
+ tab.EnterpriseEmail = InParam.EnterpriseEmail;
+
+ if (tab.BankAccount != InParam.BankAccount)
+ {
+
+ tab.BankAccount = InParam.BankAccount;
+ isChangeData = true;
+
+ }
+ if (tab.BankName != InParam.BankName)
+ {
+ tab.BankName = InParam.BankName;
+ isChangeData = true;
+ }
+ //閾惰鏄惁闇�瑕佷慨鏀�
+ //tab.BankAccount = InParam.BankAccount;
+ //tab.BankName = InParam.BankName;
+
+ // 缁忓姙浜�
+ if (tab.OperatorIdCard != InParam.OperatorIdCard)
+ {
+ tab.OperatorIdCard = InParam.OperatorIdCard;
+
+ tab.OperatorIdNumber = InParam.OperatorIdNumber;
+ tab.OperatorName = InParam.OperatorName;
+ tab.OperatorPhone = InParam.OperatorPhone;
+ isChangeData = true;
+ }
+
+
+ await _fBS_CusExtendRep.AsTenant().BeginTranAsync();
+ try
+ {
+ if(!isChangeData)
+ {
+ //鏄洿鏀癸紝闇�瑕佹洿璇ユ墍鏈塺oles鐨勫��
+ var exrolerep= await _fBS_CustomerExRoleRep.GetListAsync(x=>x.CusExtendId==user.CusExtendId);
+ foreach (var item in exrolerep)
+ {
+
+ item.steps = CusExtendStep.Change;
+
+
+ }
+ await _fBS_CustomerExRoleRep.UpdateRangeAsync(exrolerep);
+ }
+
+ await _fBS_CusExtendRep.UpdateAsync(tab);
+ await _fBS_CusExtendRep.AsTenant().CommitTranAsync();
+
+ }
+ catch (Exception)
+ {
+ await _fBS_CusExtendRep.AsTenant().RollbackTranAsync();
+ throw;
+ }
+
+ return true;
+
}
-
+ /// <summary>
+ /// 鑾峰彇璐︽埛鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet]
+ public async Task<List<FBS_CustormerUsersOutput> > GetCustormerUsersList()
+ {
+ var id = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ if (!await isManger())
+ throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+ return (await _fBS_CustormerUsersRep.GetListAsync(x => x.CusExtendId == id)).Adapt<List<FBS_CustormerUsersOutput>>();
+ }
+ public FBS_CustormerUsers? ThisUser { get; set; }
+ /// <summary>
+ /// 鏂板缓鍛樺伐鏁版嵁
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<bool> CreatCustormerUsers(FBS_CustormerUsersVM param)
+ {
+ if (!await isManger())
+ throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+ var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (cid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ var count = await _fBS_CustormerUsersRep.CountAsync(x=>x.CusExtendId== cid);
+ if(count>10)
+ {
+ throw Oops.Oh("鍚屼竴缁勭粐鏈烘瀯鏈�澶氬彲浠ュ缓绔�10涓敤鎴�");
+ }
+
+ var User = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == cid && x.PhoneNumber == param.PhoneNumber);
+ if(User!=null)
+ {
+ throw Oops.Oh("鍚屼竴瀹跺叕鍙歌处鎴蜂笉鑳藉悓鏃跺嚭鐜扮浉鍚岀殑鐢佃瘽鍙风爜");
+ }
+
+ User = param.Adapt<FBS_CustormerUsers>();
+ User.CusExtendId = cid;
+ User.IsManager = false;
+ User.CreateTime = DateTime.Now;
+ User.CreateUserName ="浼佷笟鐢ㄦ埛:"+ ThisUser?.Name;
+ User.CreateUserId = ThisUser?.Id;
+ return await _fBS_CustormerUsersRep.InsertAsync(User);
+
+
+
+
+ }
+ /// <summary>
+ /// 鏇存敼绠$悊鍛�
+ /// </summary>
+ /// <param name="CustormerUserId"> UserList 鐨処D</param>
+ /// <returns></returns>
+ [HttpGet]
+ public async Task<bool> ChangeManager(long CustormerUserId )
+ {
+ if (!await isManger())
+ throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+ var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (cid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ var uid = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (uid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ if(CustormerUserId== uid)
+ return true;
+ if (ThisUser==null)
+ {
+
+ ThisUser = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == uid && x.CusExtendId == cid && x.IsEn == true);
+
+ }
+ var User = await _fBS_CustormerUsersRep.GetFirstAsync(x =>x.CusExtendId==ThisUser.CusExtendId &&x.Id== CustormerUserId);
+ if (User == null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ if(User.IsEn==false)
+ throw Oops.Oh("鏃犳晥鐢ㄦ埛涓嶅彲璁剧疆涓虹鐞嗗憳");
+
+ User.IsManager = !User.IsManager;
+ User.UpdateTime = DateTime.Now;
+ User.UpdateUserName= "浼佷笟鐢ㄦ埛:" + ThisUser?.Name;
+ User.UpdateUserId = ThisUser.Id;
+
+ //ThisUser.IsManager = false;
+ //ThisUser.UpdateTime = DateTime.Now;
+ //ThisUser.UpdateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name; //涓嶄簰鏂�
+ //ThisUser.UpdateUserId = ThisUser.Id;
+ await _fBS_CustormerUsersRep.AsTenant().BeginTranAsync();
+ try
+ {
+ await _fBS_CustormerUsersRep.UpdateAsync(User);
+ //await _fBS_CustormerUsersRep.UpdateAsync(ThisUser); //涓嶄簰鏂�
+ await _fBS_CustormerUsersRep.AsTenant().CommitTranAsync();
+ return false;
+
+ }
+ catch (Exception)
+ {
+ await _fBS_CustormerUsersRep.AsTenant().RollbackTranAsync();
+ throw;
+ }
+
+
+ }
+
+ /// <summary>
+ /// 鏇存敼鍛樺伐淇℃伅
+ /// </summary>
+ /// <param name="CustormerUserId"> UserList 鐨処D</param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<bool> UpdataCustormerUsers( FBS_CustormerUsersVM Param)
+ {
+ if (!await isManger())
+ throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+ var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (cid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ var uid = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (uid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ if(Param.Id==null)
+ {
+ throw Oops.Oh("Id閿欒");
+ }
+ if(Param.CusExtendId!= cid)
+ {
+ throw Oops.Oh("缁勭粐鏈烘瀯涓嶅悓涓嶅彲淇敼");
+ }
+
+ var User = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == Param.CusExtendId && x.Id == Param.Id);
+ if (User == null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ User = _mapper.Map(Param, User);
+
+ User.CreateTime = DateTime.Now;
+ User.CreateUserName = "浼佷笟鐢ㄦ埛:" + ThisUser?.Name;
+ User.CreateUserId = ThisUser?.Id;
+
+ return await _fBS_CustormerUsersRep.UpdateAsync(User);
+
+
+
+ }
+
+ /// <summary>
+ /// 鍒犻櫎鍛樺伐
+ /// </summary>
+ /// <param name="CustormerUserId"> UserList 鐨処D</param>
+ /// <returns></returns>
+ [HttpDelete]
+ public async Task<bool> DelCustormerUsers(long CustormerUserId)
+ {
+ if (!await isManger())
+ throw Oops.Oh("鐢ㄦ埛娌℃湁鏉冮檺");
+ var cid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (cid == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ var uid = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (uid == 0)
+ {
+
+
+ }
+ if (CustormerUserId == uid)
+ throw Oops.Oh("鑷繁涓嶅彲鍒犻櫎鑷繁");
+ if (ThisUser == null)
+ {
+
+ ThisUser = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == uid && x.CusExtendId == cid && x.IsEn == true);
+
+ }
+ var User = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == ThisUser.CusExtendId && x.Id == CustormerUserId);
+ if (User == null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ return await _fBS_CustormerUsersRep.DeleteByIdAsync(CustormerUserId);
+
+
+
+ }
+
+ /// <summary>
+ /// 鏉冮檺楠岃瘉鏄惁鏄鐞嗗憳
+ /// </summary>
+ /// <returns></returns>
+ [NonAction]
+ public async Task< bool> isManger()
+ {
+
+ if (ThisUser != null)
+ return ThisUser.IsManager;
+ //鐢ㄦ埛ID
+
+ var id = App.User.FindFirst(ClaimConst.UserId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("鐢ㄦ埛鍑瘉閿欒");
+
+ }
+ //浼佷笟ID
+ var CExid = App.User.FindFirst(ClaimConst.CustomerExId)?.Value.ToLong() ?? 0;
+ if (id == 0)
+ {
+ throw Oops.Oh("浼佷笟璧勬枡涓嶅尮閰�");
+
+ }
+
+
+ var user= await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == id && x.CusExtendId == CExid && x.IsEn == true);
+ if(user==null)
+ {
+ throw Oops.Oh("鐢ㄦ埛涓嶅尮閰�");
+ }
+ ThisUser = user;
+ if (user.IsManager)
+
+ return true;
+
+ else return false;
+
+
+
+ }
}
--
Gitblit v1.9.1