Bläddra i källkod

活动编辑接口

庄逸洲 5 år sedan
förälder
incheckning
aff04d7282

+ 70 - 0
controllers/marketing_tool/activity_controller.go Visa fil

@@ -12,6 +12,7 @@ import (
12 12
 
13 13
 func ActivityCtlRegistRouters() {
14 14
 	beego.Router("/api/activities", &ActivityAPIController{}, "get:Activities")
15
+	beego.Router("/api/activity", &ActivityAPIController{}, "get:GetActivity")
15 16
 }
16 17
 
17 18
 type ActivityAPIController struct {
@@ -114,3 +115,72 @@ func (this *ActivityAPIController) _convertToUnapprovedActivityViewJSON(activity
114 115
 	json["start_time"] = activity.StartTime
115 116
 	return json
116 117
 }
118
+
119
+// /api/activity [get]
120
+// @param id:int
121
+func (this *ActivityAPIController) GetActivity() {
122
+	activityID, _ := this.GetInt64("id")
123
+	if activityID <= 0 {
124
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
125
+		return
126
+	}
127
+
128
+	adminUserInfo := this.GetAdminUserInfo()
129
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
130
+	if getActivityErr != nil {
131
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
132
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
133
+		return
134
+	} else if activity == nil {
135
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
136
+		return
137
+	}
138
+
139
+	paragraph, getParagraphErr := marketing_tool_service.GetActivityParagraphByActivityID(activity.Id)
140
+	if getParagraphErr != nil {
141
+		this.ErrorLog("获取活动段落失败:%v", getParagraphErr)
142
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
143
+		return
144
+	}
145
+
146
+	paragraphID := int64(0)
147
+	paragraphTitle := ""
148
+	paragraphContent := ""
149
+	if paragraph != nil {
150
+		paragraphID = paragraph.Id
151
+		paragraphTitle = paragraph.Title
152
+		paragraphContent = paragraph.Text
153
+	}
154
+
155
+	this.ServeSuccessJSON(map[string]interface{}{
156
+		"activity": activity,
157
+		"paragraph": map[string]interface{}{
158
+			"id":      paragraphID,
159
+			"title":   paragraphTitle,
160
+			"content": paragraphContent,
161
+		},
162
+	})
163
+}
164
+
165
+// /api/activity/submit [post]
166
+// @param publish:bool 是否发布
167
+// @data activity:json
168
+/*
169
+activity: {
170
+	id?:int
171
+	title:string
172
+	subtitle:string
173
+	poster_photo:string
174
+	address:string
175
+	limit_num?:int
176
+	sign_up_deadline:string ("yyyy-MM-dd HH:mm")
177
+	start_time:string ("yyyy-MM-dd HH:mm")
178
+	phone_number?:string
179
+	sign_up_notice?:string
180
+
181
+	paragraph: {
182
+		title:string
183
+		content:string
184
+	}
185
+}
186
+*/

+ 4 - 202
enums/error_code.go Visa fil

@@ -44,63 +44,9 @@ const ( // ErrorCode
44 44
 	ErrorCodeCannotRemoveRole       = 9006
45 45
 	ErrorCodeRoleMobileIsSuperAdmin = 9007
46 46
 
47
-	ErrorCodeGetQiniuUpToken                = 1001
48
-	ErrorCodeCreatePatient                  = 1002
49
-	ErrorCodeDialysisNoExist                = 1003
50
-	ErrorCodeIdCardNoExist                  = 1004
51
-	ErrorCodePatientNoExist                 = 1005
52
-	ErrorCodeUpdatePatient                  = 1006
53
-	ErrorCodeDialysisSolutionExist          = 1007
54
-	ErrorCodeDialysisSolutionCreate         = 1008
55
-	ErrorCodeDialysisSolutionUpdate         = 1009
56
-	ErrorCodeDialysisSolutionNotExist       = 1010
57
-	ErrorCodeParentDialysisSolutionNotExist = 1011
58
-	ErrorCodeAlReadyHadChildSolution        = 1012
59
-	ErrorCodeCanntCreateChildChildSolution  = 1013
60
-	ErrorCodeDialysisSolutionUsed           = 1014
61
-	ErrorCodeCreateDryWeightFail            = 1015
62
-	ErrorCodeCreateDoctorAdviceFail         = 1016
63
-	ErrorCodeDoctorAdviceNotExist           = 1017
64
-	ErrorCodeUpdateDoctorAdviceFail         = 1018
65
-	ErrorCodeLongTimeAdviceNotCanntEdit     = 1019
66
-	ErrorCodeAdviceStoped                   = 1020
67
-	ErrorCodeParentAdviceNotExist           = 1021
68
-	ErrorCodeStopAdviceFail                 = 1022
69
-	ErrorCodeDeleteAdviceFail               = 1023
70
-	ErrorCodeDialysisSolutionDelete         = 1024
71
-	ErrorCodeDeviceNumberNotTheZone         = 1025
72
-	ErrorCodeCreateScheduleFail             = 1026
73
-	ErrorCodeCantSetScheduleAgainOneDay     = 1027
74
-	ErrorCodeCantSetScheduleBeforeNow       = 1028
75
-	ErrorCodeScheduleNotExist               = 1029
76
-	ErrorCodeDeleteScheduleFail             = 1030
77
-	ErrorCodeChangeScheduleFail             = 1031
78
-	ErrorCodePatientPhoneUsed               = 1032
79
-	ErrorCodeAdviceExced                    = 1033
80
-	ErrorCodeAdviceChecked                  = 1034
81
-	ErrorCodePointScheduleExist             = 1035
82
-	ErrorCodeExceAndCheckNotOneUser         = 1036
83
-	ErrorCodeCanotEditOtherAdvice           = 1037
84
-	ErrorCodeEditLapsetoFail                = 1038
85
-	ErrorCodeAdviceCheckBeforeExce          = 1039
86
-	ErrorCodeAdviceExceBeforeStart          = 1040
87
-	ErrorCodeDelScheduleFailByDialysis      = 1041
88
-	ErrorCodeNotSelectLapsetoType           = 1042
89
-	ErrorCodeNotSelectLapsetoTime           = 1043
47
+	ErrorCodeActivityNotExist = 9100
90 48
 
91
-	ErrorCodeInspectionDateExit    = 1201
92
-	ErrorCodeInspectionAddFail     = 1202
93
-	ErrorCodeInspectionEditFail    = 1204
94
-	ErrorCodeInspectionDateNotExit = 1203
95
-	ErrorCodeInspectionDeleteFail  = 1205
96
-
97
-	ErrorCodeMonitorCreate                  = 1128
98
-	ErrorCodeMonitorNotExist                = 1129
99
-	ErrorCodeMonitorUpdate                  = 1130
100
-	ErrorDialysisOrderNoStart               = 1132
101
-	ErrorDialysisOrderNoEND                 = 1133
102
-	ErrorDialysisOrderRepeatStart           = 1134
103
-	ErrorCodeDialysisPermissionDeniedModify = 1135
49
+	ErrorCodeGetQiniuUpToken = 1001
104 50
 
105 51
 	ErrorCodeNotSubscibe       = 4003
106 52
 	ErrorCodeServeNotExist     = 4004
@@ -109,50 +55,6 @@ const ( // ErrorCode
109 55
 	ErrorCodeHetongHad         = 4007
110 56
 	ErrorCodeCreateHetongFail  = 4008
111 57
 	ErrorCodePatientReachLimit = 4009
112
-
113
-	ErrorCodeDeviceZoneNotExist                      = 9021
114
-	ErrorCodeDeviceZoneNameRepeat                    = 9022
115
-	ErrorCodeDeviceGroupNotExist                     = 9023
116
-	ErrorCodeDeviceGroupNameRepeat                   = 9024
117
-	ErrorCodeDeviceNumberNotExist                    = 9025
118
-	ErrorCodeDeviceNumberRepeat                      = 9026
119
-	ErrorCodeDeviceNotExist                          = 9027
120
-	ErrorCodeDeviceZoneCannotDisable                 = 9028
121
-	ErrorCodeDeviceNumberCannotDisableCuzDevice      = 9029
122
-	ErrorCodeDeviceNumberCannotDisableCuzSchedule    = 9030
123
-	ErrorCodeDeviceNumberCannotDisableCuzSchTemplate = 9031
124
-
125
-	ErrorCommitFail = 90000
126
-
127
-	ErrorCodeCreateStockInFail = 20001
128
-
129
-	ErrorCodeScheduleTemplateNotExist = 10001
130
-
131
-	ErrorCodeSystemError  = 6666
132
-	ErrorCodeProductError = 6667
133
-	ErrorCodeFieldExist   = 100001
134
-	ErrorCodeCreateConfig = 100002
135
-	ErrorCodeUpdateConfig = 100003
136
-
137
-	ErrorCodeDoubleCheckWrong     = 200003
138
-	ErrorCodeDoubleCheckUserWrong = 200004
139
-	ErrorCodeGoodNoStockInError   = 200005
140
-	ErrorCodeCancelStockFail      = 200006
141
-	ErrorCodeDeleteGoodTypeFail   = 200007
142
-	ErrorCodeDeleteGoodInfoFail   = 200008
143
-	ErrorCodeDeleteFail           = 200009
144
-
145
-	ErrorCodeKeyFail                 = 200010
146
-	ErrorCodeDeleteStockInRecordFail = 200011
147
-	ErrorCodeNameWrong               = 200012
148
-
149
-	ErrorCodeParamEmptyWrong       = 200013
150
-	ErrorCodeParamAdviceEmptyWrong = 200014
151
-
152
-	ErrorCodeParamTemplateNOEXISTWrong = 200015
153
-
154
-	ErrorCodeDeleteDealerWrong       = 200016
155
-	ErrorCodeDeleteManufacturerWrong = 200017
156 58
 )
157 59
 
158 60
 var ErrCodeMsgs = map[int]string{
@@ -197,68 +99,9 @@ var ErrCodeMsgs = map[int]string{
197 99
 	ErrorCodeCannotRemoveRole:       "存在该角色的管理员,不能删除该角色",
198 100
 	ErrorCodeRoleMobileIsSuperAdmin: "该手机号已注册为超级管理员",
199 101
 
200
-	ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败",
201
-	ErrorCodeCreatePatient:   "创建患者失败",
202
-	ErrorCodeDialysisNoExist: "患者透析号重复!",
203
-	ErrorCodeIdCardNoExist:   "身份证号重复!",
204
-	ErrorCodePatientNoExist:  "患者信息不存在!",
205
-	ErrorCodeUpdatePatient:   "修改患者信息失败",
206
-
207
-	ErrorCodeDialysisSolutionExist:          "该处方已经存在",
208
-	ErrorCodeDialysisSolutionCreate:         "创建处方失败",
209
-	ErrorCodeDialysisSolutionUpdate:         "修改处方失败",
210
-	ErrorCodeDialysisSolutionNotExist:       "该处方不存在",
211
-	ErrorCodeParentDialysisSolutionNotExist: "上级处方不存在",
212
-	ErrorCodeAlReadyHadChildSolution:        "所选处方已经存在子方案",
213
-	ErrorCodeCanntCreateChildChildSolution:  "子方案不能添加子方案",
214
-	ErrorCodeDialysisSolutionUsed:           "处方已被使用,不能删除",
215
-	ErrorCodeCreateDryWeightFail:            "添加干体重失败",
216
-	ErrorCodeCreateDoctorAdviceFail:         "添加医嘱失败",
217
-	ErrorCodeUpdateDoctorAdviceFail:         "修改医嘱信息失败",
218
-	ErrorCodeDoctorAdviceNotExist:           "医嘱不存在",
219
-	ErrorCodeLongTimeAdviceNotCanntEdit:     "长期医嘱不能修改!",
220
-	ErrorCodeAdviceStoped:                   "所选医嘱已停止",
221
-	ErrorCodeParentAdviceNotExist:           "上级医嘱不存在",
222
-	ErrorCodeDeleteAdviceFail:               "删除医嘱失败",
223
-	ErrorCodeStopAdviceFail:                 "停止医嘱失败",
224
-	ErrorCodeDialysisSolutionDelete:         "删除方案失败",
225
-	ErrorCodeDeviceNumberNotTheZone:         "所选机号不在选择分区中",
226
-	ErrorCodeCreateScheduleFail:             "添加排班失败",
227
-	ErrorCodeCantSetScheduleAgainOneDay:     "同一天不可有两次排班",
228
-	ErrorCodeCantSetScheduleBeforeNow:       "不能给今天之前的日期排班",
229
-	ErrorCodeScheduleNotExist:               "排班不存在",
230
-	ErrorCodePointScheduleExist:             "所先位置排班已经存在",
231
-	ErrorCodeDeleteScheduleFail:             "取消排班失败",
232
-	ErrorCodeChangeScheduleFail:             "修改排班失败",
233
-	ErrorCodePatientPhoneUsed:               "手机号已经存在",
234
-	ErrorCodeAdviceExced:                    "医嘱已经执行",
235
-	ErrorCodeAdviceCheckBeforeExce:          "核对医嘱不能在执行医嘱之前",
236
-	ErrorCodeAdviceExceBeforeStart:          "执行医嘱不能在开始之前",
237
-	ErrorCodeAdviceChecked:                  "医嘱已经核对",
238
-	ErrorCodeExceAndCheckNotOneUser:         "核对与执行不能是同一人",
239
-	ErrorCodeCanotEditOtherAdvice:           "不能修改非本人添加的医嘱",
240
-	ErrorCodeEditLapsetoFail:                "转归失败",
241
-	ErrorCodeDelScheduleFailByDialysis:      "已经上机透析,不能取消排班",
242
-	ErrorCodeNotSelectLapsetoType:           "请选择转归状态",
243
-	ErrorCodeNotSelectLapsetoTime:           "请选择转归时间",
244
-
245
-	ErrorCodeInspectionDateExit:    "当天已经存在检验检查记录",
246
-	ErrorCodeInspectionAddFail:     "添加记录失败",
247
-	ErrorCodeInspectionDateNotExit: "当天不存在检验检查记录",
248
-	ErrorCodeInspectionEditFail:    "修改记录失败",
249
-	ErrorCodeInspectionDeleteFail:  "删除记录失败",
102
+	ErrorCodeActivityNotExist: "活动不存在",
250 103
 
251
-	ErrorCodeDeviceZoneNotExist:                      "设备分区不存在",
252
-	ErrorCodeDeviceZoneNameRepeat:                    "该分区名已存在",
253
-	ErrorCodeDeviceGroupNotExist:                     "设备分组不存在",
254
-	ErrorCodeDeviceGroupNameRepeat:                   "该分组名已存在",
255
-	ErrorCodeDeviceNumberNotExist:                    "机号不存在",
256
-	ErrorCodeDeviceNumberRepeat:                      "该机号已存在",
257
-	ErrorCodeDeviceNotExist:                          "该设备不存在",
258
-	ErrorCodeDeviceZoneCannotDisable:                 "该分区存在床位号,不能删除",
259
-	ErrorCodeDeviceNumberCannotDisableCuzDevice:      "该床位存在设备,不能删除",
260
-	ErrorCodeDeviceNumberCannotDisableCuzSchedule:    "该床位尚有排班安排,不能删除",
261
-	ErrorCodeDeviceNumberCannotDisableCuzSchTemplate: "排班模板在该床位尚有排班安排,不能删除",
104
+	ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败",
262 105
 
263 106
 	ErrorCodeNotSubscibe:       "没有订阅服务或服务已过期,请先购买服务!",
264 107
 	ErrorCodeServeNotExist:     "服务订单不存在!",
@@ -267,47 +110,6 @@ var ErrCodeMsgs = map[int]string{
267 110
 	ErrorCodeHetongHad:         "合同已经存在!",
268 111
 	ErrorCodeCreateHetongFail:  "合同创建失败",
269 112
 	ErrorCodePatientReachLimit: "患者数已达到当前服务版本病人数,需要升级到更高的版本",
270
-
271
-	ErrorCodeMonitorCreate:                  "创建监测失败",
272
-	ErrorCodeMonitorNotExist:                "监测记录不存在",
273
-	ErrorCodeMonitorUpdate:                  "修改监测失败",
274
-	ErrorCodeDialysisPermissionDeniedModify: "您没有权限修改其他医护的数据!",
275
-
276
-	ErrorDialysisOrderNoStart:     "尚未上机,无法执行下机操作",
277
-	ErrorDialysisOrderNoEND:       "已处于下机状态",
278
-	ErrorDialysisOrderRepeatStart: "已上机",
279
-	//ErrorCodeScheduleTemplateNotExist: "排班模板不存在",
280
-
281
-	ErrorCodeSystemError:              "系统异常",
282
-	ErrorCodeProductError:             "该服务商品已丢失",
283
-	ErrorCodeScheduleTemplateNotExist: "排班模板不存在",
284
-
285
-	ErrorCodeCreateStockInFail: "入库失败",
286
-	//ErrorCodeSystemError:  "系统异常",
287
-	//ErrorCodeProductError: "该服务商品已丢失",
288
-	ErrorCodeFieldExist:   "配置字段已存在",
289
-	ErrorCodeCreateConfig: "创建配置失败",
290
-	ErrorCodeUpdateConfig: "修改配置失败",
291
-
292
-	ErrorCommitFail:               "提交失败",
293
-	ErrorCodeDoubleCheckWrong:     "核对已完成, 无法再次提交",
294
-	ErrorCodeDoubleCheckUserWrong: "你已完成核对,不能重复核对",
295
-	ErrorCodeGoodNoStockInError:   "该商品尚未入库",
296
-
297
-	ErrorCodeCancelStockFail:    "出库退库失败",
298
-	ErrorCodeDeleteGoodTypeFail: "该类型存在商品信息,无法删除",
299
-	ErrorCodeDeleteGoodInfoFail: "该商品已经入库无法删除",
300
-
301
-	ErrorCodeDeleteFail: "删除失败",
302
-
303
-	ErrorCodeKeyFail:                 "关键字不能为空",
304
-	ErrorCodeDeleteStockInRecordFail: "该记录已经有出库或退货操作,无法删除",
305
-	ErrorCodeNameWrong:               "该模版名字已存在",
306
-	ErrorCodeParamEmptyWrong:         "模版名称不能为空",
307
-	ErrorCodeParamAdviceEmptyWrong:   "医嘱名称不能为空",
308
-
309
-	ErrorCodeDeleteDealerWrong:       "该经销商所属商品已入库无法删除",
310
-	ErrorCodeDeleteManufacturerWrong: "该厂商所属商品已入库无法删除",
311 113
 }
312 114
 
313 115
 type SGJError struct {

+ 9 - 9
models/activity_models.go Visa fil

@@ -2,7 +2,7 @@ package models
2 2
 
3 3
 // 表
4 4
 type Activity struct {
5
-	Id               int    `gorm:"column:id" json:"id"`                                 // 活动 ID
5
+	Id               int64  `gorm:"column:id" json:"id"`                                 // 活动 ID
6 6
 	Title            string `json:"title"`                                               // 活动标题
7 7
 	Subtitle         string `json:"subtitle"`                                            // 活动副标题
8 8
 	CityId           int    `gorm:"column:city_id" json:"city_id"`                       // 活动地点 ID
@@ -36,14 +36,14 @@ func (Activity) TableName() string {
36 36
 }
37 37
 
38 38
 type ActivityParagraph struct {
39
-	Id         int `gorm:"PRIMARY_KEY;AUTO_INCREMENT"` // 记录 ID
40
-	ActivityId int `gorm:"column:activity_id"`         // 活动 ID
41
-	Title      string
42
-	Text       string
43
-	Image      string
44
-	Status     int8  // 状态 0.无效 1.有效
45
-	CreateTime int64 `gorm:"column:ctime"` // 创建时间
46
-	ModifyTime int64 `gorm:"column:mtime"` // 修改时间
39
+	Id         int64  `gorm:"PRIMARY_KEY;AUTO_INCREMENT" json:"id"`  // 记录 ID
40
+	ActivityId int    `gorm:"column:activity_id" json:"activity_id"` // 活动 ID
41
+	Title      string `json:"title"`
42
+	Text       string `json:"text"`
43
+	// Image      string `json:"image"` // 该字段实际上已经没用了
44
+	Status     int8  `json:"-"`                     // 状态 0.无效 1.有效
45
+	CreateTime int64 `gorm:"column:ctime" json:"-"` // 创建时间
46
+	ModifyTime int64 `gorm:"column:mtime" json:"-"` // 修改时间
47 47
 }
48 48
 
49 49
 func (ActivityParagraph) TableName() string {

+ 32 - 0
service/marketing_tool_service/activity_service.go Visa fil

@@ -4,6 +4,8 @@ import (
4 4
 	"SCRM/models"
5 5
 	"SCRM/service"
6 6
 	"time"
7
+
8
+	"github.com/jinzhu/gorm"
7 9
 )
8 10
 
9 11
 func GetValidActivities(orgID int64, appID int64, keyWord string, page int, count int) ([]*models.Activity, int64, error) {
@@ -88,3 +90,33 @@ func GetDidEndedActivities(orgID int64, appID int64, keyWord string, page int, c
88 90
 		return nil, 0, err
89 91
 	}
90 92
 }
93
+
94
+func GetActivityWithID(orgID int64, activityID int64) (*models.Activity, error) {
95
+	var activity models.Activity
96
+	err := service.PatientReadDB().Model(&models.Activity{}).Where("user_org_id = ? and id = ?", orgID, activityID).First(&activity).Error
97
+	if err != nil {
98
+		if err == gorm.ErrRecordNotFound {
99
+			return nil, nil
100
+		} else {
101
+			return nil, err
102
+		}
103
+	}
104
+	return &activity, nil
105
+}
106
+
107
+func GetActivityParagraphByActivityID(activityID int64) (*models.ActivityParagraph, error) {
108
+	var paragraph models.ActivityParagraph
109
+	err :=
110
+		service.PatientReadDB().Model(&models.ActivityParagraph{}).
111
+			Where("activity_id = ? and status = 1", activityID).
112
+			First(&paragraph).
113
+			Error
114
+	if err != nil {
115
+		if err == gorm.ErrRecordNotFound {
116
+			return nil, nil
117
+		} else {
118
+			return nil, err
119
+		}
120
+	}
121
+	return &paragraph, nil
122
+}