| | |
| | | using cylsg.utility; |
| | | using FZCZTB.NET.MD.CutomerMd; |
| | | using Furion.Logging.Extensions; |
| | | using FZCZTB.Net.CustomerSYSTem.Service.FBS_ExRole.Dto; |
| | | using MapsterMapper; |
| | | namespace FZCZTB.Net.CustomerSYSTem; |
| | | |
| | | /// <summary> |
| | |
| | | private readonly ISqlSugarClient _sqlSugarClient; |
| | | private readonly SysDictTypeService _sysDictTypeService; |
| | | private readonly FBS_EnterpriseTypeService _EnterpriseTypeService; |
| | | public readonly SqlSugarRepository<FBS_CustormerUsers> _fBS_CustormerUsersRep; |
| | | private readonly IMapper _mapper; |
| | | |
| | | |
| | | public FBS_CusExtendService(SqlSugarRepository<FBS_CusExtend> fBS_CusExtendRep, |
| | | ISqlSugarClient sqlSugarClient, |
| | | SysDictTypeService sysDictTypeService, |
| | | FBS_EnterpriseTypeService fBS_EnterpriseTypeService, |
| | | SqlSugarRepository<FBS_CoutomerExRole> cerRep) |
| | | SqlSugarRepository<FBS_CoutomerExRole> cerRep, |
| | | IMapper mapper, |
| | | SqlSugarRepository<FBS_CustormerUsers> fbscu) |
| | | { |
| | | _fBS_CusExtendRep = fBS_CusExtendRep; |
| | | _sqlSugarClient = sqlSugarClient; |
| | | _sysDictTypeService = sysDictTypeService; |
| | | _EnterpriseTypeService = fBS_EnterpriseTypeService; |
| | | _fBS_CoutomerExRoleRep = cerRep; |
| | | _mapper = mapper; |
| | | _fBS_CustormerUsersRep = fbscu; |
| | | } |
| | | /// <summary> |
| | | /// |
| | |
| | | [ApiDescriptionSettings(Name = "Page"), HttpPost] |
| | | public async Task<SqlSugarPagedList<FBS_CusExtendOutput>> Page(PageFBS_CusExtendInput input) |
| | | { |
| | | |
| | | //var data = await _fBS_CusExtendRep.AsQueryable().Includes(u => u.ExRoles, y => y.ExRole).Includes(u => u.CustormerUsers).ToListAsync(); |
| | | input.Keyword = input.Keyword?.Trim(); |
| | | var query = _fBS_CusExtendRep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.EnterpriseType.Contains(input.Keyword) || u.TransactionCode.Contains(input.Keyword) || u.BusinessLicense.Contains(input.Keyword) || u.EnterpriseName.Contains(input.Keyword) || u.UnifiedSocialCreditCode.Contains(input.Keyword) || u.RegisteredCapital.Contains(input.Keyword) || u.LegalRepresentativeName.Contains(input.Keyword) || u.LegalRepresentativeIdCard.Contains(input.Keyword) || u.LegalRepresentativeIdNumber.Contains(input.Keyword) || u.LegalRepresentativePhone.Contains(input.Keyword) || u.Residence.Contains(input.Keyword) || u.EnterprisePhone.Contains(input.Keyword) || u.MainBusiness.Contains(input.Keyword) || u.EnterpriseEmail.Contains(input.Keyword) || u.OperatorName.Contains(input.Keyword) || u.OperatorIdCard.Contains(input.Keyword) || u.OperatorIdNumber.Contains(input.Keyword) || u.OperatorPhone.Contains(input.Keyword) || u.BankName.Contains(input.Keyword) || u.BankAccount.Contains(input.Keyword)) |
| | | var query = _fBS_CusExtendRep.AsQueryable().Includes(u => u.ExRoles, y => y.ExRole).Includes(u => u.CustormerUsers) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.EnterpriseType.Contains(input.Keyword) || u.BusinessLicense.Contains(input.Keyword) || u.EnterpriseName.Contains(input.Keyword) || u.UnifiedSocialCreditCode.Contains(input.Keyword) || u.RegisteredCapital.Contains(input.Keyword) || u.LegalRepresentativeName.Contains(input.Keyword) || u.LegalRepresentativeIdCard.Contains(input.Keyword) || u.LegalRepresentativeIdNumber.Contains(input.Keyword) || u.LegalRepresentativePhone.Contains(input.Keyword) || u.Residence.Contains(input.Keyword) || u.EnterprisePhone.Contains(input.Keyword) || u.MainBusiness.Contains(input.Keyword) || u.EnterpriseEmail.Contains(input.Keyword) || u.OperatorName.Contains(input.Keyword) || u.OperatorIdCard.Contains(input.Keyword) || u.OperatorIdNumber.Contains(input.Keyword) || u.OperatorPhone.Contains(input.Keyword) || u.BankName.Contains(input.Keyword) || u.BankAccount.Contains(input.Keyword)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.EnterpriseType), u => u.EnterpriseType.Contains(input.EnterpriseType.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TransactionCode), u => u.TransactionCode.Contains(input.TransactionCode.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.TransactionCode), u => u.ExRoles.Any(x => x.ExRole.Code == input.TransactionCode)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.BusinessLicense), u => u.BusinessLicense.Contains(input.BusinessLicense.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.EnterpriseName), u => u.EnterpriseName.Contains(input.EnterpriseName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.UnifiedSocialCreditCode), u => u.UnifiedSocialCreditCode.Contains(input.UnifiedSocialCreditCode.Trim())) |
| | |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.OperatorPhone), u => u.OperatorPhone.Contains(input.OperatorPhone.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.BankName), u => u.BankName.Contains(input.BankName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.BankAccount), u => u.BankAccount.Contains(input.BankAccount.Trim())) |
| | | .WhereIF(input.CustomerId != null, u => u.CustomerId == input.CustomerId) |
| | | .WhereIF(input.EstablishmentTimeRange?.Length == 2, u => u.EstablishmentTime >= input.EstablishmentTimeRange[0] && u.EstablishmentTime <= input.EstablishmentTimeRange[1]) |
| | | .WhereIF(input.steps != null, u => u.steps == input.steps) |
| | | .Select<FBS_CusExtendOutput>(); |
| | | |
| | | .Select(u => new FBS_CusExtendOutput |
| | | { |
| | | ExRoles = u.ExRoles.Adapt<List<FBS_CoutomerExRoleOutput>>(), |
| | | CustormerUsers = u.CustormerUsers.Adapt<List<FBS_CustormerUsersOutput>>() |
| | | },true); |
| | | return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); |
| | | } |
| | | /// <summary> |
| | | /// 更改审核状态 |
| | | /// </summary> |
| | | /// <param name="id">要更改的用户角色资料Id</param> |
| | | /// <param name="step">要更改的状态</param> |
| | | /// <returns></returns> |
| | | /// <summary> |
| | | /// 更改审核状态 |
| | | /// </summary> |
| | | /// <param name="CoutomerExRolesId">该ID是用户角色列表中的Id</param> |
| | | /// <param name="step">要更改的状态</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public async Task<bool > ChangeSteps (long id, CusExtendStep step) |
| | | public async Task<int > ChangeSteps (long CoutomerExRolesId, CusExtendStep step) |
| | | { |
| | | |
| | | var data=await _fBS_CusExtendRep.AsQueryable().Includes(x=>x.TransactionRole).Where(x=>x.Id==id).FirstAsync(); |
| | | var data=await _fBS_CoutomerExRoleRep.AsQueryable().Where(x=>x.Id== CoutomerExRolesId).FirstAsync(); |
| | | if (data == null) |
| | | { |
| | | throw Oops.Oh("数据不存在"); |
| | | }; |
| | | if(data.steps== step) |
| | | { |
| | | return true; |
| | | return 1; |
| | | } |
| | | try |
| | | { |
| | | await _fBS_CusExtendRep.AsTenant().BeginTranAsync(); |
| | | if (step == CusExtendStep.Pass) |
| | | { |
| | | //是审核通过 |
| | | |
| | | if (data.TransactionRole == null) |
| | | { |
| | | throw Oops.Oh("用户关联角色失败,用户没有申请该角色,请重新申请角色"); |
| | | } |
| | | |
| | | var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == data.CustomerId && x.ExRoleId == data.TransactionRole.Id); |
| | | if (exrles == null) |
| | | throw Oops.Oh("用户关联角色失败,用户没有申请该角色,请重新申请角色"); |
| | | |
| | | exrles.HasFlsh = true; |
| | | await _fBS_CoutomerExRoleRep.UpdateAsync(exrles); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | else |
| | | if(data.steps== CusExtendStep.Pass) |
| | | { |
| | | //更改为未通过 |
| | | |
| | | if (data.TransactionRole == null) |
| | | { |
| | | throw Oops.Oh("用户关联角色失败,用户没有申请该角色,请重新申请角色"); |
| | | } |
| | | var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == data.CustomerId && x.ExRoleId == data.TransactionRole.Id); |
| | | if (exrles == null) |
| | | throw Oops.Oh("用户关联角色失败,用户没有申请该角色,请重新申请角色"); |
| | | |
| | | exrles.HasFlsh = false; |
| | | await _fBS_CoutomerExRoleRep.UpdateAsync(exrles); |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | data.steps = step; |
| | | await _fBS_CusExtendRep.AsUpdateable(data).ExecuteCommandAsync(); |
| | | await _fBS_CusExtendRep.AsTenant().CommitTranAsync(); |
| | | return true; |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | await _fBS_CusExtendRep.AsTenant().RollbackTranAsync(); |
| | | e.Message.LogError(); |
| | | throw Oops.Oh("更改审核状态失败"); ; |
| | | } |
| | | data.steps = step; |
| | | return await _fBS_CoutomerExRoleRep.AsUpdateable(data).ExecuteCommandAsync(); |
| | | |
| | | } |
| | | |
| | |
| | | await _fBS_CusExtendRep.AsTenant().BeginTranAsync(); |
| | | try |
| | | { |
| | | var entity = await _fBS_CusExtendRep.AsQueryable().Includes(x => x.TransactionRole).Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002); |
| | | if (entity != null) |
| | | { |
| | | var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == entity.CustomerId && x.ExRoleId == entity.TransactionRole.Id); |
| | | if (exrles != null) |
| | | { |
| | | await _fBS_CoutomerExRoleRep.DeleteAsync(exrles); |
| | | } |
| | | //var entity = await _fBS_CusExtendRep.AsQueryable().Includes(x => x.TransactionRole).Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002); |
| | | //if (entity != null) |
| | | //{ |
| | | // var exrles = await _fBS_CoutomerExRoleRep.GetFirstAsync(x => x.CustomerId == entity.CustomerId && x.ExRoleId == entity.TransactionRole.Id); |
| | | // if (exrles != null) |
| | | // { |
| | | // await _fBS_CoutomerExRoleRep.DeleteAsync(exrles); |
| | | // } |
| | | |
| | | //await _fBS_CusExtendRep.FakeDeleteAsync(entity); //假删除 |
| | | // //await _fBS_CusExtendRep.FakeDeleteAsync(entity); //假删除 |
| | | |
| | | await _fBS_CusExtendRep.DeleteAsync(entity); //真删除 |
| | | } |
| | | // await _fBS_CusExtendRep.DeleteAsync(entity); //真删除 |
| | | //} |
| | | |
| | | await _fBS_CusExtendRep.AsTenant().CommitTranAsync(); |
| | | } |
| | |
| | | // 校验并过滤必填基本类型为null的字段 |
| | | var rows = pageItems.Where(x => { |
| | | if (!string.IsNullOrWhiteSpace(x.Error)) return false; |
| | | if (x.CustomerId == null){ |
| | | x.Error = "用户ID不能为空"; |
| | | return false; |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(x.Error)) return false; |
| | | if (x.steps == null){ |
| | | x.Error = "审核步骤不能为空"; |
| | | return false; |
| | | } |
| | | //if (x.CustomerId == null){ |
| | | // x.Error = "用户ID不能为空"; |
| | | // return false; |
| | | //} |
| | | //if (!string.IsNullOrWhiteSpace(x.Error)) return false; |
| | | //if (x.steps == null){ |
| | | // x.Error = "审核步骤不能为空"; |
| | | // return false; |
| | | //} |
| | | return true; |
| | | }).Adapt<List<FBS_CusExtend>>(); |
| | | |
| | |
| | | return stream; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 修改用户 |
| | | /// </summary> |
| | | /// <param name="Param"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public async Task<int > UpDataCustormerUser(FBS_CustormerUsersInPut Param) |
| | | { |
| | | if(Param.Id==null) |
| | | { |
| | | throw Oops.Oh("Id为空"); |
| | | } |
| | | |
| | | |
| | | var Data= await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == Param.Id && x.CusExtendId == Param.CusExtendId); |
| | | if(Data==null) |
| | | { |
| | | throw Oops.Oh("数据不存在"); |
| | | } |
| | | |
| | | |
| | | Data = _mapper.Map(Param, Data); |
| | | |
| | | |
| | | return await _fBS_CustormerUsersRep.AsUpdateable(Data).ExecuteCommandAsync(); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取用户信息 |
| | | /// </summary> |
| | | /// <param name="CustormerUserId">这个是列表中袁弘用户表中的Id</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public async Task<FBS_CustormerUsersOutput> GetCustormerUserInfo(long CustormerUserId) |
| | | { |
| | | if (CustormerUserId == null) |
| | | { |
| | | throw Oops.Oh("Id为空"); |
| | | } |
| | | |
| | | |
| | | var Data = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.Id == CustormerUserId ); |
| | | if (Data == null) |
| | | { |
| | | throw Oops.Oh("数据不存在"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return Data.Adapt<FBS_CustormerUsersOutput>(); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 修改用户 |
| | | /// </summary> |
| | | /// <param name="Param"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public async Task<int> CareCustormerUser(FBS_CustormerUsersInPut Param) |
| | | { |
| | | |
| | | |
| | | var Data = await _fBS_CustormerUsersRep.GetFirstAsync(x => x.CusExtendId == Param.CusExtendId && x.PhoneNumber == Param.PhoneNumber); |
| | | |
| | | if (Data != null) |
| | | { |
| | | throw Oops.Oh("同一个公司下手机号不能重复"); |
| | | } |
| | | Data = Param.Adapt<FBS_CustormerUsers>(); |
| | | return await _fBS_CustormerUsersRep.AsInsertable(Data).ExecuteCommandAsync(); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 删除一个用户员工 |
| | | /// </summary> |
| | | /// <param name="CustormerUserId">这个是列表中袁弘用户表中的Id</param> |
| | | /// <returns></returns> |
| | | [HttpDelete] |
| | | public async Task<bool> DelCustormerUser(long CustormerUserId) |
| | | { |
| | | |
| | | return await _fBS_CustormerUsersRep.DeleteByIdAsync(CustormerUserId); |
| | | |
| | | } |
| | | |
| | | } |