瀏覽代碼

Merge branch 'feature/v1.2.6' of https://app.yhyue.com/moapp/message into feature/v1.2.6

wangchuanjin 1 年之前
父節點
當前提交
4ceba28ce5
共有 2 個文件被更改,包括 31 次插入8 次删除
  1. 11 8
      handler/activity/task.go
  2. 20 0
      services/activity/task/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,

+ 20 - 0
services/activity/task/task.go

@@ -124,6 +124,10 @@ func (this *Task) Task() {
 		}
 		mail := gconv.String((*userMsg)["s_myemail"])
 		openid := gconv.String((*userMsg)["s_m_openid"])
+		phone := gconv.String((*userMsg)["s_phone"])
+		if phone == "" {
+			phone = gconv.String((*userMsg)["s_m_phone"])
+		}
 		if !isNew {
 			//邮箱是否绑定
 			if mail != "" {
@@ -160,6 +164,22 @@ func (this *Task) Task() {
 					},
 				})
 			}
+			if phone != "" {
+				dataM[model.BindPhone].Status = 1
+				dataM[model.BindPhone].FinishTime = now
+				activity.Task(&model.Message{
+					E_code:   "task",
+					E_userId: mgoUserId,
+					E_time:   time.Now().Unix(),
+					E_app:    "jyweb_node2",
+					E_body: map[string]interface{}{
+						"code":       1007, //首次订阅
+						"types":      "bindPhone",
+						"baseUserId": baseUserId,
+						"positionId": positionId,
+					},
+				})
+			}
 		}
 		//判断是否已经创建任务
 		integralTaskData := db.Tidb.SelectBySql(`select * from integral_task where user_id =? limit 1`, baseUserId)