add qygl23t7

This commit is contained in:
2025-07-30 00:51:22 +08:00
parent 83530c0f9b
commit 723c418a1b
38 changed files with 999 additions and 785 deletions

View File

@@ -117,7 +117,6 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
cmd.LegalPersonID,
cmd.LegalPersonPhone,
cmd.EnterpriseAddress,
cmd.EnterpriseEmail,
)
enterpriseInfo := &certification_value_objects.EnterpriseInfo{
CompanyName: cmd.CompanyName,
@@ -126,7 +125,6 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
LegalPersonID: cmd.LegalPersonID,
LegalPersonPhone: cmd.LegalPersonPhone,
EnterpriseAddress: cmd.EnterpriseAddress,
EnterpriseEmail: cmd.EnterpriseEmail,
}
err = enterpriseInfo.Validate()
if err != nil {
@@ -432,7 +430,10 @@ func (s *CertificationApplicationServiceImpl) GetCertification(
response := s.convertToResponse(cert)
// 3. 添加状态相关的元数据
meta := cert.GetDataByStatus()
meta, err := s.AddStatusMetadata(ctx, cert)
if err != nil {
return nil, err
}
if meta != nil {
response.Metadata = meta
}
@@ -519,7 +520,6 @@ func (s *CertificationApplicationServiceImpl) HandleEsignCallback(
record.LegalPersonID,
record.LegalPersonPhone,
record.EnterpriseAddress,
record.EnterpriseEmail,
)
if err != nil {
s.logger.Error("同步企业信息到用户域失败", zap.Error(err))
@@ -527,7 +527,7 @@ func (s *CertificationApplicationServiceImpl) HandleEsignCallback(
}
// 生成合同
err = s.generateAndAddContractFile(txCtx, cert, record.CompanyName, record.LegalPersonName, record.UnifiedSocialCode, record.EnterpriseAddress, record.LegalPersonPhone, record.LegalPersonID, record.EnterpriseEmail)
err = s.generateAndAddContractFile(txCtx, cert, record.CompanyName, record.LegalPersonName, record.UnifiedSocialCode, record.EnterpriseAddress, record.LegalPersonPhone, record.LegalPersonID)
if err != nil {
return err
}
@@ -679,7 +679,6 @@ func (s *CertificationApplicationServiceImpl) completeEnterpriseVerification(
record.LegalPersonID,
record.LegalPersonPhone,
record.EnterpriseAddress,
record.EnterpriseEmail,
)
if err != nil {
s.logger.Error("保存企业信息到用户域失败", zap.Error(err))
@@ -689,7 +688,7 @@ func (s *CertificationApplicationServiceImpl) completeEnterpriseVerification(
}
// 生成合同
err = s.generateAndAddContractFile(ctx, cert, record.CompanyName, record.LegalPersonName, record.UnifiedSocialCode, record.EnterpriseAddress, record.LegalPersonPhone, record.LegalPersonID, record.EnterpriseEmail)
err = s.generateAndAddContractFile(ctx, cert, record.CompanyName, record.LegalPersonName, record.UnifiedSocialCode, record.EnterpriseAddress, record.LegalPersonPhone, record.LegalPersonID)
if err != nil {
return err
}
@@ -714,7 +713,6 @@ func (s *CertificationApplicationServiceImpl) generateAndAddContractFile(
enterpriseAddress string,
legalPersonPhone string,
legalPersonID string,
enterpriseEmail string,
) error {
fileComponent := map[string]string{
"YFCompanyName": companyName,
@@ -725,7 +723,6 @@ func (s *CertificationApplicationServiceImpl) generateAndAddContractFile(
"YFEnterpriseAddress": enterpriseAddress,
"YFContactPerson": legalPersonName,
"YFMobile": legalPersonPhone,
"YFEmail": enterpriseEmail,
"SignDate": time.Now().Format("2006年01月02日"),
"SignDate2": time.Now().Format("2006年01月02日"),
"SignDate3": time.Now().Format("2006年01月02日"),
@@ -753,7 +750,7 @@ func (s *CertificationApplicationServiceImpl) updateContractFile(ctx context.Con
}
// 生成合同
err = s.generateAndAddContractFile(ctx, cert, enterpriseInfo.EnterpriseInfo.CompanyName, enterpriseInfo.EnterpriseInfo.LegalPersonName, enterpriseInfo.EnterpriseInfo.UnifiedSocialCode, enterpriseInfo.EnterpriseInfo.EnterpriseAddress, enterpriseInfo.EnterpriseInfo.LegalPersonPhone, enterpriseInfo.EnterpriseInfo.LegalPersonID, enterpriseInfo.EnterpriseInfo.EnterpriseEmail)
err = s.generateAndAddContractFile(ctx, cert, enterpriseInfo.EnterpriseInfo.CompanyName, enterpriseInfo.EnterpriseInfo.LegalPersonName, enterpriseInfo.EnterpriseInfo.UnifiedSocialCode, enterpriseInfo.EnterpriseInfo.EnterpriseAddress, enterpriseInfo.EnterpriseInfo.LegalPersonPhone, enterpriseInfo.EnterpriseInfo.LegalPersonID)
if err != nil {
return err
}
@@ -849,7 +846,7 @@ func (s *CertificationApplicationServiceImpl) checkAndUpdateSignStatus(ctx conte
// handleContractAfterSignComplete 处理签署完成后的合同
func (s *CertificationApplicationServiceImpl) handleContractAfterSignComplete(ctx context.Context, cert *entities.Certification) error {
// 获取用户的企业信息
user, err := s.userAggregateService.LoadUser(ctx, cert.UserID)
user, err := s.userAggregateService.GetUserWithEnterpriseInfo(ctx, cert.UserID)
if err != nil {
return fmt.Errorf("加载用户信息失败: %w", err)
}
@@ -941,3 +938,29 @@ func (s *CertificationApplicationServiceImpl) downloadFileContent(ctx context.Co
}
return io.ReadAll(resp.Body)
}
// 添加状态相关的元数据
func (s *CertificationApplicationServiceImpl) AddStatusMetadata(ctx context.Context, cert *entities.Certification) (map[string]interface{}, error) {
metadata := make(map[string]interface{})
metadata = cert.GetDataByStatus()
switch cert.Status {
case enums.StatusPending, enums.StatusInfoSubmitted, enums.StatusEnterpriseVerified:
record, err := s.enterpriseInfoSubmitRecordRepo.FindLatestByUserID(ctx, cert.UserID)
if err == nil && record != nil {
metadata["company_name"] = record.CompanyName
metadata["legal_person_name"] = record.LegalPersonName
metadata["unified_social_code"] = record.UnifiedSocialCode
metadata["enterprise_address"] = record.EnterpriseAddress
metadata["legal_person_phone"] = record.LegalPersonPhone
metadata["legal_person_id"] = record.LegalPersonID
}
case enums.StatusCompleted:
// 获取最终合同信息
contracts, err := s.contractAggregateService.FindByUserID(ctx, cert.UserID)
if err == nil && len(contracts) > 0 {
metadata["contract_url"] = contracts[0].ContractFileURL
}
}
return metadata, nil
}