瀏覽代碼

Merge branch 'dev' of http://git.ycjcjy.com/SpaceOfCheng/services into dev

wangfei 6 年之前
父節點
當前提交
d23cb4546a

+ 22
- 0
controllers/cases/signin.go 查看文件

42
 
42
 
43
 	c.ResponseJSON(res)
43
 	c.ResponseJSON(res)
44
 }
44
 }
45
+
46
+// AddSignin 存入签到记录
47
+func (c *SigninController) AddSignin() {
48
+	phone := c.GetString("phone");
49
+	openId := c.GetString("openId")
50
+	caseId := c.GetString("caseId")
51
+	activityId := c.GetString("activityId")
52
+
53
+	signin := model.TaCheckinRecord{}
54
+	signin.Phone = phone
55
+	signin.OpenId = openId
56
+
57
+	userMapping := c.Context.Get("userMap").(model.TaUserMapping)
58
+
59
+	res,err := c.dao.AddSignin(signin,caseId,activityId,&userMapping)
60
+
61
+	if err != nil {
62
+		c.ResponseError(err)
63
+	}
64
+	c.ResponseJSON(res)
65
+}
66
+

+ 8
- 6
controllers/marketing/marketing.go 查看文件

23
 // 获取 营销活动列表
23
 // 获取 营销活动列表
