Browse Source

订单有效性判断

wangshan 2 months ago
parent
commit
3a1c2fef21
1 changed files with 10 additions and 4 deletions
  1. 10 4
      handler/activity/lotteryDrawTask.go

+ 10 - 4
handler/activity/lotteryDrawTask.go

@@ -91,9 +91,10 @@ func LotteryDrawTask(msg *model.Message) {
 		return
 	}
 	var (
-		now        = time.Now()
-		timeRange  = util.TimeRange{}
-		emdTime, _ = time.ParseInLocation(date.Date_Full_Layout, taskInfo.ActivityEndTime, time.Local)
+		now          = time.Now()
+		timeRange    = util.TimeRange{}
+		emdTime, _   = time.ParseInLocation(date.Date_Full_Layout, taskInfo.ActivityEndTime, time.Local)
+		startTime, _ = time.ParseInLocation(date.Date_Full_Layout, taskInfo.ActivityStartTime, time.Local)
 	)
 	//判断任务有效期内,此次任务是否已完成
 	switch taskInfo.CycleUnit {
@@ -102,7 +103,6 @@ func LotteryDrawTask(msg *model.Message) {
 	case 2: //当月
 		timeRange = util.GetMonthRange(now)
 	case 3: //活动周期
-		startTime, _ := time.ParseInLocation(date.Date_Full_Layout, taskInfo.ActivityStartTime, time.Local)
 		timeRange = util.TimeRange{
 			StartTime: startTime,
 			EndTime:   emdTime,
@@ -121,6 +121,12 @@ func LotteryDrawTask(msg *model.Message) {
 			return
 		}
 	} else if msgBody.OrderCode != "" {
+		//活动期间创建订单并且活动期间全部回款的才算
+		orderInfo := db.Mysql.CountBySql(`SELECT COUNT(do.id) FROM  jianyu.dataexport_order do WHERE do.order_code = ? AND do.create_time > ?  AND ((is_backstage_order = 1 AND return_status = 1) OR (is_backstage_order != 1 AND order_status = 1))`, msgBody.OrderCode, taskInfo.ActivityStartTime)
+		if orderInfo == 0 {
+			logger.Info(fmt.Sprintf("用户:%s ,此订单:%s ,未在活动期间内创建", msgBody.Phone, msgBody.OrderCode))
+			return
+		}
 		tasks := db.Mysql.SelectBySql(fmt.Sprintf(`SELECT ltu.create_date FROM  %s ltu  WHERE  ltu.active_id  = ? AND ltu.position_id  = ? AND  ltu.order_code  = ?`, tableTaskUser), taskInfo.ActiveId, msgBody.PositionId, msgBody.OrderCode)
 		//TODO 判重  担心订单有更新
 		if tasks != nil && len(*tasks) > 0 {