diff --git a/api/controller/inquiryConfig.go b/api/controller/inquiryConfig.go index eb0820a..28664f0 100644 --- a/api/controller/inquiryConfig.go +++ b/api/controller/inquiryConfig.go @@ -59,22 +59,22 @@ func (r *InquiryConfig) GetDoctorInquiryConfigPage(c *gin.Context) { // GetDoctorInquiryConfig 医生问诊配置详情 func (r *InquiryConfig) GetDoctorInquiryConfig(c *gin.Context) { - id := c.Param("inquiry_config_id") - if id == "" { - responses.FailWithMessage("缺少参数", c) + inquiryConfigRequest := requests.InquiryConfigRequest{} + req := inquiryConfigRequest.GetDoctorInquiryConfig + if err := c.ShouldBind(&req); err != nil { + responses.FailWithMessage(err.Error(), c) return } - // 将 id 转换为 int64 类型 - inquiryConfigId, err := strconv.ParseInt(id, 10, 64) - if err != nil { - responses.Fail(c) + // 参数验证 + if err := global.Validate.Struct(req); err != nil { + responses.FailWithMessage(utils.Translate(err), c) return } // 业务处理 inquiryConfigService := service.InquiryConfigService{} - getUserDoctorResponses, err := inquiryConfigService.GetDoctorInquiryConfig(inquiryConfigId) + getUserDoctorResponses, err := inquiryConfigService.GetDoctorInquiryConfig(req) if err != nil { responses.FailWithMessage(err.Error(), c) return diff --git a/api/requests/inquiryConfig.go b/api/requests/inquiryConfig.go index 5ec1910..f93dad6 100644 --- a/api/requests/inquiryConfig.go +++ b/api/requests/inquiryConfig.go @@ -7,6 +7,7 @@ type InquiryConfigRequest struct { GetSystemInquiryConfigPage // 获取系统问诊配置列表-分页 PutSystemInquiryConfig // 修改系统问诊配置 GetSystemInquiryConfigDetail // 系统问诊配置详情-条件 + GetDoctorInquiryConfig // 医生问诊配置详情 } // GetDoctorInquiryConfigPage 获取开启问诊配置医生列表-分页 @@ -20,6 +21,14 @@ type GetDoctorInquiryConfigPage struct { IsEnable *int `json:"is_enable" form:"is_enable" label:"是否启用"` // 0:否 1:是 } +// GetDoctorInquiryConfig 医生问诊配置详情 +type GetDoctorInquiryConfig struct { + InquiryConfigId string `json:"inquiry_config_id" form:"inquiry_config_id" label:"主键id"` + InquiryType *int `json:"inquiry_type" form:"inquiry_type" label:"问诊类型"` // 1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测 + InquiryMode *int `json:"inquiry_mode" form:"inquiry_mode" label:"问诊方式"` // 1:图文 2:视频 3:语音 4:电话 5:会员 + DoctorId string `json:"doctor_id" form:"doctor_id" label:"医生id"` +} + // PutDoctorInquiryConfig 修改医生问诊配置 type PutDoctorInquiryConfig struct { DoctorId string `json:"doctor_id" form:"doctor_id" validate:"required"` // 医生id diff --git a/api/router/router.go b/api/router/router.go index acda2ab..9967888 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -519,10 +519,10 @@ func privateRouter(r *gin.Engine, api controller.Api) { doctorGroup := inquiryGroup.Group("/doctor") { // 获取开启问诊配置医生列表-分页 - doctorGroup.GET("", api.InquiryConfig.GetDoctorInquiryConfigPage) + doctorGroup.GET("/page", api.InquiryConfig.GetDoctorInquiryConfigPage) // 医生问诊配置详情 - doctorGroup.GET("/:inquiry_config_id", api.InquiryConfig.GetDoctorInquiryConfig) + doctorGroup.GET("", api.InquiryConfig.GetDoctorInquiryConfig) // 修改医生问诊配置 doctorGroup.PUT("/:inquiry_config_id", api.InquiryConfig.PutDoctorInquiryConfig) diff --git a/api/service/InquiryConfig.go b/api/service/InquiryConfig.go index a395902..5319035 100644 --- a/api/service/InquiryConfig.go +++ b/api/service/InquiryConfig.go @@ -109,11 +109,32 @@ func (r *DoctorInquiryConfigService) HandleDoctorInquiryConfig(tx *gorm.DB, doct } // GetDoctorInquiryConfig 医生问诊配置详情 -func (r *DoctorInquiryConfigService) GetDoctorInquiryConfig(inquiryConfigId int64) (res *dto.DoctorInquiryConfigDto, err error) { +func (r *DoctorInquiryConfigService) GetDoctorInquiryConfig(req requests.GetDoctorInquiryConfig) (res *dto.DoctorInquiryConfigDto, err error) { doctorInquiryConfigDao := dao.DoctorInquiryConfigDao{} // 获取医生问诊配置 - doctorInquiryConfig, err := doctorInquiryConfigDao.GetDoctorInquiryConfigById(inquiryConfigId) + maps := make(map[string]interface{}) + if req.InquiryConfigId != "" { + maps["inquiry_config_id"] = req.InquiryConfigId + } else { + if req.DoctorId != "" { + maps["doctor_id"] = req.DoctorId + } + + if req.InquiryType != nil { + maps["inquiry_type"] = req.InquiryType + } + + if req.InquiryMode != nil { + maps["inquiry_mode"] = req.InquiryMode + } + } + + if len(maps) <= 0 { + return nil, errors.New("参数错误") + } + + doctorInquiryConfig, err := doctorInquiryConfigDao.GetDoctorInquiryConfig(maps) if err != nil || doctorInquiryConfig == nil { return nil, errors.New("获取失败") } @@ -132,7 +153,7 @@ func (r *DoctorInquiryConfigService) GetDoctorInquiryConfig(inquiryConfigId int6 // 获取系统问诊配置 systemInquiryConfigDao := dao.SystemInquiryConfigDao{} - maps := make(map[string]interface{}) + maps = make(map[string]interface{}) maps["inquiry_type"] = doctorInquiryConfig.InquiryType maps["inquiry_mode"] = doctorInquiryConfig.InquiryMode systemInquiryConfig, err := systemInquiryConfigDao.GetSystemInquiryConfig(maps)