新增了医生随访包配置

This commit is contained in:
2024-06-05 13:51:32 +08:00
parent 6c65e3cb3d
commit eab9e413f7
14 changed files with 878 additions and 11 deletions
+89
View File
@@ -0,0 +1,89 @@
package dto
import (
"fmt"
"hospital-admin-api/api/model"
)
// DoctorConfigFollowPackageDto 医生配置-健康包
type DoctorConfigFollowPackageDto struct {
FollowPackageId string `json:"follow_package_id"` // 主键id
DoctorId string `json:"doctor_id"` // 医生id
MonthlyFrequency int `json:"monthly_frequency"` // 每月次数(0表示不限次)
ServiceRounds int `json:"service_rounds"` // 服务回合数(0表示不限次)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
UserDoctor *UserDoctorDto `json:"user_doctor"` // 医生数据
DoctorInquiryConfig *DoctorInquiryConfigDto `json:"doctor_inquiry_config"` // 医生问诊配置数据
DoctorConfigFollowPackageItem []*DoctorConfigFollowPackageItemDto `json:"doctor_config_follow_package_item"` // 医生随访包配置明细数据
}
func GetDoctorConfigFollowPackageDto(m *model.DoctorConfigFollowPackage) *DoctorConfigFollowPackageDto {
return &DoctorConfigFollowPackageDto{
FollowPackageId: fmt.Sprintf("%d", m.FollowPackageId),
DoctorId: fmt.Sprintf("%d", m.DoctorId),
MonthlyFrequency: m.MonthlyFrequency,
ServiceRounds: m.ServiceRounds,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
func GetDoctorConfigFollowPackageListDto(m []*model.DoctorConfigFollowPackage) []*DoctorConfigFollowPackageDto {
// 处理返回值
responses := make([]*DoctorConfigFollowPackageDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &DoctorConfigFollowPackageDto{
FollowPackageId: fmt.Sprintf("%d", v.FollowPackageId),
DoctorId: fmt.Sprintf("%d", v.DoctorId),
MonthlyFrequency: v.MonthlyFrequency,
ServiceRounds: v.ServiceRounds,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
if v.UserDoctor != nil {
response.LoadUserDoctor(v.UserDoctor)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// LoadUserDoctor 加载医生数据
func (r *DoctorConfigFollowPackageDto) LoadUserDoctor(m *model.UserDoctor) *DoctorConfigFollowPackageDto {
if m != nil {
r.UserDoctor = GetUserDoctorDto(m)
}
return r
}
// LoadUserDoctorHospital 加载医生医院数据
func (r *DoctorConfigFollowPackageDto) LoadUserDoctorHospital(m *model.Hospital) *DoctorConfigFollowPackageDto {
if m != nil && r.UserDoctor != nil {
r.UserDoctor.Hospital = GetHospitalDto(m)
}
return r
}
// LoadDoctorInquiryConfig 加载医生问诊配置
func (r *DoctorConfigFollowPackageDto) LoadDoctorInquiryConfig(m *model.DoctorInquiryConfig) *DoctorConfigFollowPackageDto {
if m != nil {
r.DoctorInquiryConfig = GetDoctorInquiryConfigDto(m)
}
return r
}
// LoadDoctorConfigFollowPackageItem 加载医生随访包列表配置
func (r *DoctorConfigFollowPackageDto) LoadDoctorConfigFollowPackageItem(m []*model.DoctorConfigFollowPackageItem) *DoctorConfigFollowPackageDto {
if len(m) > 0 {
r.DoctorConfigFollowPackageItem = GetDoctorConfigFollowPackageItemListDto(m)
}
return r
}
+50
View File
@@ -0,0 +1,50 @@
package dto
import (
"fmt"
"hospital-admin-api/api/model"
)
// DoctorConfigFollowPackageItemDto 医生配置-随访包-明细
type DoctorConfigFollowPackageItemDto struct {
FollowPackageItemId string `json:"follow_package_item_id"` // 主键id
FollowPackageId string `json:"follow_package_id"` // 医生随访包id
ServicePeriod int `json:"service_period"` // 服务周期(天)
ServicePrice float64 `json:"service_price"` // 服务价格
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
func GetDoctorConfigFollowPackageItemDto(m *model.DoctorConfigFollowPackageItem) *DoctorConfigFollowPackageItemDto {
return &DoctorConfigFollowPackageItemDto{
FollowPackageItemId: fmt.Sprintf("%d", m.FollowPackageItemId),
FollowPackageId: fmt.Sprintf("%d", m.FollowPackageId),
ServicePeriod: m.ServicePeriod,
ServicePrice: m.ServicePrice,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
func GetDoctorConfigFollowPackageItemListDto(m []*model.DoctorConfigFollowPackageItem) []*DoctorConfigFollowPackageItemDto {
// 处理返回值
responses := make([]*DoctorConfigFollowPackageItemDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &DoctorConfigFollowPackageItemDto{
FollowPackageItemId: fmt.Sprintf("%d", v.FollowPackageItemId),
FollowPackageId: fmt.Sprintf("%d", v.FollowPackageId),
ServicePeriod: v.ServicePeriod,
ServicePrice: v.ServicePrice,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
+3 -3
View File
@@ -14,7 +14,7 @@ type DoctorInquiryConfigDto struct {
IsEnable int `json:"is_enable"` // 是否启用(0:否 1:是)
LastEnableMethod int `json:"last_enable_method"` // 最后开启方式(1:自己 2:后台)
WorkNumDay int `json:"work_num_day"` // 每日接诊数量
InquiryPrice float64 `json:"inquiry_price"` // 接诊价格(专家问诊-公益问诊)
InquiryPrice *float64 `json:"inquiry_price"` // 接诊价格(专家问诊-公益问诊)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
DoctorName string `json:"doctor_name"` // 医生姓名
@@ -36,7 +36,7 @@ func GetDoctorInquiryConfigDto(m *model.DoctorInquiryConfig) *DoctorInquiryConfi
IsEnable: m.IsEnable,
LastEnableMethod: m.LastEnableMethod,
WorkNumDay: m.WorkNumDay,
InquiryPrice: *m.InquiryPrice,
InquiryPrice: m.InquiryPrice,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
@@ -56,7 +56,7 @@ func GetDoctorInquiryConfigListDto(m []*model.DoctorInquiryConfig) []*DoctorInqu
IsEnable: v.IsEnable,
LastEnableMethod: v.LastEnableMethod,
WorkNumDay: v.WorkNumDay,
InquiryPrice: *v.InquiryPrice,
InquiryPrice: v.InquiryPrice,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}