Files
jx-callback/business/model/print_setting.go
邹宗楠 7ee376827b 1
2022-10-19 18:24:49 +08:00

114 lines
6.6 KiB
Go

package model
import (
"encoding/json"
"time"
)
// PrintSetting 打印机设置
type PrintSetting struct {
ID int `orm:"column(id)" 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 `orm:"type(varchar);size(32)" json:"print_no" db:"print_no"` // 打印机编号
CallNameSetting int `orm:"type(int);size(4);default(64)" json:"call_name_setting" db:"call_name_setting"` // 称谓设置 [64-默认老板]
BusinessOffLineVoice int `orm:"type(tinyint);size(2);default(1)" json:"business_off_line_voice" db:"business_off_line_voice"` // 店铺离线语音[1打开]
BalanceNotEnoughVoice int `orm:"type(tinyint);size(2);default(1)" json:"balance_not_enough_voice" db:"balance_not_enough_voice"` // 余额不足语音提示[1打开]
EveryDayGreetVoice int `orm:"type(tinyint);size(2);default(1)" json:"every_day_greet_voice" db:"every_day_greet_voice"` // 每日招呼语音[1打开]
BusinessPrintNum int `orm:"type(int);size(4);default(1)" json:"business_print_num" db:"business_print_num"` // 商家侧订单打印次数
CustomerPrintNum int `orm:"type(int);size(4);default(1)" json:"customer_print_num" db:"customer_print_num"` // 用户侧订单打印次数
VoiceSetting string `orm:"type(varchar);size(1024)" json:"voice_setting" db:"voice_setting"` // 语音设置
PrintSetting string `orm:"type(varchar);size(1024)" json:"print_setting" db:"print_setting"` // 打印设置
}
func (v *PrintSetting) TableUnique() [][]string {
return [][]string{
[]string{"PrintNo"},
}
}
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
}