Browse Source

Merge branch 'master' of http://git.shengws.com/zhangbj/scrm-go

zhengchengwu 4 years ago
parent
commit
8bd740933c

+ 109 - 5
controllers/marketing_tool/activity_controller.go View File

@@ -18,6 +18,9 @@ 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")
23
+	beego.Router("/api/activity/shareinfo", &ActivityAPIController{}, "get:GetActivityShareInfo")
21 24
 }
22 25
 
23 26
 type ActivityAPIController struct {
@@ -155,12 +158,17 @@ func (this *ActivityAPIController) GetActivity() {
155 158
 		paragraphContent = paragraph.Text
156 159
 	}
157 160
 
161
+	currentOrg := adminUserInfo.Orgs[adminUserInfo.CurrentOrgId]
158 162
 	this.ServeSuccessJSON(map[string]interface{}{
159 163
 		"activity": activity,
160 164
 		"paragraph": map[string]interface{}{
161 165
 			"title":   paragraphTitle,
162 166
 			"content": paragraphContent,
163 167
 		},
168
+		"org": map[string]interface{}{
169
+			"logo": currentOrg.OrgLogo,
170
+			"name": currentOrg.OrgName,
171
+		},
164 172
 	})
165 173
 }
166 174
 
@@ -209,14 +217,12 @@ func (this *ActivityAPIController) ActivitySubmit() {
209 217
 		} else if activity == nil || activity.Status == 9 {
210 218
 			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
211 219
 			return
220
+		} else if activity.Status == 1 {
221
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishedCannotModify)
222
+			return
212 223
 		}
213 224
 	}
214 225
 
215
-	if activity.Status == 1 {
216
-		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishedCannotModify)
217
-		return
218
-	}
219
-
220 226
 	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 227
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
222 228
 		return
@@ -413,3 +419,101 @@ func (this *ActivityAPIController) SignupUsers() {
413 419
 		"total": total,
414 420
 	})
415 421
 }
422
+
423
+// /api/activity/delete [post]
424
+// @param id:int
425
+func (this *ActivityAPIController) DeleteActivity() {
426
+	activityID, _ := this.GetInt64("id")
427
+	if activityID <= 0 {
428
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
429
+		return
430
+	}
431
+
432
+	adminUserInfo := this.GetAdminUserInfo()
433
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
434
+	if getActivityErr != nil {
435
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
436
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
437
+		return
438
+	} else if activity == nil || activity.Status == 9 {
439
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
440
+		return
441
+	}
442
+
443
+	deleteErr := marketing_tool_service.DeleteActivity(adminUserInfo.CurrentOrgId, activityID)
444
+	if deleteErr != nil {
445
+		this.ErrorLog("删除活动失败:%v", deleteErr)
446
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
447
+		return
448
+	}
449
+
450
+	this.ServeSuccessJSON(nil)
451
+}
452
+
453
+// /api/activity/publish [post]
454
+// @param id:int
455
+func (this *ActivityAPIController) PublishActivity() {
456
+	activityID, _ := this.GetInt64("id")
457
+	if activityID <= 0 {
458
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
459
+		return
460
+	}
461
+
462
+	adminUserInfo := this.GetAdminUserInfo()
463
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
464
+	if getActivityErr != nil {
465
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
466
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
467
+		return
468
+	} else if activity == nil || activity.Status == 9 {
469
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
470
+		return
471
+	}
472
+
473
+	if activity.Status == 1 {
474
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityPublishRepeat)
475
+		return
476
+	}
477
+
478
+	activity.Status = 1
479
+	activity.ModifyTime = time.Now().Unix()
480
+	updateErr := marketing_tool_service.SaveActivityAndParagraph(activity, nil)
481
+	if updateErr != nil {
482
+		this.ErrorLog("发布活动失败:%v", updateErr)
483
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
484
+		return
485
+	}
486
+	this.ServeSuccessJSON(nil)
487
+}
488
+
489
+// /api/activity/shareinfo [get]
490
+// @param id:int
491
+func (this *ActivityAPIController) GetActivityShareInfo() {
492
+	activityID, _ := this.GetInt64("id")
493
+	if activityID <= 0 {
494
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
495
+		return
496
+	}
497
+
498
+	adminUserInfo := this.GetAdminUserInfo()
499
+	activity, getActivityErr := marketing_tool_service.GetActivityWithID(adminUserInfo.CurrentOrgId, activityID)
500
+	if getActivityErr != nil {
501
+		this.ErrorLog("获取活动失败:%v", getActivityErr)
502
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
503
+		return
504
+	} else if activity == nil {
505
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
506
+		return
507
+	}
508
+
509
+	wxShareModel, getWxShareErr := marketing_tool_service.GetActivityWxShareByActivityID(activity.Id)
510
+	if getWxShareErr != nil || wxShareModel == nil {
511
+		this.ErrorLog("获取活动微信分享信息失败:%v", getWxShareErr)
512
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
513
+		return
514
+	}
515
+
516
+	this.ServeSuccessJSON(map[string]interface{}{
517
+		"url": wxShareModel.ShortURL,
518
+	})
519
+}

+ 2 - 0
enums/error_code.go View File

@@ -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 View File

@@ -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
+}