|
@@ -2,6 +2,10 @@ package marketing_tool
|
2
|
2
|
|
3
|
3
|
import (
|
4
|
4
|
"SCRM/controllers"
|
|
5
|
+ "SCRM/enums"
|
|
6
|
+ "SCRM/models"
|
|
7
|
+ "SCRM/service/marketing_tool_service"
|
|
8
|
+ "time"
|
5
|
9
|
|
6
|
10
|
"github.com/astaxie/beego"
|
7
|
11
|
)
|
|
@@ -19,5 +23,94 @@ type ActivityAPIController struct {
|
19
|
23
|
// @param keyword?:string
|
20
|
24
|
// @param status?:int 1.已发布 2.待发布 3.未通过 4.已结束 其他取全部
|
21
|
25
|
func (this *ActivityAPIController) Activities() {
|
|
26
|
+ page, _ := this.GetInt("page")
|
|
27
|
+ keyword := this.GetString("keyword")
|
|
28
|
+ status, _ := this.GetInt("status")
|
|
29
|
+ if page <= 0 {
|
|
30
|
+ page = 1
|
|
31
|
+ }
|
|
32
|
+ if status < 1 || status > 4 {
|
|
33
|
+ status = 0
|
|
34
|
+ }
|
22
|
35
|
|
|
36
|
+ adminUserInfo := this.GetAdminUserInfo()
|
|
37
|
+ var activities []*models.Activity
|
|
38
|
+ var totalCount int64
|
|
39
|
+ var getActivityErr error
|
|
40
|
+ if status == 1 {
|
|
41
|
+ activities, totalCount, getActivityErr = marketing_tool_service.GetActivitiesWithStatus(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId, keyword, 1, page, 10)
|
|
42
|
+ } else if status == 2 {
|
|
43
|
+ activities, totalCount, getActivityErr = marketing_tool_service.GetActivitiesWithStatus(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId, keyword, 4, page, 10)
|
|
44
|
+ } else if status == 3 {
|
|
45
|
+ activities, totalCount, getActivityErr = marketing_tool_service.GetActivitiesWithStatus(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId, keyword, 3, page, 10)
|
|
46
|
+ } else if status == 4 {
|
|
47
|
+ activities, totalCount, getActivityErr = marketing_tool_service.GetDidEndedActivities(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId, keyword, page, 10)
|
|
48
|
+ } else {
|
|
49
|
+ activities, totalCount, getActivityErr = marketing_tool_service.GetValidActivities(adminUserInfo.CurrentOrgId, adminUserInfo.CurrentAppId, keyword, page, 10)
|
|
50
|
+ }
|
|
51
|
+
|
|
52
|
+ if getActivityErr != nil {
|
|
53
|
+ this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
|
54
|
+ return
|
|
55
|
+ }
|
|
56
|
+
|
|
57
|
+ activityJSONList := make([]map[string]interface{}, 0, len(activities))
|
|
58
|
+ for _, activity := range activities {
|
|
59
|
+ var json map[string]interface{}
|
|
60
|
+ // 活动状态 1:已发布 2:待审核 3:未通过 4:草稿 9:已删除
|
|
61
|
+ if activity.Status == 1 { // 已发布/已结束
|
|
62
|
+ json = this._convertToPublishedActivityViewJSON(activity)
|
|
63
|
+ } else if activity.Status == 3 { // 未通过
|
|
64
|
+ json = this._convertToUnapprovedActivityViewJSON(activity)
|
|
65
|
+ } else if activity.Status == 4 { // 草稿
|
|
66
|
+ json = this._convertToActivityDraftsViewJSON(activity)
|
|
67
|
+ }
|
|
68
|
+ activityJSONList = append(activityJSONList, json)
|
|
69
|
+ }
|
|
70
|
+
|
|
71
|
+ this.ServeSuccessJSON(map[string]interface{}{
|
|
72
|
+ "activities": activityJSONList,
|
|
73
|
+ "total": totalCount,
|
|
74
|
+ })
|
|
75
|
+}
|
|
76
|
+
|
|
77
|
+func (this *ActivityAPIController) _convertToPublishedActivityViewJSON(activity *models.Activity) map[string]interface{} {
|
|
78
|
+ json := make(map[string]interface{})
|
|
79
|
+ now := time.Now().Unix()
|
|
80
|
+ if activity.StartTime < now {
|
|
81
|
+ json["status"] = 4
|
|
82
|
+ } else {
|
|
83
|
+ json["status"] = 1
|
|
84
|
+ }
|
|
85
|
+ json["id"] = activity.Id
|
|
86
|
+ json["poster_photo"] = activity.PosterPhoto
|
|
87
|
+ json["title"] = activity.Title
|
|
88
|
+ json["is_recommend"] = activity.IsRecommend
|
|
89
|
+ json["read_num"] = activity.ReadNum
|
|
90
|
+ json["comment_num"] = activity.CommentNum
|
|
91
|
+ json["star_num"] = activity.StarNum
|
|
92
|
+ json["join_num"] = activity.JoinNum
|
|
93
|
+ json["limit_num"] = activity.LimitNum
|
|
94
|
+ json["start_time"] = activity.StartTime
|
|
95
|
+ return json
|
|
96
|
+}
|
|
97
|
+
|
|
98
|
+func (this *ActivityAPIController) _convertToActivityDraftsViewJSON(activity *models.Activity) map[string]interface{} {
|
|
99
|
+ json := make(map[string]interface{})
|
|
100
|
+ json["status"] = 2
|
|
101
|
+ json["id"] = activity.Id
|
|
102
|
+ json["poster_photo"] = activity.PosterPhoto
|
|
103
|
+ json["title"] = activity.Title
|
|
104
|
+ return json
|
|
105
|
+}
|
|
106
|
+
|
|
107
|
+func (this *ActivityAPIController) _convertToUnapprovedActivityViewJSON(activity *models.Activity) map[string]interface{} {
|
|
108
|
+ json := make(map[string]interface{})
|
|
109
|
+ json["status"] = 3
|
|
110
|
+ json["id"] = activity.Id
|
|
111
|
+ json["poster_photo"] = activity.PosterPhoto
|
|
112
|
+ json["title"] = activity.Title
|
|
113
|
+ json["reason"] = activity.Reason
|
|
114
|
+ json["start_time"] = activity.StartTime
|
|
115
|
+ return json
|
23
|
116
|
}
|