|
@@ -7,8 +7,6 @@ import (
|
|
|
"hongze/hongze_mfyx/utils"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
- "time"
|
|
|
- "unicode/utf8"
|
|
|
)
|
|
|
|
|
|
// 获取 用户类型 //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户;6、冻结客户;7、流失客户
|
|
@@ -508,289 +506,6 @@ func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *model
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// 获取活动列表查询权限的SQL
|
|
|
-// @Param ChartPermissionIds query string false "行业id 多个用 , 隔开"
|
|
|
-// @Param ActivityTypeIds query string false "活动类型id 多个用 , 隔开"
|
|
|
-// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
|
-// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
|
-// @Param IsPower query int false "是否选择有权限行业 ,1是 0 否 默认0"
|
|
|
-// @Param Label query string false "搜索主题 多个用 , 隔开"
|
|
|
-// @Param PlayBack query int false "是否仅展示回放 1:是、0:否 默认0"
|
|
|
-// @Param KeyWord query string false "搜索关键词 多个用 , 隔开"
|
|
|
-// @Param ikType query int false "联想词类型 , 1不做联想,2,做除初始词的联想,3所有联想"
|
|
|
-func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack, ikType int) (conditionActivity string, err error) {
|
|
|
- keyWordNoIk := keyWord
|
|
|
- adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- userType, permissionStr, permissionStrZhengShi, err := GetUserTypeZhengShi(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- //判断客户规模是否属于可见范围的活动
|
|
|
- companyProduct, err := models.GetCompanyProductDetail(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
- }
|
|
|
- isMaker := user.IsMaker
|
|
|
- slicePer := strings.Split(permissionStr, ",")
|
|
|
- var permissionSqlStr string
|
|
|
- var permissionNameStr string
|
|
|
- for _, v := range slicePer {
|
|
|
- if userType == 1 {
|
|
|
- //研选权限处理
|
|
|
- if !strings.Contains(v, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- permissionNameStr += "'" + v + "',"
|
|
|
- }
|
|
|
- } else {
|
|
|
- permissionNameStr += "'" + v + "',"
|
|
|
- }
|
|
|
- }
|
|
|
- permissionNameStr = strings.Replace(permissionNameStr, "(主观)", "", -1)
|
|
|
- permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
|
|
|
- permissionNameStr = strings.TrimRight(permissionNameStr, ",")
|
|
|
-
|
|
|
- slicePerZhengShi := strings.Split(permissionStrZhengShi, ",")
|
|
|
-
|
|
|
- var permissionNameStrZhengShi string
|
|
|
- for _, v := range slicePerZhengShi {
|
|
|
- if userType == 1 {
|
|
|
- //研选权限处理
|
|
|
- if !strings.Contains(v, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- permissionNameStrZhengShi += "'" + v + "',"
|
|
|
- }
|
|
|
- } else {
|
|
|
- permissionNameStrZhengShi += "'" + v + "',"
|
|
|
- }
|
|
|
- }
|
|
|
- permissionNameStrZhengShi = strings.Replace(permissionNameStrZhengShi, "(主观)", "", -1)
|
|
|
- permissionNameStrZhengShi = strings.Replace(permissionNameStrZhengShi, "(客观)", "", -1)
|
|
|
- permissionNameStrZhengShi = strings.TrimRight(permissionNameStrZhengShi, ",")
|
|
|
- mapUserType, e := GetActivityCcustomerTypeList()
|
|
|
- if e != nil {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- var userTypeStr string
|
|
|
- userTypeStr = mapUserType[userType]
|
|
|
- // 查研观向7.4-始终查询宏观的权限(无论是否有权限)
|
|
|
- if permissionNameStr == `` {
|
|
|
- permissionNameStr = `'宏观'`
|
|
|
- } else {
|
|
|
- permissionNameStr += `, '宏观'`
|
|
|
- }
|
|
|
- var condition string
|
|
|
- var conditionAdmin string
|
|
|
- var conditionHz string // 弘则权限处理
|
|
|
- var sqlExport string // 专家权限处理
|
|
|
- //permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionNameStr + `)`
|
|
|
- sqlExport = ` AND (art.customer_type_ids LIKE '%` + userTypeStr + `%' `
|
|
|
- //if userType == 2 {
|
|
|
- // sqlExport += ` OR art.customer_type_ids LIKE '%3%' `
|
|
|
- //}
|
|
|
- //if (userType == 2 || userType == 3) && strings.Contains(permissionStr, "专家") {
|
|
|
- // sqlExport += ` OR art.customer_type_ids LIKE '%4%' `
|
|
|
- //}
|
|
|
- sqlExport += `) `
|
|
|
- // 如果是C类电话会就不展示内容,且合并到分析师电话会
|
|
|
- if activityTypeId != "" {
|
|
|
- if activityTypeId == strconv.Itoa(utils.ANALYST_TELL_ACTIVITY_TYPE_ID) {
|
|
|
- condition = ` AND art.publish_status = 1 AND art.label != '' AND art.activity_type_id IN (` + activityTypeId + "," + strconv.Itoa(utils.C_CLASS_ACTIVITY_TYPE_ID) + `)`
|
|
|
- } else {
|
|
|
- condition = ` AND art.publish_status = 1 AND art.label != '' AND art.activity_type_id IN (` + activityTypeId + `)`
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //主题
|
|
|
- if label != "" {
|
|
|
- condition = ` AND art.label LIKE "%` + label + `%" `
|
|
|
- }
|
|
|
-
|
|
|
- if isPower == 1 {
|
|
|
- condition += permissionSqlStr
|
|
|
- }
|
|
|
-
|
|
|
- //行业名称
|
|
|
- if len(chartPermissionIds) > 0 {
|
|
|
- condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
|
- }
|
|
|
- //如果是PC的,则不看易董的
|
|
|
- if source == 1 {
|
|
|
- condition += ` AND art.yidong_activity_id = '' `
|
|
|
- }
|
|
|
-
|
|
|
- var conditionOr string
|
|
|
- if whichDay != "" {
|
|
|
- var startDate string
|
|
|
- var endDate string
|
|
|
- if whichDay == "1" {
|
|
|
- startDate = time.Now().Format(utils.FormatDate)
|
|
|
- endDate = startDate
|
|
|
- } else if whichDay == "2" {
|
|
|
- startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
- endDate = startDate
|
|
|
- } else if whichDay == "3" {
|
|
|
- startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "4" {
|
|
|
- startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetLastWeekSunday().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "5" {
|
|
|
- startDate = utils.GetNowMonthFirstDay().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "6" {
|
|
|
- startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "1,2" {
|
|
|
- startDate = time.Now().Format(utils.FormatDate)
|
|
|
- endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
- } else if whichDay == "3,4" {
|
|
|
- startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "5,6" {
|
|
|
- startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
|
|
|
- } else {
|
|
|
- startDate = time.Now().Format(utils.FormatDate)
|
|
|
- endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
- }
|
|
|
- condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
|
|
|
- condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
|
|
|
- }
|
|
|
-
|
|
|
- //有搜索条件传过来时,不判进行状态条件
|
|
|
- if keyWord != "" {
|
|
|
- if ikType == 2 || ikType == 3 {
|
|
|
- keyWordArr, e := GetIndustryMapNameSliceV3(keyWord)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("获取分词失败,GetIndustryMapNameSliceV3, Err: " + keyWord + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
|
|
|
- //var keywords string
|
|
|
- if len(keyWordArr) > 1 {
|
|
|
- if ikType == 2 {
|
|
|
- keyWord = KeyWordArrSqlRegexp(keyWordArr)
|
|
|
- condition += ` AND (art.label NOT LIKE '%` + keyWordNoIk + `%' AND art.activity_name NOT LIKE '%` + keyWordNoIk + `%' ) `
|
|
|
- } else if ikType == 3 {
|
|
|
- keyWord = KeyWordArrSqlRegexpAll(keyWordArr)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- condition += ` AND (art.label REGEXP '` + keyWord + `' OR art.activity_name REGEXP '` + keyWord + `' ) `
|
|
|
- } else {
|
|
|
- if activeState != "" {
|
|
|
- // 默认查看未开始跟进行中
|
|
|
- if activeState == "1" {
|
|
|
- condition += ` AND art.active_state IN (1,2)`
|
|
|
- } else {
|
|
|
- condition += ` AND art.active_state IN (` + activeState + `)`
|
|
|
- }
|
|
|
- } else {
|
|
|
- condition += ` AND art.active_state IN (1,2)`
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if playBack == 1 {
|
|
|
- var pars []interface{}
|
|
|
- ativityVIdArry := make([]string, 0)
|
|
|
- voiceList, e := models.GetActivityVoiceListAll("", pars, 0, 1000)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range voiceList {
|
|
|
- ativityVIdArry = append(ativityVIdArry, strconv.Itoa(v.ActivityId))
|
|
|
- }
|
|
|
-
|
|
|
- videoList, e := models.GetActivityVideoListAll("", pars, 0, 1000)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range videoList {
|
|
|
- ativityVIdArry = append(ativityVIdArry, strconv.Itoa(v.ActivityId))
|
|
|
- }
|
|
|
-
|
|
|
- //活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
|
|
|
- //endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
|
|
|
- //condition += ` AND art.activity_time > '` + endTime + `' `
|
|
|
- if len(ativityVIdArry) > 0 {
|
|
|
- ativityVIdstr := strings.Join(ativityVIdArry, ",")
|
|
|
- condition += ` AND art.activity_id IN (` + ativityVIdstr + `) `
|
|
|
- } else {
|
|
|
- condition += ` AND art.activity_id = 0 `
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //查询全部可见的数据(是否全部客户可见)
|
|
|
- //condition += ` AND art.visible_range != 1 AND art.publish_status = 1 `
|
|
|
- condition += ` AND art.publish_status = 1 `
|
|
|
- if adminIds == "" {
|
|
|
- //condition += ` AND art.visible_range != 1 `
|
|
|
- } else {
|
|
|
- condition += ` AND ( art.visible_range != 1 OR ( art.admin_id IN ( ` + adminIds + ` ) AND art.visible_range = 1 )) `
|
|
|
- }
|
|
|
-
|
|
|
- conditionHz = condition
|
|
|
- //活动仅决策人可见
|
|
|
- if isMaker == 0 {
|
|
|
- condition += ` AND art.is_maker_show = 0 `
|
|
|
- }
|
|
|
- conditionAdmin = condition + ` AND art.visible_range = 1 `
|
|
|
- //condition += ` AND art.visible_range != 1 `
|
|
|
- if (userType == 2 || userType == 3 || userType == 4) && strings.Contains(permissionStr, "专家") {
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%' ` + condition + `) `
|
|
|
- }
|
|
|
- if (userType == 5) && strings.Contains(permissionStr, "专家") {
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%5%' ` + condition + `) `
|
|
|
- }
|
|
|
- if userType == 1 {
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + permissionSqlStr + `) `
|
|
|
- } else {
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
- }
|
|
|
- if userType == 6 || userType == 7 {
|
|
|
- conditionOr += ` OR ( art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' ` + condition + `) `
|
|
|
- }
|
|
|
- if companyProduct != nil {
|
|
|
- if companyProduct.Scale != "" {
|
|
|
- conditionOr += ` OR ( art.scale LIKE '%` + companyProduct.Scale + `%' ` + condition + `) `
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if adminIds != "" {
|
|
|
-
|
|
|
- if userType == 3 {
|
|
|
- conditionAdmin += ` AND art.chart_permission_name IN (` + permissionNameStrZhengShi + `) `
|
|
|
- }
|
|
|
- conditionOr += ` OR ( art.customer_type_ids LIKE '%` + userTypeStr + `%' ` + ` AND art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
|
|
|
- if companyProduct != nil {
|
|
|
- if companyProduct.Scale != "" {
|
|
|
- conditionOr += ` OR ( art.scale LIKE '%` + companyProduct.Scale + `%'` + ` AND art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //弘则研究下的客户不做权限,限制,C类电话会,仅本组销售、部门管理员、admin、权益研究员账号能看到
|
|
|
- if user.CompanyId == utils.HZ_COMPANY_ID {
|
|
|
- mapMobile, e := GetAdminMobileMap()
|
|
|
- if e != nil {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- if _, ok := mapMobile[user.Mobile]; ok {
|
|
|
- conditionOr += ` OR ( art.publish_status = 1 ` + conditionHz + `) `
|
|
|
- }
|
|
|
- }
|
|
|
- if userType == 3 {
|
|
|
- condition += ` AND art.chart_permission_name IN (` + permissionNameStrZhengShi + `) `
|
|
|
- }
|
|
|
- conditionActivity = condition + permissionSqlStr + sqlExport + conditionOr
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
// 根据用户身份处理活动可见
|
|
|
func ActivityConditioninitSql(user *models.WxUserItem, condition string, isPower int) (conditionActivity string, err error) {
|
|
|
//未登录的用户也可以查看所有活动v12.2.1
|
|
@@ -933,203 +648,6 @@ func LabelStr(label string) (labelNew string) {
|
|
|
return labelNew
|
|
|
}
|
|
|
|
|
|
-// 5.3版本活动标签字符串处理
|
|
|
-func LabelStrV5(label string, isShowSubjectName int, temporaryLabel string) (labelNew string) {
|
|
|
- slicebr := strings.Split(label, "-")
|
|
|
- if len(slicebr) > 1 {
|
|
|
- if isShowSubjectName == 1 {
|
|
|
- labelNew = slicebr[1]
|
|
|
- } else {
|
|
|
- labelNew = slicebr[0]
|
|
|
- }
|
|
|
- } else {
|
|
|
- labelNew = label
|
|
|
- }
|
|
|
- if temporaryLabel != "" {
|
|
|
- labelNew = temporaryLabel
|
|
|
- }
|
|
|
- return labelNew
|
|
|
-}
|
|
|
-
|
|
|
-// 查研观向处理活动用户限制报名
|
|
|
-func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- fmt.Println("err:", err)
|
|
|
- go utils.SendAlarmMsg("查研观向处理活动用户限制报名失败,Err:"+err.Error()+"activityId"+strconv.Itoa(activityId), 3)
|
|
|
- }
|
|
|
- }()
|
|
|
- activityInfo, e := models.GetAddActivityInfoById(activityId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetAddActivityInfoById" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if activityInfo == nil {
|
|
|
- return
|
|
|
- }
|
|
|
- //不限制报名的不做爽约限制处理
|
|
|
- //if activityInfo.IsLimitPeople > 0 {
|
|
|
- //total, err := cygx.GetActivitySignupNomeetingCount(activityId)
|
|
|
-
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- mobileList, _ := models.GetUserMeetingMobile(activityId)
|
|
|
- var userIdArr []int
|
|
|
- if len(mobileList) > 0 {
|
|
|
- for _, v := range mobileList {
|
|
|
- userIdArr = append(userIdArr, v.UserId)
|
|
|
- }
|
|
|
- lenuserIdArr := len(userIdArr)
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition = ` AND user_id IN (` + utils.GetOrmInReplace(lenuserIdArr) + `)`
|
|
|
-
|
|
|
- pars = append(pars, userIdArr)
|
|
|
- restrictSignupList, e := models.GetCygxActivityRestrictSignupList(condition, pars, 0, 9999)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCygxActivityRestrictSignupList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //获取这些用户是否被加入到限制报名了
|
|
|
- maptotalRestrict := make(map[int]bool)
|
|
|
- for _, v := range restrictSignupList {
|
|
|
- maptotalRestrict[v.UserId] = true
|
|
|
- }
|
|
|
-
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND a.is_limit_people = 1 AND v.is_meeting = 0 AND v.do_fail_type = 0 AND v.user_id IN (` + utils.GetOrmInReplace(lenuserIdArr) + `)`
|
|
|
- pars = append(pars, userIdArr)
|
|
|
- listSignup, e := models.GetActivitySignupInnerActivityList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetActivitySignupInnerActivityList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapNomeet := make(map[int]int)
|
|
|
- if len(listSignup) > 0 {
|
|
|
- for _, v := range listSignup {
|
|
|
- mapNomeet[v.UserId]++
|
|
|
- }
|
|
|
- }
|
|
|
- var userIdDelArr []int
|
|
|
- for _, v := range mobileList {
|
|
|
- //如果加入了爽约限制但是爽约次数少于3条就删除爽约记录
|
|
|
- if maptotalRestrict[v.UserId] && mapNomeet[v.UserId] < 3 {
|
|
|
- userIdDelArr = append(userIdDelArr, v.UserId)
|
|
|
- }
|
|
|
- }
|
|
|
- if len(userIdDelArr) > 0 {
|
|
|
- e = models.DeleteCygxActivityRestrictSignupByUserIds(userIdDelArr)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("DeleteCygxActivityRestrictSignupByUserIds" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //if total == 0 {
|
|
|
- // return
|
|
|
- //}
|
|
|
- //}
|
|
|
- list, e := models.GetActivitySignupNomeetingCountList(activityId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetActivitySignupNomeetingCountList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var userIdSiginArr []int
|
|
|
- var items []*models.CygxActivitySignupBreak
|
|
|
- for _, v := range list {
|
|
|
- userIdSiginArr = append(userIdSiginArr, v.UserId)
|
|
|
- //添加爽约记录
|
|
|
- item := new(models.CygxActivitySignupBreak)
|
|
|
- item.UserId = v.UserId
|
|
|
- item.ActivityId = v.ActivityId
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.Mobile = v.Mobile
|
|
|
- item.Email = v.Email
|
|
|
- item.CompanyId = v.CompanyId
|
|
|
- item.CompanyName = v.CompanyName
|
|
|
- item.RealName = v.RealName
|
|
|
- item.SellerName = v.SellerName
|
|
|
- items = append(items, item)
|
|
|
- }
|
|
|
- if len(list) == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- var itemsRestrict []*models.CygxActivityRestrictSignup
|
|
|
- maptotalRestrict := make(map[int]bool)
|
|
|
- lenuserIdSiginArr := len(userIdSiginArr)
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition = ` AND user_id IN (` + utils.GetOrmInReplace(lenuserIdSiginArr) + `)`
|
|
|
- pars = append(pars, userIdSiginArr)
|
|
|
- restrictSignupList, e := models.GetCygxActivityRestrictSignupList(condition, pars, 0, 9999)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCygxActivityRestrictSignupList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //获取这些用户是否被加入到限制报名了
|
|
|
- for _, v := range restrictSignupList {
|
|
|
- maptotalRestrict[v.UserId] = true
|
|
|
- }
|
|
|
-
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND a.is_limit_people = 1 AND v.is_meeting = 0 AND v.do_fail_type = 0 AND user_id IN (` + utils.GetOrmInReplace(lenuserIdSiginArr) + `)`
|
|
|
- pars = append(pars, userIdSiginArr)
|
|
|
- listSignup, e := models.GetActivitySignupInnerActivityList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetActivitySignupInnerActivityList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapNomeet := make(map[int]int)
|
|
|
- if len(listSignup) > 0 {
|
|
|
- for _, v := range listSignup {
|
|
|
- mapNomeet[v.UserId]++
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range mobileList {
|
|
|
- //如果加入了爽约限制但是爽约次数少于3条就删除爽约记录
|
|
|
- if !maptotalRestrict[v.UserId] && mapNomeet[v.UserId] >= 3 {
|
|
|
- itemRestrict := new(models.CygxActivityRestrictSignup)
|
|
|
- itemRestrict.UserId = v.UserId
|
|
|
- itemRestrict.CreateTime = time.Now()
|
|
|
- itemRestrict.Mobile = v.Mobile
|
|
|
- itemRestrict.Email = v.Email
|
|
|
- itemRestrict.CompanyId = v.CompanyId
|
|
|
- itemRestrict.CompanyName = v.CompanyName
|
|
|
- itemRestrict.IsRestrict = 1
|
|
|
- itemsRestrict = append(itemsRestrict, itemRestrict)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- err = models.DeleteCygxActivitySignupBreakById(activityId)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("DeleteCygxActivitySignupBreakById" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- //添加爽约记录
|
|
|
- if len(items) > 0 {
|
|
|
- _, e = models.AddCygxActivitySignupBreakList(items)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("AddCygxActivitySignupBreakList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //添加报名限制
|
|
|
- if len(itemsRestrict) > 0 {
|
|
|
- _, e = models.AddCygxActivityRestrictSignupList(itemsRestrict)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("AddCygxActivityRestrictSignupList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
// 判断预约纪要按钮是否显示
|
|
|
func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAppointment bool) {
|
|
|
if activityTypeId == 1 || activityTypeId == 2 || activityTypeId == 3 || activityTypeId == 4 {
|
|
@@ -1576,18 +1094,6 @@ func GetActivityVoiceResp(mapActivityId []int) (mapItem map[int]*models.CygxActi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// AddActivitykeyWordSearch 添加活动搜索记录
|
|
|
-func AddActivitykeyWordSearch(keyWordSearch string, user *models.WxUserItem) {
|
|
|
- if keyWordSearch != "" {
|
|
|
- keyWordItem := new(models.CygxUserSearchKeyWord)
|
|
|
- keyWordItem.UserId = user.UserId
|
|
|
- keyWordItem.KeyWord = keyWordSearch
|
|
|
- keyWordItem.PageType = "ActivitSearch"
|
|
|
- keyWordItem.CreateTime = time.Now()
|
|
|
- go models.AddUserSearchKeyWord(keyWordItem)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
// GetActivityVideoResp 处理活动视频频回放
|
|
|
func GetActivityVideoResp(mapActivityId []int) (mapItem map[int]*models.CygxActivityVideoListResp, err error) {
|
|
|
var condition string
|
|
@@ -1752,41 +1258,6 @@ func GetActivityReportLinkToArticleList(item *models.ActivityDetail) (items []*m
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// GetActivityCityResp 获取活动关联城市,当同一个活动标签对应多个城市的时候,展示最近举办的活动
|
|
|
-func GetActivityCityResp() (mapItem map[string]string, err error) {
|
|
|
- activityList, err := models.GetActivityLabelListCity()
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
- }
|
|
|
- mapActivityCity := make(map[string]string)
|
|
|
- if len(activityList) > 0 {
|
|
|
- for _, v := range activityList {
|
|
|
- if v.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
|
|
|
- v.ActivityTypeId = utils.ANALYST_TELL_ACTIVITY_TYPE_ID
|
|
|
- }
|
|
|
- //如果城市民称长度大于2,那么就不显示
|
|
|
- if utf8.RuneCountInString(v.City) != 2 || mapActivityCity[fmt.Sprint(v.Label, "{|}", v.ActivityTypeId)] != "" {
|
|
|
- continue
|
|
|
- }
|
|
|
- mapActivityCity[fmt.Sprint(v.Label, "{|}", v.ActivityTypeId)] = v.City
|
|
|
- }
|
|
|
- }
|
|
|
- mapItem = mapActivityCity
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// UpdateIsSendYidongSignUp更改活动是否向易董推送报名名单的状态
|
|
|
-func UpdateIsSendYidongSignUp(activityId int) (err error) {
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- go utils.SendAlarmMsg("更改活动是否向易董推送报名名单的状态,失败,活动ID:"+strconv.Itoa(activityId)+err.Error(), 2)
|
|
|
- }
|
|
|
- }()
|
|
|
- err = models.UPdateSendedYiDongSignUp(activityId)
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
// 获取活动线上还是线下的类型
|
|
|
func GetActivityTypeIdMap() (mapResp map[int]int) {
|
|
|
var err error
|
|
@@ -1807,3 +1278,26 @@ func GetActivityTypeIdMap() (mapResp map[int]int) {
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetYanxuanActivityIds 获取研选活动ID
|
|
|
+func GetYanxuanActivityIds() (activityIds []int) {
|
|
|
+ var err error
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg("获取研选活动ID GetYanxuanActivityIds,失败:"+err.Error(), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = ` chart_permission_id = ? AND yidong_activity_id = '' `
|
|
|
+ pars = append(pars, utils.CHART_PERMISSION_ID_YANXUAN)
|
|
|
+ list, e := models.GetCygxActivityIdList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivityIdList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range list {
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|