Quellcode durchsuchen

删除/发布活动接口

庄逸洲 vor 4 Jahren
Ursprung
Commit
eaede8029e

+ 71 - 5
controllers/marketing_tool/activity_controller.go Datei anzeigen

@@ -18,6 +18,8 @@ func ActivityCtlRegistRouters() {
18 18
 	beego.Router("/api/activity/submit", &ActivityAPIController{}, "post:ActivitySubmit")
19 19
 	beego.Router("/api/activity/detailview", &ActivityAPIController{}, "get:GetActivityDetailView")
20 20
 	beego.Router("/api/activity/signups", &ActivityAPIController{}, "get:SignupUsers")
21
+	beego.Router("/api/activity/delete", &ActivityAPIController{}, "post:DeleteActivity")
22
+	beego.Router("/api/activity/publish", &ActivityAPIController{}, "post:PublishActivity")
21 23
 }
22 24
 
23 25
 type ActivityAPIController struct {
@@ -209,14 +211,12 @@ func (this *ActivityAPIController) ActivitySubmit() {
209 211
 		} else if activity == nil || activity.Status == 9 {
210 212
 			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
211 213
 			return
214
+		} else if activity.Status == 1 {
215
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishedCannotModify)
216
+			return
212 217
 		}
213 218
 	}
214 219
 
215
-	if activity.Status == 1 {
216
-		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishedCannotModify)
217
-		return
218
-	}
219
-
220 220
 	if len(activityForm.Title) == 0 || len(activityForm.Subtitle) == 0 || len(activityForm.PosterPhoto) == 0 || len(activityForm.Address) == 0 || len(activityForm.SignUpDeadline) == 0 || len(activityForm.StartTime) == 0 {
221 221
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
222 222
 		return
@@ -413,3 +413,69 @@ func (this *ActivityAPIController) SignupUsers() {
413 413
 		"total": total,
414 414
 	})
415 415
 }
416
+
417
+// /api/activity/delete [post]
418
+// @param id:int
419
+func (this *ActivityAPIController) DeleteActivity() {
420
+	activityID, _ := this.GetInt64("id")
421
+	if activityID <= 0 {
422
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
423
+		return
424
+	}
425
+
426
+	adminUserInfo := this.GetAdminUserInfo()
427
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
428
+	if getActivityErr != nil {
429
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
430
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
431
+		return
432
+	} else if activity == nil || activity.Status == 9 {
433
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
434
+		return
435
+	}
436
+
437
+	deleteErr := marketing_tool_service.DeleteActivity(adminUserInfo.CurrentOrgId, activityID)
438
+	if deleteErr != nil {
439
+		this.ErrorLog("删除活动失败:%v", deleteErr)
440
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
441
+		return
442
+	}
443
+
444
+	this.ServeSuccessJSON(nil)
445
+}
446
+
447
+// /api/activity/publish [post]
448
+// @param id:int
449
+func (this *ActivityAPIController) PublishActivity() {
450
+	activityID, _ := this.GetInt64("id")
451
+	if activityID <= 0 {
452
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
453
+		return
454
+	}
455
+
456
+	adminUserInfo := this.GetAdminUserInfo()
457
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
458
+	if getActivityErr != nil {
459
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
460
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
461
+		return
462
+	} else if activity == nil || activity.Status == 9 {
463
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
464
+		return
465
+	}
466
+
467
+	if activity.Status == 1 {
468
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishRepeat)
469
+		return
470
+	}
471
+
472
+	activity.Status = 1
473
+	activity.ModifyTime = time.Now().Unix()
474
+	updateErr := marketing_tool_service.SaveActivityAndParagraph(activity, nil)
475
+	if updateErr != nil {
476
+		this.ErrorLog("发布活动失败:%v", updateErr)
477
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
478
+		return
479
+	}
480
+	this.ServeSuccessJSON(nil)
481
+}

+ 2 - 0
enums/error_code.go Datei anzeigen

@@ -46,6 +46,7 @@ const ( // ErrorCode
46 46
 
47 47
 	ErrorCodeActivityNotExist              = 9100
48 48
 	ErrorCodeActivityPublishedCannotModify = 9101
49
+	ErrorCodeActivityPublishRepeat         = 9102
49 50
 
50 51
 	ErrorCodeGetQiniuUpToken = 1001
51 52
 
@@ -102,6 +103,7 @@ var ErrCodeMsgs = map[int]string{
102 103
 
103 104
 	ErrorCodeActivityNotExist:              "活动不存在",
104 105
 	ErrorCodeActivityPublishedCannotModify: "已发布的活动不可更改",
106
+	ErrorCodeActivityPublishRepeat:         "该活动已发布",
105 107
 
106 108
 	ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败",
107 109
 

+ 33 - 0
service/marketing_tool_service/activity_service.go Datei anzeigen

@@ -186,3 +186,36 @@ func GetValidActivitySignupUsers(activityID int64, keyWord string, page int) ([]
186 186
 		return nil, 0, err
187 187
 	}
188 188
 }
189
+
190
+func DeleteActivity(orgID int64, activityID int64) error {
191
+	tx := service.PatientWriteDB().Begin()
192
+	deleteActivityErr := tx.Model(&models.Activity{}).Where("user_org_id = ? AND id = ?", orgID, activityID).Updates(map[string]interface{}{
193
+		"status": 9,
194
+		"mtime":  time.Now().Unix(),
195
+	}).Error
196
+	if deleteActivityErr != nil {
197
+		tx.Rollback()
198
+		return deleteActivityErr
199
+	}
200
+
201
+	// deletePErr := tx.Model(&models.ActivityParagraph{}).Where("activity_id = ?", activityID).Updates(map[string]interface{}{
202
+	// 	"status": 0,
203
+	// 	"mtime":  time.Now().Unix(),
204
+	// }).Error
205
+	// if deletePErr != nil {
206
+	// 	tx.Rollback()
207
+	// 	return deletePErr
208
+	// }
209
+
210
+	// deleteShareErr := tx.Model(&models.ActivityWxShare{}).Where("activity_id = ?", activityID).Updates(map[string]interface{}{
211
+	// 	"status": 0,
212
+	// 	"mtime":  time.Now().Unix(),
213
+	// }).Error
214
+	// if deleteShareErr != nil {
215
+	// 	tx.Rollback()
216
+	// 	return deleteShareErr
217
+	// }
218
+
219
+	tx.Commit()
220
+	return nil
221
+}