diff --git a/business/model/print_setting.go b/business/model/print_setting.go index b1cfee62f..395bbfa6c 100644 --- a/business/model/print_setting.go +++ b/business/model/print_setting.go @@ -1,6 +1,9 @@ package model -import "time" +import ( + "encoding/json" + "time" +) // PrintSetting 打印机设置 type PrintSetting struct { @@ -30,3 +33,86 @@ func (v *PrintSetting) TableIndex() [][]string { []string{"CreatedAt"}, } } + +type PrintSettingObj struct { + ID int `json:"id" db:"id"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` + DeletedAt time.Time `json:"deleted_at" db:"deleted_at"` + PrintNo string `json:"print_no" db:"print_no"` // 打印机编号 + CallNameSetting int `json:"call_name_setting" db:"call_name_setting"` // 称谓设置 [64-默认老板] + + BusinessOffLineVoice int `json:"business_off_line_voice" db:"business_off_line_voice"` // 店铺离线语音[1打开] + BalanceNotEnoughVoice int `json:"balance_not_enough_voice" db:"balance_not_enough_voice"` // 余额不足语音提示[1打开] + EveryDayGreetVoice int `json:"every_day_greet_voice" db:"every_day_greet_voice"` // 每日招呼语音[1打开] + BusinessPrintNum int `json:"business_print_num" db:"business_print_num"` // 商家侧订单打印次数 + CustomerPrintNum int `json:"customer_print_num" db:"customer_print_num"` // 用户侧订单打印次数 + + VoiceSetting *VoiceSettingDetail `json:"voice_setting" db:"voice_setting"` // 语音设置 + PrintSetting *PrintSettingDetail `json:"print_setting" db:"print_setting"` // 打印设置 +} + +// VoiceSettingDetail 语音设置 +type VoiceSettingDetail struct { + WaitOrderVoice int `json:"wait_order_voice"` // 待接单语音[1打开] + RiderTakeOrderVoice int `json:"rider_take_order_voice"` // 骑手接单语音[1打开] + ApplyUserOrderCancelVoice int `json:"apply_user_order_cancel_voice"` // 用户申请取消订单语音提示[1打开] + ApplyRefundOrderVoice int `json:"apply_refund_order_voice"` // 用户申请退款提示语音[1打开] + RefundGoodsVoice int `json:"refund_goods_voice"` // 订单已经取消语音[1打开] + CustomerRejectionVoice int `json:"customer_rejection_voice"` // 客户拒收语音[1打开] + CusterRefundVoice int `json:"custer_refund_voice"` // 客服(平台)退款语音[1打开] + LoseAuthorization int `json:"lose_authorization"` // 失去授权语音提示[1打开] + ApplyRefundGoodsVoice int `json:"apply_refund_goods_voice"` // 用户申请退货提示语音[1打开] + SuccessGoodsVoice int `json:"success_goods_voice"` // 订单完成语音[1打开](没语音) + ReminderVoice int `json:"reminder_voice"` // 客户催单语音[1打开] + ConsultingPrint int `json:"consulting_print"` // 客户进店咨询打印[1打开](暂时没有) + ConfirmGoodsVoice int `json:"confirm_goods_voice"` // 确认接单语音[1打开](可以不做) +} + +// PrintSettingDetail 打印设置 +type PrintSettingDetail struct { + UserOrderCancel int `json:"user_order_cancel"` // 用户取消订单打印[1打开] + RiderTakeOrder int `json:"rider_take_order"` // 骑手接单打印[1打开] + CusterRefundPrint int `json:"custer_refund_print"` // 客服退款打印[1打开] + WaitOrderPrint int `json:"wait_order_print"` // 待接单打印[1打开] + ApplyUserCancelOrder int `json:"apply_user_cancel_order"` // 用户申请取消订单打印[1打开] + ApplyUserRefund int `json:"apply_user_refund"` // 申请部分退款打印[1打开] + CustomerRejectionPrint int `json:"customer_rejection_print"` // 客户拒收打印[1打开] + OrderCancelSuccess int `json:"order_cancel_success"` // 取消成功打印[1打开] + BusinessOrderCancel int `json:"business_order_cancel"` // 商家取消打印[1打开] + RefundOrder int `json:"refund_order"` // 订单退款打印[1打开] +} + +// UnMarshalString2Json 将字符串设置转换为对象设置 +func UnMarshalString2Json(param *PrintSetting) (*PrintSettingObj, error) { + var ( + printSetting = &PrintSettingDetail{} + voiceSetting = &VoiceSettingDetail{} + ) + + result := &PrintSettingObj{ + ID: param.ID, + CreatedAt: param.CreatedAt, + UpdatedAt: param.UpdatedAt, + DeletedAt: param.DeletedAt, + PrintNo: param.PrintNo, + CallNameSetting: param.CallNameSetting, + BusinessOffLineVoice: param.BusinessOffLineVoice, + BalanceNotEnoughVoice: param.BalanceNotEnoughVoice, + EveryDayGreetVoice: param.EveryDayGreetVoice, + BusinessPrintNum: param.BusinessPrintNum, + CustomerPrintNum: param.CustomerPrintNum, + } + + if err := json.Unmarshal([]byte(param.VoiceSetting), voiceSetting); err != nil { + return nil, err + } + result.VoiceSetting = voiceSetting + + if err := json.Unmarshal([]byte(param.PrintSetting), printSetting); err != nil { + return nil, err + } + result.PrintSetting = printSetting + + return result, nil +}