Browse Source

change event trigger condition

zjxpcyc 6 years ago
parent
commit
d48f8cd9ed
4 changed files with 35 additions and 13 deletions
  1. 7
    0
      models/sys.go
  2. 19
    7
      service/events/events.go
  3. 5
    3
      service/events/giveCard.go
  4. 4
    3
      service/events/giveCoupon.go

+ 7
- 0
models/sys.go View File

@@ -278,3 +278,10 @@ func GetCaseByID(caseID string) (cs *model.SysCase, err error) {
278 278
 	_, err = DBEngine.Where("case_id=?", caseID).Get(cs)
279 279
 	return cs, err
280 280
 }
281
+
282
+// GetAllOrgs 获取所有机构
283
+func GetAllOrgs() ([]model.SysOrg, error) {
284
+	var orgs []model.SysOrg
285
+	err := DBEngine.Where("status=?", STATUS_NORMAL).Asc("org_id").Find(&orgs)
286
+	return orgs, err
287
+}

+ 19
- 7
service/events/events.go View File

@@ -29,11 +29,12 @@ func ListenAllEvent(orgID, caseID string) {
29 29
 	mtx.Lock()
30 30
 	defer mtx.Unlock()
31 31
 
32
-	evtEngID := utils.EngineIDBy(orgID, caseID)
32
+	// 2018年10月30日 yansen 不区分案场
33
+	evtEngID := utils.EngineIDBy(orgID, "")
33 34
 	evtEngine := utils.ResetEventEngineBus(evtEngID)
34 35
 
35 36
 	// 所有需要执行的事件
36
-	allEvts, err := getAllEvents(orgID, caseID)
37
+	allEvts, err := getAllEvents(orgID, "")
37 38
 	if err != nil {
38 39
 		utils.LogError(err)
39 40
 	}
@@ -58,7 +59,7 @@ func getAllEvents(orgID, caseID string) (map[string][]string, error) {
58 59
 	var acts []model.SysActivityAction
59 60
 
60 61
 	if err := db.Where("org_id=?", orgID).
61
-		And("case_id=?", caseID).
62
+		// And("case_id=?", caseID).
62 63
 		And("status=?", models.STATUS_NORMAL).
63 64
 		Find(&evts); err != nil {
64 65
 		utils.LogError("查询营销活动配置表失败: " + err.Error())
@@ -99,13 +100,24 @@ var tsAction = func(e tinyevent.Event) error {
99 100
 }
100 101
 
101 102
 func EventInit() {
102
-	cases, err := models.GetAllCases()
103
+	// cases, err := models.GetAllCases()
104
+	// if err != nil {
105
+	// 	utils.LogError("获取有效案场列表失败: " + err.Error())
106
+	// 	return
107
+	// }
108
+
109
+	// for _, cs := range cases {
110
+	// 	ListenAllEvent(cs.OrgId, cs.CaseId)
111
+	// }
112
+
113
+	// 不区分案场
114
+	orgs, err := models.GetAllOrgs()
103 115
 	if err != nil {
104
-		utils.LogError("获取有效案场列表失败: " + err.Error())
116
+		utils.LogError("获取机构列表失败: " + err.Error())
105 117
 		return
106 118
 	}
107 119
 
108
-	for _, cs := range cases {
109
-		ListenAllEvent(cs.OrgId, cs.CaseId)
120
+	for _, org := range orgs {
121
+		ListenAllEvent(org.OrgId, "")
110 122
 	}
111 123
 }

+ 5
- 3
service/events/giveCard.go View File

@@ -22,10 +22,13 @@ var giveCard = func(e tinyevent.Event) error {
22 22
 		return errors.New("注册送卡失败, 没有用户信息")
23 23
 	}
24 24
 	cust := e.Payload.(model.TaCustomer)
25
-	caseID := cust.RecommendCase
25
+	// caseID := cust.RecommendCase
26 26
 	orgID := cust.OrgId
27 27
 
28 28
 	utils.LogInfo("被赠送人: " + cust.CustomerId)
29
+
30
+	// 不区分案场,随便送
31
+	// 2018年10月30日 yansen 按照产品要求
29 32
 	query := `
30 33
 		SELECT
31 34
 			t.*
@@ -35,13 +38,12 @@ var giveCard = func(e tinyevent.Event) error {
35 38
 		WHERE
36 39
 		t.active_type = 'giveCard'
37 40
 		AND	s.org_id = ?
38
-		AND s.case_id = ?
39 41
 		AND s.status = ?
40 42
 		AND s.activity_type = ?
41 43
 	`
42 44
 
43 45
 	var acts []model.SysActivityAction
44
-	if err := models.DBEngine.SQL(query, orgID, caseID, models.STATUS_NORMAL, e.Name).Find(&acts); err != nil {
46
+	if err := models.DBEngine.SQL(query, orgID, models.STATUS_NORMAL, e.Name).Find(&acts); err != nil {
45 47
 		utils.LogError("检查营销活动失败: " + err.Error())
46 48
 		return errors.New("检查营销活动失败")
47 49
 	}

+ 4
- 3
service/events/giveCoupon.go View File

@@ -26,11 +26,13 @@ var giveCoupon = func(e tinyevent.Event) error {
26 26
 	}
27 27
 
28 28
 	cust := e.Payload.(model.TaCustomer)
29
-	caseID := cust.RecommendCase
29
+	// caseID := cust.RecommendCase
30 30
 	orgID := cust.OrgId
31 31
 
32 32
 	utils.LogInfo("被赠送人: " + cust.CustomerId)
33 33
 
34
+	// 不区分案场,随便送
35
+	// 2018年10月30日 yansen 按照产品要求
34 36
 	query := `
35 37
 		SELECT
36 38
 			t.*
@@ -40,13 +42,12 @@ var giveCoupon = func(e tinyevent.Event) error {
40 42
 		WHERE
41 43
 		t.active_type = 'giveCoupon'
42 44
 		AND	s.org_id = ?
43
-		AND s.case_id = ?
44 45
 		AND s.status = ?
45 46
 		AND s.activity_type = ?
46 47
 	`
47 48
 
48 49
 	var acts []model.SysActivityAction
49
-	if err := models.DBEngine.SQL(query, orgID, caseID, models.STATUS_NORMAL, e.Name).Find(&acts); err != nil {
50
+	if err := models.DBEngine.SQL(query, orgID, models.STATUS_NORMAL, e.Name).Find(&acts); err != nil {
50 51
 		utils.LogError("检查营销活动失败: " + err.Error())
51 52
 		return errors.New("检查营销活动失败")
52 53
 	}