|
@@ -10,7 +10,7 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-//获取活动列表查询权限的SQL
|
|
|
+// 获取活动列表查询权限的SQL
|
|
|
// @Param ChartPermissionIds query string false "行业id 多个用 , 隔开"
|
|
|
// @Param ActivityTypeIds query string false "活动类型id 多个用 , 隔开"
|
|
|
// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
@@ -19,7 +19,9 @@ import (
|
|
|
// @Param Label query string false "搜索主题 多个用 , 隔开"
|
|
|
// @Param PlayBack query int false "是否仅展示回放 1:是、0:否 默认0"
|
|
|
// @Param KeyWord query string false "搜索关键词"
|
|
|
-func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack int) (conditionActivity string, err error) {
|
|
|
+// @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
|
|
@@ -62,7 +64,7 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
var conditionAdmin string
|
|
|
var conditionHz string // 弘则权限处理
|
|
|
var sqlExport string // 专家权限处理
|
|
|
- //permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionNameStr + `)`
|
|
|
+ permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionNameStr + `)`
|
|
|
sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
|
|
|
if userType == 2 {
|
|
|
sqlExport += ` OR art.customer_type_ids LIKE '%3%' `
|
|
@@ -76,14 +78,13 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
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 = ` + activityTypeId
|
|
|
+ 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 {
|
|
@@ -92,7 +93,6 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
|
|
|
//行业名称
|
|
|
if len(chartPermissionIds) > 0 {
|
|
|
-
|
|
|
condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
|
}
|
|
|
//如果是PC的,则不看易董的
|
|
@@ -110,9 +110,6 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
} else if whichDay == "2" {
|
|
|
startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
endDate = startDate
|
|
|
- } else if whichDay == "1,2" || whichDay == "2,1" {
|
|
|
- startDate = time.Now().Format(utils.FormatDate)
|
|
|
- endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
} else if whichDay == "3" {
|
|
|
startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
|
|
|
endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
@@ -125,24 +122,43 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
} else if whichDay == "6" {
|
|
|
startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
|
|
|
- } else if whichDay == "3,4" || whichDay == "4,3" {
|
|
|
+ } 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" || whichDay == "6,5" {
|
|
|
+ } else if whichDay == "5,6" {
|
|
|
startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
|
|
|
} else {
|
|
|
- startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
|
|
|
- endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
+ 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 != "" {
|
|
|
- condition += ` AND (art.label LIKE '%` + keyWord + `%' OR art.activity_name LIKE '%` + 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 != "" {
|
|
|
// 默认查看未开始跟进行中
|
|
@@ -187,6 +203,7 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
}
|
|
|
|
|
|
//查询全部可见的数据(是否全部客户可见)
|
|
|
+ //condition += ` AND art.visible_range != 1 AND art.publish_status = 1 `
|
|
|
condition += ` AND art.publish_status = 1 `
|
|
|
conditionHz = condition
|
|
|
|
|
@@ -241,13 +258,13 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//获取可见的活动
|
|
|
+// 获取可见的活动
|
|
|
func HandleActivityPowerList(listActivity []*models.CygxActivity, user *models.WxUserItem) (items []*models.CygxActivity, err error) {
|
|
|
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//5.3版本活动标签字符串处理
|
|
|
+// 5.3版本活动标签字符串处理
|
|
|
func LabelStr(label string, isShowSubjectName int, temporaryLabel string) (labelNew string) {
|
|
|
slicebr := strings.Split(label, "-")
|
|
|
if len(slicebr) > 1 {
|
|
@@ -265,7 +282,7 @@ func LabelStr(label string, isShowSubjectName int, temporaryLabel string) (label
|
|
|
return labelNew
|
|
|
}
|
|
|
|
|
|
-//列表
|
|
|
+// 列表
|
|
|
func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivity []*models.CygxActivity, user *models.WxUserItem) (items []*models.ActivityTypeHome, err error) {
|
|
|
mapActivity := make(map[int][]*models.CygxActivityLabelList)
|
|
|
activityIds := make([]int, 0) // 用于查询活动【新】标签Map
|
|
@@ -324,7 +341,7 @@ func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivit
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//GetActivityVoiceResp 处理活动音频回放
|
|
|
+// GetActivityVoiceResp 处理活动音频回放
|
|
|
func GetActivityVoiceResp(mapActivityId []int) (mapItem map[int]*models.CygxActivityVoiceReq, err error) {
|
|
|
activityVoiceList, err := models.GetCygxActivityVoiceReqList(mapActivityId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
@@ -341,7 +358,7 @@ func GetActivityVoiceResp(mapActivityId []int) (mapItem map[int]*models.CygxActi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//GetActivityVideoResp 处理活动视频频回放
|
|
|
+// GetActivityVideoResp 处理活动视频频回放
|
|
|
func GetActivityVideoResp(mapActivityId []int) (mapItem map[int]*models.CygxActivityVideoListResp, err error) {
|
|
|
var condition string
|
|
|
var ativityVIdstr string
|
|
@@ -711,7 +728,7 @@ func GetIndustryNewLabelMap(industryIds []int) (labelMap map[int]bool, err error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//GetSpecialDetailUserPower 处理用户查看专项调研详情的权限
|
|
|
+// GetSpecialDetailUserPower 处理用户查看专项调研详情的权限
|
|
|
func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower bool, err error) {
|
|
|
var companyDetailStatus string
|
|
|
userType, permissionStr, e := GetUserType(user.CompanyId)
|
|
@@ -808,7 +825,7 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//处理活动本组们是否决策人权限
|
|
|
+// 处理活动本组们是否决策人权限
|
|
|
func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *models.ActivityDetail) (noPower bool, err error) {
|
|
|
//处理 见范围 1,仅本组可见 、2,全部客户可见
|
|
|
if activityInfo.VisibleRange == 1 {
|
|
@@ -837,7 +854,7 @@ func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *model
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//判断预约纪要按钮是否显示
|
|
|
+// 判断预约纪要按钮是否显示
|
|
|
func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAppointment bool) {
|
|
|
if activityTypeId == 1 || activityTypeId == 2 || activityTypeId == 3 || activityTypeId == 4 {
|
|
|
isShowAppointment = true
|
|
@@ -848,7 +865,7 @@ func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAp
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//GetindustryVideoDetailById 通过视频ID获取视频详情
|
|
|
+// GetindustryVideoDetailById 通过视频ID获取视频详情
|
|
|
func GetActivityVideoDetailById(user *models.WxUserItem, videoId int) (industryVideo *models.CygxActivityVideoDetailResp, AuthInfo *models.UserPermissionAuthInfo, err error) {
|
|
|
total, e := models.GetActivityVideoByVideoIdCount(videoId)
|
|
|
if e != nil {
|