From 20af9888642273b5ff389f1fd8e80582083ef0b5 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 11 九月 2025 15:52:17 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs | 59 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 15 deletions(-) diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs index 8753ea0..bffbb7c 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs @@ -30,7 +30,8 @@ ) : IRequestHandler<SaveContractTemplateCommand, Guid>, IRequestHandler<SaveContractTemplateValuesCommand, Guid>, - IRequestHandler<SetIsDisabledContractTemplateCommand, int> + IRequestHandler<SetIsDisabledContractTemplateCommand, int>, + IRequestHandler<CheckContractTemplateCommand, bool> { private readonly IMediator mediator = mediator; private readonly IRepository<ContractTemplate> rep = rep; @@ -63,9 +64,9 @@ await mediator.Send(new CheckElectronSignAccessEnabledsCommand { Accesses = new List<EnumElectronSignAccess> - { - request.Access.Value - } + { + request.Access.Value + } }, cancellationToken); } @@ -76,18 +77,15 @@ 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 { - 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; - } + 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); @@ -143,10 +141,12 @@ || entity.Values.Any(ov => request.Values.Count(nv => ov.Id == nv.Id + && ov.Name == nv.Name && ov.Type == nv.Type && ov.Recorder == nv.Recorder && ov.UserType == nv.UserType && ov.Label == nv.Label + && ov.BindProperty == nv.BindProperty && ov.Required == nv.Required) != 1)) { entity.Values = request.Values.Select(it => @@ -210,6 +210,35 @@ } /// <summary> + /// 鏍¢獙鍚堝悓妯℃槸鍚﹀彲鐢� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<bool> Handle(CheckContractTemplateCommand request, CancellationToken cancellationToken) + { + var model = await rep.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.Id && !it.IsDisabled) + .Select(it => new + { + it.Access, + it.Status + }) + .FirstOrDefaultAsync(); + if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "鍚堝悓妯℃澘"); + if (model.Status != EnumContractTemplateStatus.Completed) throw Oops.Oh(EnumErrorCodeType.s510, "鏈埗鐗�"); + await mediator.Send(new CheckElectronSignAccessEnabledsCommand + { + Accesses = new List<EnumElectronSignAccess> + { + model.Access!.Value + } + }, cancellationToken); + return true; + + } + + /// <summary> /// 鍚屾鐢靛瓙绛惧悎鍚屾ā鏉� /// </summary> /// <param name="entity"></param> -- Gitblit v1.9.1