瀏覽代碼

feat: 任务调整

zhangxinlei1996 1 年之前
父節點
當前提交
6c0bda314c
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11 8
      handler/activity/task.go

+ 11 - 8
handler/activity/task.go

@@ -76,6 +76,7 @@ func Task(msg *model.Message) {
 	taskMsgMap := map[string]string{}
 	success_status := 0
 	end_time := ""
+	task_id := int64(0)
 	taskAllMsg := db.Tidb.SelectBySql(`select a.task_id,a.name,a.status,a.type,b.success_status,b.end_time from integral_task_detail a
 						left join integral_task b on a.task_id =b.id 
 						where a.user_id =?`, baseUserId)
@@ -88,7 +89,7 @@ func Task(msg *model.Message) {
 				logger.Info(fmt.Sprintf("用户%s已经完成挑战,默认任务完成%v,不再增加积分。", msg.E_userId, code))
 				return
 			}
-			task_id := gconv.Int64(v["task_id"])
+			task_id = gconv.Int64(v["task_id"])
 			typ := gconv.String(v["type"])
 			status := gconv.String(v["status"])
 			taskMsgMap[typ] = fmt.Sprintf("%v_%s", task_id, status)
@@ -107,17 +108,19 @@ func Task(msg *model.Message) {
 	if taskMsgMap[types] == "" {
 		//如果等于空证明没有初始化
 		db.Tidb.ExecTx("创建任务", func(tx *sql.Tx) bool {
-			taskId := db.Tidb.InsertByTx(tx, "integral_task", map[string]interface{}{
-				"user_id":     baseUserId,
-				"position_id": positionId,
-				"type":        common.If(isNew, 2, 1),
-				"create_time": now,
-			})
+			if task_id <= 0 {
+				task_id = db.Tidb.InsertByTx(tx, "integral_task", map[string]interface{}{
+					"user_id":     baseUserId,
+					"position_id": positionId,
+					"type":        common.If(isNew, 2, 1),
+					"create_time": now,
+				})
+			}
 			//任务明细
 			for _, v := range taskData {
 				if v.Type == types {
 					db.Tidb.InsertByTx(tx, "integral_task_detail", map[string]interface{}{
-						"task_id":     taskId,
+						"task_id":     task_id,
 						"user_id":     baseUserId,
 						"position_id": positionId,
 						"name":        v.Name,