Browse Source

Merge branch 'cygx/cygx_fix_bug_11-23' of http://8.136.199.33:3000/hongze/hz_crm_api

xingzai 1 year ago
parent
commit
e0e7ca75d1
2 changed files with 93 additions and 0 deletions
  1. 2 0
      controllers/cygx/activity_signup.go
  2. 91 0
      services/cygx/activity_meet.go

+ 2 - 0
controllers/cygx/activity_signup.go

@@ -2061,6 +2061,8 @@ func (this *ActivitySignupCoAntroller) AddSignuUser() {
 		for _, v := range items {
 			go cygxService.YanXuanActivityPointsBillSignupAdd(v.ActivityId, v.UserId, adminInfo.AdminId)
 		}
+
+		go cygxService.AddctivitySignupDetailListByAdminSignup(req.ActivityIds) //已结束的活动,管理员手动添加报名,把信息写入到联系人列表参会信息中
 	}
 	//添加操作日志记录
 	br.IsAddLog = true

+ 91 - 0
services/cygx/activity_meet.go

@@ -347,3 +347,94 @@ func AddctivitySignupDetailListByHand(itemsDetail []*cygx.CygxActivityAttendance
 
 	return err
 }
+
+// AddctivitySignupDetailListByAdminSignup 已结束的活动,管理员手动添加报名,把信息写入到联系人列表参会信息中
+func AddctivitySignupDetailListByAdminSignup(activityIdsStr string) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("已结束的活动,管理员手动添加报名,把信息写入到联系人列表参会信息中 ErrMsg:"+err.Error(), "activityIds:", activityIdsStr), 2)
+		}
+	}()
+
+	var condition string
+	var pars []interface{}
+	condition = ` AND active_state = 3 AND  activity_id IN (` + activityIdsStr + `)  `
+	list, e := cygx.GetActivityListAll(condition, pars, 0, 9999)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetWxUserOutboundMobiles, Err: " + e.Error())
+		return
+	}
+	if len(list) == 0 {
+		return
+	}
+
+	var activityIds []int
+
+	for _, v := range list {
+		activityIds = append(activityIds, v.ActivityId)
+	}
+
+	actLen := len(activityIds)
+	condition = ` AND activity_id IN (` + utils.GetOrmInReplace(actLen) + `)`
+	pars = append(pars, activityIds)
+
+	//获取已经写入的信息,并建立map
+	signUpDetailList, err := cygx.GetSignupDetailList(condition, pars)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return err
+	}
+	mapsignUpDetai := make(map[string]string)
+	if len(signUpDetailList) > 0 {
+		for _, v := range signUpDetailList {
+			mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)] = v.Mobile
+		}
+	}
+
+	pars = make([]interface{}, 0)
+	condition = ` AND activity_id IN (` + utils.GetOrmInReplace(actLen) + `) AND do_fail_type = 0`
+	pars = append(pars, activityIds)
+	//获取成功报名的人员信息
+	signUpList, err := cygx.GetSignupDetailBySignup(condition, pars)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return err
+	}
+	//建立外呼号与手机号的绑定
+	mapsignUp := make(map[string]string)
+	if len(signUpList) > 0 {
+		for _, v := range signUpList {
+			mapsignUp[fmt.Sprint(v.OutboundMobile)] = v.Mobile
+		}
+	}
+	var items []*cygx.CygxActivitySignupDetail
+	if len(signUpList) > 0 {
+		for _, v := range signUpList {
+			if _, ok := mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)]; !ok {
+				item := new(cygx.CygxActivitySignupDetail)
+				item.UserId = v.UserId
+				item.RealName = v.RealName
+				item.SellerName = v.SellerName
+				item.ActivityId = v.ActivityId
+				item.CreateTime = v.CreateTime
+				item.Mobile = v.Mobile
+				item.OutboundMobile = v.OutboundMobile
+				item.Email = v.Email
+				item.CompanyId = v.CompanyId
+				item.CompanyName = v.CompanyName
+				item.SignupType = v.SignupType
+				item.FailType = v.FailType
+				item.DoFailType = v.DoFailType
+				items = append(items, item)
+			}
+		}
+	}
+	if len(items) > 0 {
+		e = cygx.AddCygxActivitySignupDetail(items)
+		if e != nil {
+			err = errors.New("AddCygxActivitySignupDetail, Err: " + e.Error())
+			return
+		}
+	}
+
+	return err
+}