Преглед на файлове

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

wangchuanjin преди 1 година
родител
ревизия
e6d1573526
променени са 3 файла, в които са добавени 82 реда и са изтрити 65 реда
  1. 40 40
      etc/task.json
  2. 8 4
      handler/activity/task.go
  3. 34 21
      services/activity/task/task.go

+ 40 - 40
etc/task.json

@@ -4,11 +4,11 @@
 		{
 			"name":"绑定手机号",
 			"desc":"注册剑鱼标讯,完成手机号绑定",
-			"pcHref":"/home/work-bench/app/big/set-account-info",
-			"appHref":"/jyapp/account/phone/bind?mode=mergeBind",
-			"wxHref":"/front/account/phone/bind",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-account-info?from=task",
+			"appHref":"/jyapp/account/phone/bind?mode=mergeBind&from=task",
+			"wxHref":"/front/account/phone/bind?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-bdsjh.png",
 			"type":"bindPhone",
 			"distinguish":0
 		},
@@ -19,40 +19,40 @@
 			"appHref":"",
 			"wxHref":"",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-gzh.png",
 			"type":"followWx",
 			"distinguish":0
 		},
 		{
 			"name":"首次绑定邮箱",
 			"desc":"填写正确的邮箱信息并完成邮箱验证",
-			"pcHref":"/home/work-bench/app/big/set-account-info",
-			"appHref":"",
-			"wxHref":"",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-account-info?from=task",
+			"appHref":"/jyapp/account/mail/bind?from=task",
+			"wxHref":"/front/account/mail/bind?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-bdyx.png",
 			"type":"bindMail",
 			"distinguish":0
 		},
 		{
 			"name":"填写公司信息",
 			"desc":"填写公司名称、职位、单位类型可获得",
-			"pcHref":"/home/work-bench/app/big/set-identity-info",
-			"appHref":"/jy_mobile/identity/company",
-			"wxHref":"/jy_mobile/identity/company",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-identity-info?from=task",
+			"appHref":"/jy_mobile/identity/company?from=task",
+			"wxHref":"/jy_mobile/identity/company?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-gsmc.png",
 			"type":"improveEntInfo",
 			"distinguish":0
 		},
 		{
 			"name":"完善业务类型",
 			"desc":"完善公司业务类型可获得",
-			"pcHref":"/home/work-bench/app/big/set-identity-info",
-			"appHref":"/jy_mobile/identity/business",
-			"wxHref":"/jy_mobile/identity/business",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-identity-info?from=task",
+			"appHref":"/jy_mobile/identity/business?from=task",
+			"wxHref":"/jy_mobile/identity/business?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-ywlx.png",
 			"type":"improveBusiness",
 			"distinguish":0
 		},
@@ -60,32 +60,32 @@
 			"name":"完成订阅",
 			"desc":"首次完成订阅关键词设置可获得",
 			"pcHref":"",
-			"appHref":"",
+			"appHref":"/jy_mobile/push/setActive",
 			"wxHref":"",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-wcdy.png",
 			"type":"subscribeKeyWords",
 			"distinguish":1
 		},
 		{
 			"name":"关注企业",
 			"desc":"首次完成企业关注可获得",
-			"pcHref":"/jylab/entSearch/index.html",
-			"appHref":"/jy_mobile/#/search/middle/company",
-			"wxHref":"/jy_mobile/#/search/middle/company",
+			"pcHref":"/jylab/entSearch/index.html?from=task",
+			"appHref":"/jy_mobile/search/middle/company?from=task",
+			"wxHref":"/jy_mobile/search/middle/company?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-gzqy.png",
 			"type":"followEnt",
 			"distinguish":1
 		},
 		{
 			"name":"关注项目",
 			"desc":"首次完成项目关注可获得",
-			"pcHref":"/jylab/supsearch/index.html",
-			"appHref":"/jy_mobile/#/search/middle/bidding",
-			"wxHref":"/jy_mobile/#/search/middle/bidding",
+			"pcHref":"/jylab/supsearch/index.html?from=task",
+			"appHref":"/jy_mobile/search/middle/bidding?from=task",
+			"wxHref":"/jy_mobile/search/middle/bidding?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-gzxm.png",
 			"type":"followProject",
 			"distinguish":1
 		},
