Browse Source

no message

zhangchuanxing 2 weeks ago
parent
commit
5c101d657b

+ 22 - 0
controllers/cygx/activity_meet.go

@@ -340,6 +340,27 @@ func (this *ActivityMeetCoAntroller) MeetingDo() {
 			utils.Rc.Delete(redisKey)
 		}()
 	}
+
+	var conditionOld string //点了到会,又点了取消的人,对应的活动标签给取消掉
+	conditionOld += ` AND s.is_meeting = 1  AND s.is_cancel = 0 AND s.do_fail_type =0 AND s.activity_id = ` + strconv.Itoa(activityId)
+	listOld, err := cygx.GetCygxActivitySignup(conditionOld)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	var deleteUserids []int
+	sliceNew := strings.Split(meetingUids, ",")
+	mapNewUserIds := make(map[string]bool)
+	for _, v := range sliceNew {
+		mapNewUserIds[v] = true
+	}
+	for _, v := range listOld {
+		if !mapNewUserIds[strconv.Itoa(v.UserId)] {
+			deleteUserids = append(deleteUserids, v.UserId)
+		}
+	} //点了到会,又点了取消的人,对应的活动标签给取消掉 end
+
 	//加入缓存机制,避免创建同一个名称的指标 end
 	activityInfo, errInfo := cygx.GetAddActivityInfoById(activityId)
 	if activityInfo == nil {
@@ -445,6 +466,7 @@ func (this *ActivityMeetCoAntroller) MeetingDo() {
 	go cygxService.AddctivitySignupDetailList(itemDs, activityId)                        // 处理个人以及机构到会数量
 	go cygxService.ActivityUserLabelLogAdd(activityId, userIdArr)                        // 处理用户标签
 	go cygxService.YanXuanActivityPointsBillSubmitMeeting(activityId, AdminUser.AdminId) // 处理用户到会研选扣点
+	go cygxService.DeleteActivityWxUserRaiLabel(deleteUserids, activityId)               // 点了到会,又点了取消的人,对应的活动标签给取消掉
 	//添加操作日志记录
 	br.Ret = 200
 	br.Success = true

+ 14 - 0
controllers/roadshow/calendar_meeting_user.go

@@ -273,6 +273,20 @@ func (this *CalendarMeetingUserController) Delete() {
 	}
 
 	rsCalendarMeetingUserId := req.RsCalendarMeetingUserId
+
+	rsCalendarMeetingUserItem, err := roadshow.GetRsCalendarMeetingUserByRsCalendarMeetingUserId(rsCalendarMeetingUserId)
+	if err != nil {
+		br.Msg = "获取数据失败!"
+		br.ErrMsg = "获取数据失败!GetRsCalendarMeetingUserFirst:" + err.Error()
+		return
+	}
+	err = cygx.DeleteWxUserRaiLabelWithRoadshow(rsCalendarMeetingUserItem.UserId, rsCalendarMeetingUserItem.RsCalendarId) // 路演到会删除后,删除对应的标签
+	if err != nil {
+		br.Msg = "删除失败!"
+		br.ErrMsg = "删除失败-DeleteWxUserRaiLabelWithRoadshow!Err:" + err.Error()
+		return
+	}
+
 	err = roadshow.DeleteRsCalendarMeetingUser(rsCalendarMeetingUserId)
 	if err != nil {
 		br.Msg = "删除失败!"

+ 20 - 0
models/cygx/wx_user_rai_label.go

@@ -127,6 +127,26 @@ func DeleteWxUserRaiLabel(raiLabelId int) (err error) {
 	return
 }
 
+// DeleteWxUserRaiLabelWithRoadshow 路演到会删除后,删除对应的标签
+func DeleteWxUserRaiLabelWithRoadshow(userId, sourceId int) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := ` DELETE FROM wx_user_rai_label WHERE user_id  = ?  AND source_id =?  AND  source_type IN  (3,5) `
+	_, err = o.Raw(sql, userId, sourceId).Exec()
+	return
+}
+
+// DeleteWxUserRaiLabelWithActivity 线下活动取消到会后,删除对应的标签
+func DeleteWxUserRaiLabelWithActivity(userIds []int, sourceId int) (err error) {
+	lenArr := len(userIds)
+	if lenArr == 0 {
+		return
+	}
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := ` DELETE FROM wx_user_rai_label WHERE user_id IN (` + utils.GetOrmInReplace(lenArr) + `)  AND source_id =?  AND  source_type IN  (2,4) `
+	_, err = o.Raw(sql, userIds, sourceId).Exec()
+	return
+}
+
 // GetWxUserRaiLabelListByUserIds 根据多个userId 获取每个UserId最新的十条数据
 func GetWxUserRaiLabelListByUserIds(userIdArr []int) (list []*WxUserRaiLabelListResp, err error) {
 	lenArr := len(userIdArr)

+ 8 - 0
models/roadshow/rs_calendar_meeting_user.go

@@ -92,6 +92,14 @@ func GetRsCalendarMeetingUserFirst(rsCalendarId int) (item *RsCalendarMeetingUse
 	return
 }
 
+// 获取第一个提交参会信息内容
+func GetRsCalendarMeetingUserByRsCalendarMeetingUserId(rsCalendarMeetingUserId int) (item *RsCalendarMeetingUser, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM rs_calendar_meeting_user WHERE rs_calendar_meeting_user_id =?  `
+	err = o.Raw(sql, rsCalendarMeetingUserId).QueryRow(&item)
+	return
+}
+
 // 删除
 func DeleteRsCalendarMeetingUser(rsCalendarMeetingUserID int) (err error) {
 	o := orm.NewOrm()

+ 20 - 0
services/cygx/user_rai_label.go

@@ -33,6 +33,26 @@ func GetUserLabelByUserIdArr(userIdArr []int) (mapRsp map[int][]*cygx.WxUserRaiL
 	return
 }
 
+// DeleteActivityWxUserRaiLabel 点了到会,又点了取消的人,对应的活动标签给取消掉
+func DeleteActivityWxUserRaiLabel(userIdArr []int, activityId int) {
+	if len(userIdArr) == 0 {
+		return
+	}
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("点了到会,又点了取消的人,对应的活动标签给取消掉失败, DeleteActivityWxUserRaiLabel Err:"+err.Error(), "userIdArr", userIdArr), 2)
+		}
+	}()
+	e := cygx.DeleteWxUserRaiLabelWithActivity(userIdArr, activityId)
+	if e != nil {
+		err = errors.New("DeleteWxUserRaiLabelWithActivity, Err: " + e.Error())
+		return
+	}
+	return
+}
+
 // 添加用户参加活动标签到Redis
 func ActivityWxUserRaiLabelRedisAdd(sourceId, uid int, createTime time.Time) (err error) {
 	defer func() {