This commit is contained in:
邹宗楠
2022-08-09 18:01:25 +08:00
parent 4df39d1d2b
commit 26c613faad
4 changed files with 152 additions and 24 deletions

View File

@@ -276,7 +276,8 @@ const (
)
const (
ApplyRefund =
ApplyOrderCancel = 140 // 申请取消
ApplyOrderRefund = 130 // 申请退款
)
const (

View File

@@ -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) {

View File

@@ -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 += `<sound>%s</sound><sound>%s</sound>` // 你来新订单了
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 += `<sound>%s</sound>`
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 += `<sound>%s</sound><sound>%s</sound>` // 你有订单未拣货
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 += `<sound>%s</sound><sound>%s</sound>` // 你有订单未接单(订单未处理)
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 += `<sound>%s</sound><sound>%s</sound>` // 你有订单未拣货
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 += `<center><b>门店下线通知</b></center><br>`
textMsg += `<center><b>门店:%s</b></center><br>`
textMsg += `<center><b>平台:%s</b></center><br>`
textMsg += `<center><b>下线时间:%s</b></center><br>`
textMsgValue = append(textMsgValue, param[EBailOrderNoPrint], param[VendorNamePrint], utils.Time2DateStr(time.Now()))
}
// 离线打印语音开启
if setting.SystemVoice == SettingOpen && setting.PickingSetting.BusinessOffLineVoice == SettingOpen {
printVoiceMsg += `<sound>%s</sound>`
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号订单)

View File

@@ -149,9 +149,5 @@ const (
AppIDPrint = "appId" // 应用id
OrderStatusPrint = "orderStatus" // 订单状态
WayBillStatusPrint = "wayBillStatus" // 运单状态
StoreStatusPrint = "storeStatusPrint" // 门店状态
)
// 订单/运单常量
const ()
// 平台常量