This commit is contained in:
2026-05-01 15:35:48 +08:00
parent 354856360b
commit 27f0e47162
4 changed files with 102 additions and 23 deletions

View File

@@ -1388,13 +1388,28 @@ func (s *CertificationApplicationServiceImpl) generateAndAddContractFile(
s.logger.Info("合同生成-步骤1-开始填充合同模板",
zap.String("user_id", cert.UserID),
zap.String("company_name", companyName))
// 协议编号:已有则复用,否则新生成
if cert.ContractCode == "" {
cert.SetContractCode(user_entities.GenerateContractCode(user_entities.ContractTypeCooperation))
}
agreementNo := cert.ContractCode
signDate := time.Now().Format("2006年01月02日")
// 控件 key 与 e 签宝合同模板中控件名一致(新合同)
fileComponent := map[string]string{
"jfqym": companyName,
"jfqym2": companyName,
"jfsqdb": authorizedRepName,
"jftyshxydm": unifiedSocialCode,
"jflxdz": enterpriseAddress,
"jfqym": companyName,
"jfqym2": companyName,
"jfsqdb": authorizedRepName,
"jftyshxydm": unifiedSocialCode,
"jflxdz": enterpriseAddress,
// 甲方
"xybh": agreementNo,
"qsrq1": signDate,
"qsrq3": signDate,
// 乙方
"qsrq2": signDate,
}
fillTemplateResp, err := s.esignClient.FillTemplate(fileComponent)
if err != nil {
@@ -1403,7 +1418,8 @@ func (s *CertificationApplicationServiceImpl) generateAndAddContractFile(
}
s.logger.Info("合同生成-步骤1-模板填充成功",
zap.String("user_id", cert.UserID),
zap.String("file_id", fillTemplateResp.FileID))
zap.String("file_id", fillTemplateResp.FileID),
zap.String("contract_code", agreementNo))
err = cert.AddContractFileID(fillTemplateResp.FileID, fillTemplateResp.FileDownloadUrl)
if err != nil {
s.logger.Error("加入合同文件ID链接失败", zap.Error(err))
@@ -1566,8 +1582,8 @@ func (s *CertificationApplicationServiceImpl) handleContractAfterSignComplete(ct
s.logger.Info("合同文件已上传七牛云", zap.String("file_name", fileName), zap.String("qiniu_url", qiniuURL))
// 4. 保存到合同聚合根
_, err = s.contractAggregateService.CreateContract(
// 4. 保存到合同聚合根(复用认证阶段的合同编号)
_, err = s.contractAggregateService.CreateContractWithCode(
ctx,
user.EnterpriseInfo.ID,
cert.UserID,
@@ -1575,6 +1591,7 @@ func (s *CertificationApplicationServiceImpl) handleContractAfterSignComplete(ct
user_entities.ContractTypeCooperation,
fileId,
qiniuURL,
cert.ContractCode,
)
if err != nil {
s.logger.Error("保存合同信息到聚合根失败", zap.String("file_name", fileName), zap.Error(err))