24
 func (c *MarketingController) GetMarketingList(){
24
 func (c *MarketingController) GetMarketingList(){
25
 	page, _ := c.GetInt("page")
25
 	page, _ := c.GetInt("page")
26
-	pageSize, _ := c.GetInt("pagesize")
26
+	pageSize, _ := c.GetInt("pageSize")
27
 
27
 
28
 	marketings, err := c.serv.GetMarketingList(page,pageSize)
28
 	marketings, err := c.serv.GetMarketingList(page,pageSize)
29
 	if err != nil {
29
 	if err != nil {
36
 // SaveMarketing 保存营销活动
36
 // SaveMarketing 保存营销活动
37
 func (c *MarketingController) SaveMarketing() {
37
 func (c *MarketingController) SaveMarketing() {
38
 	marketing := model.SysActivity{}
38
 	marketing := model.SysActivity{}
39
-
39
+	// 机构
40
+	//org := c.Context.Get("org").([]model.SysOrg)
40
 	// 获取值
41
 	// 获取值
41
 	activityName := c.GetString("activityName")
42
 	activityName := c.GetString("activityName")
42
 	activityType := c.GetString("activityType")
43
 	activityType := c.GetString("activityType")
43
 	resourceDesc := c.GetString("resourceDesc") // 活动描述
44
 	resourceDesc := c.GetString("resourceDesc") // 活动描述
45
+	caseId := c.GetString("CaseId")
44
 
46
 
45
 	// 赋值
47
 	// 赋值
46
 	marketing.ActivityName = activityName
48
 	marketing.ActivityName = activityName
47
 	marketing.ActivityType = activityType
49
 	marketing.ActivityType = activityType
48
 
50
 
49
-	newInfo,_, err := c.serv.SaveMarketing(marketing,resourceDesc)
51
+	newInfo,_, err := c.serv.SaveMarketing(marketing,resourceDesc,caseId)
50
 	if err != nil {
52
 	if err != nil {
51
 		c.ResponseError(err)
53
 		c.ResponseError(err)
52
 	}
54
 	}
88
 
90
 
89
 // DelMarketing 删除
91
 // DelMarketing 删除
90
 func (c *MarketingController) DelMarketing(){
92
 func (c *MarketingController) DelMarketing(){
91
-	activityId := c.GetString("activityId")
93
+	activityId := c.GetString(":activityId")
92
 	err := c.serv.DelMarketing(activityId)
94
 	err := c.serv.DelMarketing(activityId)
93
 	if err != nil {
95
 	if err != nil {
94
 		c.ResponseError(err)
96
 		c.ResponseError(err)
98
 
100
 
99
 // DelMarketing 正常
101
 // DelMarketing 正常
100
 func (c *MarketingController) DelMarketingNormal(){
102
 func (c *MarketingController) DelMarketingNormal(){
101
-	activityId := c.GetString("activityId")
103
+	activityId := c.GetString(":activityId")
102
 	err := c.serv.DelMarketingNormal(activityId)
104
 	err := c.serv.DelMarketingNormal(activityId)
103
 	if err != nil {
105
 	if err != nil {
104
 		c.ResponseError(err)
106
 		c.ResponseError(err)
108
 
110
 
109
 // DelMarketing 停用
111
 // DelMarketing 停用
110
 func (c *MarketingController) DelMarketingDisable(){
112
 func (c *MarketingController) DelMarketingDisable(){
111
-	activityId := c.GetString("activityId")
113
+	activityId := c.GetString(":activityId")
112
 	err := c.serv.DelMarketingDisable(activityId)
114
 	err := c.serv.DelMarketingDisable(activityId)
113
 	if err != nil {
115
 	if err != nil {
114
 		c.ResponseError(err)
116
 		c.ResponseError(err)

+ 13
- 3
models/cases/signin.go 查看文件

3
 import (
3
 import (
4
 	"spaceofcheng/services/models/model"
4
 	"spaceofcheng/services/models/model"
5
 	"spaceofcheng/services/utils"
5
 	"spaceofcheng/services/utils"
6
+	"spaceofcheng/services/models"
6
 	"strconv"
7
 	"strconv"
7
 	"strings"
8
 	"strings"
8
-
9
+	"time"
9
 	"github.com/go-xorm/xorm"
10
 	"github.com/go-xorm/xorm"
10
 )
11
 )
11
 
12
 
43
 	}
44
 	}
44
 }
45
 }
45
 
46
 
46
-// CaseInfo 案场
47
+// SigninInfo 案场
47
 type SigninInfo struct {
48
 type SigninInfo struct {
48
 	model.TaCheckinRecord `xorm:"extends"`
49
 	model.TaCheckinRecord `xorm:"extends"`
49
-	//CreateUserName string
50
+	UserId string
50
 }
51
 }
51
 
52
 
52
 /**
53
 /**
95
 	// }
96
 	// }
96
 	return signin, err
97
 	return signin, err
97
 }
98
 }
99
+
100
+// AddSignin 添加签到记录 
101
+func (m *SigninDAO) AddSignin(signin model.TaCheckinRecord)(model.TaCheckinRecord,error){
102
+	signin.CheckinId = utils.GetGUID()
103
+	signin.CreateDate = time.Now()
104
+	signin.Status = models.STATUS_NORMAL
105
+	_,err := m.db.Insert(signin)
106
+	return signin,err
107
+}

+ 14
- 14
models/marketing/marketing.go 查看文件

10
 
10
 
11
 // 活动类型
11
 // 活动类型
12
 const (
12
 const (
13
-	NEW_ACTIVITIES = 0 // 注册赠券
13
+	NEW_ACTIVITIES = 1 // 注册赠券
14
 
14
 
15
 )
15
 )
16
 
16
 
19
 	DELETE = -1 // 删除
19
 	DELETE = -1 // 删除
20
 	NORMAL = 0 // 正常
20
 	NORMAL = 0 // 正常
21
 	DISABLE = 1 // 停用
21
 	DISABLE = 1 // 停用
22
-
23
 )
22
 )
24
 
23
 
25
 // 赠券卡券
24
 // 赠券卡券
43
 	}
42
 	}
44
 }
43
 }
45
 
44
 
46
-// MarketingInfo 课程
45
+// MarketingInfo 
47
 type MarketingInfo struct {
46
 type MarketingInfo struct {
48
 	model.SysActivity `xorm:"extends"`
47
 	model.SysActivity `xorm:"extends"`
48
+	CaseName		 string
49
+	ActionId     string
50
+	ActiveType  string
51
+	ResourceType string
52
+	ResourceDesc string
49
 	Actions []model.SysActivityAction
53
 	Actions []model.SysActivityAction
50
 }
54
 }
51
 
55
 
53
 func (m *MarketingDAO) GetMarketingList(page int, pageSize int) ([]MarketingInfo ,error){
57
 func (m *MarketingDAO) GetMarketingList(page int, pageSize int) ([]MarketingInfo ,error){
54
 
58
 
55
 	var news []MarketingInfo
59
 	var news []MarketingInfo
56
-	sql := `select * from sys_activity new order by new.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(pageSize)
60
+	//sql := `select * from sys_activity new order by new.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(pageSize)
61
+	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)
62
+
57
 	err := m.db.Sql(sql).Find(&news)
63
 	err := m.db.Sql(sql).Find(&news)
58
 	return news, err
64
 	return news, err
59
 
65
 
72
 
78
 
73
 
79
 
74
 // AddMarketing 添加
80
 // AddMarketing 添加
75
-func (m *MarketingDAO) AddMarketing(activity *model.SysActivity) (*model.SysActivity, error) {
81
+func (m *MarketingDAO) AddMarketing(activity model.SysActivity, caseId string) (*model.SysActivity, error) {
76
 	activity.ActivityId = utils.GetGUID()
82
 	activity.ActivityId = utils.GetGUID()
77
 	activity.CreateDate = time.Now()
83
 	activity.CreateDate = time.Now()
78
 	//activity.Status = models.STATUS_NORMAL
84
 	//activity.Status = models.STATUS_NORMAL
79
 	activity.Status = NORMAL // 状态为正常
85
 	activity.Status = NORMAL // 状态为正常
80
 	org := m.ctx.Get("org").(model.SysOrg)
86
 	org := m.ctx.Get("org").(model.SysOrg)
81
 	activity.OrgId = org.OrgId
87
 	activity.OrgId = org.OrgId
82
-	caseinfo := m.ctx.Get("currentCase").(model.SysCase)
83
-	activity.CaseId = caseinfo.CaseId
84
-	//activity.CaseId = user.
88
+	activity.CaseId = caseId
85
 
89
 
86
-	_, err := m.db.Insert(activity)
90
+	_, err := m.db.Insert(&activity)
87
 
91
 
88
-	// // 添加活动动作数据
89
-	// var new model.SysActivityAction
90
-	// new.ActionId = activity.ActivityId
91
-	// new.ActiveType = activity.ActivityType
92
-	return activity, err
92
+	return &activity, err
93
 }
93
 }
94
 
94
 
95
 
95
 

+ 3
- 2
models/marketing/work.go 查看文件

27
 }
27
 }
28
 
28
 
29
 // 添加 活动动作
29
 // 添加 活动动作
30
-func (m *WorkDAO) AddWork(action *model.SysActivityAction) (*model.SysActivityAction,error){
30
+func (m *WorkDAO) AddWork(action model.SysActivityAction) (*model.SysActivityAction,error){
31
 	action.ActionId = utils.GetGUID()
31
 	action.ActionId = utils.GetGUID()
32
+	println("service: 主键:" + action.ActionId + "活动ID"+action.ActivityId+" 活动类型-"+action.ActiveType+" 资源描述-"+action.ResourceDesc+" 资源类型-"+	action.ResourceType)
32
 	_,err := m.db.Insert(&action)
33
 	_,err := m.db.Insert(&action)
33
 
34
 
34
-	return action,err
35
+	return &action,err
35
 
36
 
36
 }
37
 }
37
 
38
 

+ 15
- 15
models/model/sys_activity.go 查看文件

1
-package model
2
-
3
-import (
4
-	"time"
5
-)
6
-
7
-type SysActivity struct {
8
-	ActivityId   string    `xorm:"not null pk VARCHAR(64)"`
9
-	ActivityName string    `xorm:"VARCHAR(50)"`
10
-	ActivityType string    `xorm:"VARCHAR(64)"`
11
-	OrgId        string    `xorm:"VARCHAR(64)"`
12
-	CaseId       string    `xorm:"VARCHAR(64)"`
13
-	Status       int       `xorm:"SMALLINT(6)"`
14
-	CreateDate   time.Time `xorm:"DATETIME"`
15
-}
1
+package model
2
+
3
+import (
4
+	"time"
5
+)
6
+
7
+type SysActivity struct {
8
+	ActivityId   string    `xorm:"not null pk VARCHAR(64)"`
9
+	ActivityName string    `xorm:"VARCHAR(50)"`
10
+	ActivityType string    `xorm:"VARCHAR(64)"`
11
+	OrgId        string    `xorm:"VARCHAR(64)"`
12
+	CaseId       string    `xorm:"VARCHAR(64)"`
13
+	Status       int       `xorm:"SMALLINT(6)"`
14
+	CreateDate   time.Time `xorm:"DATETIME"`
15
+}

+ 62
- 1
service/cases/signin.go 查看文件

2
 
2
 
3
 import (
3
 import (
4
 	"spaceofcheng/services/models/cases"
4
 	"spaceofcheng/services/models/cases"
5
+	"spaceofcheng/services/models/marketing"
5
 	"spaceofcheng/services/utils"
6
 	"spaceofcheng/services/utils"
6
-
7
+	"spaceofcheng/services/models/model"
7
 	"github.com/astaxie/beego"
8
 	"github.com/astaxie/beego"
9
+	"encoding/json"
8
 )
10
 )
9
 
11
 
10
 // SigninServ 系统处理
12
 // SigninServ 系统处理
11
 type SigninServ struct {
13
 type SigninServ struct {
12
 	ctx *utils.Context
14
 	ctx *utils.Context
13
 	dao *cases.SigninDAO
15
 	dao *cases.SigninDAO
16
+	marDao  *marketing.MarketingDAO
17
+	caseDao     *cases.CaseDAO
14
 }
18
 }
15
 
19
 
16
 // NewSigninServ 初始化
20
 // NewSigninServ 初始化
18
 	return &SigninServ{
22
 	return &SigninServ{
19
 		ctx: ctx,
23
 		ctx: ctx,
20
 		dao: cases.NewSigninDAO(ctx),
24
 		dao: cases.NewSigninDAO(ctx),
25
+		marDao: marketing.NewMarketingDAO(ctx),
26
+		caseDao: cases.NewCaseDAO(ctx),
21
 	}
27
 	}
22
 }
28
 }
23
 
29
 
47
 		"page":     page,
53
 		"page":     page,
48
 	}, err
54
 	}, err
49
 }
55
 }
56
+
57
+// 添加 签到记录
58
+func (s *SigninServ) AddSignin(signin model.TaCheckinRecord,caseId string,activityId string,userMap *model.TaUserMapping) (*model.TaCheckinRecord,error) {
59
+	if signin.OpenId == "" {
60
+		return nil, utils.LogError("没有OpenId")
61
+	}
62
+	if signin.Phone == "" {
63
+		return nil, utils.LogError("没有Phone手机号")
64
+	}
65
+	if caseId == "" {
66
+		return nil,utils.LogError("没有案场ID")
67
+	}
68
+	if activityId == ""  {
69
+		return nil,utils.LogError("没有活动ID")
70
+	}
71
+
72
+	// 获取上下文的用户
73
+	user := s.ctx.Get("user").(model.SysUser)
74
+	casesInfo,err := s.caseDao.GetCaseByID(caseId)
75
+	activityInfo,err := s.marDao.GetMarketingById(activityId)
76
+	
77
+	// 定义Map
78
+	var jsonMap = map[string]string{}
79
+	accountInfo := userMap.AccountInfo
80
+	// 转换JSON
81
+	var jsonBlob = []byte(accountInfo)
82
+	jsonErr := json.Unmarshal(jsonBlob, &jsonMap)
83
+
84
+	if jsonErr != nil {
85
+		return nil,utils.LogError("accountInfo转换json失败")
86
+	}
87
+	// openId
88
+	signin.OpenId = jsonMap["openid"]
89
+	// 微信昵称
90
+	signin.CustomerName = jsonMap["nickname"]
91
+	// 客户姓名
92
+	signin.Name = user.UserName
93
+	// 客户ID
94
+	signin.CustomerId = user.UserId
95
+
96
+	// 案场
97
+	signin.CaseId = casesInfo.CaseId
98
+	signin.CaseName = casesInfo.CaseName
99
+
100
+	// 活动
101
+	signin.ActivityId = activityInfo.ActivityId
102
+	signin.ActivityName = activityInfo.ActivityName
103
+
104
+	info, err := s.dao.AddSignin(signin)
105
+	if err != nil {
106
+		return nil,err
107
+	}
108
+
109
+	return &info,err
110
+}

+ 6
- 4
service/marketing/marketing.go 查看文件

21
 	return &MarketingServ{
21
 	return &MarketingServ{
22
 		ctx: ctx,
22
 		ctx: ctx,
23
 		dao: marketing.NewMarketingDAO(ctx),
23
 		dao: marketing.NewMarketingDAO(ctx),
24
+		wdao: marketing.NewWorkDAO(ctx),
24
 	}
25
 	}
25
 }
26
 }
26
 
27
 
27
-// GetCustWithWXList 获取客户列表
28
+// GetMarketingList 获取活动列表
28
 func (s *MarketingServ) GetMarketingList(page int, pageSize int) (map[string]interface{}, error) {
29
 func (s *MarketingServ) GetMarketingList(page int, pageSize int) (map[string]interface{}, error) {
29
 
30
 
30
 	if pageSize == 0 {
31
 	if pageSize == 0 {
54
 /**
55
 /**
55
 * resource_desc 活动描述
56
 * resource_desc 活动描述
56
  */
57
  */
57
-func (s *MarketingServ) SaveMarketing(activity model.SysActivity, resourceDesc string) (*model.SysActivity, *model.SysActivityAction, error) {
58
+func (s *MarketingServ) SaveMarketing(activity model.SysActivity, resourceDesc string, caseId string) (*model.SysActivity, *model.SysActivityAction, error) {
58
 
59
 
59
 	var newInfo *model.SysActivity
60
 	var newInfo *model.SysActivity
60
 	var newWoke *model.SysActivityAction
61
 	var newWoke *model.SysActivityAction
61
 
62
 
62
 	var err error
63
 	var err error
63
 	// 存储 营销活动
64
 	// 存储 营销活动
64
-	newInfo, err = s.dao.AddMarketing(&activity)
65
+	newInfo, err = s.dao.AddMarketing(activity,caseId)
65
 	if err != nil {
66
 	if err != nil {
66
 		return nil, nil, err
67
 		return nil, nil, err
67
 	}
68
 	}
70
 	woke.ActivityId = newInfo.ActivityId
71
 	woke.ActivityId = newInfo.ActivityId
71
 	woke.ActiveType = newInfo.ActivityType
72
 	woke.ActiveType = newInfo.ActivityType
72
 	woke.ResourceDesc = resourceDesc
73
 	woke.ResourceDesc = resourceDesc
74
+	woke.ResourceType = "占位符"
73
 
75
 
74
 	// 存储 活动动作
76
 	// 存储 活动动作
75
-	newWoke, err = s.wdao.AddWork(&woke)
77
+	newWoke, err = s.wdao.AddWork(woke)
76
 	if err != nil {
78
 	if err != nil {
77
 		return nil, nil, err
79
 		return nil, nil, err
78
 	}
80
 	}

+ 1
- 2
service/marketing/work.go 查看文件

24
 }
24
 }
25
 
25
 
26
 // 保存 Work
26
 // 保存 Work
27
-func (s *WorkServ) SaveWork(work *model.SysActivityAction)  (*model.SysActivityAction, error){
28
-		var newInfo *model.SysActivityAction
27
+func (s *WorkServ) SaveWork(work model.SysActivityAction)  (*model.SysActivityAction, error){
29
 		if work.ActivityId == "" {
28
 		if work.ActivityId == "" {
30
 			return nil, utils.LogError("营销编号为空!")
29
 			return nil, utils.LogError("营销编号为空!")
31
 		}
30
 		}