@@ -96,7 +96,7 @@
 			"appHref":"",
 			"wxHref":"",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-app.png",
 			"type":"downloadApp",
 			"distinguish":0
 		}
@@ -105,33 +105,33 @@
 		{
 			"name":"首次绑定邮箱",
 			"desc":"填写正确的邮箱信息并完成邮箱验证",
-			"pcHref":"",
-			"appHref":"/jyapp/account/mail/bind",
-			"wxHref":"/front/account/mail/bind",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-account-info?from=task",
+			"appHref":"/jyapp/account/mail/bind?from=task",
+			"wxHref":"/front/account/mail/bind?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-bdyx.png",
 			"type":"bindMail",
 			"distinguish":0
 		},
 		{
 			"name":"填写公司信息",
 			"desc":"填写公司名称、职位、单位类型可获得",
-			"pcHref":"/home/work-bench/app/big/set-identity-info",
-			"appHref":"/jy_mobile/identity/company",
-			"wxHref":"/jy_mobile/identity/company",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-identity-info?from=task",
+			"appHref":"/jy_mobile/identity/company?from=task",
+			"wxHref":"/jy_mobile/identity/company?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-gsmc.png",
 			"type":"improveEntInfo",
 			"distinguish":0
 		},
 		{
 			"name":"完善业务类型",
 			"desc":"完善公司业务类型可获得",
-			"pcHref":"/home/work-bench/app/big/set-identity-info",
-			"appHref":"/jy_mobile/identity/business",
-			"wxHref":"/jy_mobile/identity/business",
+			"pcHref":"/page_workDesktop/work-bench/app/big/set-identity-info?from=task",
+			"appHref":"/jy_mobile/identity/business?from=task",
+			"wxHref":"/jy_mobile/identity/business?from=task",
 			"point":50,
-			"icon":"",
+			"icon":"/common-module/task/task-ywlx.png",
 			"type":"improveBusiness",
 			"distinguish":0
 		}

+ 8 - 4
handler/activity/task.go

