新增多点审核状态变更

This commit is contained in:
wucongxing 2023-07-21 15:37:12 +08:00
parent ad5c73f52b
commit 3af20484bb

View File

@ -2,7 +2,6 @@ package service
import ( import (
"errors" "errors"
"fmt"
"hospital-admin-api/api/dao" "hospital-admin-api/api/dao"
"hospital-admin-api/api/model" "hospital-admin-api/api/model"
"hospital-admin-api/api/requests" "hospital-admin-api/api/requests"
@ -141,7 +140,6 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
// 获取医生绑定银行卡数据 // 获取医生绑定银行卡数据
doctorBankCardDao := dao.DoctorBankCardDao{} doctorBankCardDao := dao.DoctorBankCardDao{}
doctorBankCard, _ := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId) doctorBankCard, _ := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId)
fmt.Println(doctorBankCard)
userDoctorData := make(map[string]interface{}) // 医生数据 userDoctorData := make(map[string]interface{}) // 医生数据
userDoctorInfoData := make(map[string]interface{}) // 医生详情数据 userDoctorInfoData := make(map[string]interface{}) // 医生详情数据
@ -240,7 +238,6 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
licenseCert = strings.Join(result, ",") licenseCert = strings.Join(result, ",")
} }
if userDoctorInfo.LicenseCert != licenseCert { if userDoctorInfo.LicenseCert != licenseCert {
if userDoctor.IdenAuthStatus == 3 { if userDoctor.IdenAuthStatus == 3 {
// 如果认证失败,修改属性会重新进入待审核 // 如果认证失败,修改属性会重新进入待审核
@ -259,7 +256,6 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
qualificationCert = strings.Join(result, ",") qualificationCert = strings.Join(result, ",")
} }
if userDoctorInfo.QualificationCert != qualificationCert { if userDoctorInfo.QualificationCert != qualificationCert {
if userDoctor.IdenAuthStatus == 3 { if userDoctor.IdenAuthStatus == 3 {
// 如果认证失败,修改属性会重新进入待审核 // 如果认证失败,修改属性会重新进入待审核
@ -278,7 +274,6 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
workCert = strings.Join(result, ",") workCert = strings.Join(result, ",")
} }
if userDoctorInfo.WorkCert != workCert { if userDoctorInfo.WorkCert != workCert {
if userDoctor.IdenAuthStatus == 3 { if userDoctor.IdenAuthStatus == 3 {
// 如果认证失败,修改属性会重新进入待审核 // 如果认证失败,修改属性会重新进入待审核
@ -288,61 +283,50 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
} }
// 处理身份证正面图片 // 处理身份证正面图片
if userDoctorInfo.IdCardFront != "" && req.IdCardFront == "" { idCardFront := userDoctorInfo.IdCardFront
if idCardFront != "" && req.IdCardFront == "" {
return false, errors.New("未上传新的身份证图片") return false, errors.New("未上传新的身份证图片")
} }
if req.IdCardFront != "" { if req.IdCardFront != "" {
idCardFront := strings.Replace(req.IdCardFront, "https://img.applets.igandanyiyuan.com", "", 1) if utils.RemoveOssDomain(req.IdCardFront) != idCardFront {
if idCardFront != userDoctorInfo.IdCardFront {
if userDoctor.MultiPointStatus == 2 { if userDoctor.MultiPointStatus == 2 {
return false, errors.New("多点执业审核中,请操作后进行修改") return false, errors.New("多点执业审核中,请操作后进行修改")
} }
userDoctorInfoData["id_card_front"] = idCardFront
idCardFront = utils.RemoveOssDomain(req.IdCardFront)
userDoctorInfoData["id_card_front"] = utils.RemoveOssDomain(req.IdCardFront)
} }
} }
// 身份证背面图片 // 身份证背面图片
if userDoctorInfo.IdCardBack != "" && req.IdCardBack == "" { idCardBack := userDoctorInfo.IdCardBack
if idCardBack != "" && req.IdCardBack == "" {
return false, errors.New("未上传新的身份证图片") return false, errors.New("未上传新的身份证图片")
} }
if req.IdCardBack != "" { if req.IdCardBack != "" {
idCardBack := strings.Replace(req.IdCardBack, "https://img.applets.igandanyiyuan.com", "", 1) if utils.RemoveOssDomain(req.IdCardBack) != idCardBack {
if idCardBack != userDoctorInfo.IdCardBack {
if userDoctor.MultiPointStatus == 2 { if userDoctor.MultiPointStatus == 2 {
return false, errors.New("多点执业审核中,请操作后进行修改") return false, errors.New("多点执业审核中,请操作后进行修改")
} }
userDoctorInfoData["id_card_back"] = idCardBack idCardBack = utils.RemoveOssDomain(req.IdCardBack)
userDoctorInfoData["id_card_back"] = utils.RemoveOssDomain(req.IdCardBack)
} }
} }
// 签名图片 // 签名图片
if userDoctorInfo.SignImage != "" && req.SignImage == "" { signImage := userDoctorInfo.SignImage
if signImage != "" && req.SignImage == "" {
return false, errors.New("未上传新的签名图片") return false, errors.New("未上传新的签名图片")
} }
if req.SignImage != "" { if req.SignImage != "" {
signImage := utils.RemoveOssDomain(req.SignImage) if utils.RemoveOssDomain(req.SignImage) != signImage {
if signImage != userDoctorInfo.SignImage {
if userDoctor.MultiPointStatus == 2 { if userDoctor.MultiPointStatus == 2 {
return false, errors.New("多点执业审核中,请操作后进行修改") return false, errors.New("多点执业审核中,请操作后进行修改")
} }
signImage = utils.RemoveOssDomain(req.SignImage)
userDoctorInfoData["sign_image"] = signImage userDoctorInfoData["sign_image"] = signImage
// 检测是否存在正在审核中的处方
orderPrescriptionDao := dao.OrderPrescriptionDao{}
maps := make(map[string]interface{})
maps["doctor_id"] = doctorId
maps["prescription_status"] = 1
orderPrescription, err := orderPrescriptionDao.GetList(maps)
if err != nil {
return false, errors.New("修改失败")
}
if len(orderPrescription) > 0 {
return false, errors.New("存在审核中的处方,请勿修改签名数据")
}
} }
} }
@ -363,9 +347,13 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
} }
} }
// 处理多点状态-------- // 处理多点状态更新问题
if userDoctor.DepartmentCustomId != departmentCustomId { if signImage != "" && idCardBack != "" && idCardFront != "" {
if req.SignImage != "" && req.IdCardBack != "" && req.IdCardFront != "" { // 任何情况下科室修改,多点进入待审核
if userDoctor.DepartmentCustomId != departmentCustomId {
userDoctorData["multi_point_status"] = 2
userDoctorData["multi_point_fail_reason"] = ""
// 检测是否存在正在审核中的处方 // 检测是否存在正在审核中的处方
orderPrescriptionDao := dao.OrderPrescriptionDao{} orderPrescriptionDao := dao.OrderPrescriptionDao{}
@ -380,15 +368,34 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
if len(orderPrescription) > 0 { if len(orderPrescription) > 0 {
return false, errors.New("存在审核中的处方,请勿修改科室数据") return false, errors.New("存在审核中的处方,请勿修改科室数据")
} }
}
userDoctorData["multi_point_status"] = 2 // 审核失败、未审核情况下,如果数据存在修改,进入待审核
userDoctorData["multi_point_fail_reason"] = "" if userDoctor.MultiPointStatus == 0 || userDoctor.MultiPointStatus == 2 {
if signImage != userDoctorInfo.SignImage || idCardBack != userDoctorInfo.IdCardBack || idCardFront != userDoctorInfo.IdCardFront {
userDoctorData["multi_point_status"] = 2
userDoctorData["multi_point_fail_reason"] = ""
// 检测是否存在正在审核中的处方
orderPrescriptionDao := dao.OrderPrescriptionDao{}
maps := make(map[string]interface{})
maps["doctor_id"] = doctorId
maps["prescription_status"] = 1
orderPrescription, err := orderPrescriptionDao.GetList(maps)
if err != nil {
return false, errors.New("修改失败")
}
if len(orderPrescription) > 0 {
return false, errors.New("存在审核中的处方,请勿修改科室数据")
}
}
} }
} }
// 处理银行卡 // 签名、身份证数据不为空的情况下,银行卡数据必填
if (userDoctorInfo.IdCardFront != "" || req.IdCardFront != "") && (userDoctorInfo.IdCardBack != "" || req.IdCardBack != "") && (userDoctorInfo.SignImage != "" || req.SignImage != "") { if (userDoctorInfo.IdCardFront != "" || req.IdCardFront != "") && (userDoctorInfo.IdCardBack != "" || req.IdCardBack != "") && (userDoctorInfo.SignImage != "" || req.SignImage != "") {
// 签名、身份证数据不为空的情况下,银行卡数据必填
if req.BankCardCode == "" || req.BankId == "" || req.BankCardProvinceId == 0 || req.BankCardCountyId == 0 || req.BankCardCityId == 0 { if req.BankCardCode == "" || req.BankId == "" || req.BankCardProvinceId == 0 || req.BankCardCountyId == 0 || req.BankCardCityId == 0 {
return false, errors.New("请填入银行卡数据") return false, errors.New("请填入银行卡数据")
} }
@ -435,7 +442,8 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, req requests.PutUserDo
if doctorBankCard.BankCardCode != req.BankCardCode { if doctorBankCard.BankCardCode != req.BankCardCode {
bankCardCode = req.BankCardCode bankCardCode = req.BankCardCode
} }
} else { }
if doctorBankCard == nil {
if req.BankCardCode != "" && req.BankId != "" && req.BankCardProvinceId != 0 && req.BankCardCountyId != 0 && req.BankCardCityId != 0 { if req.BankCardCode != "" && req.BankId != "" && req.BankCardProvinceId != 0 && req.BankCardCountyId != 0 && req.BankCardCityId != 0 {
provinceId = req.BankCardProvinceId provinceId = req.BankCardProvinceId
cityId = req.BankCardCityId cityId = req.BankCardCityId