新增审核-医生列表-详情
This commit is contained in:
parent
f57b5487d3
commit
8b0589af51
@ -116,3 +116,24 @@ func (b *Admin) GetDecryptCardNum(c *gin.Context) {
|
||||
userCardNum, _ := userService.GetUserCardNum(userId, familyId)
|
||||
responses.OkWithData(userCardNum, c)
|
||||
}
|
||||
|
||||
// GetDecryptBank 获取解密银行卡号
|
||||
func (b *Admin) GetDecryptBank(c *gin.Context) {
|
||||
id := c.Param("doctor_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
doctorId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取解密银行卡号
|
||||
userService := service.UserService{}
|
||||
userCardNum, _ := userService.GetUserBankNumByDoctorId(doctorId)
|
||||
responses.OkWithData(userCardNum, c)
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ func (r *UserDoctor) GetUserDoctorPage(c *gin.Context) {
|
||||
}
|
||||
|
||||
userDoctorDao := dao.UserDoctorDao{}
|
||||
userDoctor, total, err := userDoctorDao.GetUserDoctorDaoPageSearch(userDoctorRequest.GetUserDoctorPage, userDoctorRequest.GetUserDoctorPage.Page, userDoctorRequest.GetUserDoctorPage.PageSize)
|
||||
userDoctor, total, err := userDoctorDao.GetUserDoctorPageSearch(userDoctorRequest.GetUserDoctorPage, userDoctorRequest.GetUserDoctorPage.Page, userDoctorRequest.GetUserDoctorPage.PageSize)
|
||||
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
@ -153,7 +153,7 @@ func (r *UserDoctor) AddUserDoctor(c *gin.Context) {
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// GetUserDoctorPendingPage 获取医生待审核列表-分页
|
||||
// GetUserDoctorPendingPage 审核-获取医生列表-分页
|
||||
func (r *UserDoctor) GetUserDoctorPendingPage(c *gin.Context) {
|
||||
userDoctorRequest := requests.UserDoctorRequest{}
|
||||
if err := c.ShouldBind(&userDoctorRequest.GetUserDoctorPendingPage); err != nil {
|
||||
@ -176,7 +176,7 @@ func (r *UserDoctor) GetUserDoctorPendingPage(c *gin.Context) {
|
||||
}
|
||||
|
||||
userDoctorDao := dao.UserDoctorDao{}
|
||||
userDoctor, total, err := userDoctorDao.GetUserDoctorDaoPageSearch(userDoctorRequest.GetUserDoctorPage, userDoctorRequest.GetUserDoctorPage.Page, userDoctorRequest.GetUserDoctorPage.PageSize)
|
||||
userDoctor, total, err := userDoctorDao.GetUserDoctorPendingPageSearch(userDoctorRequest.GetUserDoctorPendingPage, userDoctorRequest.GetUserDoctorPage.Page, userDoctorRequest.GetUserDoctorPage.PageSize)
|
||||
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
@ -184,7 +184,7 @@ func (r *UserDoctor) GetUserDoctorPendingPage(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
getUserDoctorPageResponses := userDoctorResponse.GetUserDoctorPageResponse(userDoctor)
|
||||
getUserDoctorPageResponses := userDoctorResponse.GetUserDoctorPendingPageResponse(userDoctor)
|
||||
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = userDoctorRequest.GetUserDoctorPage.Page
|
||||
@ -193,3 +193,29 @@ func (r *UserDoctor) GetUserDoctorPendingPage(c *gin.Context) {
|
||||
result["data"] = getUserDoctorPageResponses
|
||||
responses.OkWithData(result, c)
|
||||
}
|
||||
|
||||
// GetUserDoctorPending 审核-医生详情
|
||||
func (r *UserDoctor) GetUserDoctorPending(c *gin.Context) {
|
||||
id := c.Param("doctor_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
doctorId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
userDoctorService := service.UserDoctorService{}
|
||||
g, err := userDoctorService.GetUserDoctorPending(doctorId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.OkWithData(g, c)
|
||||
}
|
||||
|
||||
@ -74,8 +74,8 @@ func (r *UserDoctorDao) GetUserDoctorList(maps interface{}) (m []*model.UserDoct
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetUserDoctorDaoPageSearch 获取医生列表-分页
|
||||
func (r *UserDoctorDao) GetUserDoctorDaoPageSearch(getUserDoctorPage requests.GetUserDoctorPage, page, pageSize int) (m []*model.UserDoctor, total int64, err error) {
|
||||
// GetUserDoctorPageSearch 获取医生列表-分页
|
||||
func (r *UserDoctorDao) GetUserDoctorPageSearch(getUserDoctorPage requests.GetUserDoctorPage, page, pageSize int) (m []*model.UserDoctor, total int64, err error) {
|
||||
var totalRecords int64
|
||||
|
||||
// 构建查询条件
|
||||
@ -211,3 +211,60 @@ func (r *UserDoctorDao) AddUserDoctor(tx *gorm.DB, model *model.UserDoctor) (*mo
|
||||
}
|
||||
return model, nil
|
||||
}
|
||||
|
||||
// GetUserDoctorPendingPageSearch 审核-获取医生列表-分页
|
||||
func (r *UserDoctorDao) GetUserDoctorPendingPageSearch(p requests.GetUserDoctorPendingPage, page, pageSize int) (m []*model.UserDoctor, total int64, err error) {
|
||||
var totalRecords int64
|
||||
|
||||
// 构建查询条件
|
||||
query := global.Db.Model(&model.UserDoctor{}).Omit("open_id", "union_id", "wx_session_key")
|
||||
|
||||
// 用户
|
||||
query = query.Preload("User", func(db *gorm.DB) *gorm.DB {
|
||||
return db.Omit("user_password", "salt")
|
||||
})
|
||||
|
||||
// 医院
|
||||
query = query.Preload("Hospital", func(db *gorm.DB) *gorm.DB {
|
||||
return db.Select("hospital_id,hospital_name,hospital_level_name")
|
||||
})
|
||||
|
||||
// 手机号
|
||||
if p.Mobile != "" {
|
||||
subQuery := global.Db.Model(&model.User{}).
|
||||
Select("user_id").
|
||||
Where("mobile LIKE ?", "%"+p.Mobile+"%")
|
||||
|
||||
query = query.Where(gorm.Expr("user_id IN (?)", subQuery))
|
||||
}
|
||||
|
||||
// 用户名称
|
||||
if p.UserName != "" {
|
||||
query = query.Where("user_name LIKE ?", "%"+p.UserName+"%")
|
||||
}
|
||||
|
||||
// 身份认证状态
|
||||
if p.IdenAuthStatus != 0 {
|
||||
query = query.Where("iden_auth_status = ?", p.IdenAuthStatus)
|
||||
}
|
||||
|
||||
// 医院名称
|
||||
if p.HospitalName != "" {
|
||||
subQuery := global.Db.Model(&model.Hospital{}).
|
||||
Select("hospital_id").
|
||||
Where("hospital_name LIKE ?", "%"+p.HospitalName+"%")
|
||||
|
||||
query = query.Where(gorm.Expr("hospital_id IN (?)", subQuery))
|
||||
}
|
||||
|
||||
// 查询总数量
|
||||
if err := query.Count(&totalRecords).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return m, totalRecords, nil
|
||||
}
|
||||
|
||||
@ -34,6 +34,7 @@ type UserDoctor struct {
|
||||
IsImgQuickReception int `gorm:"column:is_img_quick_reception;type:tinyint(1);default:0;comment:是否参加快速图文接诊(0:否 1:是)" json:"is_img_quick_reception"`
|
||||
IsPlatformDeepCooperation int `gorm:"column:is_platform_deep_cooperation;type:tinyint(1);default:0;comment:是否平台深度合作医生(0:否 1:是)" json:"is_platform_deep_cooperation"`
|
||||
IsEnterpriseDeepCooperation int `gorm:"column:is_enterprise_deep_cooperation;type:tinyint(1);default:0;comment:是否企业深度合作医生(0:否 1:是)" json:"is_enterprise_deep_cooperation"`
|
||||
IsSysDiagnoCooperation int `gorm:"column:is_sys_diagno_cooperation;type:tinyint(1);default:0;comment:是否先思达合作医生(0:否 1:是)" json:"is_sys_diagno_cooperation"`
|
||||
QrCode string `gorm:"column:qr_code;type:varchar(255);comment:分享二维码" json:"qr_code"`
|
||||
BeGoodAt string `gorm:"column:be_good_at;type:text;comment:擅长" json:"be_good_at"`
|
||||
BriefIntroduction string `gorm:"column:brief_introduction;type:text;comment:医生简介" json:"brief_introduction"`
|
||||
|
||||
@ -4,7 +4,7 @@ type UserDoctorRequest struct {
|
||||
GetUserDoctorPage // 获取医生列表-分页
|
||||
PutUserDoctor // 修改医生
|
||||
AddUserDoctor // 新增医生
|
||||
GetUserDoctorPendingPage // 获取医生待审核列表-分页
|
||||
GetUserDoctorPendingPage // 审核-获取医生列表-分页
|
||||
}
|
||||
|
||||
// GetUserDoctorPage 获取医生列表-分页
|
||||
@ -23,28 +23,30 @@ type GetUserDoctorPage struct {
|
||||
DoctorTitle int `json:"doctor_title" form:"doctor_title" label:"医生职称"` // (1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师)
|
||||
InquiryService string `json:"inquiry_service" form:"inquiry_service" label:"问诊服务"` // (1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||
IsEnterpriseDeepCooperation int `json:"is_enterprise_deep_cooperation" form:"is_enterprise_deep_cooperation" label:"是否企业深度合作"` // (0:否 1:是)
|
||||
IsSysDiagnoCooperation int `json:"is_sys_diagno_cooperation" form:"is_sys_diagno_cooperation" label:"是否先思达合作医生"` // (0:否 1:是)
|
||||
}
|
||||
|
||||
// PutUserDoctor 修改医生
|
||||
type PutUserDoctor struct {
|
||||
IsRecommend int `json:"is_recommend" form:"is_recommend" label:"是否首页推荐"` // (0:否 1:是)
|
||||
Avatar string `json:"avatar" form:"avatar" validate:"required" label:"头像"`
|
||||
DoctorTitle int `json:"doctor_title" form:"doctor_title" validate:"required,oneof=1 2 3 4 5 6" label:"医生职称"` // (1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师)
|
||||
DepartmentCustomId string `json:"department_custom_id" form:"department_custom_id" validate:"required" label:"科室"`
|
||||
DepartmentCustomName string `json:"department_custom_name" form:"department_custom_name" validate:"required" label:"科室名称"` // (如未自己输入,填入标准科室名称)
|
||||
DepartmentCustomMobile string `json:"department_custom_mobile" form:"department_custom_mobile" label:"科室电话"`
|
||||
HospitalId string `json:"hospital_id" form:"hospital_id" validate:"required" label:"所属医院id"`
|
||||
BeGoodAt string `json:"be_good_at" form:"be_good_at" validate:"required" label:"擅长"`
|
||||
BriefIntroduction string `json:"brief_introduction" form:"brief_introduction" validate:"required" label:"医生简介"`
|
||||
LicenseCert []string `json:"license_cert" form:"license_cert" label:"医师执业证"`
|
||||
QualificationCert []string `json:"qualification_cert" form:"qualification_cert" label:"医师资格证"`
|
||||
QualificationCertNum string `json:"qualification_cert_num" form:"qualification_cert_num" label:"医师资格证号"`
|
||||
WorkCert []string `json:"work_cert" form:"work_cert" label:"医师工作证"`
|
||||
IdCardFront string `json:"id_card_front" form:"id_card_front" label:"身份证正面图片"`
|
||||
IdCardBack string `json:"id_card_back" form:"id_card_back" label:"身份证背面图片"`
|
||||
SignImage string `json:"sign_image" form:"sign_image" label:"签名图片"`
|
||||
DoctorExpertise []string `json:"doctor_expertise" form:"doctor_expertise" label:"专长"`
|
||||
// DoctorBankCard doctorBankCard `json:"doctor_bank_card" form:"doctor_bank_card" label:"银行卡"`
|
||||
IsRecommend int `json:"is_recommend" form:"is_recommend" label:"是否首页推荐"` // (0:否 1:是)
|
||||
Avatar string `json:"avatar" form:"avatar" validate:"required" label:"头像"`
|
||||
DoctorTitle int `json:"doctor_title" form:"doctor_title" validate:"required,oneof=1 2 3 4 5 6" label:"医生职称"` // (1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师)
|
||||
DepartmentCustomId string `json:"department_custom_id" form:"department_custom_id" validate:"required" label:"科室"`
|
||||
DepartmentCustomName string `json:"department_custom_name" form:"department_custom_name" validate:"required" label:"科室名称"` // (如未自己输入,填入标准科室名称)
|
||||
DepartmentCustomMobile string `json:"department_custom_mobile" form:"department_custom_mobile" label:"科室电话"`
|
||||
HospitalId string `json:"hospital_id" form:"hospital_id" validate:"required" label:"所属医院id"`
|
||||
IsPlatformDeepCooperation int `json:"is_platform_deep_cooperation" form:"is_platform_deep_cooperation" label:"平台深度合作医生"` // 是否平台深度合作医生(0:否 1:是)
|
||||
IsSysDiagnoCooperation int `json:"is_sys_diagno_cooperation" form:"is_sys_diagno_cooperation" label:"是否先思达合作医生)"` // 是否先思达合作医生(0:否 1:是)
|
||||
BeGoodAt string `json:"be_good_at" form:"be_good_at" validate:"required" label:"擅长"`
|
||||
BriefIntroduction string `json:"brief_introduction" form:"brief_introduction" validate:"required" label:"医生简介"`
|
||||
LicenseCert []string `json:"license_cert" form:"license_cert" label:"医师执业证"`
|
||||
QualificationCert []string `json:"qualification_cert" form:"qualification_cert" label:"医师资格证"`
|
||||
QualificationCertNum string `json:"qualification_cert_num" form:"qualification_cert_num" label:"医师资格证号"`
|
||||
WorkCert []string `json:"work_cert" form:"work_cert" label:"医师工作证"`
|
||||
IdCardFront string `json:"id_card_front" form:"id_card_front" label:"身份证正面图片"`
|
||||
IdCardBack string `json:"id_card_back" form:"id_card_back" label:"身份证背面图片"`
|
||||
SignImage string `json:"sign_image" form:"sign_image" label:"签名图片"`
|
||||
DoctorExpertise []string `json:"doctor_expertise" form:"doctor_expertise" label:"专长"`
|
||||
}
|
||||
|
||||
// AddUserDoctor 新增医生
|
||||
@ -58,7 +60,8 @@ type AddUserDoctor struct {
|
||||
DepartmentCustomName string `json:"department_custom_name" form:"department_custom_name" validate:"required" label:"科室名称"` // (如未自己输入,填入标准科室名称)
|
||||
DepartmentCustomMobile string `json:"department_custom_mobile" form:"department_custom_mobile" label:"科室电话"`
|
||||
HospitalId string `json:"hospital_id" form:"hospital_id" validate:"required" label:"所属医院id"`
|
||||
IsPlatformDeepCooperation int `json:"is_platform_deep_cooperation" form:"is_platform_deep_cooperation" validate:"required" label:"平台深度合作医生"` // 是否平台深度合作医生(0:否 1:是)
|
||||
IsPlatformDeepCooperation int `json:"is_platform_deep_cooperation" form:"is_platform_deep_cooperation" label:"平台深度合作医生"` // 是否平台深度合作医生(0:否 1:是)
|
||||
IsSysDiagnoCooperation int `json:"is_sys_diagno_cooperation" form:"is_sys_diagno_cooperation" label:"是否先思达合作医生)"` // 是否先思达合作医生(0:否 1:是)
|
||||
BeGoodAt string `json:"be_good_at" form:"be_good_at" validate:"required" label:"擅长"`
|
||||
BriefIntroduction string `json:"brief_introduction" form:"brief_introduction" validate:"required" label:"医生简介"`
|
||||
LicenseCert []string `json:"license_cert" form:"license_cert" validate:"required" label:"医师执业证"`
|
||||
@ -70,26 +73,14 @@ type AddUserDoctor struct {
|
||||
SignImage string `json:"sign_image" form:"sign_image" label:"签名图片"`
|
||||
CardNum string `json:"card_num" form:"card_num" validate:"required" label:"证件号码"`
|
||||
DoctorExpertise []string `json:"doctor_expertise" form:"doctor_expertise" label:"专长"`
|
||||
// DoctorBankCard []string `json:"doctor_bank_card" form:"doctor_bank_card" label:"银行卡"`
|
||||
}
|
||||
|
||||
// GetUserDoctorPendingPage 获取医生待审核列表-分页
|
||||
// GetUserDoctorPendingPage 审核-获取医生列表-分页
|
||||
type GetUserDoctorPendingPage struct {
|
||||
Page int `json:"page" form:"page" label:"页码"`
|
||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||
Mobile string `json:"mobile" form:"mobile" label:"手机号"`
|
||||
UserName string `json:"user_name" form:"user_name" label:"用户名"`
|
||||
HospitalName string `json:"hospital_name" form:"hospital_name" label:"医院名称"`
|
||||
IdenAuthStatus int `json:"iden_auth_status" form:"iden_auth_status" label:"认证状态"` // (0:未认证 1:认证通过 2:审核中 3:认证失败)
|
||||
MultiPointStatus int `json:"multi_point_status" form:"multi_point_status" label:"多点执业状态"` // 医生多点执业认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败)
|
||||
Page int `json:"page" form:"page" label:"页码"`
|
||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||
Mobile string `json:"mobile" form:"mobile" label:"手机号"`
|
||||
UserName string `json:"user_name" form:"user_name" label:"用户名"`
|
||||
HospitalName string `json:"hospital_name" form:"hospital_name" label:"医院名称"`
|
||||
IdenAuthStatus int `json:"iden_auth_status" form:"iden_auth_status" label:"认证状态"` // (0:未认证 1:认证通过 2:审核中 3:认证失败)
|
||||
}
|
||||
|
||||
// 医生银行卡
|
||||
// type doctorBankCard struct {
|
||||
// BankId string `json:"bank_id" form:"bank_id" validate:"required" label:"银行id"`
|
||||
// BankCardCode string `json:"bank_card_code" form:"bank_card_code" validate:"required" label:"银行卡号"`
|
||||
// BankCardCodeMask string `json:"bank_card_code_mask" form:"bank_card_code_mask" validate:"required" label:"银行卡号"`
|
||||
// ProvinceId int `json:"province_id" form:"province_id" validate:"required" label:"省份id"`
|
||||
// CityId int `json:"city_id" form:"city_id" validate:"required" label:"城市id"`
|
||||
// CountyId int `json:"county_id" form:"county_id" validate:"required" label:"区县id"`
|
||||
// }
|
||||
|
||||
@ -79,6 +79,7 @@ type GetUserDoctor struct {
|
||||
IsImgQuickReception int `json:"is_img_quick_reception"` // 是否参加快速图文接诊(0:否 1:是)
|
||||
IsPlatformDeepCooperation int `json:"is_platform_deep_cooperation"` // 是否平台深度合作医生(0:否 1:是)
|
||||
IsEnterpriseDeepCooperation int `json:"is_enterprise_deep_cooperation"` // 是否企业深度合作医生(0:否 1:是)
|
||||
IsSysDiagnoCooperation int `json:"is_sys_diagno_cooperation"` // 是否先思达合作医生(0:否 1:是)
|
||||
QrCode string `json:"qr_code"` // 分享二维码
|
||||
BeGoodAt string `json:"be_good_at"` // 擅长
|
||||
BriefIntroduction string `json:"brief_introduction"` // 医生简介
|
||||
@ -91,6 +92,55 @@ type GetUserDoctor struct {
|
||||
DoctorBankCard *doctorBankCardResponse.DoctorBankCard `json:"doctor_bank_card"` // 医生银行卡
|
||||
}
|
||||
|
||||
// getUserDoctorPendingPage 审核-获取医生列表-分页
|
||||
type getUserDoctorPendingPage struct {
|
||||
DoctorID string `json:"doctor_id"` // 主键id
|
||||
UserID string `json:"user_id"` // 用户id
|
||||
UserName string `json:"user_name"` // 用户名称
|
||||
Status int `json:"status"` // 状态(0:禁用 1:正常 2:删除)
|
||||
IDCardStatus int `json:"idcard_status"` // 实名认证状态(0:未认证 1:认证通过 2:认证失败)
|
||||
IdenAuthStatus int `json:"iden_auth_status"` // 身份认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败)
|
||||
IdenAuthTime model.LocalTime `json:"iden_auth_time"` // 审核时间
|
||||
IdenAuthFailReason string `json:"iden_auth_fail_reason"` // 身份认证失败原因
|
||||
Avatar string `json:"avatar"` // 头像
|
||||
DoctorTitle int `json:"doctor_title"` // 医生职称(1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师)
|
||||
DepartmentCustomName string `json:"department_custom_name"` // 科室名称(如未自己输入,填入标准科室名称)
|
||||
DepartmentCustomMobile string `json:"department_custom_mobile"` // 科室电话
|
||||
HospitalID string `json:"hospital_id"` // 所属医院id
|
||||
HospitalName string `json:"hospital_name"` // 医院名称
|
||||
Mobile string `json:"mobile"` // 手机号
|
||||
Age uint `json:"age"` // 年龄
|
||||
Sex int `json:"sex"` // 性别(0:未知 1:男 2:女)
|
||||
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
||||
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
|
||||
}
|
||||
|
||||
// GetUserDoctorPending 审核-医生详情
|
||||
type GetUserDoctorPending struct {
|
||||
DoctorID string `json:"doctor_id"` // 主键id
|
||||
UserID string `json:"user_id"` // 用户id
|
||||
UserName string `json:"user_name"` // 用户名称
|
||||
Status int `json:"status"` // 状态(0:禁用 1:正常 2:删除)
|
||||
IDCardStatus int `json:"idcard_status"` // 实名认证状态(0:未认证 1:认证通过 2:认证失败)
|
||||
IdenAuthStatus int `json:"iden_auth_status"` // 身份认证状态(0:未认证 1:认证通过 2:审核中 3:认证失败)
|
||||
IdenAuthTime model.LocalTime `json:"iden_auth_time"` // 审核时间
|
||||
IdenAuthFailReason string `json:"iden_auth_fail_reason"` // 身份认证失败原因
|
||||
Avatar string `json:"avatar"` // 头像
|
||||
DoctorTitle int `json:"doctor_title"` // 医生职称(1:主任医师 2:主任中医师 3:副主任医师 4:副主任中医师 5:主治医师 6:住院医师)
|
||||
DepartmentCustomID string `json:"department_custom_id"` // 科室id-自定义
|
||||
DepartmentCustomName string `json:"department_custom_name"` // 科室名称(如未自己输入,填入标准科室名称)
|
||||
DepartmentCustomMobile string `json:"department_custom_mobile"` // 科室电话
|
||||
HospitalID string `json:"hospital_id"` // 所属医院id
|
||||
BeGoodAt string `json:"be_good_at"` // 擅长
|
||||
BriefIntroduction string `json:"brief_introduction"` // 医生简介
|
||||
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
||||
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
|
||||
User *userResponse.User `json:"user"` // 用户
|
||||
Hospital *hospitalResponse.Hospital `json:"hospital"` // 医院
|
||||
UserDoctorInfo *userDoctorInfoResponse.UserDoctorInfo `json:"user_doctor_info"` // 医生详情
|
||||
DoctorExpertise []*doctorExpertiseResponse.DoctorExpertise `json:"doctor_expertise"` // 医生专长
|
||||
}
|
||||
|
||||
// GetUserDoctorPageResponse 获取用户列表-分页
|
||||
func GetUserDoctorPageResponse(userDoctor []*model.UserDoctor) []getUserDoctorPage {
|
||||
// 处理返回值
|
||||
@ -148,3 +198,47 @@ func GetUserDoctorPageResponse(userDoctor []*model.UserDoctor) []getUserDoctorPa
|
||||
|
||||
return getUserPageResponses
|
||||
}
|
||||
|
||||
// GetUserDoctorPendingPageResponse 审核-获取医生列表-分页
|
||||
func GetUserDoctorPendingPageResponse(userDoctor []*model.UserDoctor) []getUserDoctorPendingPage {
|
||||
// 处理返回值
|
||||
getUserDoctorPendingPageResponses := make([]getUserDoctorPendingPage, len(userDoctor))
|
||||
|
||||
if len(userDoctor) > 0 {
|
||||
for i, v := range userDoctor {
|
||||
// 将原始结构体转换为新结构体
|
||||
getUserDoctorPageResponse := getUserDoctorPendingPage{
|
||||
DoctorID: strconv.Itoa(int(v.DoctorId)),
|
||||
UserID: strconv.Itoa(int(v.UserId)),
|
||||
UserName: v.UserName,
|
||||
Status: v.Status,
|
||||
IDCardStatus: v.Status,
|
||||
IdenAuthStatus: v.IdenAuthStatus,
|
||||
IdenAuthTime: v.IdenAuthTime,
|
||||
IdenAuthFailReason: v.IdenAuthFailReason,
|
||||
Avatar: config.C.Oss.OssCustomDomainName + "/" + v.Avatar,
|
||||
DoctorTitle: v.DoctorTitle,
|
||||
DepartmentCustomName: v.DepartmentCustomName,
|
||||
DepartmentCustomMobile: v.DepartmentCustomMobile,
|
||||
HospitalID: strconv.Itoa(int(v.HospitalID)),
|
||||
CreatedAt: v.CreatedAt,
|
||||
UpdatedAt: v.UpdatedAt,
|
||||
}
|
||||
|
||||
if v.User != nil {
|
||||
getUserDoctorPageResponse.Mobile = v.User.Mobile
|
||||
getUserDoctorPageResponse.Age = v.User.Age
|
||||
getUserDoctorPageResponse.Sex = v.User.Sex
|
||||
}
|
||||
|
||||
if v.Hospital != nil {
|
||||
getUserDoctorPageResponse.HospitalName = v.Hospital.HospitalName
|
||||
}
|
||||
|
||||
// 将转换后的结构体添加到新切片中
|
||||
getUserDoctorPendingPageResponses[i] = getUserDoctorPageResponse
|
||||
}
|
||||
}
|
||||
|
||||
return getUserDoctorPendingPageResponses
|
||||
}
|
||||
|
||||
@ -84,11 +84,10 @@ func adminRouter(r *gin.Engine, api controller.Api) {
|
||||
{
|
||||
// 获取解密身份证号
|
||||
cardGroup.GET("/num", api.Admin.GetDecryptCardNum)
|
||||
|
||||
}
|
||||
|
||||
// 获取银行卡号
|
||||
decryptGroup.GET("/bank", api.Admin.GetOssSign)
|
||||
// 获取解密银行卡号
|
||||
decryptGroup.GET("/bank/:doctor_id", api.Admin.GetDecryptBank)
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,6 +142,21 @@ func basicRouter(r *gin.Engine, api controller.Api) {
|
||||
|
||||
// 新增银行
|
||||
}
|
||||
|
||||
// 省市区管理-基础数据
|
||||
areaGroup := basicGroup.Group("/area")
|
||||
{
|
||||
// 获取省市区列表
|
||||
areaGroup.GET("/list", api.Bank.GetBankList)
|
||||
|
||||
// 获取银行列表-分页
|
||||
|
||||
// 银行详情
|
||||
|
||||
// 修改银行
|
||||
|
||||
// 新增银行
|
||||
}
|
||||
}
|
||||
|
||||
// privateRouter 私有路由-验证权限
|
||||
@ -303,13 +317,13 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
doctorGroup.POST("", api.UserDoctor.AddUserDoctor)
|
||||
|
||||
// 待审核列表
|
||||
doctorPendingGroup := adminGroup.Group("/pending")
|
||||
doctorPendingGroup := doctorGroup.Group("/pending")
|
||||
{
|
||||
// 获取医生列表-分页
|
||||
// 审核-获取医生列表-分页
|
||||
doctorPendingGroup.GET("", api.UserDoctor.GetUserDoctorPendingPage)
|
||||
|
||||
// 医生详情
|
||||
doctorPendingGroup.GET("/:doctor_id", api.UserDoctor.GetUserDoctor)
|
||||
// 审核-医生详情
|
||||
doctorPendingGroup.GET("/:doctor_id", api.UserDoctor.GetUserDoctorPending)
|
||||
|
||||
// 修改医生
|
||||
doctorPendingGroup.PUT("/:doctor_id", api.UserDoctor.PutUserDoctor)
|
||||
|
||||
@ -436,3 +436,15 @@ func (r *UserService) GetUserCardNum(userId, familyId int64) (string, error) {
|
||||
|
||||
return cardNum, nil
|
||||
}
|
||||
|
||||
// GetUserBankNumByDoctorId 获取银行卡号
|
||||
func (r *UserService) GetUserBankNumByDoctorId(doctorId int64) (string, error) {
|
||||
// 获取用户数据
|
||||
doctorBankCardDao := dao.DoctorBankCardDao{}
|
||||
doctorBankCard, err := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId)
|
||||
if err != nil || doctorBankCard == nil {
|
||||
return "", errors.New("错误数据")
|
||||
}
|
||||
|
||||
return doctorBankCard.BankCardCode, nil
|
||||
}
|
||||
|
||||
@ -92,6 +92,7 @@ func (r *UserDoctorService) GetUserDoctor(doctorId int64) (getUserDoctorResponse
|
||||
IsImgWelfareReception: userDoctor.IsImgWelfareReception,
|
||||
IsImgQuickReception: userDoctor.IsImgQuickReception,
|
||||
IsPlatformDeepCooperation: userDoctor.IsPlatformDeepCooperation,
|
||||
IsSysDiagnoCooperation: userDoctor.IsSysDiagnoCooperation,
|
||||
QrCode: config.C.Oss.OssCustomDomainName + userDoctor.QrCode,
|
||||
BeGoodAt: userDoctor.BeGoodAt,
|
||||
BriefIntroduction: userDoctor.BriefIntroduction,
|
||||
@ -192,6 +193,16 @@ func (r *UserDoctorService) PutUserDoctor(doctorId int64, putUserDoctorRequest r
|
||||
userDoctorData["department_custom_id"] = putUserDoctorRequest.HospitalId
|
||||
}
|
||||
|
||||
// 处理深度合作医生
|
||||
if userDoctor.IsPlatformDeepCooperation != putUserDoctorRequest.IsPlatformDeepCooperation {
|
||||
userDoctorData["is_platform_deep_cooperation"] = putUserDoctorRequest.IsPlatformDeepCooperation
|
||||
}
|
||||
|
||||
// 处理是否先思达合作医生
|
||||
if userDoctor.IsSysDiagnoCooperation != putUserDoctorRequest.IsSysDiagnoCooperation {
|
||||
userDoctorData["is_sys_diagno_cooperation"] = putUserDoctorRequest.IsSysDiagnoCooperation
|
||||
}
|
||||
|
||||
// 处理擅长
|
||||
if userDoctor.BeGoodAt != putUserDoctorRequest.BeGoodAt {
|
||||
userDoctorData["be_good_at"] = putUserDoctorRequest.BeGoodAt
|
||||
@ -721,6 +732,7 @@ func (r *UserDoctorService) AddUserDoctor(userId string, a requests.AddUserDocto
|
||||
DepartmentCustomMobile: a.DepartmentCustomMobile,
|
||||
HospitalID: hospitalId,
|
||||
IsPlatformDeepCooperation: a.IsPlatformDeepCooperation,
|
||||
IsSysDiagnoCooperation: a.IsSysDiagnoCooperation,
|
||||
BeGoodAt: a.BeGoodAt,
|
||||
BriefIntroduction: a.BriefIntroduction,
|
||||
}
|
||||
@ -843,3 +855,66 @@ func (r *UserDoctorService) GetUserDoctorBankByDoctorId(doctorId int64) (*doctor
|
||||
|
||||
return doctorExpertisesResponse, nil
|
||||
}
|
||||
|
||||
// GetUserDoctorPending 医生详情-审核
|
||||
func (r *UserDoctorService) GetUserDoctorPending(doctorId int64) (g *userDoctorResponse.GetUserDoctorPending, err error) {
|
||||
// 获取医生数据
|
||||
userDoctorDao := dao.UserDoctorDao{}
|
||||
userDoctor, err := userDoctorDao.GetUserDoctorPreloadById(doctorId)
|
||||
if err != nil || userDoctor == nil {
|
||||
return nil, errors.New("用户数据错误")
|
||||
}
|
||||
|
||||
userDoctorService := UserDoctorService{}
|
||||
|
||||
// 获取医生专长
|
||||
doctorExpertise, err := userDoctorService.GetUserDoctorExpertiseByDoctorId(doctorId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
var userDoctorInfo *userDoctorInfoResponse.UserDoctorInfo
|
||||
if userDoctor.UserDoctorInfo != nil {
|
||||
userDoctorInfo = userDoctorInfoResponse.UserDoctorInfoResponse(userDoctor.UserDoctorInfo)
|
||||
}
|
||||
|
||||
// 医院
|
||||
var hospital *hospitalResponse.Hospital
|
||||
if userDoctor.Hospital != nil {
|
||||
hospital = hospitalResponse.HospitalResponse(userDoctor.Hospital)
|
||||
}
|
||||
|
||||
// 用户
|
||||
var user *userResponse.User
|
||||
if userDoctor.User != nil {
|
||||
user = userResponse.UserResponse(userDoctor.User)
|
||||
}
|
||||
|
||||
g = &userDoctorResponse.GetUserDoctorPending{
|
||||
DoctorID: strconv.Itoa(int(userDoctor.DoctorId)),
|
||||
UserID: strconv.Itoa(int(userDoctor.UserId)),
|
||||
UserName: userDoctor.UserName,
|
||||
Status: userDoctor.Status,
|
||||
IDCardStatus: userDoctor.Status,
|
||||
IdenAuthStatus: userDoctor.IdenAuthStatus,
|
||||
IdenAuthTime: userDoctor.IdenAuthTime,
|
||||
IdenAuthFailReason: userDoctor.IdenAuthFailReason,
|
||||
Avatar: config.C.Oss.OssCustomDomainName + userDoctor.Avatar,
|
||||
DoctorTitle: userDoctor.DoctorTitle,
|
||||
DepartmentCustomID: strconv.Itoa(int(userDoctor.DepartmentCustomId)),
|
||||
DepartmentCustomName: userDoctor.DepartmentCustomName,
|
||||
DepartmentCustomMobile: userDoctor.DepartmentCustomMobile,
|
||||
HospitalID: strconv.Itoa(int(userDoctor.HospitalID)),
|
||||
BeGoodAt: userDoctor.BeGoodAt,
|
||||
BriefIntroduction: userDoctor.BriefIntroduction,
|
||||
CreatedAt: userDoctor.CreatedAt,
|
||||
UpdatedAt: userDoctor.UpdatedAt,
|
||||
User: user,
|
||||
Hospital: hospital,
|
||||
UserDoctorInfo: userDoctorInfo,
|
||||
DoctorExpertise: doctorExpertise, // 专长
|
||||
}
|
||||
|
||||
return g, nil
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user