修改了医院云证书

This commit is contained in:
wucongxing8150 2025-05-15 16:28:16 +08:00
parent 16e97df4f9
commit ca05f0d16e

View File

@ -188,7 +188,15 @@ func (r *UserCaCertService) AddHospitalCloudCert(tx *gorm.DB) (bool, error) {
maps["type"] = 2
userCaCert, _ := userCaCertDao.GetUserCaCert(maps)
if userCaCert != nil {
return false, errors.New("医院存在正常使用的云证书,请注销后重新申请")
if time.Time(userCaCert.CertExpireTime).IsZero() {
return false, errors.New("医院云证书过期时间错误")
}
now := time.Now()
certExpireTime := time.Time(userCaCert.CertExpireTime)
if now.Before(certExpireTime) {
return false, errors.New("医院云证书还未过期")
}
}
// 申请云证书
@ -214,25 +222,45 @@ func (r *UserCaCertService) AddHospitalCloudCert(tx *gorm.DB) (bool, error) {
return false, errors.New(err.Error())
}
// 新增ca监管证书表
userCaCert = &model.UserCaCert{
UserId: &userId,
IsSystem: 1,
IsLatest: 1,
Type: 2,
CertBase64: cloudCertResponse.CertBase64,
CertChainP7: cloudCertResponse.CertP7,
CertSerialNumber: cloudCertResponse.CertSerialnumber,
CaPin: fmt.Sprintf("%d", userId),
IsSignConfig: 0,
SignConfig: "",
CertApplicationTime: model.LocalTime(time.Now()),
CertExpireTime: model.LocalTime(time.Now().AddDate(0, 0, 180)), // 180天以后的时间
// 到期时间-测试180正式365
CertExpireTime := model.LocalTime(time.Now().AddDate(0, 0, 180))
if config.C.Env == "prod" {
CertExpireTime = model.LocalTime(time.Now().AddDate(0, 0, 365))
}
userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert)
if err != nil || userCaCert == nil {
return false, errors.New(err.Error())
if userCaCert == nil {
// 新增ca监管证书表
userCaCert = &model.UserCaCert{
UserId: &userId,
IsSystem: 1,
IsLatest: 1,
Type: 2,
CertBase64: cloudCertResponse.CertBase64,
CertChainP7: cloudCertResponse.CertP7,
CertSerialNumber: cloudCertResponse.CertSerialnumber,
CaPin: fmt.Sprintf("%d", userId),
IsSignConfig: 0,
SignConfig: "",
CertApplicationTime: model.LocalTime(time.Now()),
CertExpireTime: model.LocalTime(time.Now().AddDate(0, 0, 180)), // 180天以后的时间
}
userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert)
if err != nil || userCaCert == nil {
return false, errors.New(err.Error())
}
} else {
// 修改ca监管证书表
data := make(map[string]interface{})
data["cert_base64"] = cloudCertResponse.CertBase64
data["cert_chain_p7"] = cloudCertResponse.CertP7
data["cert_serial_number"] = cloudCertResponse.CertSerialnumber
data["cert_application_time"] = model.LocalTime(time.Now())
data["cert_expire_time"] = CertExpireTime
err = userCaCertDao.EditUserCaCertById(tx, userCaCert.CertId, data)
if err != nil {
return false, errors.New("审核失败")
}
}
return true, nil