wangchuanjin 4 лет назад
Родитель
Сommit
ed1e853d0f
1 измененных файлов с 8 добавлено и 4 удалено
  1. 8 4
      src/jfw/modules/subscribepay/src/util/msgremind.go

+ 8 - 4
src/jfw/modules/subscribepay/src/util/msgremind.go

@@ -224,6 +224,10 @@ func (m *msgRemind) run() {
 		m.unpaidOrders.Range(func(k interface{}, v interface{}) bool {
 			orderId, _ := k.(int)
 			unpaidOrder, _ := v.(*unpaidOrder)
+			if Mysql.CountBySql("select count(1) as count from dataexport_order where id=? and order_status=0 and del_status=0 and (remind_status<>2 or remind_status is null)", orderId) == 0 {
+				log.Println("未支付订单状态发生变化,不推送消息", unpaidOrder.userId, orderId, unpaidOrder.orderCode)
+				return true
+			}
 			now_unix := time.Now().Unix()
 			remind_status := 0
 			//剩余2小时
@@ -244,7 +248,7 @@ func (m *msgRemind) run() {
 			s_jpushid, _ := (*user)["s_jpushid"].(string)
 			s_opushid, _ := (*user)["s_opushid"].(string)
 			s_appponetype, _ := (*user)["s_appponetype"].(string)
-			log.Println("未支付订单,推送消息", unpaidOrder.userId, "remind_status", remind_status, "i_ispush", isPushWx, "s_m_openid", s_m_openid, "s_jpushid", s_jpushid, "s_opushid", s_opushid, "s_appponetype", s_appponetype)
+			log.Println("未支付订单,推送消息", unpaidOrder.userId, orderId, unpaidOrder.orderCode, "remind_status", remind_status, "i_ispush", isPushWx, "s_m_openid", s_m_openid, "s_jpushid", s_jpushid, "s_opushid", s_opushid, "s_appponetype", s_appponetype)
 			wxPushOk, appPushOk := false, false
 			if isPushWx == 1 && s_m_openid != "" {
 				tmplData := map[string]*qrpc.TmplItem{
@@ -276,7 +280,7 @@ func (m *msgRemind) run() {
 					TmplData: tmplData,
 					Url:      Config.WebDomain + "/front/sess/" + Se_Topnet.EncodeString(s_m_openid+",uid,"+strconv.Itoa(int(time.Now().Unix()))+",msgremind") + "__" + hex.EncodeToString([]byte(fmt.Sprintf("type=unpaid&ordercode=%s", unpaidOrder.orderCode))),
 				})
-				log.Println("未支付订单,微信推送", unpaidOrder.userId, wxPushOk)
+				log.Println("未支付订单,微信推送", unpaidOrder.userId, orderId, unpaidOrder.orderCode, wxPushOk)
 			} else if s_opushid != "" || s_jpushid != "" {
 				appPushOk = qrpc.AppPush(Config.AppPushServiceRpc, map[string]interface{}{
 					"phoneType":   s_appponetype,
@@ -288,7 +292,7 @@ func (m *msgRemind) run() {
 					"descript":    fmt.Sprintf(MessageConfig.WxTpl_Unpaid.First.Value, unpaidOrder.orderCode),
 					"title":       "剑鱼提醒",
 				})
-				log.Println("未支付订单,app推送", unpaidOrder.userId, appPushOk)
+				log.Println("未支付订单,app推送", unpaidOrder.userId, orderId, unpaidOrder.orderCode, appPushOk)
 			}
 			if wxPushOk || appPushOk {
 				if remind_status == 2 {
@@ -328,7 +332,7 @@ func init() {
 			log.Println("开始加载72小时内的订单到内存中。。。")
 			startTime := time.Unix(time.Now().Unix()-MsgRemind.getExpireTime(), 0)
 			startTimes := util.FormatDate(&startTime, util.Date_Full_Layout)
-			list := Mysql.SelectBySql("select id,order_code,order_money,user_id,prepay_time,remind_status,vip_type from dataexport_order where order_money>0 and prepay_time>=? and product_type='VIP订阅' and order_status=0 and (remind_status<>2 or remind_status is null)", startTimes)
+			list := Mysql.SelectBySql("select id,order_code,order_money,user_id,prepay_time,remind_status,vip_type from dataexport_order where order_money>0 and prepay_time>=? and product_type='VIP订阅' and order_status=0 and del_status=0 and (remind_status<>2 or remind_status is null)", startTimes)
 			if list == nil {
 				log.Println("加载72小时内的订单到内存中失败")
 				return