Compare commits
2 Commits
fce37aaa1b
...
19afa0fc7c
| Author | SHA1 | Date | |
|---|---|---|---|
| 19afa0fc7c | |||
| 16e97df4f9 |
@ -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("审核失败")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user