wangfei 6 лет назад
Родитель
Сommit
d08e157ea5
3 измененных файлов: 13 добавлений и 9 удалений
  1. 3
    2
      controllers/marketing/marketing.go
  2. 7
    4
      models/marketing/marketing.go
  3. 3
    3
      service/marketing/marketing.go

+ 3
- 2
controllers/marketing/marketing.go Просмотреть файл

@@ -23,8 +23,9 @@ func (c *MarketingController) Constructor() {
23 23
 func (c *MarketingController) GetMarketingList() {
24 24
 	page, _ := c.GetInt("page")
25 25
 	pageSize, _ := c.GetInt("pageSize")
26
-
27
-	marketings, err := c.serv.GetMarketingList(page, pageSize)
26
+	cases := c.Context.Get("cases").([]model.SysUserCase)
27
+	caseIDs := c.GetCaseIDs(cases)
28
+	marketings, err := c.serv.GetMarketingList(caseIDs, page, pageSize)
28 29
 	if err != nil {
29 30
 		c.ResponseError(err)
30 31
 	}

+ 7
- 4
models/marketing/marketing.go Просмотреть файл

@@ -5,6 +5,7 @@ import (
5 5
 	"spaceofcheng/services/models/model"
6 6
 	"spaceofcheng/services/utils"
7 7
 	"strconv"
8
+	"strings"
8 9
 	"time"
9 10
 
10 11
 	"github.com/go-xorm/xorm"
@@ -49,11 +50,13 @@ type MarketingInfo struct {
49 50
 }
50 51
 
51 52
 // GetMarketingList 查询所有
52
-func (m *MarketingDAO) GetMarketingList(page int, pageSize int) ([]MarketingInfo, error) {
53
+func (m *MarketingDAO) GetMarketingList(caseids string, page int, pageSize int) ([]MarketingInfo, error) {
53 54
 
54 55
 	var news []MarketingInfo
55 56
 	//sql := `select * from sys_activity new order by new.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(pageSize)
56
-	sql := `SELECT sc.case_name,sa.*,sas.action_id,sas.active_type,sas.resource_type,sas.resource_desc from sys_activity sa LEFT JOIN sys_activity_action sas on sa.activity_id = sas.activity_id LEFT JOIN sys_case sc on sa.case_id = sc.case_id where sa.status != -1 order by sa.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(pageSize)
57
+	sql := `SELECT sc.case_name,sa.*,sas.action_id,sas.active_type,sas.resource_type,sas.resource_desc from sys_activity sa 
58
+	LEFT JOIN sys_activity_action sas on sa.activity_id = sas.activity_id LEFT JOIN sys_case sc on sa.case_id = sc.case_id 
59
+	where sa.status != -1 and sa.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') order by sa.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(pageSize)
57 60
 
58 61
 	err := m.db.Sql(sql).Find(&news)
59 62
 	return news, err
@@ -61,9 +64,9 @@ func (m *MarketingDAO) GetMarketingList(page int, pageSize int) ([]MarketingInfo
61 64
 }
62 65
 
63 66
 // GetMarketingCount 获取总数
64
-func (m *MarketingDAO) GetMarketingCount() (int64, error) {
67
+func (m *MarketingDAO) GetMarketingCount(caseids string) (int64, error) {
65 68
 	var total []int64
66
-	sql := `select count(*) as total from sys_activity where status>` + strconv.Itoa(models.STATUS_DEL)
69
+	sql := `select count(*) as total from sys_activity where case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and status>` + strconv.Itoa(models.STATUS_DEL)
67 70
 	err := m.db.Sql(sql).Cols("total").Find(&total)
68 71
 	if err != nil {
69 72
 

+ 3
- 3
service/marketing/marketing.go Просмотреть файл

@@ -31,7 +31,7 @@ func NewMarketingServ(ctx *utils.Context) *MarketingServ {
31 31
 }
32 32
 
33 33
 // GetMarketingList 获取活动列表
34
-func (s *MarketingServ) GetMarketingList(page int, pageSize int) (map[string]interface{}, error) {
34
+func (s *MarketingServ) GetMarketingList(caseids string, page int, pageSize int) (map[string]interface{}, error) {
35 35
 
36 36
 	if pageSize == 0 {
37 37
 		pageSize = service.PAGENUM
@@ -40,13 +40,13 @@ func (s *MarketingServ) GetMarketingList(page int, pageSize int) (map[string]int
40 40
 		page = 1
41 41
 	}
42 42
 
43
-	list, err := s.dao.GetMarketingList(page, pageSize)
43
+	list, err := s.dao.GetMarketingList(caseids, page, pageSize)
44 44
 	if err != nil {
45 45
 		beego.Error(err)
46 46
 		return nil, err
47 47
 	}
48 48
 
49
-	total, err := s.dao.GetMarketingCount()
49
+	total, err := s.dao.GetMarketingCount(caseids)
50 50
 
51 51
 	return map[string]interface{}{
52 52
 		"list":     list,