This commit is contained in:
wucongxing 2023-10-27 16:25:57 +08:00
parent 5e70c638c6
commit 38f0ed6bc7
4 changed files with 46 additions and 19 deletions

View File

@ -12,8 +12,8 @@ import (
type UserCaCert struct{} type UserCaCert struct{}
// GetUserCloudCert 申请云证书-个人 // AddUserCloudCert 申请云证书-个人
func (r *UserCaCert) GetUserCloudCert(c *gin.Context) { func (r *UserCaCert) AddUserCloudCert(c *gin.Context) {
id := c.Param("user_id") id := c.Param("user_id")
if id == "" { if id == "" {
responses.FailWithMessage("缺少参数", c) responses.FailWithMessage("缺少参数", c)
@ -36,7 +36,7 @@ func (r *UserCaCert) GetUserCloudCert(c *gin.Context) {
}() }()
userCaCertService := service.UserCaCertService{} userCaCertService := service.UserCaCertService{}
_, err = userCaCertService.GetUserCloudCert(tx, userId) _, err = userCaCertService.AddUserCloudCert(tx, userId)
if err != nil { if err != nil {
tx.Rollback() tx.Rollback()
responses.FailWithMessage(err.Error(), c) responses.FailWithMessage(err.Error(), c)
@ -47,8 +47,8 @@ func (r *UserCaCert) GetUserCloudCert(c *gin.Context) {
responses.Ok(c) responses.Ok(c)
} }
// GetHospitalCloudCert 申请云证书-医院 // AddHospitalCloudCert 申请云证书-医院
func (r *UserCaCert) GetHospitalCloudCert(c *gin.Context) { func (r *UserCaCert) AddHospitalCloudCert(c *gin.Context) {
// 业务处理 // 业务处理
tx := global.Db.Begin() tx := global.Db.Begin()
defer func() { defer func() {
@ -58,7 +58,7 @@ func (r *UserCaCert) GetHospitalCloudCert(c *gin.Context) {
}() }()
userCaCertService := service.UserCaCertService{} userCaCertService := service.UserCaCertService{}
_, err := userCaCertService.GetHospitalCloudCert(tx) _, err := userCaCertService.AddHospitalCloudCert(tx)
if err != nil { if err != nil {
tx.Rollback() tx.Rollback()
responses.FailWithMessage(err.Error(), c) responses.FailWithMessage(err.Error(), c)
@ -195,3 +195,15 @@ func (r *UserCaCert) AddUserSignConfig(c *gin.Context) {
tx.Commit() tx.Commit()
responses.Ok(c) responses.Ok(c)
} }
// GetHospitalCloudCert 获取医院云证书数据
func (r *UserCaCert) GetHospitalCloudCert(c *gin.Context) {
userCaCertService := service.UserCaCertService{}
userCaCert, err := userCaCertService.GetHospitalCloudCert()
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.OkWithData(userCaCert, c)
}

View File

@ -554,17 +554,20 @@ func privateRouter(r *gin.Engine, api controller.Api) {
userGroup.PUT("/remove/:user_id", api.UserCaCert.RemoveUserCloudCert) userGroup.PUT("/remove/:user_id", api.UserCaCert.RemoveUserCloudCert)
// 申请云证书-个人 // 申请云证书-个人
userGroup.POST("/:user_id", api.UserCaCert.GetUserCloudCert) userGroup.POST("/:user_id", api.UserCaCert.AddUserCloudCert)
} }
// 医院 // 医院
hospitalGroup := certGroup.Group("/hospital") hospitalGroup := certGroup.Group("/hospital")
{ {
// 获取医院云证书数据
hospitalGroup.GET("", api.UserCaCert.GetHospitalCloudCert)
// 更新云证书-医院-续约 // 更新云证书-医院-续约
hospitalGroup.GET("/renew", api.UserCaCert.RenewHospitalCloudCert) hospitalGroup.PUT("/renew", api.UserCaCert.RenewHospitalCloudCert)
// 申请云证书-医院 // 申请云证书-医院
hospitalGroup.POST("", api.UserCaCert.GetHospitalCloudCert) hospitalGroup.POST("", api.UserCaCert.AddHospitalCloudCert)
} }
} }
@ -574,6 +577,5 @@ func privateRouter(r *gin.Engine, api controller.Api) {
// 添加签章配置 // 添加签章配置
signGroup.POST("", api.UserCaCert.AddUserSignConfig) signGroup.POST("", api.UserCaCert.AddUserSignConfig)
} }
} }
} }

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"gorm.io/gorm" "gorm.io/gorm"
"hospital-admin-api/api/dao" "hospital-admin-api/api/dao"
"hospital-admin-api/api/dto"
"hospital-admin-api/api/model" "hospital-admin-api/api/model"
"hospital-admin-api/api/requests" "hospital-admin-api/api/requests"
"hospital-admin-api/extend/aliyun" "hospital-admin-api/extend/aliyun"
@ -19,8 +20,8 @@ import (
type UserCaCertService struct { type UserCaCertService struct {
} }
// GetUserCloudCert 申请云证书-个人 // AddUserCloudCert 申请云证书-个人
func (r *UserCaCertService) GetUserCloudCert(tx *gorm.DB, userId int64) (bool, error) { func (r *UserCaCertService) AddUserCloudCert(tx *gorm.DB, userId int64) (bool, error) {
userCaCertDao := dao.UserCaCertDao{} userCaCertDao := dao.UserCaCertDao{}
// 检测是否存在云证书 // 检测是否存在云证书
@ -64,10 +65,6 @@ func (r *UserCaCertService) GetUserCloudCert(tx *gorm.DB, userId int64) (bool, e
return false, errors.New("请先通过身份认证") return false, errors.New("请先通过身份认证")
} }
if userDoctor.MultiPointStatus != 1 {
return false, errors.New("请先完成多点执业认证")
}
departmentCustomId = userDoctor.DepartmentCustomId // 自定义科室id departmentCustomId = userDoctor.DepartmentCustomId // 自定义科室id
cardName = userDoctorInfo.CardName // 身份证名称 cardName = userDoctorInfo.CardName // 身份证名称
cardNum = userDoctorInfo.CardNum // 身份证号码 cardNum = userDoctorInfo.CardNum // 身份证号码
@ -135,8 +132,8 @@ func (r *UserCaCertService) GetUserCloudCert(tx *gorm.DB, userId int64) (bool, e
return true, nil return true, nil
} }
// GetHospitalCloudCert 申请云证书-医院 // AddHospitalCloudCert 申请云证书-医院
func (r *UserCaCertService) GetHospitalCloudCert(tx *gorm.DB) (bool, error) { func (r *UserCaCertService) AddHospitalCloudCert(tx *gorm.DB) (bool, error) {
var userId int64 = 5345345461 var userId int64 = 5345345461
userCaCertDao := dao.UserCaCertDao{} userCaCertDao := dao.UserCaCertDao{}
@ -704,3 +701,19 @@ func (r *UserCaCertService) AddUserSignConfig(tx *gorm.DB, req requests.AddUserS
return true, nil return true, nil
} }
// GetHospitalCloudCert 获取医院云证书数据
func (r *UserCaCertService) GetHospitalCloudCert() (g *dto.UserCaCertDto, err error) {
var userId int64 = 5345345461
userCaCertDao := dao.UserCaCertDao{}
// 检测是否存在云证书
maps := make(map[string]interface{})
maps["is_system"] = 1
maps["ca_pin"] = userId
maps["type"] = 2
userCaCert, _ := userCaCertDao.GetUserCaCert(maps)
g = dto.GetUserCaCertDto(userCaCert)
return g, nil
}

View File

@ -1457,7 +1457,7 @@ func (r *UserDoctorService) PutMulti(doctorId int64, req requests.PutMulti) (boo
userCaCert, _ := userCaCertDao.GetUserCaCert(maps) userCaCert, _ := userCaCertDao.GetUserCaCert(maps)
if userCaCert == nil { if userCaCert == nil {
// 申请云证书 // 申请云证书
_, err = userCaCertService.GetUserCloudCert(tx, userDoctor.UserId) _, err = userCaCertService.AddUserCloudCert(tx, userDoctor.UserId)
if err != nil { if err != nil {
tx.Rollback() tx.Rollback()
return false, errors.New(err.Error()) return false, errors.New(err.Error())