小飞侠
2026-04-07 a622695a0cd6ea5aa63869f5c1a891e589909f48
cylsg/cylsg.Application/Users/UserAppService.cs
@@ -10,6 +10,9 @@
using System.Security.Claims;
using System.Runtime.Intrinsics.Arm;
using MapsterMapper;
using ECTESTOA;
using cylsg.Model.OrderModel;
namespace cylsg.Application.Users
{
@@ -22,11 +25,15 @@
        private readonly ISystemService _systemService;
        private ISqlSugarClient _sqlSugarClient;
        private IMapper _mapper;
        public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper)
        private readonly IOAServices _OAServices;
        public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper
            ,IOAServices oAServices
            )
        {
            _systemService = systemService;
            _sqlSugarClient = sqlSugarClient;
            _mapper = mapper;
            _OAServices = oAServices;
        }
@@ -56,15 +63,39 @@
            {
                userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
            }
            bool IsGuDing = false;
            var bdct = new BaseRepository<OrderBidding>();
            if (bdct != null)
            {
                var userBd = await bdct.GetFirstAsync(x => x.WorkerUserId == userid&& x.IsGuding==true);
                if (userBd != null)
                {
                    IsGuDing = true;
                }
            }
            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0 );
            userDto.userWorker.Balance =ab < 0 ? 0 : ab;
            if (IsGuDing)
            {
                userDto.userWorker.AvailableBalance = (ab-300)<0 ? 0 : (ab - 300);
            }
            else
                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
            
            var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
            if (userCompany != null)
            {
                userDto.userCompany = _mapper.Map<UserCompanyDto>(userCompany);
            }
            //增加川印权限获取
            userDto.OAPermissions= await _OAServices.GetOAPermissions();
            return userDto;
@@ -117,9 +148,10 @@
            var userWorkerRes = new BaseRepository<UserWorker>();
            bool res;
            if (userWorkerDto.Id > 0)
            var userWorker1 = await userWorkerRes.GetFirstAsync(x => x.UserId == userid && x.IsEn == true && x.IsDeleted == false);
            if (userWorker1!=null)
            {
                var userWorker1 = await userWorkerRes.GetByIdAsync(userWorkerDto.Id);
               //.GetByIdAsync(userWorkerDto.Id);
                userWorker1.IdCardBack = userWorkerDto.IdCardBack;
                userWorker1.IdCardFace = userWorkerDto.IdCardFace;
                userWorker1.name = userWorkerDto.name;
@@ -206,9 +238,21 @@
            var userCompanyRes = new BaseRepository<UserCompany>();
            bool res;
            if (userCompanyDto.Id > 0)
            var userCompany1 = await userCompanyRes.GetFirstAsync(x=>x.UserId == userid && x.IsEn == true && x.IsDeleted == false);
            if (userCompany1 != null)
            {
                var userCompany1 = await userCompanyRes.GetByIdAsync(userCompanyDto.Id);
                if(userCompany1.Suppliercode != userCompanyDto.Suppliercode)
                {
                    var count = await userCompanyRes.CountAsync(x => x.Suppliercode == userCompanyDto.Suppliercode && x.Id != userCompany1.Id && x.IsEn == true && x.IsDeleted == false);
                    if (count > 0)
                    {
                        userCompany1.IsAdmin = false;
                    }
                    else
                    {
                        userCompany1.IsAdmin = true;
                    }
                }
                userCompany1.BusinessLicense = userCompanyDto.BusinessLicense;
                userCompany1.Suppliername = userCompanyDto.Suppliername;
                userCompany1.Regtime = userCompanyDto.Regtime;
@@ -227,6 +271,16 @@
            }
            else
            {
                var count = await userCompanyRes.CountAsync(x => x.Suppliercode == userCompanyDto.Suppliercode && x.IsEn == true && x.IsDeleted == false);
                if (count > 0)
                {
                    userCompanyDto.IsAdmin = false;
                }
                else
                {
                    userCompanyDto.IsAdmin = true;
                }
                var userCompany = _mapper.Map<UserCompany>(userCompanyDto);
                userCompany.UpDataBy = NickName;
                userCompany.UpDataTime = DateTime.Now;
@@ -272,6 +326,31 @@
            {
                userDto.userWorker = _mapper.Map<UserWorkerDto>(userWorker);
            }
            bool IsGuDing = false;
            var bdct = new BaseRepository<OrderBidding>();
            if (bdct != null)
            {
                var userBd = await bdct.GetFirstAsync(x => x.WorkerUserId == userid && x.IsGuding == true);
                if (userBd != null)
                {
                    IsGuDing = true;
                }
            }
            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0);
            userDto.userWorker.Balance = ab < 0 ? 0 : ab;
            if (IsGuDing)
            {
                userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
            }
            else
                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
            var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);