浏览代码

仅绑定邮箱的用户处理

xingzai 3 年之前
父节点
当前提交
16690ba19d
共有 7 个文件被更改,包括 154 次插入77 次删除
  1. 10 6
      controllers/activity.go
  2. 71 53
      controllers/user.go
  3. 1 0
      models/activity_signup.go
  4. 8 3
      models/user.go
  5. 22 0
      models/wx_user.go
  6. 24 0
      services/activity.go
  7. 18 15
      services/task.go

+ 10 - 6
controllers/activity.go

@@ -644,6 +644,9 @@ func (this *ActivityCoAntroller) SignupAdd() {
 	activityId := req.ActivityId
 	signupType := req.SignupType
 	hasPermission := 0
+	if signupType == 1 && user.Mobile == "" && user.OutboundMobile == "" {
+		resp.GoBindEmail = true
+	}
 	//判断是否已经申请过
 	applyCount, err := models.GetApplyRecordCount(uid)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -834,7 +837,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 					return
 				}
 				//解除报名限制之后二次报名相同活动
-				if totalUserRestrictCount > 0 && totalRestrict == 0 {
+				if totalUserRestrictCount > 0 && totalRestrict == 0 && resp.GoBindEmail != true {
 					item.UserId = uid
 					item.ActivityId = activityId
 					item.CreateTime = time.Now()
@@ -878,7 +881,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 					return
 				}
 
-				if signupStatus != "Success" && totalMy == 0 {
+				if signupStatus != "Success" && totalMy == 0 && resp.GoBindEmail != true {
 					item.UserId = uid
 					item.ActivityId = activityId
 					item.CreateTime = time.Now()
@@ -913,8 +916,6 @@ func (this *ActivityCoAntroller) SignupAdd() {
 				}
 			}
 			totalMySuccess, err := models.GetActivitySignupCount(uid, activityId)
-			fmt.Println(totalMySuccess)
-			fmt.Println(signupStatus)
 			if err != nil {
 				br.Msg = "获取失败"
 				br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -924,7 +925,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 				br.Msg = "您已报名这个活动"
 				return
 			}
-			if signupStatus == "Success" {
+			if signupStatus == "Success" && resp.GoBindEmail != true {
 				item.UserId = uid
 				item.ActivityId = activityId
 				item.CreateTime = time.Now()
@@ -1009,7 +1010,10 @@ func (this *ActivityCoAntroller) SignupAdd() {
 		br.ErrMsg = "获取日程数量信息失败,Err:" + err.Error()
 		return
 	}
-	if total <= 1 {
+	//if total <= 1 {
+	//	resp.GoFollow = true
+	//}
+	if activityId%2 == 0 {
 		resp.GoFollow = true
 	}
 

+ 71 - 53
controllers/user.go

@@ -986,14 +986,8 @@ func (this *UserController) CountryCcode() {
 		br.Ret = 408
 		return
 	}
-	detail, err := models.GetUserDetailByUserId(uid)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取信息失败,Err:" + err.Error()
-		return
-	}
 	resp := new(models.CountryCode)
-	if len(detail.Mobile) != 11 && detail.CountryCode == "" {
+	if user.CountryCode == "" {
 		resp.IsNeedAddCountryCode = true
 	}
 	br.Ret = 200
@@ -1014,7 +1008,6 @@ func (this *UserController) AddCountryCcode() {
 		this.ServeJSON()
 	}()
 	user := this.User
-	uid := user.UserId
 	if user == nil {
 		br.Msg = "请登录"
 		br.ErrMsg = "请登录,用户信息为空"
@@ -1028,7 +1021,7 @@ func (this *UserController) AddCountryCcode() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
-	err = models.AddCountryCode(req.CountryCode, uid)
+	err = models.AddCountryCode(req.CountryCode, user)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取信息失败,Err:" + err.Error()
@@ -1039,39 +1032,39 @@ func (this *UserController) AddCountryCcode() {
 	br.Msg = "新增成功"
 }
 
-// @Title 是否需要填写外呼手机号
-// @Description 获取是否需要填写外呼手机号接口
-// @Success 200 {object} models.CountryCode
-// @router /countryCcode/isNeedAddOutbound [get]
-func (this *UserController) OutboundMobile() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	user := this.User
-	uid := user.UserId
-	if user == nil {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,用户信息为空"
-		br.Ret = 408
-		return
-	}
-	if uid == 0 {
-		br.Msg = "请登录"
-		br.ErrMsg = "请登录,用户信息为空"
-		br.Ret = 408
-		return
-	}
-	resp := new(models.OutboundMobile)
-	if user.OutboundMobile == "" {
-		resp.IsNeedAddOutboundMobile = true
-	}
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
-}
+//// @Title 是否需要填写外呼手机号
+//// @Description 获取是否需要填写外呼手机号接口
+//// @Success 200 {object} models.CountryCode
+//// @router /countryCcode/isNeedAddOutbound [get]
+//func (this *UserController) OutboundMobile() {
+//	br := new(models.BaseResponse).Init()
+//	defer func() {
+//		this.Data["json"] = br
+//		this.ServeJSON()
+//	}()
+//	user := this.User
+//	uid := user.UserId
+//	if user == nil {
+//		br.Msg = "请登录"
+//		br.ErrMsg = "请登录,用户信息为空"
+//		br.Ret = 408
+//		return
+//	}
+//	if uid == 0 {
+//		br.Msg = "请登录"
+//		br.ErrMsg = "请登录,用户信息为空"
+//		br.Ret = 408
+//		return
+//	}
+//	resp := new(models.OutboundMobile)
+//	if user.OutboundMobile == "" && user.CountryCode == "" {
+//		resp.IsNeedAddOutboundMobile = true
+//	}
+//	br.Ret = 200
+//	br.Success = true
+//	br.Msg = "获取成功"
+//	br.Data = resp
+//}
 
 // @Title 用户修改外呼手机号以及区号
 // @Description 用户修改外呼手机号以及区号接口
@@ -1101,6 +1094,7 @@ func (this *UserController) AddOutboundMobile() {
 	}
 	if !utils.ValidateFixedTelephoneFormatat(req.OutboundMobile) && !utils.ValidateMobileFormatat(req.OutboundMobile) {
 		br.Msg = "号码格式有误,请重新填写!"
+		br.ErrMsg = "号码格式有误,请重新填写" + req.OutboundMobile
 		return
 	}
 	if req.OutboundMobile == "" {
@@ -1114,17 +1108,41 @@ func (this *UserController) AddOutboundMobile() {
 	if req.ActivityId == 0 {
 		err = models.AddOutboundMobile(item, uid)
 	} else {
-		total, err := models.GetActivityCountByIdWithUid(item.ActivityId, uid)
-		if err != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = "操作失败,Err:" + err.Error()
-			return
-		}
-		err = models.AddOutboundMobile(item, uid)
-		if total == 0 {
-			br.Msg = "报名信息不存在"
-			br.ErrMsg = "报名信息不存在,Err:" + "活动ActivityId:" + strconv.Itoa(item.ActivityId) + "用户Uid:" + strconv.Itoa(uid)
-			return
+		if user.Mobile == "" && user.OutboundMobile == "" {
+			items := new(models.CygxActivitySignup)
+			items.UserId = uid
+			items.ActivityId = req.ActivityId
+			items.CreateTime = time.Now()
+			items.Mobile = user.Mobile
+			items.Email = user.Email
+			items.CompanyId = user.CompanyId
+			items.CompanyName = user.CompanyName
+			items.SignupType = 1
+			items.FailType = 0
+			items.DoFailType = 0
+			items.OutboundMobile = req.OutboundMobile
+			items.CountryCode = req.OutboundCountryCode
+			_, errSignup := models.AddActivitySignup(items)
+			if errSignup != nil {
+				br.Msg = "操作失败"
+				br.ErrMsg = "操作失败,Err:" + errSignup.Error()
+				return
+			}
+			err = models.AddOutboundMobile(item, uid)
+
+		} else {
+			total, err := models.GetActivityCountByIdWithUid(item.ActivityId, uid)
+			if err != nil {
+				br.Msg = "操作失败"
+				br.ErrMsg = "操作失败,Err:" + err.Error()
+				return
+			}
+			err = models.AddOutboundMobile(item, uid)
+			if total == 0 {
+				br.Msg = "报名信息不存在"
+				br.ErrMsg = "报名信息不存在,Err:" + "活动ActivityId:" + strconv.Itoa(item.ActivityId) + "用户Uid:" + strconv.Itoa(uid)
+				return
+			}
 		}
 	}
 	if err != nil {

+ 1 - 0
models/activity_signup.go

@@ -37,6 +37,7 @@ type SignupStatus struct {
 	Mobile            string `description:"外呼手机号"`
 	CountryCode       string `description:"外呼手机号区号"`
 	GoOutboundMobile  bool   `description:"是否去绑定手机号"`
+	GoBindEmail       bool   `description:"是否去绑定邮箱"`
 }
 
 //我的日程

+ 8 - 3
models/user.go

@@ -211,10 +211,15 @@ type CountryCodeItem struct {
 	CountryCode string `description:"区号"`
 }
 
-func AddCountryCode(CountryCode string, userId int) (err error) {
+func AddCountryCode(CountryCode string, user *WxUserItem) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE wx_user SET country_code=? WHERE user_id=? `
-	_, err = o.Raw(sql, CountryCode, userId).Exec()
+	if user.OutboundCountryCode == "" {
+		sql := `UPDATE wx_user SET country_code=?,outbound_mobile=?,outbound_country_code=?  WHERE user_id=? `
+		_, err = o.Raw(sql, CountryCode, user.OutboundMobile, user.OutboundCountryCode, user.UserId).Exec()
+	} else {
+		sql := `UPDATE wx_user SET country_code=? WHERE user_id=? `
+		_, err = o.Raw(sql, CountryCode, user.UserId).Exec()
+	}
 	return
 }
 

+ 22 - 0
models/wx_user.go

@@ -217,3 +217,25 @@ func ModifyWxUserIsMsgOutboundMobile(userId int) (err error) {
 	_, err = o.Raw(sql, userId).Exec()
 	return
 }
+
+//列表
+func GetUserListAll() (items []*WxUserItem, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM wx_user  WHERE mobile <>'' `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+//修改是否推送消息状态
+func UPdateUserCountryCode(item *WxUserItem) (err error) {
+	o := orm.NewOrm()
+	if item.CountryCode == "" && len(item.Mobile) == 11 {
+		sql := ` UPDATE wx_user SET  outbound_mobile= ? , outbound_country_code=86 , country_code=86  WHERE user_id = ?`
+		_, err = o.Raw(sql, item.Mobile, item.UserId).Exec()
+	} else {
+		sql := ` UPDATE wx_user SET  outbound_mobile= ? , outbound_country_code=?  WHERE user_id = ?`
+		_, err = o.Raw(sql, item.Mobile, item.CountryCode, item.UserId).Exec()
+	}
+
+	return
+}

+ 24 - 0
services/activity.go

@@ -277,3 +277,27 @@ func EditOutboundMobile(cont context.Context) (err error) {
 	fmt.Println("修改完成")
 	return
 }
+
+//同步用户绑定手机号以及区号
+func EditUserOutboundMobile(cont context.Context) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("发送失败,Err:", err.Error())
+		}
+	}()
+
+	list, err := models.GetUserListAll()
+	if err != nil {
+		fmt.Println("GetActivitySendMsgListAll Err:", err.Error())
+		return
+	}
+	for _, v := range list {
+		err = models.UPdateUserCountryCode(v)
+		fmt.Println("修改:", strconv.Itoa(v.UserId))
+		if err != nil {
+			fmt.Println("发送失败,Err:", err.Error()+strconv.Itoa(v.UserId))
+		}
+	}
+	fmt.Println("修改完成")
+	return
+}

+ 18 - 15
services/task.go

@@ -35,24 +35,27 @@ func Task() {
 
 	//UpdateActivitySattus()
 	//修改任务状态
-	updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
-	task.AddTask("updateActivitySattus", updateActivitySattus)
-	//更新深 和新的标签
-	updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
-	task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
-	//更新报告的搜索栏内容
-	//UpdateIndustrialManagementSubjectNnames()
-	//会议提醒模板消息推送
-	sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
-	task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
-	sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
-	task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
-	//预约外呼名单,会前1小时自动发送邮件给专家组
-	sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
-	task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
+	//updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
+	//task.AddTask("updateActivitySattus", updateActivitySattus)
+	////更新深 和新的标签
+	//updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
+	//task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
+	////更新报告的搜索栏内容
+	////UpdateIndustrialManagementSubjectNnames()
+	////会议提醒模板消息推送
+	//sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
+	//task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
+	//sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
+	//task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
+	////预约外呼名单,会前1小时自动发送邮件给专家组
+	//sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
+	//task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
 
 	//editOutboundMobile := task.NewTask("editOutboundMobile", "0 */1 8-22 * * *", EditOutboundMobile) //同步外呼号码与手机号
 	//task.AddTask("sendEmailFileToExpert", editOutboundMobile)
+	editUserOutboundMobile := task.NewTask("editUserOutboundMobile", "0 36 21 * * *   ", EditUserOutboundMobile) //同步外呼号码与手机号
+	task.AddTask("editUserOutboundMobile", editUserOutboundMobile)
+
 	//UpdateActivitySattus()
 	task.StartTask()
 	fmt.Println("end")