diff --git a/business/model/const.go b/business/model/const.go
index dc9c9d5a4..05b1bbc62 100644
--- a/business/model/const.go
+++ b/business/model/const.go
@@ -267,6 +267,9 @@ const (
OrderStatusCanceled = 115 // 订单已取消
OrderStatusEndEnd = 120
+ OrderStatusRejection = 130 // 客户拒收
+ OrderStatusCustomerService = 131 // 客服退款
+
AfsOrderStatusWait4Approve = 155 // 待审核售后单
AfsOrderStatusNew = 160 // 已审核或不需要审核售后单
AfsOrderStatusWait4ReceiveGoods = 165 // 退款退货的,需要商家确认收到货
@@ -327,6 +330,8 @@ const (
WaybillStatusDelivering = 20 // 配送中
WaybillStatusDeliverFailed = 22 // 配送中失败
+ WaybillStatusDeliverReminder = 30 // 催单
+
WaybillStatusEndBegin = 100 // 以下的状态就是结束状态
WaybillStatusDelivered = 105 // todo 这个应该改为110,与订单对应
WaybillStatusCanceled = 115
diff --git a/business/model/print_temp_utils.go b/business/model/print_temp_utils.go
index 0629aa069..861471081 100644
--- a/business/model/print_temp_utils.go
+++ b/business/model/print_temp_utils.go
@@ -138,8 +138,6 @@ func MakePrintMsgOnTemp(param map[string]string, userId string) (string, error)
// MakePrintMsgOnTempVoice 制作平台语音
func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj, userId string) (string, error) {
- // 打印机提示音设置(暂时不做)
-
// 打订单
if param[OrderStatusPrint] != "" {
// 订单提示设置
@@ -153,9 +151,24 @@ func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj,
// 打运单
if param[WayBillStatusPrint] != "" {
switch param[WayBillStatusPrint] {
- case "15":
-
+ case utils.Int2Str(WaybillStatusCourierAssigned): // 分配骑手
+ return PrintWayBillOrderStatus(param, setting), nil
+ case utils.Int2Str(WaybillStatusDeliverReminder): // 催单
+ printVoiceMsg := ``
+ printVoiceValue := make([]interface{}, 0, 0)
+ printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
+ printVoiceMsg += `%s`
+ printVoiceValue = append(printVoiceValue, ReminderOrderVoice)
+ return strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1), nil
+ case utils.Int2Str(WaybillStatusDelivered): // 送达
+ printVoiceMsg := ``
+ printVoiceValue := make([]interface{}, 0, 0)
+ printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
+ printVoiceMsg += `%s`
+ printVoiceValue = append(printVoiceValue, FinialsOrderVoice)
+ return strings.Replace(fmt.Sprintf(strings.Replace(printVoiceMsg, "\n", "", -1), printVoiceValue...), "\\n", "\r\n", -1), nil
}
+
}
// 门店状态
@@ -163,6 +176,11 @@ func MakePrintMsgOnTempVoice(param map[string]string, setting *PrintSettingObj,
return PrintStoreStatus(param, setting), nil
}
+ // 进店咨询
+ if param[EnterTheStorePrint] != "" {
+ return `19`, nil
+ }
+ return "", nil
}
// PrinterOrderVoice 打印机订单提示设置
@@ -174,7 +192,7 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
err error
)
// 称谓设置/平台语音设置
- if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == SettingClose {
+ if (setting.CallNameSetting == 64 || setting.CallNameSetting == 65 || setting.CallNameSetting == 66) && setting.SystemVoice == SettingOpen {
// 老板
printVoiceMsg += `%s`
printVoiceValue = append(printVoiceValue, setting.CallNameSetting)
@@ -191,7 +209,7 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知
+ if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingOpen { // 订单通知
printVoiceMsg += `%s%s` // 你来新订单了
printVoiceValue = append(printVoiceValue, NewOrderVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
@@ -205,7 +223,7 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.OrderVoiceSetting.UserOrderCancelVoice == SettingOpen && setting.SystemVoice == SettingClose { // 申请取消语音
+ if setting.OrderVoiceSetting.UserOrderCancelVoice == SettingOpen && setting.SystemVoice == SettingOpen { // 申请取消语音
printVoiceMsg += `%s%s` // 你来新订单了
printVoiceValue = append(printVoiceValue, ApplyCancelVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
@@ -219,8 +237,8 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.OrderVoiceSetting.RefundOrderVoice == SettingOpen && setting.SystemVoice == SettingClose {
- if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingClose {
+ if setting.OrderVoiceSetting.RefundOrderVoice == SettingOpen && setting.SystemVoice == SettingOpen {
+ if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingOpen {
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceMsg += `%s`
printVoiceValue = append(printVoiceValue, ApplyRefundVoice)
@@ -235,8 +253,8 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.OrderVoiceSetting.BusinessOrderCancelVoice == SettingOpen && setting.SystemVoice == SettingClose {
- if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingClose { // 订单取消语音通知
+ if setting.OrderVoiceSetting.BusinessOrderCancelVoice == SettingOpen && setting.SystemVoice == SettingOpen {
+ if setting.OrderVoiceSetting.OrderNotice == SettingOpen && setting.SystemVoice == SettingOpen { // 订单取消语音通知
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
printVoiceMsg += `%s` // 你来新订单了
printVoiceValue = append(printVoiceValue, CancelOrderVoice)
@@ -250,7 +268,7 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知
+ if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingOpen { // 订单通知
printVoiceMsg += `%s%s` // 你有订单未拣货
printVoiceValue = append(printVoiceValue, WaitPickUpOrderVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
@@ -262,14 +280,42 @@ func PrinterOrderVoice(param map[string]string, setting *PrintSettingObj, userId
return "", err
}
}
- if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingClose { // 订单通知
+ if setting.PickingSetting.WaitPickingVoice == SettingOpen && setting.SystemVoice == SettingOpen { // 订单通知
printVoiceMsg += `%s%s` // 你有订单未接单(订单未处理)
printVoiceValue = append(printVoiceValue, WaitOrderVoice)
printVoiceMsg, printVoiceValue = SyntheticSpeech(printVoiceMsg, printVoiceValue, param)
}
- case "110": // 送达
+ case utils.Int2Str(OrderStatusRejection): // 拒收
+ if setting.CustomerVoiceSetting.CustomerRejectionVoice == SettingOpen && setting.SystemVoice == SettingOpen {
+ // 暂无语音打印
+ }
+ if setting.CustomerVoiceSetting.CustomerRejectionPrint == SettingOpen { // 客户拒收打印
+ rejection := ``
+ rejectionValue := make([]interface{}, 0, 0)
+ rejection += `
客户拒收信息:
`
+ rejection += `订单号: %s
`
+ rejection += `订单来源: %s # %s
`
+ rejection += `拒收原因: %s
`
+ rejectionValue = append(rejectionValue, param[OrderNoPrint], param[VendorNamePrint], param[VendorOrderNoPrint], param[RejectionReasonPrint])
+ textMsg = strings.Replace(fmt.Sprintf(strings.Replace(rejection, "\n", "", -1), rejectionValue...), "\\n", "\r\n", -1)
+ }
- case "120": // 收货,好像没有
+ case utils.Int2Str(OrderStatusCustomerService): // 客服退款
+ if setting.CustomerVoiceSetting.CustcareRefundVoice == SettingOpen && setting.SystemVoice == SettingOpen {
+ printVoiceMsg += `%s`
+ printVoiceValue = append(printVoiceValue, BusinessResponsibilityVoice)
+ }
+ if setting.CustomerVoiceSetting.CustcareRefundPrint == SettingOpen {
+ rejection := ``
+ rejectionValue := make([]interface{}, 0, 0)
+ rejection += `客服退款详情:
`
+ rejection += `订单号: %s
`
+ rejection += `订单来源: %s # %s
`
+ rejection += `退款原因: %s
`
+ rejection += `退款时间: %s
`
+ rejectionValue = append(rejectionValue, param[OrderNoPrint], param[VendorNamePrint], param[VendorOrderNoPrint], param[CustcareRefundReasonPrint], utils.Time2DateStr(time.Now()))
+ textMsg = strings.Replace(fmt.Sprintf(strings.Replace(rejection, "\n", "", -1), rejectionValue...), "\\n", "\r\n", -1)
+ }
}
@@ -295,10 +341,10 @@ func PrintWayBillOrderStatus(param map[string]string, setting *PrintSettingObj)
textMsg += `接单时间: %s
`
textMsg += `订单来源: %s
`
textMsg += `单号: #%s
`
- textMsgValue = append(textMsgValue, param[RiderNamePrint], param[RiderNamePrint], utils.Time2DateStr(time.Now()), param[VendorNamePrint], param[VendorOrderNoPrint])
+ textMsgValue = append(textMsgValue, param[RiderNamePrint], param[RiderPhonePrint], utils.Time2DateStr(time.Now()), param[VendorNamePrint], param[VendorOrderNoPrint])
}
}
- if setting.RiderVoiceSetting.RiderTakeOrderVoice == SettingOpen && setting.SystemVoice == SettingClose { // 骑手接单语音通知
+ if setting.RiderVoiceSetting.RiderTakeOrderVoice == SettingOpen && setting.SystemVoice == SettingOpen { // 骑手接单语音通知
printVoiceMsg += `%s%s` // 骑手已经接单了
printVoiceValue = append(printVoiceValue, RiderGetOrderVoice)
}
diff --git a/business/model/print_temp_voice.go b/business/model/print_temp_voice.go
index b1875d0fd..0d4d2f31e 100644
--- a/business/model/print_temp_voice.go
+++ b/business/model/print_temp_voice.go
@@ -151,7 +151,10 @@ const (
WayBillStatusPrint = "wayBillStatus" // 运单状态
StoreStatusPrint = "storeStatus" // 门店状态
- RiderVendorIdPrint = "riderVendorId" // 骑手所属平台id
- RiderNamePrint = "riderName" // 骑手名称
- RiderPhonePrint = "riderPhone" // 骑手电话
+ RiderVendorIdPrint = "riderVendorId" // 骑手所属平台id
+ RiderNamePrint = "riderName" // 骑手名称
+ RiderPhonePrint = "riderPhone" // 骑手电话
+ RejectionReasonPrint = "rejectionReason" // 拒收原因
+ CustcareRefundReasonPrint = "custcareRefundReason" // 客服退款理由
+ EnterTheStorePrint = "enterTheStore" // 进店
)
diff --git a/controllers/api_controller.go b/controllers/api_controller.go
index 1d19b5a4c..efc7299eb 100644
--- a/controllers/api_controller.go
+++ b/controllers/api_controller.go
@@ -358,7 +358,11 @@ func (c *ApiController) DoPrint(dataMap map[string]interface{}) (data, errCode s
}
// 查询用户模板
- model.MakePrintMsgOnTemp(contentMap, printObj.UserId, printSetting)
+ printMsg, err := model.MakePrintMsgOnTempVoice(contentMap, printSetting, printObj.UserId)
+ if err != nil {
+ return "", model.ErrCodeGeneralFailed, err
+ }
+ content = printMsg
if err = cms.DoPrint(appID, msgID, printNo, content, orderNo); err != nil {
return "", model.ErrCodeGeneralFailed, err