From fd3e97754de475f094fb59c83b3a469c9004ad3b Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期二, 01 四月 2025 15:41:14 +0800
Subject: [PATCH] Merge branch 'dev-lifepay-v1.3' of http://120.26.58.240:8888/r/LifePaymentApi into dev-lifepay-v1.3
---
LifePayment/LifePayment.Application/User/UserRoleService.cs | 77 +++++++++++++++++++++++++++++++++++++-
1 files changed, 74 insertions(+), 3 deletions(-)
diff --git a/LifePayment/LifePayment.Application/User/UserRoleService.cs b/LifePayment/LifePayment.Application/User/UserRoleService.cs
index 057e212..6a93332 100644
--- a/LifePayment/LifePayment.Application/User/UserRoleService.cs
+++ b/LifePayment/LifePayment.Application/User/UserRoleService.cs
@@ -1,5 +1,7 @@
锘縰sing LifePayment.Application.Contracts;
+using LifePayment.Domain;
using LifePayment.Domain.Models;
+using LifePayment.Domain.Shared;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
@@ -8,7 +10,10 @@
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Identity;
+using Z.EntityFramework.Plus;
using ZeroD.Util;
+using static LifePayment.Domain.Shared.LifePaymentConstant;
namespace HumanResourcesServices.Application
{
@@ -16,21 +21,30 @@
{
private readonly IRepository<User, Guid> _userRepository;
private readonly IRepository<Role, Guid> _roleRepository;
+ private readonly IRepository<LifePayChannles, Guid> _channleRepository;
private readonly IRepository<UserRole, Guid> _userRoleRep;
+ private readonly IRepository<UserChannle, Guid> _userChannleRep;
+ private readonly IIdentityUserAppService _identityUserService;
public UserRoleService(
IRepository<User, Guid> userRepository,
IRepository<Role, Guid> roleRepository,
- IRepository<UserRole, Guid> userRoleRep)
+ IRepository<LifePayChannles, Guid> channleRepository,
+ IRepository<UserRole, Guid> userRoleRep,
+ IRepository<UserChannle, Guid> userChannleRep,
+ IIdentityUserAppService identityUserService)
{
_userRepository = userRepository;
_roleRepository = roleRepository;
+ _channleRepository = channleRepository;
_userRoleRep = userRoleRep;
+ _userChannleRep = userChannleRep;
+ _identityUserService = identityUserService;
}
public async Task<PageOutput<UserDto>> GetBackClientUsers(GetBackClientUsersInput input)
{
- var query = _userRepository.Where(s => s.ClientId == Constant.ClientType.Back).Include(i => i.UserRoles).Select(u => new UserDto
+ var query = _userRepository.Where(s => s.ClientId == Constant.ClientType.Back).Include(i => i.UserRoles).Include(i => i.UserChannle).Select(u => new UserDto
{
Id = u.Id,
UserName = u.UserName,
@@ -43,6 +57,14 @@
{
Id = r.Id,
Name = r.Name,
+ },
+ Channles = from uc in u.UserChannle
+ from c in _channleRepository.Where(s => s.ChannlesNum == uc.ChannleId)
+ select new UserChannleDto
+ {
+ Id = c.Id,
+ ChannlesNum = c.ChannlesNum,
+ Name = c.ChannlesName,
},
Remark = u.Remark,
CompanyOrgId = u.CompanyOrgId,
@@ -77,9 +99,52 @@
entity.Remark = input.Remark;
entity.DepartmentOrgId = input.DepartmentOrgId;
entity.CompanyOrgId = input.CompanyOrgId;
+
+ var userchannle = await _userChannleRep.Where(s => s.UserId == input.Id).DeleteAsync();
+ List<UserChannle> userChannles = new List<UserChannle>();
+ foreach (var item in input.ChannlesId)
+ {
+ var channleNum = item;
+ if (IsGuid(channleNum))
+ {
+ channleNum = await _channleRepository.Where(x => x.Id == Guid.Parse(item)).Select(s => s.ChannlesNum).FirstOrDefaultAsync();
+ }
+
+ userChannles.Add(new UserChannle()
+ {
+ Id = Guid.NewGuid(),
+ ChannleId = channleNum,
+ UserId = entity.Id
+ });
+ }
+
+ await _userChannleRep.InsertManyAsync(userChannles);
+
return Constant.SUCCESS;
}
+ /// <summary>
+ /// 閲嶇疆瀵嗙爜
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ public async Task ResetPassword(ResetPasswordBaseInput input)
+ {
+ var user = await _userRepository.FirstOrDefaultAsync(x => x.Id == input.UserId);
+ CheckExtensions.IfTrueThrowUserFriendlyException(user == null, CustomeErrorMessage.IsNoExistUser);
+ CheckExtensions.IfTrueThrowUserFriendlyException(string.IsNullOrEmpty(input.Password), "璇疯緭鍏ュ瘑鐮�");
+ var identiResetInput = new ResetPassWordInput
+ {
+ UserId = input.UserId,
+ Name = user.Name,
+ UserName = user.UserName,
+ Password = input.Password,
+ PhoneNumber = user.PhoneNumber
+ };
+ var result = await _identityUserService.ResetPassword(identiResetInput);
+ CheckExtensions.IfTrueThrowUserFriendlyException(result != Constant.SUCCESS,
+ CustomeErrorMessage.ResetPasswordFail);
+ }
public async Task<int> DeleteBackClientUser(Guid id)
{
var entity = await _userRepository.FirstOrDefaultAsync(s => s.Id == id && s.ClientId == Constant.ClientType.Back);
@@ -163,5 +228,11 @@
await _roleRepository.DeleteAsync(id);
return Constant.SUCCESS;
}
+
+ private bool IsGuid(string input)
+ {
+ Guid guidOutput;
+ return Guid.TryParse(input, out guidOutput);
+ }
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1