fix certification

This commit is contained in:
2025-08-05 17:20:49 +08:00
parent f1478e475f
commit ec1bba4898
4 changed files with 36 additions and 23 deletions

View File

@@ -107,9 +107,9 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
// 验证验证码 // 验证验证码
if err := s.smsCodeService.VerifyCode(ctx, cmd.LegalPersonPhone, cmd.VerificationCode, user_entities.SMSSceneCertification); err != nil { if err := s.smsCodeService.VerifyCode(ctx, cmd.LegalPersonPhone, cmd.VerificationCode, user_entities.SMSSceneCertification); err != nil {
record.MarkAsFailed(err.Error()) record.MarkAsFailed(err.Error())
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
return nil, fmt.Errorf("验证码错误或已过期") return nil, fmt.Errorf("验证码错误或已过期")
} }
@@ -119,17 +119,17 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
exists, err := s.userAggregateService.CheckUnifiedSocialCodeExists(ctx, cmd.UnifiedSocialCode, cmd.UserID) exists, err := s.userAggregateService.CheckUnifiedSocialCodeExists(ctx, cmd.UnifiedSocialCode, cmd.UserID)
if err != nil { if err != nil {
record.MarkAsFailed(err.Error()) record.MarkAsFailed(err.Error())
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
return nil, fmt.Errorf("检查企业信息失败: %s", err.Error()) return nil, fmt.Errorf("检查企业信息失败: %s", err.Error())
} }
if exists { if exists {
record.MarkAsFailed(err.Error()) record.MarkAsFailed("该企业信息已被其他用户使用,请确认企业信息是否正确")
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
return nil, fmt.Errorf("该企业信息已被其他用户使用,请确认企业信息是否正确") return nil, fmt.Errorf("该企业信息已被其他用户使用,请确认企业信息是否正确")
} }
@@ -146,9 +146,9 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
if err != nil { if err != nil {
s.logger.Error("企业信息验证失败", zap.Error(err)) s.logger.Error("企业信息验证失败", zap.Error(err))
record.MarkAsFailed(err.Error()) record.MarkAsFailed(err.Error())
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
return nil, fmt.Errorf("企业信息验证失败: %s", err.Error()) return nil, fmt.Errorf("企业信息验证失败: %s", err.Error())
} }
@@ -156,16 +156,16 @@ func (s *CertificationApplicationServiceImpl) SubmitEnterpriseInfo(
if err != nil { if err != nil {
s.logger.Error("企业信息验证失败", zap.Error(err)) s.logger.Error("企业信息验证失败", zap.Error(err))
record.MarkAsFailed(err.Error()) record.MarkAsFailed(err.Error())
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
return nil, fmt.Errorf("企业信息验证失败, %s", err.Error()) return nil, fmt.Errorf("企业信息验证失败, %s", err.Error())
} }
record.MarkAsVerified() record.MarkAsVerified()
err = s.enterpriseInfoSubmitRecordService.Save(ctx, record) saveErr := s.enterpriseInfoSubmitRecordService.Save(ctx, record)
if err != nil { if saveErr != nil {
return nil, fmt.Errorf("保存企业信息提交记录失败: %s", err.Error()) return nil, fmt.Errorf("保存企业信息提交记录失败: %s", saveErr.Error())
} }
var response *responses.CertificationResponse var response *responses.CertificationResponse

View File

@@ -85,8 +85,11 @@ func (e *EnterpriseInfo) validateCompanyName() error {
return errors.New("企业名称长度不能超过100个字符") return errors.New("企业名称长度不能超过100个字符")
} }
// 检查是否包含非法字符 // 检查是否包含非法字符(允许括号)
invalidChars := []string{"`", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "+", "=", "{", "}", "[", "]", "\\", "|", ";", ":", "'", "\"", "<", ">", ",", ".", "?", "/"} invalidChars := []string{
"`", "~", "!", "@", "#", "$", "%", "^", "&", "*",
"+", "=", "{", "}", "[", "]", "【", "】", "\\", "|", ";", ":", "'", "\"", "<", ">", ",", ".", "?", "/",
}
for _, char := range invalidChars { for _, char := range invalidChars {
if strings.Contains(e.CompanyName, char) { if strings.Contains(e.CompanyName, char) {
return fmt.Errorf("企业名称不能包含特殊字符: %s", char) return fmt.Errorf("企业名称不能包含特殊字符: %s", char)

View File

@@ -12,8 +12,10 @@ import (
"tyapi-server/internal/domains/certification/entities" "tyapi-server/internal/domains/certification/entities"
"tyapi-server/internal/domains/certification/entities/value_objects" "tyapi-server/internal/domains/certification/entities/value_objects"
"tyapi-server/internal/domains/certification/repositories" "tyapi-server/internal/domains/certification/repositories"
"tyapi-server/internal/infrastructure/external/alicloud"
"tyapi-server/internal/infrastructure/external/tianyancha" "tyapi-server/internal/infrastructure/external/tianyancha"
"tyapi-server/internal/infrastructure/external/westdex" "tyapi-server/internal/infrastructure/external/westdex"
"tyapi-server/internal/infrastructure/external/yushan"
"tyapi-server/internal/shared/interfaces" "tyapi-server/internal/shared/interfaces"
"go.uber.org/zap" "go.uber.org/zap"
@@ -26,6 +28,8 @@ import (
type EnterpriseInfoSubmitRecordService struct { type EnterpriseInfoSubmitRecordService struct {
westdexService *westdex.WestDexService westdexService *westdex.WestDexService
tianYanChaService *tianyancha.TianYanChaService tianYanChaService *tianyancha.TianYanChaService
alicloudService *alicloud.AlicloudService
yushanService *yushan.YushanService
validator interfaces.RequestValidator validator interfaces.RequestValidator
repositories repositories.EnterpriseInfoSubmitRecordRepository repositories repositories.EnterpriseInfoSubmitRecordRepository
appConfig config.AppConfig appConfig config.AppConfig
@@ -36,6 +40,8 @@ type EnterpriseInfoSubmitRecordService struct {
func NewEnterpriseInfoSubmitRecordService( func NewEnterpriseInfoSubmitRecordService(
westdexService *westdex.WestDexService, westdexService *westdex.WestDexService,
tianYanChaService *tianyancha.TianYanChaService, tianYanChaService *tianyancha.TianYanChaService,
alicloudService *alicloud.AlicloudService,
yushanService *yushan.YushanService,
validator interfaces.RequestValidator, validator interfaces.RequestValidator,
repositories repositories.EnterpriseInfoSubmitRecordRepository, repositories repositories.EnterpriseInfoSubmitRecordRepository,
appConfig config.AppConfig, appConfig config.AppConfig,
@@ -44,6 +50,8 @@ func NewEnterpriseInfoSubmitRecordService(
return &EnterpriseInfoSubmitRecordService{ return &EnterpriseInfoSubmitRecordService{
westdexService: westdexService, westdexService: westdexService,
tianYanChaService: tianYanChaService, tianYanChaService: tianYanChaService,
alicloudService: alicloudService,
yushanService: yushanService,
validator: validator, validator: validator,
repositories: repositories, repositories: repositories,
appConfig: appConfig, appConfig: appConfig,
@@ -99,6 +107,8 @@ func (s *EnterpriseInfoSubmitRecordService) ValidateWithWestdex(ctx context.Cont
deps := &processors.ProcessorDependencies{ deps := &processors.ProcessorDependencies{
WestDexService: s.westdexService, WestDexService: s.westdexService,
TianYanChaService: s.tianYanChaService, TianYanChaService: s.tianYanChaService,
AlicloudService: s.alicloudService,
YushanService: s.yushanService,
Validator: s.validator, Validator: s.validator,
} }

View File

@@ -12,8 +12,8 @@ import (
func main() { func main() {
// 固定的用户信息 // 固定的用户信息
userID := "8dd1036f-3555-4b04-95de-053baf2414e4" userID := "93b2fb79-4def-4ad2-8004-08943fcf2fa9"
phone := "15550440999" phone := "17537188270"
email := "" email := ""
userType := "user" userType := "user"