From f12b337fd0a9273cb982cbc09e3be43a4e078ffc Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 22 八月 2025 14:16:48 +0800 Subject: [PATCH] fix: s --- FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 deletions(-) diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs index 5e701ff..e01414a 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs @@ -23,13 +23,15 @@ /// 鍚堝悓妯℃澘鍛戒护澶勭悊鍣� /// </summary> public class ContractTemplateCommandHandler( - IRepository<ContractTemplate> rep + IRepository<ContractTemplate> rep, + WxmpUtils wxmpUtils ) : IRequestHandler<SaveContractTemplateCommand, Guid>, IRequestHandler<SaveContractTemplateValuesCommand, Guid>, IRequestHandler<SetIsDisabledContractTemplateCommand, int> { private readonly IRepository<ContractTemplate> rep = rep; + private readonly WxmpUtils wxmpUtils = wxmpUtils; /// <summary> /// 淇濆瓨鍚堝悓妯℃澘 @@ -46,14 +48,35 @@ } if (request.EnterpriseId == null) throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨浼佷笟"); + if (request.Code.IsNotNull()) + { + var existCode = await rep.AsQueryable().AsNoTracking() + .AnyAsync(it => it.Code == request.Code && !it.IsDisabled && it.Id != request.Id); + if (existCode) throw Oops.Oh(EnumErrorCodeType.s405, "涓氬姟缂栫爜"); + } + var entity = await request.SaveData<ContractTemplate, SaveContractTemplateCommand>( q => q .Include(it => it.Values) .Where(it => it.EnterpriseId == request.EnterpriseId && !it.IsDisabled), - it => it.EnterpriseId == request.EnterpriseId && it.Name == request.Name && !it.IsDisabled && it.Id != request.Id, + null, entity => { + if (entity.Code.IsNotNull() && entity.Name.IsNotNull() && (entity.Code != request.Code || entity.Name != request.Name || entity.WxmpQrCode.IsNull())) + { + entity.WxmpQrCode = wxmpUtils.GetQrCodeOssUrl(new WxmpGetQrCodeCommand + { + UserType = EnumUserType.Personal, + OssScene = "Wxmp/QrCode/ContractTemplate", + OssFileName = $"{request.Name}.png", + Page = "subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail", + CheckPath = false, + Scene = $"{request.Code}", + }).Result; + } + request.Adapt(entity); + if (request.Id == null) { entity.Status = EnumContractTemplateStatus.Wait; @@ -180,25 +203,7 @@ } if (enterprise.EnterpriseAuth.ElectronSignEnterpriseId == null) { - var resultRegOrUpdateUser = await new RegOrUpdateUserInput - { - OutUserId = enterprise.Id.ToString(), - UserType = EnumElectronSignUserType.Personal, - EnterpriseName = enterprise.EnterpriseName, - SocietyCreditCode = enterprise.SocietyCreditCode, - Name = enterprise.EnterpriseAuth?.Name, - Identity = enterprise?.EnterpriseAuth?.Identity, - Mobile = enterprise?.EnterpriseAuth?.PhoneNumber - }.SendHttpAsync<RegOrUpdateUserInput, ElectronSignServerResult<Guid?>>(EnumResourceHttpProvider.ElectronSignServerCustomer); - - if (resultRegOrUpdateUser?.Success == true) - { - enterprise!.EnterpriseAuth!.ElectronSignEnterpriseId = resultRegOrUpdateUser.Result; - } - else - { - throw Oops.Oh(EnumErrorCodeType.s510, resultRegOrUpdateUser?.Message ?? "娉ㄥ唽鐢靛瓙绛捐处鍙峰紓甯�"); - } + throw Oops.Oh(EnumErrorCodeType.s510, "鏈敞鍐岀數瀛愮璐﹀彿锛岃閲嶆柊鍚屾818璐﹀彿淇℃伅"); } var result = await new CreateOrUpdateContractTemplateInput { -- Gitblit v1.9.1