diff --git a/business/model/const.go b/business/model/const.go index 0161b46d0..dc9c9d5a4 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -276,7 +276,8 @@ const ( ) const ( - ApplyRefund = + ApplyOrderCancel = 140 // 申请取消 + ApplyOrderRefund = 130 // 申请退款 ) const ( diff --git a/business/model/print_setting.go b/business/model/print_setting.go index ec9cc3927..a9cf46722 100644 --- a/business/model/print_setting.go +++ b/business/model/print_setting.go @@ -62,8 +62,8 @@ type OrderVoice struct { UserOrderCancelVoice int `json:"user_order_cancel_voice"` // 用户取消订单订单语音提示[1打开] RefundOrder int `json:"refund_order"` // 退款打印[1打开] RefundOrderVoice int `json:"refund_order_voice"` // 退款提示语音[1打开] - BusinessOrderCancel int `json:"business_order_cancel"` // 商家取消打印[1打开] - BusinessOrderCancelVoice int `json:"business_order_cancel_voice"` // 商家取消订单语音提示[1打开] + BusinessOrderCancel int `json:"business_order_cancel"` // 取消订单[1打开] + BusinessOrderCancelVoice int `json:"business_order_cancel_voice"` // 取消订单语音提示[1打开] } // RiderVoice 骑手动态语音提示 @@ -90,8 +90,8 @@ type ShopPickingVoice struct { BusinessOffLineVoice int `json:"business_off_line_voice"` // 店铺离线语音[1打开] WaitOrderPrint int `json:"wait_order_print"` // 待接单打印[1打开] WaitOrderVoice int `json:"wait_order_voice"` // 待接单语音[1打开] - WaitPickingPrint int `json:"wait_picking_print"` // 待接单打印[1打开] - WaitPickingVoice int `json:"wait_picking_voice"` // 待接单语音[1打开] + WaitPickingPrint int `json:"wait_picking_print"` // 待拣货单打印[1打开] + WaitPickingVoice int `json:"wait_picking_voice"` // 待拣货语音[1打开] } func GetPrintSetting(printNo string) (*PrintSettingObj, error) { diff --git a/business/model/print_temp_utils.go b/business/model/print_temp_utils.go index 159dad54c..b4730353c 100644 --- a/business/model/print_temp_utils.go +++ b/business/model/print_temp_utils.go @@ -138,10 +138,38 @@ func MakePrintMsgOnTemp(param map[string]string, userId string) (string, error) // MakePrintMsgOnTempVoice 制作平台语音 func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj, userId string) (string, error) { - printVoiceMsg := "" // 语音信息 - printVoiceValue := make([]interface{}, 0, 0) - textMsg := "" // 文本信息 + // 打印机提示音设置(暂时不做) + // 打订单 + if param[OrderStatusPrint] != "" { + // 订单提示设置 + printMsg, err := PrinterOrderVoice(param, setting, userId) + if err != nil { + return "", err + } + return printMsg, nil + } + + // 打运单 + if param[WayBillStatusPrint] != "" { + + } + + // 门店状态 + if param[StoreStatusPrint] != "" { + return PrintStoreStatus(param, setting), nil + } + +} + +// PrinterOrderVoice 打印机订单提示设置 +func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId string) (string, error) { + var ( + printVoiceMsg string //语音信息 + printVoiceValue = make([]interface{}, 0, 0) + textMsg string // 文本信息 + err error + ) // 称谓设置/平台语音设置 if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == SettingClose { // 老板 @@ -149,14 +177,13 @@ func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj, printVoiceValue = append(printVoiceValue, setting.CallNameSetting) } - // 打印机提示音设置(暂时不做) - + // 订单状态 switch param[OrderStatusPrint] { // 新订单 - case utils.Int2Str(OrderStatusWaitAccepted), utils.Int2Str(OrderStatusNew), utils.Int2Str(OrderStatusAccepted): + case utils.Int2Str(OrderStatusNew): // 订单设置 if setting.OrderVoiceSetting.PrintOrder == SettingOpen { // 打印订单 - textMsg, err := MakePrintMsgOnTemp(param, userId) + textMsg, err = MakePrintMsgOnTemp(param, userId) if err != nil { return "", err } @@ -166,11 +193,41 @@ func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj, printVoiceValue = append(printVoiceValue, NewOrderVoice) printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) } + // 申请取消 + case utils.Int2Str(ApplyOrderCancel): + // 订单设置 + if setting.OrderVoiceSetting.UserOrderCancel == SettingOpen { // 申请取消打印 + textMsg, err = MakePrintMsgOnTemp(param, userId) + if err != nil { + return "", err + } + } + if setting.OrderVoiceSetting.UserOrderCancelVoice == SettingOpen && setting.SystemVoice == SettingClose { // 申请取消语音 + printVoiceMsg += `%s%s` // 你来新订单了 + printVoiceValue = append(printVoiceValue, ApplyCancelVoice) + printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) + } + // 申请退款 + case utils.Int2Str(ApplyOrderRefund): + // 订单设置 + if setting.OrderVoiceSetting.RefundOrder == SettingOpen { // 取消打印订单 + textMsg, err = MakePrintMsgOnTemp(param, userId) + if err != nil { + return "", err + } + } + if setting.OrderVoiceSetting.RefundOrderVoice == SettingOpen && setting.SystemVoice == SettingClose { + if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingClose { + printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) + printVoiceMsg += `%s` + printVoiceValue = append(printVoiceValue, ApplyRefundVoice) + } + } // 取消打印 case utils.Int2Str(OrderStatusCanceled): // 订单设置 if setting.OrderVoiceSetting.BusinessOrderCancel == SettingOpen { // 取消打印订单 - textMsg, err := MakePrintMsgOnTemp(param, userId) + textMsg, err = MakePrintMsgOnTemp(param, userId) if err != nil { return "", err } @@ -182,19 +239,93 @@ func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj, printVoiceValue = append(printVoiceValue, CancelOrderVoice) } } - // 申请取消 - case "": - // 申请退款 - case utils.Int2Str(OrderStatusCanceled): - case "15": // 待拣货 + case utils.Int2Str(OrderStatusAccepted): // 待拣货 + if setting.PickingSetting.WaitPickingPrint == SettingOpen { // 打印订单 + textMsg, err = MakePrintMsgOnTemp(param, userId) + if err != nil { + return "", err + } + } + if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知 + printVoiceMsg += `%s%s` // 你有订单未拣货 + printVoiceValue = append(printVoiceValue, WaitPickUpOrderVoice) + printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) + } + case utils.Int2Str(OrderStatusWaitAccepted): // 待接单 + if setting.PickingSetting.WaitPickingPrint == SettingOpen { // 打印订单 + textMsg, err = MakePrintMsgOnTemp(param, userId) + if err != nil { + return "", err + } + } + if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知 + printVoiceMsg += `%s%s` // 你有订单未接单(订单未处理) + printVoiceValue = append(printVoiceValue, WaitOrderVoice) + printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) + } case "110": // 送达 - case "": case "120": // 收货,好像没有 } + voice := strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1) + return voice + textMsg, nil +} + +// PrintWayBillOrderStatus 打印运单类通知消息 +func PrintWayBillOrderStatus(param map[string]string, setting *PrintSettingObj) { + var ( + printVoiceMsg string //语音信息 + printVoiceValue = make([]interface{}, 0, 0) + textMsg string // 文本信息 + err error + ) + + switch param[WayBillStatusPrint] { + case: + if setting.PickingSetting.WaitPickingPrint == SettingOpen { // 打印订单 + textMsg, err = MakePrintMsgOnTemp(param, userId) + if err != nil { + return "", err + } + } + if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知 + printVoiceMsg += `%s%s` // 你有订单未拣货 + printVoiceValue = append(printVoiceValue, WaitPickUpOrderVoice) + printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param) + } + + } +} + +// PrintStoreStatus 打印门店状态 +func PrintStoreStatus(param map[string]string, setting *PrintSettingObj) string { + var ( + printVoiceMsg string //语音信息 + printVoiceValue = make([]interface{}, 0, 0) + textMsg string // 文本信息 + textMsgValue = make([]interface{}, 0, 0) + ) + + // 离线打印文本开启 + if setting.PickingSetting.BusinessOffLine == SettingOpen { + textMsg += `
门店下线通知

` + textMsg += `
门店:%s

` + textMsg += `
平台:%s

` + textMsg += `
下线时间:%s

` + textMsgValue = append(textMsgValue, param[EBailOrderNoPrint], param[VendorNamePrint], utils.Time2DateStr(time.Now())) + } + // 离线打印语音开启 + if setting.SystemVoice == SettingOpen && setting.PickingSetting.BusinessOffLineVoice == SettingOpen { + printVoiceMsg += `%s` + printVoiceValue = append(printVoiceValue, StoreOfflineVoice) + } + 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 } // SyntheticSpeech 合成语音 (美团xxx号订单) diff --git a/business/model/print_temp_voice.go b/business/model/print_temp_voice.go index 79ca4530e..ffffe0c8f 100644 --- a/business/model/print_temp_voice.go +++ b/business/model/print_temp_voice.go @@ -149,9 +149,5 @@ const ( AppIDPrint = "appId" // 应用id OrderStatusPrint = "orderStatus" // 订单状态 WayBillStatusPrint = "wayBillStatus" // 运单状态 + StoreStatusPrint = "storeStatusPrint" // 门店状态 ) - -// 订单/运单常量 -const () - -// 平台常量