diff --git a/api/controller/export.go b/api/controller/export.go index 1a4c558..0a395b4 100644 --- a/api/controller/export.go +++ b/api/controller/export.go @@ -272,6 +272,24 @@ func (r *Export) OrderInquiryForAccount(c *gin.Context) { return } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + // 获取数据 orderInquiryDao := dao.OrderInquiryDao{} orderInquirys, err := orderInquiryDao.GetOrderInquiryForAccountExportListSearch(req) @@ -416,6 +434,24 @@ func (r *Export) OrderInquiry(c *gin.Context) { return } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + // 获取数据 orderInquiryDao := dao.OrderInquiryDao{} orderInquirys, err := orderInquiryDao.GetOrderInquiryExportListSearch(req) diff --git a/api/controller/orderInquiry.go b/api/controller/orderInquiry.go index 0e26d52..9a06edc 100644 --- a/api/controller/orderInquiry.go +++ b/api/controller/orderInquiry.go @@ -54,8 +54,10 @@ func (r *OrderInquiry) GetOrderInquiryPage(c *gin.Context) { if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { status := 1 req.MultiPointStatus = &status - } + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } } orderInquiryDao := dao.OrderInquiryDao{} @@ -105,6 +107,40 @@ func (r *OrderInquiry) GetOrderInquiry(c *gin.Context) { responses.OkWithData(getUserDoctorResponses, c) } +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +func (r *OrderInquiry) PutAnnualReviewHide(c *gin.Context) { + id := c.Param("order_inquiry_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + orderInquiryId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + req := requests.PutAnnualReviewHide{} + if err := c.ShouldBind(&req); err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + if err := global.Validate.Struct(req); err != nil { + responses.FailWithMessage(utils.Translate(err), c) + return + } + + orderInquiryService := service.OrderInquiryService{} + err = orderInquiryService.PutAnnualReviewHide(orderInquiryId, *req.AnnualReviewHide) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + responses.Ok(c) +} // CancelOrderInquiry 取消问诊订单 func (r *OrderInquiry) CancelOrderInquiry(c *gin.Context) { @@ -203,8 +239,10 @@ func (r *OrderInquiry) GetOrderInquiryRecordPage(c *gin.Context) { if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { status := 1 req.GetOrderInquiryRecordPage.MultiPointStatus = &status - } + annualReviewHide := 0 + req.GetOrderInquiryRecordPage.AnnualReviewHide = &annualReviewHide + } } orderInquiryDao := dao.OrderInquiryDao{} @@ -323,6 +361,24 @@ func (r *OrderInquiry) GetOrderInquiryForAccountPage(c *gin.Context) { req.PageSize = 20 } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + orderInquiryDao := dao.OrderInquiryDao{} orderInquiry, total, err := orderInquiryDao.GetOrderInquiryForAccountPageSearch(req, req.Page, req.PageSize) if err != nil { diff --git a/api/dao/orderInquiry.go b/api/dao/orderInquiry.go index aeff61c..32cae7d 100644 --- a/api/dao/orderInquiry.go +++ b/api/dao/orderInquiry.go @@ -267,6 +267,11 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -464,6 +469,11 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -627,6 +637,11 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr query = query.Where("user_id IN (?)", subQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -776,6 +791,11 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests } } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 当前选中数据 if req.Type == 2 { if req.Id == "" { diff --git a/api/model/orderInquiry.go b/api/model/orderInquiry.go index a6c1461..52dc726 100644 --- a/api/model/orderInquiry.go +++ b/api/model/orderInquiry.go @@ -43,6 +43,7 @@ type OrderInquiry struct { PatientNameMask string `gorm:"column:patient_name_mask;type:varchar(255);comment:患者姓名-就诊人(掩码)" json:"patient_name_mask"` PatientSex int `gorm:"column:patient_sex;type:tinyint(1);default:0;comment:患者性别-就诊人(0:未知 1:男 2:女)" json:"patient_sex"` PatientAge int `gorm:"column:patient_age;type:int(1);comment:患者年龄-就诊人" json:"patient_age"` + AnnualReviewHide int `gorm:"column:annual_review_hide;type:tinyint(1);default:0;comment:年度审查隐藏(0:否 1:是)" json:"annual_review_hide"` UserDoctor *UserDoctor `gorm:"foreignKey:DoctorId;references:doctor_id" json:"user_doctor"` // 医生 TransferUserDoctor *UserDoctor `gorm:"foreignKey:TransferDoctorId;references:doctor_id" json:"transfer_user_doctor"` // 接受抄方的医生 User *User `gorm:"foreignKey:UserId;references:user_id" json:"user"` // 患者 diff --git a/api/requests/orderInquiry.go b/api/requests/orderInquiry.go index 46f6a1a..5df3991 100644 --- a/api/requests/orderInquiry.go +++ b/api/requests/orderInquiry.go @@ -8,6 +8,12 @@ type OrderInquiryRequest struct { GetOrderInquiryForAccountPage // 获取账户关联问诊订单列表-分页 OrderInquiryForAccountExportList // 医生账户-关联订单-导出 OrderInquiryExportList // 问诊订单列表-导出 + PutAnnualReviewHide // 修改问诊订单年度审查隐藏状态 +} + +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +type PutAnnualReviewHide struct { + AnnualReviewHide *int `json:"annual_review_hide" form:"annual_review_hide" validate:"required,oneof=0 1" label:"年度审查隐藏"` } // GetOrderInquiryPage 获取问诊订单列表-分页 @@ -33,6 +39,7 @@ type GetOrderInquiryPage struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // CancelOrderInquiry 取消问诊订单 @@ -64,6 +71,7 @@ type GetOrderInquiryRecordPage struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // GetOrderInquiryImPage 获取问诊订单im内容列表-分页 @@ -90,6 +98,7 @@ type GetOrderInquiryForAccountPage struct { IsWithdrawal *int `json:"is_withdrawal" form:"is_withdrawal" label:"是否提现"` // 0:否 1:是 2:提现中 CancelTime string `json:"cancel_time" form:"cancel_time" label:"订单取消时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // OrderInquiryForAccountExportList 医生账户-关联订单-导出 @@ -109,6 +118,7 @@ type OrderInquiryForAccountExportList struct { IsWithdrawal *int `json:"is_withdrawal" form:"is_withdrawal" label:"是否提现"` // 0:否 1:是 2:提现中 CancelTime string `json:"cancel_time" form:"cancel_time" label:"订单取消时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // OrderInquiryExportList 问诊订单列表-导出 @@ -133,4 +143,5 @@ type OrderInquiryExportList struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } diff --git a/api/router/router.go b/api/router/router.go index dce397b..58f7e3d 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -441,6 +441,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 获取问诊订单im内容列表-分页 inquiryGroup.GET("/im", api.OrderInquiry.GetOrderInquiryImPage) + + // 修改问诊订单年度审查隐藏状态 + inquiryGroup.PUT("/hide/:order_inquiry_id", api.OrderInquiry.PutAnnualReviewHide) } // 药品订单 diff --git a/api/service/OrderInquiry.go b/api/service/OrderInquiry.go index e4fa26e..433ffaa 100644 --- a/api/service/OrderInquiry.go +++ b/api/service/OrderInquiry.go @@ -456,3 +456,23 @@ func (r *OrderInquiryService) GetOrderInquiryDoctorAmount(inquiryStatus int, amo return doctorAmount } + +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +func (r *OrderInquiryService) PutAnnualReviewHide(orderInquiryId int64, annualReviewHide int) error { + // 获取问诊订单数据 + orderInquiryDao := dao.OrderInquiryDao{} + orderInquiry, err := orderInquiryDao.GetOrderInquiryById(orderInquiryId) + if err != nil || orderInquiry == nil { + return errors.New("订单数据错误") + } + + // 修改问诊订单 + orderInquiryData := make(map[string]interface{}) + orderInquiryData["annual_review_hide"] = annualReviewHide + err = orderInquiryDao.EditOrderInquiryById(global.Db, orderInquiryId, orderInquiryData) + if err != nil { + return errors.New("修改隐藏状态失败") + } + + return nil +}