|
@@ -3,6 +3,7 @@ package gymcard
|
3
|
3
|
import (
|
4
|
4
|
"errors"
|
5
|
5
|
"spaceofcheng/services/models"
|
|
6
|
+ "spaceofcheng/services/models/customer"
|
6
|
7
|
"spaceofcheng/services/models/gymcard"
|
7
|
8
|
"spaceofcheng/services/models/model"
|
8
|
9
|
"spaceofcheng/services/service"
|
|
@@ -12,17 +13,21 @@ import (
|
12
|
13
|
|
13
|
14
|
// GymcardServ 系统处理
|
14
|
15
|
type GymcardServ struct {
|
15
|
|
- ctx *utils.Context
|
16
|
|
- dao *gymcard.GymcardDAO
|
|
16
|
+ ctx *utils.Context
|
|
17
|
+ dao *gymcard.GymcardDAO
|
|
18
|
+ cdao *customer.CustomerDAO
|
17
|
19
|
}
|
18
|
20
|
|
19
|
21
|
// NewGymcardServ 初始化
|
20
|
22
|
func NewGymcardServ(ctx *utils.Context) *GymcardServ {
|
21
|
23
|
return &GymcardServ{
|
22
|
|
- ctx: ctx,
|
23
|
|
- dao: gymcard.NewGymcardDAO(ctx),
|
|
24
|
+ ctx: ctx,
|
|
25
|
+ dao: gymcard.NewGymcardDAO(ctx),
|
|
26
|
+ cdao: customer.NewCustomerDAO(ctx),
|
24
|
27
|
}
|
25
|
28
|
}
|
|
29
|
+
|
|
30
|
+// GetGymcardList 根据案场id获取健身卡列表
|
26
|
31
|
func (s *GymcardServ) GetGymcardList(caseid string, page, pageSize int) (map[string]interface{}, error) {
|
27
|
32
|
if pageSize == 0 {
|
28
|
33
|
pageSize = service.PAGENUM
|
|
@@ -44,16 +49,19 @@ func (s *GymcardServ) GetGymcardList(caseid string, page, pageSize int) (map[str
|
44
|
49
|
"page": page,
|
45
|
50
|
}, nil
|
46
|
51
|
}
|
47
|
|
-func (s *GymcardServ) GetCustomerGymBycustomerId(customerId string, page, pageSize int) (map[string]interface{}, error) {
|
|
52
|
+
|
|
53
|
+// GetCustomerGymBycustomerId 根据客户id获取客户所有健身卡列表
|
|
54
|
+func (s *GymcardServ) GetCustomerGymBycustomerId(page, pageSize int) (map[string]interface{}, error) {
|
|
55
|
+ customer := s.ctx.Get("customer").(model.TaCustomer)
|
48
|
56
|
if pageSize == 0 {
|
49
|
57
|
pageSize = service.PAGENUM
|
50
|
58
|
}
|
51
|
|
- customerGym, err := s.dao.GetCustomerGymByCustomerId(customerId, page, pageSize)
|
|
59
|
+ customerGym, err := s.dao.GetCustomerGymByCustomerId(customer.CustomerId, page, pageSize)
|
52
|
60
|
if err != nil {
|
53
|
61
|
utils.LogError("获取健身卡列表失败:" + err.Error())
|
54
|
62
|
return nil, errors.New("获取健身卡列表失败")
|
55
|
63
|
}
|
56
|
|
- total, err := s.dao.GetCustomerGymCountByCustomerId(customerId)
|
|
64
|
+ total, err := s.dao.GetCustomerGymCountByCustomerId(customer.CustomerId)
|
57
|
65
|
if err != nil {
|
58
|
66
|
utils.LogError("获取健身卡列表失败:" + err.Error())
|
59
|
67
|
return nil, errors.New("获取健身卡列表失败")
|
|
@@ -65,7 +73,19 @@ func (s *GymcardServ) GetCustomerGymBycustomerId(customerId string, page, pageSi
|
65
|
73
|
"page": page,
|
66
|
74
|
}, nil
|
67
|
75
|
}
|
68
|
|
-func (s *GymcardServ) GetGymcardDetailByIdZ(gymcardId string) (*gymcard.Gymcard, error) {
|
|
76
|
+
|
|
77
|
+// GetCustomerGymByPhone 根据用户手机号获取用户健身卡列表
|
|
78
|
+func (s *GymcardServ) GetCustomerGymByPhone(phone string) ([]gymcard.CustomerGym, error) {
|
|
79
|
+ customerGym, err := s.dao.GetCustomerGymByPhone(phone)
|
|
80
|
+ if err != nil {
|
|
81
|
+ utils.LogError("获取健身卡列表失败:" + err.Error())
|
|
82
|
+ return nil, errors.New("获取健身卡列表失败")
|
|
83
|
+ }
|
|
84
|
+ return customerGym, nil
|
|
85
|
+}
|
|
86
|
+
|
|
87
|
+// GetGymcardDetailById 根据id获取健身卡详情
|
|
88
|
+func (s *GymcardServ) GetGymcardDetailById(gymcardId string) (*gymcard.Gymcard, error) {
|
69
|
89
|
gymcard, err := s.dao.GetGymcardById(gymcardId)
|
70
|
90
|
if err != nil {
|
71
|
91
|
utils.LogError("获取健身卡详情失败" + err.Error())
|
|
@@ -74,6 +94,17 @@ func (s *GymcardServ) GetGymcardDetailByIdZ(gymcardId string) (*gymcard.Gymcard,
|
74
|
94
|
return gymcard, nil
|
75
|
95
|
}
|
76
|
96
|
|
|
97
|
+// GetCustomerGymDetailById 根据id获取客户健身卡详情
|
|
98
|
+func (s *GymcardServ) GetCustomerGymDetailById(customerGymId string) (*gymcard.CustomerGym, error) {
|
|
99
|
+ customerGym, err := s.dao.GetCustomerGymById(customerGymId)
|
|
100
|
+ if err != nil {
|
|
101
|
+ utils.LogError("获取健身卡详情失败" + err.Error())
|
|
102
|
+ return nil, errors.New("获取健身卡详情失败")
|
|
103
|
+ }
|
|
104
|
+ return &customerGym, err
|
|
105
|
+}
|
|
106
|
+
|
|
107
|
+// SaveGymcard 保存游泳健身卡
|
77
|
108
|
func (s *GymcardServ) SaveGymcard(newGym gymcard.Gymcard) (*gymcard.Gymcard, error) {
|
78
|
109
|
var newGymCard model.TaGymCard
|
79
|
110
|
var cardGym model.TaGymCard
|
|
@@ -95,28 +126,59 @@ func (s *GymcardServ) SaveGymcard(newGym gymcard.Gymcard) (*gymcard.Gymcard, err
|
95
|
126
|
return &newGym, nil
|
96
|
127
|
}
|
97
|
128
|
|
98
|
|
-func (s *GymcardServ) SendGymCardToUser(customerId, gymcardId string) (*model.TaCustomerGym, error) {
|
|
129
|
+// SendGymCardToUser 给客户发卡
|
|
130
|
+func (s *GymcardServ) SendGymCardToUser(gymcardId, sysuserId string) (*model.TaCustomerGym, error) {
|
99
|
131
|
var customerGym *model.TaCustomerGym
|
|
132
|
+ customer := s.ctx.Get("customer").(model.TaCustomer)
|
|
133
|
+ var sysuser *model.SysUser
|
|
134
|
+ var sendRecord *model.TaCouponGiveRecord
|
100
|
135
|
gymCard, err := s.dao.GetGymcardById(gymcardId)
|
101
|
136
|
if err != nil {
|
102
|
137
|
utils.LogError("发送游泳健身卡给客户失败" + err.Error())
|
103
|
138
|
return nil, errors.New("发送游泳健身卡给客户失败")
|
104
|
139
|
}
|
105
|
|
- customerGym, err = s.dao.SendGymcardToCustomer(&gymCard.TaGymCard, customerId)
|
|
140
|
+ gymCard.SentCount = gymCard.SentCount + 1
|
|
141
|
+ customerGym, err = s.dao.SendGymcardToCustomer(&gymCard.TaGymCard, customer.CustomerId)
|
106
|
142
|
if err != nil {
|
107
|
143
|
utils.LogError("发送游泳健身卡给客户失败" + err.Error())
|
108
|
144
|
return nil, errors.New("发送游泳健身卡给客户失败")
|
109
|
145
|
}
|
|
146
|
+ sysuser, err = s.cdao.GetUserByID(sysuserId)
|
|
147
|
+ if err != nil {
|
|
148
|
+ utils.LogError("记录发健身卡记录失败" + err.Error())
|
|
149
|
+ return nil, errors.New("记录发健身卡记录失败")
|
|
150
|
+ }
|
|
151
|
+ sendRecord.FromId = sysuser.UserId
|
|
152
|
+ sendRecord.FromName = sysuser.RealName
|
|
153
|
+ sendRecord.GiftId = gymCard.GymCardId
|
|
154
|
+ sendRecord.GiftName = gymCard.GymCardName
|
|
155
|
+ sendRecord.ToId = customer.CustomerId
|
|
156
|
+ sendRecord.ToName = customer.CustomerName
|
|
157
|
+ err = s.dao.AddGiveRecord(sendRecord)
|
|
158
|
+ if err != nil {
|
|
159
|
+ utils.LogError("记录发健身卡记录失败" + err.Error())
|
|
160
|
+ return nil, errors.New("记录发健身卡记录失败")
|
|
161
|
+ }
|
|
162
|
+ err = s.dao.EditGymcard(&gymCard.TaGymCard)
|
|
163
|
+ if err != nil {
|
|
164
|
+ utils.LogError("记录发健身卡记录失败" + err.Error())
|
|
165
|
+ return nil, errors.New("记录发健身卡记录失败")
|
|
166
|
+ }
|
110
|
167
|
return customerGym, nil
|
111
|
168
|
}
|
112
|
169
|
|
113
|
|
-func (s *GymcardServ) UpdateCustomerGym(customerGymId string) error {
|
|
170
|
+// UpdateCustomerGym 核销游泳健身卡
|
|
171
|
+func (s *GymcardServ) UpdateCustomerGym(customerGymId, caseid string) error {
|
114
|
172
|
var gymCard *gymcard.Gymcard
|
115
|
173
|
customerGym, err := s.dao.GetCustomerGymById(customerGymId)
|
116
|
174
|
if err != nil {
|
117
|
175
|
utils.LogError("核销游泳健身卡失败" + err.Error())
|
118
|
176
|
return errors.New("核销游泳健身卡失败")
|
119
|
177
|
}
|
|
178
|
+ if caseid != customerGym.CaseId {
|
|
179
|
+ utils.LogError("核销游泳健身卡失败")
|
|
180
|
+ return errors.New("您的健身卡不在本案场")
|
|
181
|
+ }
|
120
|
182
|
gymCard, err = s.dao.GetGymcardById(customerGym.GymCardId)
|
121
|
183
|
if err != nil {
|
122
|
184
|
utils.LogError("核销游泳健身卡失败" + err.Error())
|
|
@@ -151,6 +213,11 @@ func (s *GymcardServ) UpdateCustomerGym(customerGymId string) error {
|
151
|
213
|
utils.LogError("核销游泳健身卡失败" + err.Error())
|
152
|
214
|
return errors.New("核销游泳健身卡失败")
|
153
|
215
|
}
|
|
216
|
+ err = s.dao.EditGymcard(&gymCard.TaGymCard)
|
|
217
|
+ if err != nil {
|
|
218
|
+ utils.LogError("核销游泳健身卡失败" + err.Error())
|
|
219
|
+ return errors.New("核销游泳健身卡失败")
|
|
220
|
+ }
|
154
|
221
|
err = s.dao.AddGymcardUsage(customerGym.TaCustomerGym)
|
155
|
222
|
return err
|
156
|
223
|
|