|
@@ -4,6 +4,9 @@ import (
|
|
|
"errors"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
//获取用户已经报名的活动
|
|
@@ -80,3 +83,195 @@ func GetActivityAppointmentUserMap(activityIds []int, user *models.WxUserItem) (
|
|
|
mapUserId = mapUid
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+//活动列表的展示 HandleActivityListButton
|
|
|
+func HandleActivityListButton(list []*models.ActivityDetail, user *models.WxUserItem) (items []*models.ActivityDetail, err error) {
|
|
|
+ var activityIds []int
|
|
|
+ var activitySpecilalIds []int
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType == 2 {
|
|
|
+ activitySpecilalIds = append(activitySpecilalIds, v.ActivityId)
|
|
|
+ //把专项调研的线下改为活动的线下类型
|
|
|
+ if v.ActivityType == 2 {
|
|
|
+ list[k].ActivityType = 0
|
|
|
+ }
|
|
|
+ list[k].IsShowSignup = true
|
|
|
+ } else {
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //处理活动
|
|
|
+ if len(activityIds) > 0 {
|
|
|
+ //处理用户是否报名
|
|
|
+ mapSignUp, e := GetActivitySignUpUserMap(activityIds, user)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivitySignUpUserMap, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType != 2 {
|
|
|
+ if _, ok := mapSignUp[v.ActivityId]; ok {
|
|
|
+ list[k].IsSignup = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //处理用户是否预约纪要
|
|
|
+ mapAppointment, e := GetActivityAppointmentUserMap(activityIds, user)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityAppointmentUserMap, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType != 2 {
|
|
|
+ if _, ok := mapAppointment[v.ActivityId]; ok {
|
|
|
+ list[k].IsAppointment = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //处理用户是否预约会议提醒
|
|
|
+ mapReminder, e := GetActivityReminderUserMasp(activityIds, user)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityReminderUserMasp, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType != 2 {
|
|
|
+ if _, ok := mapReminder[v.ActivityId]; ok {
|
|
|
+ list[k].IsCancelMeetingReminder = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理专项产业调研
|
|
|
+ if len(activitySpecilalIds) > 0 {
|
|
|
+ //处理用户是否报名
|
|
|
+ UserMap, e := GetSpecialTripUserMap(activitySpecilalIds, user.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSpecialTripUserMap, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType == 2 {
|
|
|
+ if _, ok := UserMap[v.ActivityId]; ok {
|
|
|
+ list[k].IsSignup = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, v := range list {
|
|
|
+ if v.SourceType == 2 {
|
|
|
+ resultTimeStart := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
|
|
|
+ resultTimeEnd := utils.StrTimeToTime(v.ActivityTimeEnd) //时间字符串格式转时间格式
|
|
|
+ if resultTimeStart.After(time.Now()) {
|
|
|
+ list[k].ActiveState = strconv.Itoa(1)
|
|
|
+ } else if time.Now().After(resultTimeEnd) {
|
|
|
+ list[k].ActiveState = strconv.Itoa(2)
|
|
|
+ } else {
|
|
|
+ list[k].ActiveState = strconv.Itoa(3)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //var isShow bool
|
|
|
+ isShow, e := GetShowSustainableNew()
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetShowSustainableNew, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ detail, e := models.GetConfigByCode("city_img_url")
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetConfigByCode, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ detailChart, e := models.GetConfigByCode("chart_img_url")
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetConfigByCode, Err: " + e.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, _ := GetReportContentTextSub(v.Expert)
|
|
|
+ list[k].Expert = expertTxt
|
|
|
+ if v.IsHideAppointment == 0 {
|
|
|
+ list[k].IsShowAppointment = IsShowAppointment(v.ActivityTypeId, v.ChartPermissionName)
|
|
|
+ }
|
|
|
+ if v.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
|
|
|
+ list[k].IsCClassMeeting = true
|
|
|
+ }
|
|
|
+ mapActivityId = append(mapActivityId, v.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理音频回放
|
|
|
+ mapActivityVoice, e := GetActivityVoiceResp(mapActivityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityVoiceResp, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理视频回放
|
|
|
+ mapActivityVideo, e := GetActivityVideoResp(mapActivityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityVoiceResp, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ 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]
|
|
|
+ }
|
|
|
+ items = append(items, ActivityButtonShow(v))
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|