Browse Source

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

zhengchengwu 5 years ago
parent
commit
8bd740933c

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

18
 	beego.Router("/api/activity/submit", &ActivityAPIController{}, "post:ActivitySubmit")
18
 	beego.Router("/api/activity/submit", &ActivityAPIController{}, "post:ActivitySubmit")
19
 	beego.Router("/api/activity/detailview", &ActivityAPIController{}, "get:GetActivityDetailView")
19
 	beego.Router("/api/activity/detailview", &ActivityAPIController{}, "get:GetActivityDetailView")
20
 	beego.Router("/api/activity/signups", &ActivityAPIController{}, "get:SignupUsers")
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
 type ActivityAPIController struct {
26
 type ActivityAPIController struct {
155
 		paragraphContent = paragraph.Text
158
 		paragraphContent = paragraph.Text
156
 	}
159
 	}
157
 
160
 
161
+	currentOrg := adminUserInfo.Orgs[adminUserInfo.CurrentOrgId]
158
 	this.ServeSuccessJSON(map[string]interface{}{
162
 	this.ServeSuccessJSON(map[string]interface{}{
159
 		"activity": activity,
163
 		"activity": activity,
160
 		"paragraph": map[string]interface{}{
164
 		"paragraph": map[string]interface{}{
161
 			"title":   paragraphTitle,
165
 			"title":   paragraphTitle,
162
 			"content": paragraphContent,
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
 		} else if activity == nil || activity.Status == 9 {
217
 		} else if activity == nil || activity.Status == 9 {
210
 			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
218
 			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeActivityNotExist)
211
 			return
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
 	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 {
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
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
227
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
222
 		return
228
 		return
413
 		"total": total,
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
 
46
 
47
 	ErrorCodeActivityNotExist              = 9100
47
 	ErrorCodeActivityNotExist              = 9100
48
 	ErrorCodeActivityPublishedCannotModify = 9101
48
 	ErrorCodeActivityPublishedCannotModify = 9101
49
+	ErrorCodeActivityPublishRepeat         = 9102
49
 
50
 
50
 	ErrorCodeGetQiniuUpToken = 1001
51
 	ErrorCodeGetQiniuUpToken = 1001
51
 
52
 
102
 
103
 
103
 	ErrorCodeActivityNotExist:              "活动不存在",
104
 	ErrorCodeActivityNotExist:              "活动不存在",
104
 	ErrorCodeActivityPublishedCannotModify: "已发布的活动不可更改",
105
 	ErrorCodeActivityPublishedCannotModify: "已发布的活动不可更改",
106
+	ErrorCodeActivityPublishRepeat:         "该活动已发布",
105
 
107
 
106
 	ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败",
108
 	ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败",
107
 
109
 

+ 33 - 0
service/marketing_tool_service/activity_service.go View File

186
 		return nil, 0, err
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
+}