Compare commits

...

2 Commits

Author SHA1 Message Date
19afa0fc7c Merge branch 'dev' 2025-05-15 16:21:55 +08:00
16e97df4f9 修改了云证书 2025-05-15 16:21:48 +08:00

View File

@ -33,7 +33,15 @@ func (r *UserCaCertService) AddUserCloudCert(tx *gorm.DB, userId int64) (bool, e
maps["type"] = 2 maps["type"] = 2
userCaCert, _ := userCaCertDao.GetUserCaCert(maps) userCaCert, _ := userCaCertDao.GetUserCaCert(maps)
if userCaCert != nil { 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("云证书还未过期")
}
} }
// 获取用户数据 // 获取用户数据
@ -67,6 +75,24 @@ func (r *UserCaCertService) AddUserCloudCert(tx *gorm.DB, userId int64) (bool, e
departmentCustomId = userDoctor.DepartmentCustomId // 自定义科室id departmentCustomId = userDoctor.DepartmentCustomId // 自定义科室id
cardName = userDoctorInfo.CardName // 身份证名称 cardName = userDoctorInfo.CardName // 身份证名称
cardNum = userDoctorInfo.CardNum // 身份证号码 cardNum = userDoctorInfo.CardNum // 身份证号码
} else {
// 获取药师数据
userPharmacistDao := dao.UserPharmacistDao{}
userPharmacist, err := userPharmacistDao.GetUserPharmacistByUserId(userId)
if err != nil || userPharmacist == nil {
return false, errors.New("药师数据错误")
}
// 获取药师详情数据
userPharmacistInfoDao := dao.UserPharmacistInfoDao{}
userPharmacistInfo, err := userPharmacistInfoDao.GetUserPharmacistInfoByUserId(userId)
if err != nil || userPharmacistInfo == nil {
return false, errors.New("药师详情数据错误")
}
departmentCustomId = userPharmacist.DepartmentCustomId // 自定义科室id
cardName = userPharmacistInfo.CardName // 身份证名称
cardNum = userPharmacistInfo.CardNum // 身份证号码
} }
// 获取自定义科室数据 // 获取自定义科室数据
@ -113,25 +139,39 @@ func (r *UserCaCertService) AddUserCloudCert(tx *gorm.DB, userId int64) (bool, e
CertExpireTime = model.LocalTime(time.Now().AddDate(0, 0, 365)) CertExpireTime = model.LocalTime(time.Now().AddDate(0, 0, 365))
} }
// 新增ca监管证书表 if userCaCert == nil {
userCaCert = &model.UserCaCert{ // 新增ca监管证书表
UserId: &userId, userCaCert = &model.UserCaCert{
IsSystem: 0, UserId: &userId,
IsLatest: 1, IsSystem: 0,
Type: 2, IsLatest: 1,
CertBase64: cloudCertResponse.CertBase64, Type: 2,
CertChainP7: cloudCertResponse.CertP7, CertBase64: cloudCertResponse.CertBase64,
CertSerialNumber: cloudCertResponse.CertSerialnumber, CertChainP7: cloudCertResponse.CertP7,
CaPin: fmt.Sprintf("%d", userId), CertSerialNumber: cloudCertResponse.CertSerialnumber,
IsSignConfig: 0, CaPin: fmt.Sprintf("%d", userId),
SignConfig: "", IsSignConfig: 0,
CertApplicationTime: model.LocalTime(time.Now()), SignConfig: "",
CertExpireTime: CertExpireTime, // 180天以后的时间 CertApplicationTime: model.LocalTime(time.Now()),
} CertExpireTime: CertExpireTime, // 180天以后的时间
}
userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert) userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert)
if err != nil || userCaCert == nil { if err != nil || userCaCert == nil {
return false, errors.New(err.Error()) 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 return true, nil
@ -153,18 +193,20 @@ func (r *UserCaCertService) AddHospitalCloudCert(tx *gorm.DB) (bool, error) {
// 申请云证书 // 申请云证书
cloudCertRequestData := &ca.AddCloudCertRequest{ cloudCertRequestData := &ca.AddCloudCertRequest{
EntityId: fmt.Sprintf("%d", userId), EntityId: fmt.Sprintf("%d", userId),
EntityType: "Organizational", EntityType: "Organizational",
PersonalPhone: "18221234167", PersonalPhone: "18601047315",
OrgName: "成都金牛欣欣相照互联网医院有限公司", PersonalName: "张晓彦",
OrgNumber: "91510106MABTJY4K9R", PersonalIdNumber: "132527197709270017",
Pin: fmt.Sprintf("%d", userId), OrgName: "成都金牛欣欣相照互联网医院有限公司",
Province: "四川省", OrgNumber: "91510106MABTJY4K9R",
Locality: "成都市", Pin: fmt.Sprintf("%d", userId),
AuthType: "实人认证", Province: "四川省",
AuthTime: strconv.FormatInt(time.Now().Unix(), 10), Locality: "成都市",
AuthResult: "认证通过", AuthType: "实人认证",
AuthNoticeType: "数字证书申请告知", AuthTime: strconv.FormatInt(time.Now().Unix(), 10),
AuthResult: "认证通过",
AuthNoticeType: "数字证书申请告知",
} }
cloudCertResponse, err := ca.AddCloudCert(cloudCertRequestData) cloudCertResponse, err := ca.AddCloudCert(cloudCertRequestData)
@ -300,6 +342,7 @@ func (r *UserCaCertService) EditUserCloudCert(tx *gorm.DB, userId int64) (bool,
data["cert_base64"] = cloudCertResponse.CertBase64 data["cert_base64"] = cloudCertResponse.CertBase64
data["cert_chain_p7"] = cloudCertResponse.CertP7 data["cert_chain_p7"] = cloudCertResponse.CertP7
data["cert_serial_number"] = cloudCertResponse.CertSerialnumber data["cert_serial_number"] = cloudCertResponse.CertSerialnumber
err = userCaCertDao.EditUserCaCertById(tx, userCaCert.CertId, data) err = userCaCertDao.EditUserCaCertById(tx, userCaCert.CertId, data)
if err != nil { if err != nil {
return false, errors.New("审核失败") return false, errors.New("审核失败")