From a8bdd937276611e4baba9930845d43456eb2cb38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 23 Mar 2020 09:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E8=AE=A2=E5=8D=95=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=AF=8F=E5=A4=A9=E5=8F=AA=E6=8E=A8=E9=80=81=E4=B8=80=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/smsmsg/smsmsg.go | 41 +++++++++++++++++++++++++------ business/model/store.go | 3 ++- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/business/jxutils/smsmsg/smsmsg.go b/business/jxutils/smsmsg/smsmsg.go index 3dd900baa..819fbe44a 100644 --- a/business/jxutils/smsmsg/smsmsg.go +++ b/business/jxutils/smsmsg/smsmsg.go @@ -23,7 +23,7 @@ var ( } ) -func SendSMSMsg(mobileList []string, signName, templateCode string, templateParam map[string]interface{}) (err error) { +func SendSMSMsg(mobileList []string, signName, templateCode string, templateParam map[string]interface{}, order *model.GoodsOrder) (err error) { if len(mobileList) > 0 { errList := errlist.New() mobileList = jxutils.StringMap2List(jxutils.StringList2Map(mobileList)) @@ -42,6 +42,8 @@ func SendSMSMsg(mobileList []string, signName, templateCode string, templatePara } else { globals.SugarLogger.Infof(errMsg) } + } else { + err = updateStoreSMSNotifyMark(order) } } } @@ -56,11 +58,13 @@ func getOrderNotifyPhone(order *model.GoodsOrder) (phoneList []string) { } func NotifyNewOrder(order *model.GoodsOrder) (err error) { - err = SendSMSMsg(getOrderNotifyPhone(order), globals.SMSSignName, globals.SMSNewOrderTemplate, map[string]interface{}{ - "daySeq": order.OrderSeq, - "consigneeName": order.ConsigneeName, - "payMoney": jxutils.IntPrice2StandardString(order.ActualPayPrice), - }) + if isPushSMS(order) { + err = SendSMSMsg(getOrderNotifyPhone(order), globals.SMSSignName, globals.SMSNewOrderTemplate, map[string]interface{}{ + "daySeq": order.OrderSeq, + "consigneeName": order.ConsigneeName, + "payMoney": jxutils.IntPrice2StandardString(order.ActualPayPrice), + }, order) + } return err } @@ -69,6 +73,29 @@ func NotifyOrderCanceled(order *model.GoodsOrder) (err error) { "vendorName": model.VendorChineseNames[order.VendorID], "seq": order.OrderSeq, "orderID": order.VendorOrderID, - }) + }, order) + return err +} + +func isPushSMS(order *model.GoodsOrder) bool { + stores, _ := dao.GetStoreList(dao.GetDB(), []int{order.StoreID}, nil, nil, nil, "") + if len(stores) > 0 { + if stores[0].SMSNotifyMark == model.NO { + return true + } else { + return false + } + } else { + return false + } +} + +func updateStoreSMSNotifyMark(order *model.GoodsOrder) (err error) { + var db = dao.GetDB() + stores, _ := dao.GetStoreList(db, []int{order.StoreID}, nil, nil, nil, "") + if len(stores) > 0 { + stores[0].SMSNotifyMark = model.YES + _, err = dao.UpdateEntity(db, stores[0], "SMSNotifyMark") + } return err } diff --git a/business/model/store.go b/business/model/store.go index a36984956..a97385159 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -279,7 +279,8 @@ type Store struct { Status int `json:"status"` AutoEnableAt *time.Time `orm:"type(datetime);null" json:"autoEnableAt"` // 自动营业时间(临时休息用) ChangePriceType int8 `json:"changePriceType"` // 修改价格类型,即是否需要审核 - SMSNotify int8 `orm:"column(sms_notify);" json:"smsNotify"` // 是否通过短信接收订单消息 + SMSNotify int8 `orm:"column(sms_notify);" json:"smsNotify"` // 是否通过短信接收订单消息(每天只推一条) + SMSNotifyMark int8 `orm:"column(sms_notify_mark);" json:"smsNotifyMark"` //今天是否已经推送过订单消息 AutoReplyType int8 `json:"autoReplyType"` // 订单评价自动回复类型 LinkStoreID int `orm:"column(link_store_id);default(0);index" json:"linkStoreID"` // 关联门店ID