@@ -34,9 +34,10 @@ func Task(msg *model.Message) {
 	//活动时间
 	taskStartTime := gcfg.Instance().MustGet(gctx.New(), "taskStartTime", nil).Int64()
 	log.Println(msg.E_body)
-	num := gconv.Int64(msg.E_body["num"])
+	// num := gconv.Int64(msg.E_body["num"])
+	num := 0
 	code := gconv.Int64(msg.E_body["code"]) //1005
-	types := gconv.String(msg.E_body["type"])
+	types := gconv.String(msg.E_body["types"])
 	baseUserId := gconv.Int64(msg.E_body["baseUserId"])
 	positionId := gconv.Int64(msg.E_body["positionId"])
 
@@ -63,7 +64,9 @@ func Task(msg *model.Message) {
 		if bl {
 			continue
 		}
+		fmt.Println(v.Type, types, "==", v.Type == types)
 		if v.Type == types {
+			num = v.Point
 			bl = true
 		}
 	}
@@ -75,7 +78,7 @@ func Task(msg *model.Message) {
 	taskMsgMap := map[string]string{}
 	success_status := 0
 	end_time := ""
-	taskAllMsg := db.Mysql.SelectBySql(`select a.task_id,a.name,a.status,a.type,b.success_status,b.end_time from integral_task_detail a
+	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)
 	if taskAllMsg != nil && len(*taskAllMsg) > 0 {
@@ -100,7 +103,7 @@ func Task(msg *model.Message) {
 		return
 	}
 	//增加积分
-	mrpc.IntegralHarvest(msg.E_userId, num, code, msg.E_time)
+	mrpc.IntegralHarvest(msg.E_userId, gconv.Int64(num), code, msg.E_time)
 	//判断任务状态
 	if taskMsgMap[types] == "" {
 		//如果等于空证明没有初始化
@@ -138,6 +141,7 @@ func Task(msg *model.Message) {
 		//修改任务状态
 		taskId := ""
 		taskTypeArr := strings.Split(taskMsgMap[types], "_")
+		fmt.Println("taskTypeArr:", taskTypeArr)
 		if len(taskTypeArr) > 1 {
 			taskId = taskTypeArr[0]
 			status := taskTypeArr[1]

+ 34 - 21
services/activity/task/task.go

@@ -15,6 +15,7 @@ import (
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 	"app.yhyue.com/moapp/message/config"
 	"app.yhyue.com/moapp/message/db"
+	"app.yhyue.com/moapp/message/handler/activity"
 	"app.yhyue.com/moapp/message/model"
 	. "app.yhyue.com/moapp/message/rpc"
 	. "bp.jydev.jianyu360.cn/BaseService/pushpkg/p"
@@ -124,8 +125,18 @@ func (this *Task) Task() {
 			if mail != "" {
 				dataM[model.BindMail].Status = 1
 				dataM[model.BindMail].FinishTime = now
-				//TODO 老用户如果绑定邮箱赠送积分、并生成任务
-
+				activity.Task(&model.Message{
+					E_code:   "task",
+					E_userId: userId,
+					E_time:   time.Now().Unix(),
+					E_app:    "jyweb_node2",
+					E_body: map[string]interface{}{
+						"code":       1009, //首次订阅
+						"types":      "bindMail",
+						"baseUserId": baseUserId,
+						"positionId": positionId,
+					},
+				})
 			}
 		}
 		//判断是否已经创建任务
@@ -166,12 +177,15 @@ func (this *Task) Task() {
 			}
 			if (*integralTaskData)[0]["end_time"] != nil {
 				et := gconv.String((*integralTaskData)[0]["end_time"])
-				endtime, _ := time.Parse(date.Date_Full_Layout, et)
+				loc, _ := time.LoadLocation("Asia/Shanghai")
+				endtime, _ := time.ParseInLocation(date.Date_Full_Layout, et, loc)
 				if time.Now().Before(endtime) {
 					//当前时间未超过结束时间
 					status = 1
+				} else {
+					status = 3
 				}
-				info["endTime"] = et
+				info["endTime"] = endtime.Unix()
 			}
 
 			success_status := gconv.Int((*integralTaskData)[0]["success_status"])
@@ -180,18 +194,20 @@ func (this *Task) Task() {
 				status = 2
 			}
 		}
-		for _, v := range dataM {
+		// for _, v := range dataM {
+		for _, v := range ts {
+
 			data = append(data, &TaskInfo{
-				Name:       v.Name,
-				Desc:       v.Desc,
-				PcHref:     v.PcHref,
-				AppHref:    v.AppHref,
-				WxHref:     v.WxHref,
-				Point:      v.Point,
-				Icon:       v.Icon,
-				Type:       v.Type,
-				Status:     v.Status,
-				FinishTime: v.FinishTime,
+				Name:       dataM[v.Type].Name,
+				Desc:       dataM[v.Type].Desc,
+				PcHref:     dataM[v.Type].PcHref,
+				AppHref:    dataM[v.Type].AppHref,
+				WxHref:     dataM[v.Type].WxHref,
+				Point:      dataM[v.Type].Point,
+				Icon:       dataM[v.Type].Icon,
+				Type:       dataM[v.Type].Type,
+				Status:     dataM[v.Type].Status,
+				FinishTime: dataM[v.Type].FinishTime,
 			})
 		}
 		if isNew {
@@ -203,9 +219,6 @@ func (this *Task) Task() {
 		}
 		//查询完成状态
 		info["status"] = status
-		if status == 1 {
-			info["taskType"] = 0
-		}
 		return info, nil
 	}()
 	if errMsg != nil {
@@ -253,13 +266,13 @@ func (this *Task) ConfirmChallenge() {
 			return map[string]interface{}{"status": -1}, fmt.Errorf(Error_msg_1002)
 		}
 		if gconv.Int(infoMap["challenge"]) == 1 {
-			dayLater := time.Now().Add(time.Duration(config.TaskConf.TaskDayTime) * time.Hour * 24)
-			endTime := time.Date(dayLater.Year(), dayLater.Month(), dayLater.Day(), 23, 59, 59, 0, dayLater.Location())
+			dayLater := time.Now().Add(time.Duration(config.TaskConf.TaskDayTime-1) * time.Hour * 24)
+			endTime := time.Date(dayLater.Year(), dayLater.Month(), dayLater.Day(), 23, 59, 59, 0, time.Local)
 			if db.Tidb.Update("integral_task", map[string]interface{}{
 				"position_id": positionId,
 				"user_id":     baseUserId,
 			}, map[string]interface{}{
-				"end_time": endTime,
+				"end_time": endTime.Format(date.Date_Full_Layout),
 			}) {
 				go func() {
 					//用户点击“确认挑战”给用户发消息