This commit is contained in:
邹宗楠
2022-10-19 13:38:35 +08:00
parent 7b4f62ad1c
commit 80230993c6
2 changed files with 79 additions and 119 deletions

View File

@@ -255,16 +255,17 @@ func PrinterOrderVoice(param map[string]string, setting *model.PrintSettingObj,
textMsg string // 文本信息
err error
)
// 称谓设置/平台语音设置
if setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66 {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
// 订单状态
switch param[model.OrderStatusPrint] {
// 新订单(待接单)
case utils.Int2Str(model.OrderStatusNew):
// 称谓设置/平台语音设置
if setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66 {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
// 订单设置
if setting.PrintSetting.WaitOrderPrint == model.SettingOpen { // 打印订单
textMsg, err = MakePrintMsgOnTemp(param, userId)
@@ -279,116 +280,73 @@ func PrinterOrderVoice(param map[string]string, setting *model.PrintSettingObj,
}
// 申请取消
case utils.Int2Str(model.ApplyOrderCancel):
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
// 订单设置
if setting.OrderVoiceSetting.UserOrderCancel == model.SettingOpen { // 申请取消打印
if setting.PrintSetting.ApplyUserCancelOrder == model.SettingOpen { // 申请取消打印
textMsg, err = MakePrintMsgOnTemp(param, userId)
if err != nil {
return "", err
}
}
if setting.OrderVoiceSetting.UserOrderCancelVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 申请取消语音
printVoiceMsg += `<sound>%d</sound>` // 你来新订单了
if setting.VoiceSetting.ApplyUserOrderCancelVoice == model.SettingOpen { // 申请取消语音
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.ApplyCancelVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
}
// 申请退款
case utils.Int2Str(model.ApplyOrderRefund):
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
// 订单设置
if setting.OrderVoiceSetting.RefundOrder == model.SettingOpen { // 取消打印订单
if setting.PrintSetting.ApplyUserRefund == model.SettingOpen { // 取消退款订单
textMsg, err = MakePrintMsgOnTemp(param, userId)
if err != nil {
return "", err
}
}
if setting.OrderVoiceSetting.RefundOrderVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
if setting.OrderVoiceSetting.OrderNotice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.ApplyRefundVoice)
}
if setting.VoiceSetting.ApplyRefundOrderVoice == model.SettingOpen {
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.ApplyRefundVoice)
}
// 取消打印
case utils.Int2Str(model.OrderStatusCanceled):
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
// 订单设置
if setting.OrderVoiceSetting.BusinessOrderCancel == model.SettingOpen { // 取消打印订单
if setting.PrintSetting.UserOrderCancel == model.SettingOpen { // 取消打印订单
textMsg, err = MakePrintMsgOnTemp(param, userId)
if err != nil {
return "", err
}
}
if setting.OrderVoiceSetting.BusinessOrderCancelVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
if setting.OrderVoiceSetting.OrderNotice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 订单取消语音通知
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceMsg += `<sound>%d</sound>` // 你来新订单了
printVoiceValue = append(printVoiceValue, model.CancelOrderVoice)
}
}
case utils.Int2Str(model.OrderStatusAccepted): // 待拣货
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
if setting.PickingSetting.WaitPickingPrint == model.SettingOpen { // 打印订单
textMsg, err = MakePrintMsgOnTemp(param, userId)
if err != nil {
return "", err
}
}
if setting.PickingSetting.WaitPickingVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 订单通知
printVoiceMsg += `<sound>%d</sound>` // 你有订单未拣货
printVoiceValue = append(printVoiceValue, model.WaitPickUpOrderVoice)
if setting.VoiceSetting.RefundGoodsVoice == model.SettingOpen {
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
}
case utils.Int2Str(model.OrderStatusWaitAccepted): // 待接单
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
if setting.PickingSetting.WaitPickingPrint == model.SettingOpen { // 打印订单
textMsg, err = MakePrintMsgOnTemp(param, userId)
if err != nil {
return "", err
}
}
if setting.PickingSetting.WaitPickingVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 订单通知
printVoiceMsg += `<sound>%d</sound>` // 你有订单未接单(订单未处理)
printVoiceValue = append(printVoiceValue, model.WaitOrderVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceValue = append(printVoiceValue, model.CancelOrderVoice)
}
//case utils.Int2Str(model.OrderStatusAccepted): // 待拣货
// textMsg, err = MakePrintMsgOnTemp(param, userId)
// if err != nil {
// return "", err
// }
//
// printVoiceMsg += `<sound>%d</sound>` // 你有订单未拣货
// printVoiceValue = append(printVoiceValue, model.WaitPickUpOrderVoice)
// printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
//case utils.Int2Str(model.OrderStatusWaitAccepted): // 待接单
// if setting.PrintSetting.WaitOrderPrint == model.SettingOpen { // 打印订单
// textMsg, err = MakePrintMsgOnTemp(param, userId)
// if err != nil {
// return "", err
// }
// }
// if setting.VoiceSetting.WaitOrderVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 订单通知
// printVoiceMsg += `<sound>%d</sound>` // 你有订单未接单(订单未处理)
// printVoiceValue = append(printVoiceValue, model.WaitOrderVoice)
// printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
// }
case utils.Int2Str(model.OrderStatusRejection): // 拒收
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
if setting.CustomerVoiceSetting.CustomerRejectionVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
// 暂无语音打印
}
if setting.CustomerVoiceSetting.CustomerRejectionPrint == model.SettingOpen { // 客户拒收打印
//if setting.VoiceSetting.CustomerRejectionVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
// // 暂无语音打印
//}
// 拒收暂无语音设置,使用文本提示
if setting.PrintSetting.CustomerRejectionPrint == model.SettingOpen { // 客户拒收打印
rejection := ``
rejectionValue := make([]interface{}, 0, 0)
rejection += `<center><b>客户拒收信息:</b></center><br>`
@@ -400,17 +358,11 @@ func PrinterOrderVoice(param map[string]string, setting *model.PrintSettingObj,
}
case utils.Int2Str(model.OrderStatusCustomerService): // 客服退款
// 称谓设置/平台语音设置
if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == model.SettingOpen {
// 老板
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
}
if setting.CustomerVoiceSetting.CustcareRefundVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen {
if setting.VoiceSetting.CusterRefundVoice == model.SettingOpen {
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.BusinessResponsibilityVoice)
}
if setting.CustomerVoiceSetting.CustcareRefundPrint == model.SettingOpen {
if setting.PrintSetting.CusterRefundPrint == model.SettingOpen {
rejection := ``
rejectionValue := make([]interface{}, 0, 0)
rejection += `<center><b>客服退款详情:</b></center><br>`
@@ -421,6 +373,8 @@ func PrinterOrderVoice(param map[string]string, setting *model.PrintSettingObj,
rejectionValue = append(rejectionValue, param[model.OrderNoPrint], param[model.VendorNamePrint], param[model.VendorOrderNoPrint], param[model.CustcareRefundReasonPrint], utils.Time2DateStr(time.Now()))
textMsg = strings.Replace(fmt.Sprintf(strings.Replace(rejection, "\n", "", -1), rejectionValue...), "\\n", "\r\n", -1)
}
//case :OrderCancelSuccess // 取消订单成功
}
voice := strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1)
@@ -438,7 +392,7 @@ func PrintWayBillOrderStatus(param map[string]string, setting *model.PrintSettin
switch param[model.WayBillStatusPrint] {
case utils.Int2Str(model.WaybillStatusAccepted), utils.Int2Str(model.WaybillStatusCourierAssigned): // 分配骑手
if setting.RiderVoiceSetting.RiderTakeOrder == model.SettingOpen { // 打印订单
if setting.PrintSetting.RiderTakeOrder == model.SettingOpen { // 打印订单
textMsg += `<center><b>接单骑手信息:</b></center><br>`
textMsg += `<center><b>骑手姓名: %s</b></center><br>`
textMsg += `<center><b>骑手电话: %s</b></center><br>`
@@ -448,7 +402,7 @@ func PrintWayBillOrderStatus(param map[string]string, setting *model.PrintSettin
textMsgValue = append(textMsgValue, param[model.RiderNamePrint], param[model.RiderPhonePrint], utils.Time2DateStr(time.Now()), param[model.VendorNamePrint], param[model.VendorOrderNoPrint])
}
}
if setting.RiderVoiceSetting.RiderTakeOrderVoice == model.SettingOpen && setting.SystemVoice == model.SettingOpen { // 骑手接单语音通知
if setting.VoiceSetting.RiderTakeOrderVoice == model.SettingOpen { // 骑手接单语音通知
printVoiceMsg += `<sound>%d</sound><sound>%d</sound>` // 骑手已经接单了
printVoiceValue = append(printVoiceValue, model.RiderGetOrderVoice)
}
@@ -469,15 +423,20 @@ func PrintStoreStatus(param map[string]string, setting *model.PrintSettingObj) s
switch utils.Str2Int(param[model.StoreStatusPrint]) {
case -9:
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.LoseTokenVoice)
var voice string
var msg string
if setting.VoiceSetting.LoseAuthorization == model.SettingOpen {
printVoiceMsg += `<sound>%d</sound>`
printVoiceValue = append(printVoiceValue, model.LoseTokenVoice)
voice = strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1)
}
textMsg += `<left><b>门店丢失授权通知</b></left><br>`
textMsg += `<left><b>门店:%s</b></left><br>`
textMsg += `<left><b>平台:%s</b></left><br>`
textMsg += `<left><b>下线时间:%s</b></left><br>`
textMsg += `<left><b>授权丢失,将无法继续打压订单!!!!</b></left><br>`
textMsgValue = append(textMsgValue, param[model.StoreNamePrint], param[model.VendorNamePrint], utils.Time2DateStr(time.Now()))
voice := strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1)
msg := strings.Replace(fmt.Sprintf(strings.Replace(textMsg, "\n", "", -1), textMsgValue...), "\\n", "\r\n", -1)
return voice + msg
default:

View File

@@ -30,18 +30,18 @@ func (v *PrintSetting) TableUnique() [][]string {
}
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-默认老板]
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" json:"customer_print_num"` // 用户侧订单打印次数
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" json:"customer_print_num"` // 用户侧订单打印次数
VoiceSetting *VoiceSettingDetail `json:"voice_setting" db:"voice_setting"` // 语音设置
PrintSetting *PrintSettingDetail `json:"print_setting" db:"print_setting"` // 打印设置
@@ -66,15 +66,16 @@ type VoiceSettingDetail struct {
// PrintSettingDetail 打印设置
type PrintSettingDetail struct {
UserOrderCancel int `json:"user_order_cancel"` // 用户取消订单打印[1打开]
RefundOrder int `json:"refund_order"` // 订单退款打印[1打开]
BusinessOrderCancel int `json:"business_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打开]
OrderCancelSuccess int `json:"order_cancel_success"` // 取消成功打印[1打开]
UserOrderCancel int `json:"user_order_cancel"` // 用户取消订单打印[1打开]
RefundOrder int `json:"refund_order"` // 订单退款打印[1打开]
BusinessOrderCancel int `json:"business_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打开]
OrderCancelSuccess int `json:"order_cancel_success"` // 取消成功打印[1打开]
CustomerRejectionPrint int `json:"customer_rejection_print"` // 客户拒收打印[1打开]
}
// UnMarshalString2Json 将字符串设置转换为对象设置