sunpengfei
2025-08-21 8c5cc69cb04feef035f27e05cbaabda42bd8155c
FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs
@@ -48,9 +48,12 @@
            }
            if (request.EnterpriseId == null) throw Oops.Oh(EnumErrorCodeType.s400, "请选择企业");
            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, "业务编码");
            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
@@ -59,7 +62,7 @@
                 null,
                 entity =>
                 {
                     if (entity.Code != request.Code || entity.Name != request.Name)
                     if (entity.Code.IsNotNull() && entity.Name.IsNotNull() && (entity.Code != request.Code || entity.Name != request.Name || entity.WxmpQrCode.IsNull()))
                     {
                         entity.WxmpQrCode = wxmpUtils.GetQrCodeOssUrl(new WxmpGetQrCodeCommand
                         {
@@ -200,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
                {