|
@@ -55,347 +55,6 @@ func (this *ActivityCoAntroller) List() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
-// @Title 活动列表
|
|
|
-// @Description 获取活动列表接口
|
|
|
-// @Param PageSize query int true "每页数据条数"
|
|
|
-// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
-// @Param ChartPermissionIds query string false "行业id 多个用 , 隔开"
|
|
|
-// @Param ActivityTypeIds query string false "活动类型id 多个用 , 隔开"
|
|
|
-// @Param KeyWord query string false "搜索关键词 多个用 , 隔开"
|
|
|
-// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
|
-// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
|
-// @Param IsShowJurisdiction query int false "是否仅展示有权限的,1是,2否 默认为零"
|
|
|
-// @Param Label query string false "搜索主题 多个用 , 隔开"
|
|
|
-// @Param PlayBack query int false "是否仅展示回放 1:是、0:否 默认0"
|
|
|
-// @Param KeyWord query string false "搜索关键词 多个用 , 隔开"
|
|
|
-// @Success 200 {object} models.GetCygxActivityListRep
|
|
|
-// @router /list_del_test [get]
|
|
|
-func (this *ActivityCoAntroller) ActivityList() {
|
|
|
- br := new(models.BaseResponse).Init()
|
|
|
- defer func() {
|
|
|
- this.Data["json"] = br
|
|
|
- this.ServeJSON()
|
|
|
- }()
|
|
|
- user := this.User
|
|
|
- if user == nil {
|
|
|
- br.Msg = "请登录"
|
|
|
- br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
- return
|
|
|
- }
|
|
|
- uid := user.UserId
|
|
|
- pageSize, _ := this.GetInt("PageSize")
|
|
|
- currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
- chartPermissionIds := this.GetString("ChartPermissionIds")
|
|
|
- activityTypeIds := this.GetString("ActivityTypeIds")
|
|
|
- whichDay := this.GetString("WhichDay")
|
|
|
- isShowJurisdiction, _ := this.GetInt("IsShowJurisdiction")
|
|
|
- keyWord := this.GetString("KeyWord")
|
|
|
- keyWordSearch := this.GetString("KeyWord")
|
|
|
- activeState := this.GetString("ActiveState")
|
|
|
- label := this.GetString("Label")
|
|
|
- playBack, _ := this.GetInt("PlayBack")
|
|
|
- //入参为 undefined 时的处理
|
|
|
- if chartPermissionIds == "undefined" {
|
|
|
- chartPermissionIds = ""
|
|
|
- }
|
|
|
- // 查研观向7.4-始终查询宏观的活动
|
|
|
- if chartPermissionIds != "" {
|
|
|
- chartPermissionIds += ",1"
|
|
|
- }
|
|
|
- if activityTypeIds == "undefined" {
|
|
|
- activityTypeIds = ""
|
|
|
- }
|
|
|
- if whichDay == "undefined" {
|
|
|
- whichDay = ""
|
|
|
- }
|
|
|
- if activeState == "undefined" {
|
|
|
- activeState = ""
|
|
|
- }
|
|
|
- if label == "undefined" {
|
|
|
- label = ""
|
|
|
- }
|
|
|
- //更新用户的搜索信息
|
|
|
- itemSearch := new(models.CygxActivityUserSearchContent)
|
|
|
- itemSearch.UserId = uid
|
|
|
- itemSearch.CreateTime = time.Now()
|
|
|
- itemSearch.Mobile = user.Mobile
|
|
|
- itemSearch.Email = user.Email
|
|
|
- itemSearch.CompanyId = user.CompanyId
|
|
|
- itemSearch.CompanyName = user.CompanyName
|
|
|
- itemSearch.ModifyTime = time.Now()
|
|
|
- itemSearch.ChartPermissionids = chartPermissionIds
|
|
|
- itemSearch.ActivityTypeids = activityTypeIds
|
|
|
- itemSearch.ActiveState = activeState
|
|
|
- itemSearch.IsShowJurisdiction = isShowJurisdiction
|
|
|
- //并发缓存校验
|
|
|
- cacheKey := fmt.Sprint("xygx:activity_user_search:add:", uid)
|
|
|
- ttlTime := utils.Rc.GetRedisTTL(cacheKey)
|
|
|
- _, errSearch := models.AddUserSearchContent(itemSearch, ttlTime)
|
|
|
- if errSearch != nil {
|
|
|
- br.Msg = "操作失败"
|
|
|
- br.ErrMsg = "操作失败,Err:" + errSearch.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- utils.Rc.SetNX(cacheKey, user.Mobile, time.Second*10)
|
|
|
- userType, permissionStr, err := services.GetUserType(user.CompanyId)
|
|
|
- if isShowJurisdiction == 1 && chartPermissionIds == "" && userType == 4 {
|
|
|
- activityTypeIds = "1,3"
|
|
|
- }
|
|
|
-
|
|
|
- var startSize int
|
|
|
- if pageSize <= 0 {
|
|
|
- pageSize = utils.PageSize20
|
|
|
- }
|
|
|
- if currentIndex <= 0 {
|
|
|
- currentIndex = 1
|
|
|
- }
|
|
|
- startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- //活动可见限制
|
|
|
- var sqlExport string
|
|
|
- slicePer := strings.Split(permissionStr, ",")
|
|
|
- var permissionSqlStr string
|
|
|
- for _, v := range slicePer {
|
|
|
- if userType == 1 {
|
|
|
- //if v != "研选" {
|
|
|
- if !strings.Contains(v, "研选") {
|
|
|
- permissionSqlStr += "'" + v + "',"
|
|
|
- }
|
|
|
- } else {
|
|
|
- permissionSqlStr += "'" + v + "',"
|
|
|
- }
|
|
|
- }
|
|
|
- permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
|
|
|
- permissionSqlStr = strings.Replace(permissionSqlStr, "(主观)", "", -1)
|
|
|
- permissionSqlStr = strings.Replace(permissionSqlStr, "(客观)", "", -1)
|
|
|
- permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionSqlStr + `)`
|
|
|
- sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
|
|
|
- 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 += `) `
|
|
|
- if keyWord != "" {
|
|
|
- var mirrorword string
|
|
|
- var mirrorwordSql string
|
|
|
- slicemirrorword := strings.Split(keyWord, ",")
|
|
|
- for _, v := range slicemirrorword {
|
|
|
- mirrorwordSql += "'" + v + "'" + ","
|
|
|
- }
|
|
|
- mirrorwordSql = strings.TrimRight(mirrorwordSql, ",")
|
|
|
- total, err := models.GetActivityMirrorWordCount(mirrorwordSql)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if total > 0 {
|
|
|
- mirrorword, err = models.GetMirrorWord(mirrorwordSql)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "关系词映射获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- keyWord = keyWord + "," + mirrorword
|
|
|
- slicekeyWord := strings.Split(keyWord, ",")
|
|
|
- var sqlKeyOr string
|
|
|
- if len(slicekeyWord) >= 2 {
|
|
|
- for _, v := range slicekeyWord {
|
|
|
- if v != "" {
|
|
|
- sqlKeyOr += ` OR art.activity_name LIKE '%` + v + `%' `
|
|
|
- }
|
|
|
- }
|
|
|
- condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' ` + sqlKeyOr + ` )`
|
|
|
- } else {
|
|
|
- condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' )`
|
|
|
- }
|
|
|
- }
|
|
|
- //主题
|
|
|
- if label != "" {
|
|
|
- sliceLabel := strings.Split(label, ",")
|
|
|
- var labelSqlStr string
|
|
|
- for _, v := range sliceLabel {
|
|
|
- labelSqlStr += "'" + v + "',"
|
|
|
- }
|
|
|
- labelSqlStr = strings.TrimRight(labelSqlStr, ",")
|
|
|
- condition = ` AND art.label IN (` + labelSqlStr + `)`
|
|
|
- }
|
|
|
- //行业名称
|
|
|
- if len(chartPermissionIds) > 0 {
|
|
|
- condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
|
- }
|
|
|
- if activityTypeIds != "" {
|
|
|
- condition += ` AND art.activity_type_id IN (` + activityTypeIds + `)`
|
|
|
- }
|
|
|
- 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 {
|
|
|
- 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 activeState != "" {
|
|
|
- condition += ` AND art.active_state IN (` + activeState + `)`
|
|
|
- }
|
|
|
- condition += ` AND art.publish_status = 1 `
|
|
|
- var conditionOr string
|
|
|
- // 有专家权限的这几种用户,不做行业权限校验
|
|
|
- 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 + `) `
|
|
|
- }
|
|
|
-
|
|
|
- //判断客户规模是否属于可见范围的活动
|
|
|
- companyProduct, err := models.GetCompanyProductDetail(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if companyProduct != nil {
|
|
|
- if companyProduct.Scale != "" {
|
|
|
- conditionOr += ` OR ( art.scale LIKE '%` + companyProduct.Scale + `%' ` + condition + `) `
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- condition += ` AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
|
|
|
- total, err := models.GetActivityCount(condition, playBack, pars, 0)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if activeState == "2" || activeState == "3" {
|
|
|
- condition += ` ORDER BY art.activity_time DESC `
|
|
|
- } else {
|
|
|
- condition += ` ORDER BY art.active_state ASC, art.activity_time ASC `
|
|
|
- }
|
|
|
- list, errList := models.GetActivityListAll(condition, pars, uid, startSize, pageSize, playBack)
|
|
|
- if errList != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + errList.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- var isShow bool
|
|
|
- isShow = services.GetShowSustainable()
|
|
|
- detail, err := models.GetConfigByCode("city_img_url")
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "城市配置信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- detailChart, err := models.GetConfigByCode("chart_img_url")
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- addressList := strings.Split(detail.ConfigValue, "{|}")
|
|
|
- mapAddress := make(map[string]string)
|
|
|
- chartList := strings.Split(detailChart.ConfigValue, "{|}")
|
|
|
- mapChart := make(map[string]string)
|
|
|
- var cityName string
|
|
|
- var chartName string
|
|
|
- var imgUrl string
|
|
|
- var imgUrlChart string
|
|
|
- var mapActivityId []int
|
|
|
- for _, v := range addressList {
|
|
|
- vslice := strings.Split(v, "_")
|
|
|
- cityName = vslice[0]
|
|
|
- imgUrl = vslice[len(vslice)-1]
|
|
|
- mapAddress[cityName] = imgUrl
|
|
|
- }
|
|
|
- for _, v := range chartList {
|
|
|
- vslice := strings.Split(v, "_")
|
|
|
- chartName = vslice[0]
|
|
|
- imgUrlChart = vslice[len(vslice)-1]
|
|
|
- mapChart[chartName] = imgUrlChart
|
|
|
- }
|
|
|
- for k, v := range list {
|
|
|
- if strings.Contains(v.ActivityName, "【") {
|
|
|
- list[k].IsBrackets = 1
|
|
|
- }
|
|
|
- if v.SignupNum > v.LimitPeopleNum {
|
|
|
- list[k].SignupNum = v.LimitPeopleNum
|
|
|
- }
|
|
|
- if isShow && strings.Contains(v.ChartPermissionName, "研选") {
|
|
|
- list[k].IsShowSustainable = true
|
|
|
- }
|
|
|
- if strings.Contains(v.ChartPermissionName, "研选") && v.ActivityTypeId == 1 {
|
|
|
- list[k].ActivityTypeName = "买方研选电话会"
|
|
|
- list[k].ImgUrlText = utils.YAN_XUAN_IMG
|
|
|
- }
|
|
|
- if v.ActivityType == 0 {
|
|
|
- if mapAddress[v.City] != "" {
|
|
|
- list[k].ImgUrl = mapAddress[v.City]
|
|
|
- } else {
|
|
|
- list[k].ImgUrl = mapAddress["其它"]
|
|
|
- }
|
|
|
- } else {
|
|
|
- if mapChart[v.ChartPermissionName] != "" {
|
|
|
- list[k].ImgUrl = mapChart[v.ChartPermissionName]
|
|
|
- }
|
|
|
- }
|
|
|
- expertTxt, _ := services.GetReportContentTextSub(v.Expert)
|
|
|
- list[k].Expert = expertTxt
|
|
|
- mapActivityId = append(mapActivityId, v.ActivityId)
|
|
|
- }
|
|
|
- if keyWordSearch != "" {
|
|
|
- keyWordItem := new(models.CygxUserSearchKeyWord)
|
|
|
- keyWordItem.UserId = user.UserId
|
|
|
- keyWordItem.KeyWord = keyWordSearch
|
|
|
- keyWordItem.PageType = "ActivitSearch"
|
|
|
- keyWordItem.CreateTime = time.Now()
|
|
|
- go models.AddUserSearchKeyWord(keyWordItem)
|
|
|
- }
|
|
|
- resp := new(models.GetCygxActivityListRep)
|
|
|
- //处理音频回放
|
|
|
- mapActivityVoice, err := services.GetActivityVoiceResp(mapActivityId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "GetActivityVoiceResp,Err:" + err.Error()
|
|
|
- }
|
|
|
- //处理列表的标签是否展示逻辑
|
|
|
- for k, v := range list {
|
|
|
- if mapActivityVoice[v.ActivityId] != nil {
|
|
|
- list[k].AudioLink = true
|
|
|
- list[k].VoiceList = mapActivityVoice[v.ActivityId]
|
|
|
- }
|
|
|
- resp.List = append(resp.List, services.ActivityButtonShow(v))
|
|
|
- }
|
|
|
- page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
- resp.List = list
|
|
|
- resp.Paging = page
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Msg = "获取成功"
|
|
|
- br.Data = resp
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
// @Title 我的日程
|
|
|
// @Description 我的日程列表接口
|
|
|
// @Param PageSize query int true "每页数据条数"
|
|
@@ -649,10 +308,8 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
br.Msg = "请输入活动ID"
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
resp := new(models.CygxActivityResp)
|
|
|
- hasPermission := 0
|
|
|
- var companyDetailStatus string
|
|
|
+ var hasPermission int
|
|
|
activityInfo, err := models.GetAddActivityInfoByIdShow(uid, activityId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取信息失败"
|
|
@@ -664,237 +321,15 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
br.ErrMsg = "活动ID错误,Err:" + "activityId:" + strconv.Itoa(activityId)
|
|
|
return
|
|
|
}
|
|
|
- if activityInfo.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
|
|
|
- activityInfo.IsCClassMeeting = true
|
|
|
- }
|
|
|
- //处理冻结客户,流失客户的弹窗提示
|
|
|
- if user.CompanyId > 1 {
|
|
|
- sellerMobile, sellerRealName, err := services.CheckActivityUserPermission(user)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if sellerMobile != "" {
|
|
|
- resp.HasPermission = 2
|
|
|
- resp.SellerMobile = sellerMobile
|
|
|
- resp.SellerName = sellerRealName
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Msg = "获取成功"
|
|
|
- br.Data = resp
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- applyCount, err := models.GetApplyRecordCount(uid)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- //获取FICC销售信息 如果是FICC的客户类型,则默认他申请过
|
|
|
- sellerItem, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 1)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if user.CompanyId <= 1 {
|
|
|
- companyDetailStatus = ""
|
|
|
- } else {
|
|
|
- companyPermission, err := models.GetCompanyPermission(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if companyPermission == "" {
|
|
|
- if applyCount > 0 {
|
|
|
- hasPermission = 4
|
|
|
- } else {
|
|
|
- if sellerItem != nil {
|
|
|
- hasPermission = 5
|
|
|
- } else {
|
|
|
- //获取权益销售信息 如果是FICC的客户类型,则默认他申请过
|
|
|
- sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if sellerItemQy != nil {
|
|
|
- hasPermission = 2
|
|
|
- resp.SellerMobile = sellerItemQy.Mobile
|
|
|
- resp.SellerName = sellerItemQy.RealName
|
|
|
- } else {
|
|
|
- hasPermission = 3
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- resp.HasPermission = hasPermission
|
|
|
- resp.OperationMode = "Apply"
|
|
|
- resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Msg = "获取成功"
|
|
|
- br.Data = resp
|
|
|
- return
|
|
|
- }
|
|
|
- companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败!"
|
|
|
- br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if companyDetail == nil {
|
|
|
- br.Msg = "获取信息失败!"
|
|
|
- br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
|
|
|
- return
|
|
|
- }
|
|
|
- companyDetailStatus = companyDetail.Status
|
|
|
- }
|
|
|
- userType, permissionStr, err := services.GetUserType(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if activityInfo.IsLimitPeople > 0 {
|
|
|
- noPower, err := services.GetShareNoPowe(activityInfo, permissionStr, userType, user)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- //获取用户的产业规模,判断是否允许可见
|
|
|
- companyProduct, err := models.GetCompanyProductDetail(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if companyProduct != nil {
|
|
|
- if companyProduct.Scale != "" {
|
|
|
- if strings.Count(activityInfo.Scale, companyProduct.Scale) > 0 {
|
|
|
- noPower = false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if noPower {
|
|
|
- br.Msg = "您暂无查看该活动权限"
|
|
|
- br.ErrMsg = "被分享客户不可见,获取信息失败"
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if userType == 1 && strings.Contains(activityInfo.ChartPermissionName, "研选") {
|
|
|
- br.Msg = "您暂无查看该活动权限"
|
|
|
- br.ErrMsg = "被分享客户不可见,永续客户无法查看研选行业"
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- detail, errDetail := models.GetActivityTypeDetailById(activityInfo.ActivityTypeId)
|
|
|
- if errDetail != nil {
|
|
|
+ havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
|
|
|
+ if err != nil {
|
|
|
br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + errDetail.Error()
|
|
|
+ br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if activityInfo.IsSignup > 0 {
|
|
|
- detail, errDetail := models.GetActivitySignupDetail(activityId, uid)
|
|
|
- if errDetail != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + errDetail.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- activityInfo.SignupType = detail.SignupType
|
|
|
- }
|
|
|
- activityInfo.ShowType = detail.ShowType
|
|
|
|
|
|
- //判断是否已经申请过
|
|
|
-
|
|
|
- if user.CompanyId > 1 {
|
|
|
- permissionStr, err := models.GetCompanyPermissionByUser(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户权限信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- companyItem, err := models.GetCompanyDetailById(user.CompanyId)
|
|
|
- //冻结客户
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- if applyCount > 0 {
|
|
|
- hasPermission = 4
|
|
|
- } else {
|
|
|
- if sellerItem != nil {
|
|
|
- hasPermission = 5
|
|
|
- } else {
|
|
|
- //获取权益销售信息 如果是FICC的客户类型,则默认他申请过
|
|
|
- sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if sellerItemQy != nil {
|
|
|
- hasPermission = 2
|
|
|
- resp.SellerMobile = sellerItemQy.Mobile
|
|
|
- resp.SellerName = sellerItemQy.RealName
|
|
|
- } else {
|
|
|
- hasPermission = 3
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- resp.HasPermission = hasPermission
|
|
|
- resp.OperationMode = "Apply"
|
|
|
- resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
- br.Ret = 200
|
|
|
- br.Success = true
|
|
|
- br.Msg = "获取成功"
|
|
|
- br.Data = resp
|
|
|
- return
|
|
|
- } else {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取客户公司信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- havePower, err := services.GetHavePower(activityInfo, permissionStr, companyDetailStatus, userType)
|
|
|
- if havePower {
|
|
|
- hasPermission = 1
|
|
|
- resp.HaqveJurisdiction = true
|
|
|
- } else {
|
|
|
- if permissionStr == "专家" {
|
|
|
- resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
- resp.MsgType = "Type"
|
|
|
- } else {
|
|
|
- resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
- resp.MsgType = "Industry"
|
|
|
- }
|
|
|
- if companyItem.ProductId == 2 {
|
|
|
- resp.SellerMobile = companyItem.Mobile
|
|
|
- resp.SellerName = companyItem.SellerName
|
|
|
- resp.OperationMode = "Call"
|
|
|
- hasPermission = 2
|
|
|
- } else {
|
|
|
- hasPermission = 5
|
|
|
- }
|
|
|
- }
|
|
|
- } else { //潜在客户
|
|
|
- if applyCount > 0 {
|
|
|
- hasPermission = 4
|
|
|
- } else {
|
|
|
- if sellerItem != nil {
|
|
|
- hasPermission = 5
|
|
|
- } else {
|
|
|
- hasPermission = 3
|
|
|
- }
|
|
|
- }
|
|
|
- resp.OperationMode = "Apply"
|
|
|
- resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
- }
|
|
|
- if hasPermission == 1 {
|
|
|
+ if havePower {
|
|
|
//是否展示限免标签
|
|
|
if services.GetShowSustainable() && strings.Contains(activityInfo.ChartPermissionName, "研选") {
|
|
|
activityInfo.IsShowSustainable = true
|
|
@@ -1052,6 +487,18 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
activityInfo.SignupType = mapActivitySignup[activityId]
|
|
|
//处理按钮是否展示问题
|
|
|
resp.Detail = services.ActivityButtonShow(activityInfo)
|
|
|
+ } else {
|
|
|
+ hasPermission, sellerName, sellerMobile, popupMsg, err := services.GetUserHasPermission(user)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ popupMsg = "暂无查看权限"
|
|
|
+ resp.PopupMsg = popupMsg
|
|
|
+ resp.HasPermission = hasPermission
|
|
|
+ resp.SellerName = sellerName
|
|
|
+ resp.SellerMobile = sellerMobile
|
|
|
}
|
|
|
|
|
|
collectCount1, err := models.GetActivityVoiceCollectCount(uid, activityId)
|