|
@@ -65,7 +65,7 @@ func LotteryDrawTask(msg *model.Message) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
//任务信息
|
|
//任务信息
|
|
- taskInfos := db.Mysql.SelectBySql(fmt.Sprintf("SELECT lti.*,ai.start_time,ai.end_time,ai.name AS activity_name FROM %s lti LEFT JOIN %s ai ON lti.active_id = ai.id WHERE lti.active_id = ? AND lti.id = ? AND ai.end_time >= NOW() ORDER BY lti.create_date DESC", tableTaskInfo, tableActivityInfo), msgBody.ActiveId, msgBody.TaskInfoId)
|
|
|
|
|
|
+ taskInfos := db.Mysql.SelectBySql(fmt.Sprintf("SELECT lti.*,ai.start_time,ai.end_time,ai.name AS activity_name FROM %s lti LEFT JOIN %s ai ON lti.active_id = ai.id WHERE lti.active_id = ? AND lti.id = ? AND ai.start_time < NOW() AND ai.end_time >= NOW() ORDER BY lti.create_date DESC", tableTaskInfo, tableActivityInfo), msgBody.ActiveId, msgBody.TaskInfoId)
|
|
if taskInfos == nil || len(*taskInfos) == 0 {
|
|
if taskInfos == nil || len(*taskInfos) == 0 {
|
|
logger.Info(fmt.Sprintf("没有当前需要完成的任务信息:%v", msgBody))
|
|
logger.Info(fmt.Sprintf("没有当前需要完成的任务信息:%v", msgBody))
|
|
return
|
|
return
|
|
@@ -104,10 +104,18 @@ func LotteryDrawTask(msg *model.Message) {
|
|
}
|
|
}
|
|
//当前周期内 是否已完成任务
|
|
//当前周期内 是否已完成任务
|
|
if taskInfo.CycleNum > 0 {
|
|
if taskInfo.CycleNum > 0 {
|
|
- if count := db.Mysql.CountBySql(fmt.Sprintf(`SELECT COUNT(ltu.id) FROM %s ltu WHERE ltu.active_id = ? AND ltu.task_id = ? AND ltu.state = 0 AND ltu.create_date < ? AND ltu.create_date > ? `, tableTaskUser), taskInfo.ActiveId, taskInfo.Id, timeRange.EndTime.Format(date.Date_Full_Layout), timeRange.StartTime.Format(date.Date_Full_Layout)); taskInfo.CycleNum <= int(count) {
|
|
|
|
|
|
+ count := db.Mysql.CountBySql(fmt.Sprintf(`SELECT COUNT(ltu.id) FROM %s ltu WHERE ltu.active_id = ? AND ltu.task_id = ? AND ltu.create_date < ? AND ltu.create_date > ? `, tableTaskUser), taskInfo.ActiveId, taskInfo.Id, timeRange.EndTime.Format(date.Date_Full_Layout), timeRange.StartTime.Format(date.Date_Full_Layout))
|
|
|
|
+ if taskInfo.CycleNum <= int(count) {
|
|
logger.Info(fmt.Sprintf("用户:%s ,此任务:%s ,在 %s 已完成", msgBody.Phone, taskInfo.Name, timeRange.StartTime.Format(date.Date_Short_Layout)))
|
|
logger.Info(fmt.Sprintf("用户:%s ,此任务:%s ,在 %s 已完成", msgBody.Phone, taskInfo.Name, timeRange.StartTime.Format(date.Date_Short_Layout)))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ } else if msgBody.OrderCode != "" {
|
|
|
|
+ count := db.Mysql.CountBySql(fmt.Sprintf(`SELECT COUNT(ltu.id) FROM %s ltu WHERE ltu.active_id = ? AND ltu.position_id = ? AND ltu.order_code = ?`, tableTaskUser), taskInfo.ActiveId, msgBody.PositionId, msgBody.OrderCode)
|
|
|
|
+ //TODO 判重 担心订单有更新
|
|
|
|
+ if count > 0 {
|
|
|
|
+ logger.Info(fmt.Sprintf("用户:%s ,此订单:%s ,在 %s 已新增抽奖机会", msgBody.Phone, msgBody.OrderCode, timeRange.StartTime.Format(date.Date_Short_Layout)))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//二次验证
|
|
//二次验证
|
|
switch taskInfo.Id {
|
|
switch taskInfo.Id {
|