处理审核失败的情况

This commit is contained in:
wucongxing 2023-07-18 10:34:27 +08:00
parent 12c5379d78
commit b314fb22f6

View File

@ -1288,86 +1288,89 @@ func (r *UserDoctorService) PutMulti(doctorId int64, req requests.PutMulti) (boo
return false, errors.New("科室错误") return false, errors.New("科室错误")
} }
if userCaCert == nil { // 处理审核拒绝的情况
// 申请云证书 if req.MultiPointStatus == 1 {
cloudCertRequestData := &ca.AddCloudCertRequest{ if userCaCert == nil {
EntityId: strconv.FormatInt(userDoctor.UserId, 10), // 申请云证书
EntityType: "Personal", cloudCertRequestData := &ca.AddCloudCertRequest{
PersonalPhone: user.Mobile, EntityId: strconv.FormatInt(userDoctor.UserId, 10),
PersonalName: userDoctorInfo.CardName, EntityType: "Personal",
PersonalIdNumber: userDoctorInfo.CardNum, PersonalPhone: user.Mobile,
OrgName: "", PersonalName: userDoctorInfo.CardName,
OrgNumber: "", PersonalIdNumber: userDoctorInfo.CardNum,
Pin: strconv.FormatInt(userDoctor.UserId, 10), OrgName: "",
OrgDept: hospitalDepartment.DepartmentName, // // 卫生证书:医院部门 OrgNumber: "",
Province: "四川省", Pin: strconv.FormatInt(userDoctor.UserId, 10),
Locality: "成都市", OrgDept: hospitalDepartment.DepartmentName, // // 卫生证书:医院部门
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)
if err != nil || cloudCertResponse == nil { if err != nil || cloudCertResponse == nil {
tx.Rollback() tx.Rollback()
return false, errors.New(err.Error()) return false, errors.New(err.Error())
} }
// 新增ca监管证书表 // 新增ca监管证书表
userCaCert := &model.UserCaCert{ userCaCert := &model.UserCaCert{
UserId: &userDoctor.UserId, UserId: &userDoctor.UserId,
IsSystem: 0, IsSystem: 0,
Type: 1, Type: 1,
CertBase64: cloudCertResponse.CertBase64, CertBase64: cloudCertResponse.CertBase64,
CertChainP7: cloudCertResponse.CertP7, CertChainP7: cloudCertResponse.CertP7,
CertSerialNumber: cloudCertResponse.CertSerialnumber, CertSerialNumber: cloudCertResponse.CertSerialnumber,
CaPin: strconv.FormatInt(userDoctor.UserId, 10), CaPin: strconv.FormatInt(userDoctor.UserId, 10),
IsSignConfig: 0, IsSignConfig: 0,
SignConfig: "", SignConfig: "",
} }
userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert) userCaCert, err = userCaCertDao.AddUserCaCert(tx, userCaCert)
if err != nil || userCaCert == nil { if err != nil || userCaCert == nil {
tx.Rollback() tx.Rollback()
return false, errors.New(err.Error()) return false, errors.New(err.Error())
} }
} else { } else {
// 修改云证书 // 修改云证书
cloudCertRequestData := &ca.EditCloudCertRequestData{ cloudCertRequestData := &ca.EditCloudCertRequestData{
EntityId: strconv.FormatInt(userDoctor.UserId, 10), EntityId: strconv.FormatInt(userDoctor.UserId, 10),
EntityType: "Personal", EntityType: "Personal",
PersonalPhone: user.Mobile, PersonalPhone: user.Mobile,
PersonalName: userDoctorInfo.CardName, PersonalName: userDoctorInfo.CardName,
PersonalIdNumber: userDoctorInfo.CardNum, PersonalIdNumber: userDoctorInfo.CardNum,
OrgName: "", OrgName: "",
OrgNumber: "", OrgNumber: "",
Pin: strconv.FormatInt(userDoctor.UserId, 10), Pin: strconv.FormatInt(userDoctor.UserId, 10),
OrgDept: hospitalDepartment.DepartmentName, // // 卫生证书:医院部门 OrgDept: hospitalDepartment.DepartmentName, // // 卫生证书:医院部门
Province: "四川省", Province: "四川省",
Locality: "成都市", Locality: "成都市",
AuthType: "实人认证", AuthType: "实人认证",
AuthTime: strconv.FormatInt(time.Now().Unix(), 10), AuthTime: strconv.FormatInt(time.Now().Unix(), 10),
AuthResult: "认证通过", AuthResult: "认证通过",
AuthNoticeType: "数字证书变更告知", AuthNoticeType: "数字证书变更告知",
} }
cloudCertResponse, err := ca.EditCloudCert(cloudCertRequestData) cloudCertResponse, err := ca.EditCloudCert(cloudCertRequestData)
if err != nil || cloudCertResponse == nil { if err != nil || cloudCertResponse == nil {
tx.Rollback() tx.Rollback()
return false, errors.New(err.Error()) return false, errors.New(err.Error())
} }
// 修改ca监管证书表 // 修改ca监管证书表
userCaCertDao := dao.UserCaCert{} userCaCertDao := dao.UserCaCert{}
data := make(map[string]interface{}) data := make(map[string]interface{})
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 {
tx.Rollback() tx.Rollback()
return false, errors.New("审核失败") return false, errors.New("审核失败")
}
} }
} }