|
@@ -1,9 +1,13 @@
|
|
|
package controllers
|
|
|
|
|
|
import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hongze_clpt/models"
|
|
|
"hongze/hongze_clpt/services"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -17,7 +21,6 @@ type ActivityController struct {
|
|
|
// @Param ActivityTypeIds query string false "活动类型id 多个用 , 隔开"
|
|
|
// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3 多个用 , 隔开"
|
|
|
// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
|
-// @Param WhichTime query string false " 本周:1 上周:2,本月:3上月:4"
|
|
|
// @Param IsPower query int false "是否选择有权限行业 ,1是 0 否 默认0"
|
|
|
// @Success 200 {object} models.ActivityTypeListHomeResp
|
|
|
// @router /labelTypeList [get]
|
|
@@ -70,7 +73,7 @@ func (this *ActivityController) LabelTypeList() {
|
|
|
condition += `AND art.activity_time > ? `
|
|
|
pars = append(pars, time.Now().AddDate(0, -3, 0).Format(utils.FormatDate))
|
|
|
|
|
|
- conditionActivity, err := services.GetActivityonditionList(user, "", chartPermissionIds, whichDay, activeState, "", isPower, 0, "", 0)
|
|
|
+ conditionActivity, err := services.GetActivityonditionList(user, "", chartPermissionIds, whichDay, activeState, "", isPower, 0, "", 0, "")
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
|
|
@@ -99,3 +102,638 @@ func (this *ActivityController) LabelTypeList() {
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = resp
|
|
|
}
|
|
|
+
|
|
|
+// @Title 活动列表
|
|
|
+// @Description 获取活动列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param Label query string false "搜索主题 多个用 , 隔开"
|
|
|
+// @Param ChartPermissionIds query string false "行业id 多个用 , 隔开"
|
|
|
+// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
|
+// @Param WhichTime query string false " 本周:1 上周:2,本月:3上月:4"
|
|
|
+// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
|
+// @Param ActivityTypeId query string false "活动类型id 多个用 , 隔开"
|
|
|
+// @Param Source query int false "来源 0手机 ,1Pc 默认0"
|
|
|
+// @Param IsPower query int false "是否选择有权限行业 ,1是 0 否 默认0"
|
|
|
+// @Param PlayBack query int false "是否仅展示回放 1:是、0:否 默认0"
|
|
|
+// @Param KeyWord query string false "搜索关键词 多个用 , 隔开"
|
|
|
+// @Param ActivityId query int false "活动列表传过来的活动ID"
|
|
|
+// @Param Filter query int false "筛选条件 0:全部 1:视频 2:音频"
|
|
|
+// @Success 200 {object} models.GetCygxActivityListRep
|
|
|
+// @router /list [get]
|
|
|
+func (this *ActivityController) ActivityListNew() {
|
|
|
+ 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")
|
|
|
+ source, _ := this.GetInt("Source")
|
|
|
+ label := this.GetString("Label")
|
|
|
+ chartPermissionIds := this.GetString("ChartPermissionIds")
|
|
|
+ whichDay := this.GetString("WhichDay")
|
|
|
+ whichTime := this.GetString("WhichTime")
|
|
|
+ activeState := this.GetString("ActiveState")
|
|
|
+ activityTypeId := this.GetString("ActivityTypeId")
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ playBack, _ := this.GetInt("PlayBack")
|
|
|
+ filter, _ := this.GetInt("Filter")
|
|
|
+ activityId, _ := this.GetInt("ActivityId") // 仅用于判断【新】标签
|
|
|
+
|
|
|
+ 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 activityList []*models.ActivityDetail
|
|
|
+ mapDingActivityId := make(map[int]int)
|
|
|
+ condition = ""
|
|
|
+ //活动可见限制
|
|
|
+ conditionActivity, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack, whichTime)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if source == 1 {
|
|
|
+ condition += ` AND art.yidong_activity_id = '' `
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += ` AND art.is_limit_people = 1 AND art.publish_status = 1 ` + conditionActivity
|
|
|
+ total, err := models.GetActivityCount(condition, playBack, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var conditionOrder string
|
|
|
+ if activeState == "2" || activeState == "3" {
|
|
|
+ conditionOrder = ` ORDER BY art.activity_time DESC `
|
|
|
+ } else if activeState == "2,3" {
|
|
|
+ conditionOrder = ` ORDER BY art.active_state ASC, art.activity_time DESC `
|
|
|
+ } else {
|
|
|
+ conditionOrder = ` ORDER BY art.activity_time DESC , art.active_state ASC `
|
|
|
+ }
|
|
|
+
|
|
|
+ if label != "" && activeState == "1" {
|
|
|
+ conditionOrder = ` ORDER BY art.activity_time ASC `
|
|
|
+ }
|
|
|
+
|
|
|
+ if activeState == "1" {
|
|
|
+ conditionOrder = ` ORDER BY art.activity_time ASC `
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += conditionOrder
|
|
|
+ list, errList := models.GetActivityListNew(condition, pars, uid, startSize, pageSize, playBack, filter)
|
|
|
+ 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
|
|
|
+ if v.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
|
|
|
+ list[k].IsCClassMeeting = true
|
|
|
+ }
|
|
|
+ mapActivityId = append(mapActivityId, v.ActivityId)
|
|
|
+ }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp := new(models.GetCygxActivityListRep)
|
|
|
+ var activityList []*models.ActivityDetail
|
|
|
+ resp.Label = label
|
|
|
+ if activityTypeId != "" {
|
|
|
+ activityTypeIdint, err := strconv.Atoi(activityTypeId)
|
|
|
+ if err == nil {
|
|
|
+ detail, errDetail := models.GetActivityTypeDetailById(activityTypeIdint)
|
|
|
+ if errDetail != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errDetail.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.ImgUrl = detail.OnlineIco
|
|
|
+ resp.Label = detail.ActivityTypeName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //处理音频回放
|
|
|
+ mapActivityVoice, err := services.GetActivityVoiceResp(mapActivityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetActivityVoiceResp,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理视频回放
|
|
|
+ mapActivityVideo, err := services.GetActivityVideoResp(mapActivityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetActivityVideoResp,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ if mapDingActivityId[v.ActivityId] == 0 {
|
|
|
+ activityList = append(activityList, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for k, v := range activityList {
|
|
|
+ if mapActivityVoice[v.ActivityId] != nil {
|
|
|
+ list[k].FileType = 1
|
|
|
+ list[k].AudioLink = true
|
|
|
+ list[k].VoiceList = mapActivityVoice[v.ActivityId]
|
|
|
+ }
|
|
|
+ if mapActivityVideo[v.ActivityId] != nil {
|
|
|
+ list[k].FileType = 2
|
|
|
+ list[k].AudioLink = true
|
|
|
+ list[k].VideoDetail = mapActivityVideo[v.ActivityId]
|
|
|
+ }
|
|
|
+ activityList = append(activityList, services.ActivityButtonShow(v))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查研观向7.4-判断标签是否为产业, 为产业时是否跳转资源包
|
|
|
+ if label != "" {
|
|
|
+ industry, e := models.GetIndustryByName(label)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取标签产业失败, Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if industry != nil {
|
|
|
+ sourceIndustry, e := models.GetSourceIndustryByName(label)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取标签产业资源包失败, Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if sourceIndustry != nil {
|
|
|
+ resp.IndustrialManagementId = sourceIndustry.IndustrialManagementId
|
|
|
+ resp.IsJump = true
|
|
|
+ // 研选产业不跳资源包
|
|
|
+ if sourceIndustry.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ resp.IsJump = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 新标签
|
|
|
+ if activityId > 0 {
|
|
|
+ activityIds := []int{activityId}
|
|
|
+ activityNewMap, _, e := services.GetActivityNewLabelMap(activityIds)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取活动新标签失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.IndustryNewLabel = activityNewMap[activityId]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加活动搜索记录
|
|
|
+ //if keyWord != "" {
|
|
|
+ // go services.AddActivitykeyWordSearch(keyWord, user)
|
|
|
+ //}
|
|
|
+ //预处理返给前端的字段
|
|
|
+ for _, v := range activityList {
|
|
|
+ resp.List = append(resp.List, &models.ActivityListResp{
|
|
|
+ ActivityId: v.ActivityId,
|
|
|
+ ActivityTypeId: v.ActivityTypeId,
|
|
|
+ ActivityTypeName: v.ActivityTypeName,
|
|
|
+ ChartPermissionId: v.ChartPermissionId,
|
|
|
+ ChartPermissionName: v.ChartPermissionName,
|
|
|
+ IsLimitPeople: v.IsLimitPeople,
|
|
|
+ LimitPeopleNum: v.LimitPeopleNum,
|
|
|
+ LastUpdatedTime: v.LastUpdatedTime,
|
|
|
+ ActivityTime: v.ActivityTime,
|
|
|
+ ActivityTimeText: v.ActivityTimeText,
|
|
|
+ DistinguishedGuest: v.DistinguishedGuest,
|
|
|
+ Host: v.Host,
|
|
|
+ Speaker: v.Speaker,
|
|
|
+ MainlandTell: v.MainlandTell,
|
|
|
+ HongKongTell: v.HongKongTell,
|
|
|
+ TaiwanTell: v.TaiwanTell,
|
|
|
+ AmericaTell: v.AmericaTell,
|
|
|
+ ParticipationCode: v.ParticipationCode,
|
|
|
+ Theme: v.Theme,
|
|
|
+ Expert: v.Expert,
|
|
|
+ ActivityName: v.ActivityName,
|
|
|
+ OnlineParticipation: v.OnlineParticipation,
|
|
|
+ ReportLink: v.ReportLink,
|
|
|
+ City: v.City,
|
|
|
+ Address: v.Address,
|
|
|
+ Highlights: v.Highlights,
|
|
|
+ Remarks: v.Remarks,
|
|
|
+ IsSignup: v.IsSignup,
|
|
|
+ IsAppointment: v.IsAppointment,
|
|
|
+ ActiveState: v.ActiveState,
|
|
|
+ IsShowSustainable: v.IsShowSustainable,
|
|
|
+ Description: v.Description,
|
|
|
+ IsResearch: v.IsResearch,
|
|
|
+ IsHideAppointment: v.IsHideAppointment,
|
|
|
+ IsCClassMeeting: v.IsCClassMeeting,
|
|
|
+ Label: v.Label,
|
|
|
+ ImgUrl: v.ImgUrl,
|
|
|
+ ImgUrlText: v.ImgUrlText,
|
|
|
+ ActivityType: v.ActivityType,
|
|
|
+ IsShowOutboundCall: v.IsShowOutboundCall,
|
|
|
+ IsShowMeetingReminder: v.IsShowMeetingReminder,
|
|
|
+ IsShowHelpSsk: v.IsShowHelpSsk,
|
|
|
+ IsShowSignup: v.IsShowSignup,
|
|
|
+ IsShowAppointment: v.IsShowAppointment,
|
|
|
+ IsShowDetails: v.IsShowDetails,
|
|
|
+ AudioLink: v.AudioLink,
|
|
|
+ VoiceList: v.VoiceList,
|
|
|
+ VideoDetail: v.VideoDetail,
|
|
|
+ FileType: v.FileType,
|
|
|
+ SourceType: v.SourceType,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 活动详情
|
|
|
+// @Description 获取活动详情接口
|
|
|
+// @Param ActivityId query int true "活动ID"
|
|
|
+// @Success Ret=200 {object} models.CygxActivityResp
|
|
|
+// @router /detail [get]
|
|
|
+func (this *ActivityController) Detail() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uid := user.UserId
|
|
|
+ activityId, _ := this.GetInt("ActivityId")
|
|
|
+ if activityId < 1 {
|
|
|
+ br.Msg = "请输入活动ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(models.CygxActivityResp)
|
|
|
+ hasPermission := 0
|
|
|
+
|
|
|
+ activityInfo, err := models.GetAddActivityInfoByIdShow(uid, activityId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取活动详情信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo == nil {
|
|
|
+ br.Msg = "活动不存在"
|
|
|
+ br.ErrMsg = "活动ID错误,Err:" + "activityId:" + strconv.Itoa(activityId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
|
|
|
+ activityInfo.IsCClassMeeting = true
|
|
|
+ }
|
|
|
+ //处理冻结客户,流失客户的弹窗提示
|
|
|
+
|
|
|
+ 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 {
|
|
|
+
|
|
|
+ } 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.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
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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 {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errDetail.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)
|
|
|
+ fmt.Println(companyItem)
|
|
|
+ fmt.Println(permissionStr)
|
|
|
+ //冻结客户
|
|
|
+ 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.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取客户公司信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else { //潜在客户
|
|
|
+ if applyCount > 0 {
|
|
|
+ hasPermission = 4
|
|
|
+ } else {
|
|
|
+ if sellerItem != nil {
|
|
|
+ hasPermission = 5
|
|
|
+ } else {
|
|
|
+ hasPermission = 3
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp.PopupMsg = "您暂无权限参加此活动,若想参加可以申请开通对应的试用权限"
|
|
|
+ }
|
|
|
+ if hasPermission == 1 {
|
|
|
+ //是否展示限免标签
|
|
|
+ if services.GetShowSustainable() && strings.Contains(activityInfo.ChartPermissionName, "研选") {
|
|
|
+ activityInfo.IsShowSustainable = true
|
|
|
+ }
|
|
|
+ configCode := "description_of_research"
|
|
|
+ detail, err := models.GetConfigByCode(configCode)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ activityInfo.Description = detail.ConfigValue
|
|
|
+ if activityInfo.SignupNum > activityInfo.LimitPeopleNum {
|
|
|
+ activityInfo.SignupNum = activityInfo.LimitPeopleNum
|
|
|
+ }
|
|
|
+ if activityInfo.ChartPermissionNames != "" {
|
|
|
+ activityInfo.ChartPermissionName = activityInfo.ChartPermissionNames
|
|
|
+ }
|
|
|
+
|
|
|
+ if activityInfo.ReportLink != "" {
|
|
|
+ artList := strings.Split(activityInfo.ReportLink, "{|}")
|
|
|
+ if len(artList) > 0 {
|
|
|
+ for _, v := range artList {
|
|
|
+ artitem := new(models.ActivityArticleResp)
|
|
|
+ artitem.ReportLink = v
|
|
|
+ artIdSlice := strings.Split(v, "/")
|
|
|
+ if len(artIdSlice) > 0 {
|
|
|
+ articleId, _ := strconv.Atoi(artIdSlice[len(artIdSlice)-1])
|
|
|
+ artitem.ArticleId = articleId
|
|
|
+ }
|
|
|
+ activityInfo.ArticleList = append(activityInfo.ArticleList, artitem)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ activityInfo.ArticleList = make([]*models.ActivityArticleResp, 0)
|
|
|
+ }
|
|
|
+ activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
|
|
|
+
|
|
|
+ //处理音频回放
|
|
|
+ var mapActivityId []int
|
|
|
+ mapActivityId = append(mapActivityId, activityId)
|
|
|
+ mapActivityVoice, err := services.GetActivityVoiceResp(mapActivityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetActivityVoiceResp,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if mapActivityVoice[activityId] != nil {
|
|
|
+ activityInfo.FileType = 1
|
|
|
+ activityInfo.AudioLink = true
|
|
|
+ activityInfo.VoiceList = mapActivityVoice[activityId]
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理视频回放
|
|
|
+ mapActivityVideo, err := services.GetActivityVideoResp(mapActivityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "GetActivityVideoResp,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if mapActivityVideo[activityId] != nil {
|
|
|
+ activityInfo.FileType = 2
|
|
|
+ activityInfo.AudioLink = true
|
|
|
+ activityInfo.VideoDetail = mapActivityVideo[activityId]
|
|
|
+ }
|
|
|
+
|
|
|
+ //8.5 买方研选的活动去掉限免标签
|
|
|
+ if strings.Contains(activityInfo.ChartPermissionName, "研选") {
|
|
|
+ activityInfo.IsShowSustainable = false
|
|
|
+ }
|
|
|
+ //处理按钮是否展示问题
|
|
|
+ resp.Detail = services.ActivityButtonShow(activityInfo)
|
|
|
+ }
|
|
|
+ resp.HasPermission = hasPermission
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|