胡轶钦 6 jaren geleden
bovenliggende
commit
0edc2d9973

+ 8
- 0
models/constant.go Bestand weergeven

@@ -107,3 +107,11 @@ const (
107 107
 	VERIFY_USED    = "used"
108 108
 	VERIFY_LATE    = "late"
109 109
 )
110
+
111
+// 游泳健身卡种类
112
+const (
113
+	GYM_CARD_ONCE    = "once"
114
+	GYM_CARD_MONTH   = "month"
115
+	GYM_CARD_QUARTER = "quarter"
116
+	GYM_CARD_YEAR    = "year"
117
+)

+ 238
- 8
models/gymcard/gymcard.go Bestand weergeven

@@ -24,9 +24,36 @@ func NewGymcardDAO(ctx *utils.Context) *GymcardDAO {
24 24
 		db:  ctx.DB,
25 25
 	}
26 26
 }
27
-func (m *GymcardDAO) GetGymcard(caseid string, page, pageSize int) ([]model.TaGymCard, error) {
28
-	var gymcard []model.TaGymCard
29
-	sql := `select a.* from ta_gym_card a
27
+
28
+type CustomerGym struct {
29
+	model.TaCustomerGym `xorm:"extends"`
30
+	CardImageUrl        string
31
+	CardShareInfo       string
32
+	CardUseInstruction  string
33
+	CardUseRule         string
34
+}
35
+
36
+type Gymcard struct {
37
+	model.TaGymCard    `xorm:"extends"`
38
+	CardImageUrl       string
39
+	CardShareInfo      string
40
+	CardUseInstruction string
41
+	CardUseRule        string
42
+}
43
+
44
+// GetGymcard 根据案场id获取游泳健身卡列表
45
+func (m *GymcardDAO) GetGymcard(caseid string, page, pageSize int) ([]Gymcard, error) {
46
+	var gymcard []Gymcard
47
+	sql := `SELECT
48
+	a.*,
49
+	b.card_image_url,
50
+	c.card_share_info,
51
+	c.card_use_instruction,
52
+	c.card_use_rule
53
+FROM
54
+	ta_gym_card a
55
+	INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
56
+	INNER JOIN ta_card_share c ON a.gym_card_id = c.gym_card_id
30 57
 	where a.case_id in('` + strings.Replace(caseid, ",", "','", -1) + `')
31 58
 	and  a.status > ` + strconv.Itoa(models.STATUS_DEL)
32 59
 	sql += ` order by a.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
@@ -34,9 +61,41 @@ func (m *GymcardDAO) GetGymcard(caseid string, page, pageSize int) ([]model.TaGy
34 61
 	return gymcard, err
35 62
 }
36 63
 
37
-func (m *GymcardDAO) GetGymcardById(gymcardId string) (*model.TaGymCard, error) {
38
-	var gymcard []model.TaGymCard
39
-	err := m.db.Where("gym_card_id=?", gymcardId).And("status > ?", models.STATUS_DEL).Find(&gymcard)
64
+// GetGymcardCount 根据案场id获取游泳健身卡数量
65
+func (m *GymcardDAO) GetGymcardCount(caseid string) (int, error) {
66
+	var gymcard []Gymcard
67
+	sql := `SELECT
68
+	a.*,
69
+	b.card_image_url,
70
+	c.card_share_info,
71
+	c.card_use_instruction,
72
+	c.card_use_rule
73
+FROM
74
+	ta_gym_card a
75
+	INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
76
+	INNER JOIN ta_card_share c ON a.gym_card_id = c.gym_card_id
77
+	where a.case_id in('` + strings.Replace(caseid, ",", "','", -1) + `')
78
+	and  a.status > ` + strconv.Itoa(models.STATUS_DEL)
79
+	err := m.db.Sql(sql).Find(&gymcard)
80
+	return len(gymcard), err
81
+}
82
+
83
+// GetGymcardById 根据id获取游泳健身卡详情
84
+func (m *GymcardDAO) GetGymcardById(gymcardId string) (*Gymcard, error) {
85
+	var gymcard []Gymcard
86
+	sql := `SELECT
87
+	a.*,
88
+	b.card_image_url,
89
+	c.card_share_info,
90
+	c.card_use_instruction,
91
+	c.card_use_rule
92
+FROM
93
+	ta_gym_card a
94
+	INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
95
+	INNER JOIN ta_card_share c ON a.gym_card_id = c.gym_card_id
96
+	where a.gym_card_id = '` + gymcardId + `'
97
+	and  a.status > ` + strconv.Itoa(models.STATUS_DEL)
98
+	err := m.db.Sql(sql).Find(&gymcard)
40 99
 	if err != nil {
41 100
 		return nil, err
42 101
 	}
@@ -46,16 +105,43 @@ func (m *GymcardDAO) GetGymcardById(gymcardId string) (*model.TaGymCard, error)
46 105
 	return nil, nil
47 106
 }
48 107
 
49
-func (m *GymcardDAO) AddGymCard(gymcard model.TaGymCard) (*model.TaGymCard, error) {
108
+// AddGymcard 新增游泳健身卡
109
+func (m *GymcardDAO) AddGymcard(gymcard model.TaGymCard) (model.TaGymCard, error) {
50 110
 	gymcard.GymCardId = utils.GetGUID()
51 111
 	gymcard.SentCount = 0
52 112
 	gymcard.UsedCount = 0
53 113
 	gymcard.Status = models.STATUS_NORMAL
54 114
 	gymcard.CreateDate = time.Now()
55 115
 	_, err := m.db.Insert(gymcard)
56
-	return &gymcard, err
116
+	return gymcard, err
117
+}
118
+
119
+// AddGymcardImg 新增游泳健身卡图片
120
+func (m *GymcardDAO) AddGymcardImg(gymcardId, imgUrl string) error {
121
+	var cardImg model.TaCardImage
122
+	cardImg.CardImageId = utils.GetGUID()
123
+	cardImg.CardImageUrl = imgUrl
124
+	cardImg.GymCardId = gymcardId
125
+	cardImg.Sort = 1
126
+	cardImg.Status = models.STATUS_NORMAL
127
+	_, err := m.db.Insert(cardImg)
128
+	return err
129
+}
130
+
131
+// AddGymcardShare 新增游泳健身卡分享信息
132
+func (m *GymcardDAO) AddGymcardShare(gymcardId, cardShareInfo, cardUseRule, cardUseInstraction string) error {
133
+	var cardShare model.TaCardShare
134
+	cardShare.CardShareId = utils.GetGUID()
135
+	cardShare.GymCardId = gymcardId
136
+	cardShare.CardShareInfo = cardShareInfo
137
+	cardShare.CardUseInstruction = cardUseInstraction
138
+	cardShare.CardUseRule = cardUseRule
139
+	cardShare.Status = models.STATUS_NORMAL
140
+	_, err := m.db.Insert(cardShare)
141
+	return err
57 142
 }
58 143
 
144
+// DeleteGymcard 删除游泳健身卡
59 145
 func (m *GymcardDAO) DeleteGymcard(gymcardId string) error {
60 146
 	var gymcard = model.TaGymCard{
61 147
 		GymCardId: gymcardId,
@@ -68,6 +154,7 @@ func (m *GymcardDAO) DeleteGymcard(gymcardId string) error {
68 154
 	return err
69 155
 }
70 156
 
157
+// DeleteCardImg 删除健身卡图片
71 158
 func (m *GymcardDAO) DeleteCardImg(gymcardId string) error {
72 159
 	var cardImg = model.TaCardImage{
73 160
 		GymCardId: gymcardId,
@@ -80,3 +167,146 @@ func (m *GymcardDAO) DeleteCardImg(gymcardId string) error {
80 167
 	return err
81 168
 
82 169
 }
170
+
171
+// DeleteCardImg 删除健身卡分享信息
172
+func (m *GymcardDAO) DeleteCardShare(gymcardId string) error {
173
+	var cardShare = model.TaCardShare{
174
+		GymCardId: gymcardId,
175
+		Status:    models.STATUS_DEL,
176
+	}
177
+	var cols = []string{
178
+		"status",
179
+	}
180
+	_, err := m.db.Cols(cols...).Where("gym_card_id = ?", cardShare.GymCardId).Update(cardShare)
181
+	return err
182
+}
183
+
184
+// EditGymcardImg 修改健身卡图片
185
+func (m *GymcardDAO) EditGymcardImg(gymcardId, imgUrl string) error {
186
+	var cardImg = model.TaCardImage{
187
+		GymCardId:    gymcardId,
188
+		CardImageUrl: imgUrl,
189
+	}
190
+	var cols = []string{
191
+		"img_url",
192
+	}
193
+	_, err := m.db.Cols(cols...).Where("gym_card_id = ?", cardImg.GymCardId).Update(cardImg)
194
+	return err
195
+}
196
+
197
+// EditGymcardShare 修改健身卡分享信息
198
+func (m *GymcardDAO) EditGymcardShare(gymcardId, cardShareInfo, cardUseRule, cardUseInstraction string) error {
199
+	var cardShare = model.TaCardShare{
200
+		GymCardId:          gymcardId,
201
+		CardShareInfo:      cardShareInfo,
202
+		CardUseRule:        cardUseRule,
203
+		CardUseInstruction: cardUseInstraction,
204
+	}
205
+	var cols = []string{
206
+		"card_share_info",
207
+		"card_use_rule",
208
+		"card_use_instruction",
209
+	}
210
+	_, err := m.db.Cols(cols...).Where("gym_card_id = ?", cardShare.GymCardId).Update(cardShare)
211
+	return err
212
+}
213
+
214
+// SendGymcardToCustomer 新增用户健身卡
215
+func (m *GymcardDAO) SendGymcardToCustomer(gymcard *model.TaGymCard, customerId string) (*model.TaCustomerGym, error) {
216
+	var customerGym model.TaCustomerGym
217
+	customerGym.CustomerGymId = utils.GetGUID()
218
+	customerGym.CaseId = gymcard.CaseId
219
+	customerGym.CustomerGymName = gymcard.GymCardName
220
+	customerGym.CustomerId = customerId
221
+	customerGym.EndDate = gymcard.EndDate
222
+	customerGym.GymCardId = gymcard.GymCardId
223
+	customerGym.GymType = gymcard.GymTypeId
224
+	customerGym.OrgId = gymcard.OrgId
225
+	customerGym.ReceiveDate = time.Now()
226
+	customerGym.StartDate = gymcard.StartDate
227
+	customerGym.Status = models.STATUS_NORMAL
228
+	_, err := m.db.Insert(customerGym)
229
+	return &customerGym, err
230
+}
231
+
232
+// UpdateCustomerGym 修改用户卡
233
+func (m *GymcardDAO) UpdateCustomerGym(customerGym model.TaCustomerGym) error {
234
+	var cols = []string{
235
+		"start_date",
236
+		"end_date",
237
+		"status",
238
+	}
239
+	_, err := m.db.Cols(cols...).Where("customer_gym_id =?", customerGym.CustomerGymId).Update(customerGym)
240
+	return err
241
+}
242
+
243
+// AddGymcardUsage 新增用户健身卡使用记录
244
+func (m *GymcardDAO) AddGymcardUsage(customerGym model.TaCustomerGym) (*model.TaGymCardUsage, error) {
245
+	var gymcardUsage model.TaGymCardUsage
246
+	gymcardUsage.CustomerGymId = customerGym.CustomerGymId
247
+	gymcardUsage.GymCardUsageId = utils.GetGUID()
248
+	gymcardUsage.UseCaseId = customerGym.CaseId
249
+	gymcardUsage.UseDate = time.Now()
250
+	gymcardUsage.Status = models.STATUS_NORMAL
251
+	_, err := m.db.Insert(gymcardUsage)
252
+	return &gymcardUsage, err
253
+}
254
+
255
+// GetCustomerGymByCustomerId 通过用户id获取用户所有游泳健身卡
256
+func (m *GymcardDAO) GetCustomerGymByCustomerId(customerId string, page, pageSize int) ([]CustomerGym, error) {
257
+	var customerGym []CustomerGym
258
+	sql := `SELECT
259
+	a.*,
260
+	b.card_image_url,
261
+	c.card_share_info,
262
+	c.card_use_instruction,
263
+	c.card_use_rule
264
+FROM
265
+	ta_customer_gym a
266
+INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
267
+INNER JOIN ta_card_share C oN a.gym_card_id = c.gym_card_id
268
+WHERE
269
+	a.customer_id = '` + customerId + `' and a.status >` + strconv.Itoa(models.STATUS_DEL)
270
+	sql += ` order by a.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
271
+	err := m.db.Sql(sql).Find(&customerGym)
272
+	return customerGym, err
273
+}
274
+
275
+// GetCustomerGymCountByCustomerId 通过用户id获取用户所有游泳健身卡数量
276
+func (m *GymcardDAO) GetCustomerGymCountByCustomerId(customerId string) (int, error) {
277
+	var customerGym []CustomerGym
278
+	sql := `SELECT
279
+	a.*,
280
+	b.card_image_url,
281
+	c.card_share_info,
282
+	c.card_use_instruction,
283
+	c.card_use_rule
284
+FROM
285
+	ta_customer_gym a
286
+INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
287
+INNER JOIN ta_card_share C oN a.gym_card_id = c.gym_card_id
288
+WHERE
289
+	a.customer_id = '` + customerId + `' and a.status >` + strconv.Itoa(models.STATUS_DEL)
290
+	err := m.db.Sql(sql).Find(&customerGym)
291
+	return len(customerGym), err
292
+
293
+}
294
+
295
+// GetCustomerGymById 根据id获取用户健身卡详情
296
+func (m *GymcardDAO) GetCustomerGymById(customerCardId string) (CustomerGym, error) {
297
+	var customerGym []CustomerGym
298
+	sql := `SELECT
299
+	a.*,
300
+	b.card_image_url,
301
+	c.card_share_info,
302
+	c.card_use_instruction,
303
+	c.card_use_rule
304
+FROM
305
+	ta_customer_gym a
306
+INNER JOIN ta_card_image b ON a.gym_card_id = b.gym_card_id
307
+INNER JOIN ta_card_share C oN a.gym_card_id = c.gym_card_id
308
+WHERE
309
+	a.customer_gym_id = '` + customerCardId + `' and a.status >` + strconv.Itoa(models.STATUS_DEL)
310
+	err := m.db.Sql(sql).Find(&customerGym)
311
+	return customerGym[0], err
312
+}

+ 0
- 1
models/model/ta_card_image.go Bestand weergeven

@@ -3,7 +3,6 @@ package model
3 3
 type TaCardImage struct {
4 4
 	CardImageId  string `xorm:"not null pk VARCHAR(64)"`
5 5
 	GymCardId    string `xorm:"VARCHAR(64)"`
6
-	CardId       string `xorm:"VARCHAR(64)"`
7 6
 	CardImageUrl string `xorm:"TEXT"`
8 7
 	Status       int    `xorm:"SMALLINT(6)"`
9 8
 	Sort         int    `xorm:"INT(11)"`

+ 0
- 1
models/model/ta_card_share.go Bestand weergeven

@@ -3,7 +3,6 @@ package model
3 3
 type TaCardShare struct {
4 4
 	CardShareId        string `xorm:"not null pk VARCHAR(64)"`
5 5
 	GymCardId          string `xorm:"VARCHAR(64)"`
6
-	CardId             string `xorm:"VARCHAR(64)"`
7 6
 	CardShareInfo      string `xorm:"TEXT"`
8 7
 	CardUseRule        string `xorm:"TEXT"`
9 8
 	CardUseInstruction string `xorm:"TEXT"`

+ 0
- 1
models/model/ta_customer_gym.go Bestand weergeven

@@ -13,7 +13,6 @@ type TaCustomerGym struct {
13 13
 	EndDate         time.Time `xorm:"DATETIME"`
14 14
 	Status          int       `xorm:"SMALLINT(6)"`
15 15
 	ReceiveDate     time.Time `xorm:"DATETIME"`
16
-	VerifyDate      time.Time `xorm:"DATETIME"`
17 16
 	GymType         string    `xorm:"VARCHAR(64)"`
18 17
 	CaseId          string    `xorm:"VARCHAR(64)"`
19 18
 	OrgId           string    `xorm:"VARCHAR(64)"`

+ 15
- 20
models/model/ta_gym_card.go Bestand weergeven

@@ -5,24 +5,19 @@ import (
5 5
 )
6 6
 
7 7
 type TaGymCard struct {
8
-	GymCardId        string    `xorm:"not null pk VARCHAR(64)"`
9
-	GymTypeId        string    `xorm:"VARCHAR(64)"`
10
-	GymCardName      string    `xorm:"VARCHAR(128)"`
11
-	Price            float32   `xorm:"FLOAT(8,2)"`
12
-	VideoUrl         string    `xorm:"TEXT"`
13
-	CoverUrl         string    `xorm:"TEXT"`
14
-	SentType         int       `xorm:"comment('0案场 1渠道') SMALLINT(6)"`
15
-	StartDate        time.Time `xorm:"DATETIME"`
16
-	EndDate          time.Time `xorm:"DATETIME"`
17
-	ValidDays        int       `xorm:"INT(11)"`
18
-	ShareDescription string    `xorm:"VARCHAR(255)"`
19
-	RuleDescription  string    `xorm:"VARCHAR(255)"`
20
-	UseDescription   string    `xorm:"TEXT"`
21
-	TotalCount       int       `xorm:"INT(11)"`
22
-	SentCount        int       `xorm:"INT(11)"`
23
-	UsedCount        int       `xorm:"INT(11)"`
24
-	Status           int       `xorm:"comment('0未发布 1已发布 2已过期') SMALLINT(6)"`
25
-	CaseId           string    `xorm:"VARCHAR(64)"`
26
-	OrgId            string    `xorm:"VARCHAR(64)"`
27
-	CreateDate       time.Time `xorm:"DATETIME"`
8
+	GymCardId   string    `xorm:"not null pk VARCHAR(64)"`
9
+	GymTypeId   string    `xorm:"VARCHAR(64)"`
10
+	GymCardName string    `xorm:"VARCHAR(128)"`
11
+	Price       float32   `xorm:"FLOAT(8,2)"`
12
+	SentType    int       `xorm:"comment('0案场 1渠道') SMALLINT(6)"`
13
+	StartDate   time.Time `xorm:"DATETIME"`
14
+	EndDate     time.Time `xorm:"DATETIME"`
15
+	ValidDays   int       `xorm:"INT(11)"`
16
+	TotalCount  int       `xorm:"INT(11)"`
17
+	SentCount   int       `xorm:"INT(11)"`
18
+	UsedCount   int       `xorm:"INT(11)"`
19
+	Status      int       `xorm:"comment('0未发布 1已发布 2已过期') SMALLINT(6)"`
20
+	CaseId      string    `xorm:"VARCHAR(64)"`
21
+	OrgId       string    `xorm:"VARCHAR(64)"`
22
+	CreateDate  time.Time `xorm:"DATETIME"`
28 23
 }

+ 0
- 9
models/verify/verify.go Bestand weergeven

@@ -28,11 +28,7 @@ type MyCourse struct {
28 28
 	CourseName                   string
29 29
 	DetailName                   string
30 30
 	LocationName                 string
31
-<<<<<<< HEAD
32
-	CostomerId                   string
33
-=======
34 31
 	CustomerId                   string
35
->>>>>>> 802c15c146846cf0ddc7fc7e0273f2683cea90f4
36 32
 }
37 33
 
38 34
 func (m *VerifyDAO) GetCustomerCourseDetailById(id string) (*model.TaCustomerCourseDetail, error) {
@@ -110,13 +106,8 @@ func (m *VerifyDAO) GetCustomerCourseListByTel(tel, caseid string, page, pageSiz
110 106
 	d.case_name,
111 107
 	b.course_name,
112 108
 	c.detail_name,
113
-<<<<<<< HEAD
114
-	f.location_name,
115
-	b.customer_id
116
-=======
117 109
 	b.customer_id,
118 110
 	f.location_name
119
->>>>>>> 802c15c146846cf0ddc7fc7e0273f2683cea90f4
120 111
 	FROM
121 112
 	ta_customer_course_detail a
122 113
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id

+ 110
- 0
service/gymcard/gymcard.go Bestand weergeven

@@ -0,0 +1,110 @@
1
+package gymcard
2
+
3
+import (
4
+	"errors"
5
+	"spaceofcheng/services/models/gymcard"
6
+	"spaceofcheng/services/models/model"
7
+	"spaceofcheng/services/service"
8
+	"spaceofcheng/services/utils"
9
+)
10
+
11
+// GymcardServ 系统处理
12
+type GymcardServ struct {
13
+	ctx *utils.Context
14
+	dao *gymcard.GymcardDAO
15
+}
16
+
17
+// NewGymcardServ 初始化
18
+func NewGymcardServ(ctx *utils.Context) *GymcardServ {
19
+	return &GymcardServ{
20
+		ctx: ctx,
21
+		dao: gymcard.NewGymcardDAO(ctx),
22
+	}
23
+}
24
+func (s *GymcardServ) GetGymcardList(caseid string, page, pageSize int) (map[string]interface{}, error) {
25
+	if pageSize == 0 {
26
+		pageSize = service.PAGENUM
27
+	}
28
+	gymcard, err := s.dao.GetGymcard(caseid, page, pageSize)
29
+	if err != nil {
30
+		utils.LogError("获取健身卡列表失败:" + err.Error())
31
+		return nil, errors.New("获取健身卡列表失败")
32
+	}
33
+	total, err := s.dao.GetGymcardCount(caseid)
34
+	if err != nil {
35
+		utils.LogError("获取健身卡列表失败:" + err.Error())
36
+		return nil, errors.New("获取健身卡列表失败")
37
+	}
38
+	return map[string]interface{}{
39
+		"list":     gymcard,
40
+		"pageSize": pageSize,
41
+		"pagenum":  total,
42
+		"page":     page,
43
+	}, nil
44
+}
45
+func (s *GymcardServ) GetCustomerGymBycustomerId(customerId string, page, pageSize int) (map[string]interface{}, error) {
46
+	if pageSize == 0 {
47
+		pageSize = service.PAGENUM
48
+	}
49
+	customerGym, err := s.dao.GetCustomerGymByCustomerId(customerId, page, pageSize)
50
+	if err != nil {
51
+		utils.LogError("获取健身卡列表失败:" + err.Error())
52
+		return nil, errors.New("获取健身卡列表失败")
53
+	}
54
+	total, err := s.dao.GetCustomerGymCountByCustomerId(customerId)
55
+	if err != nil {
56
+		utils.LogError("获取健身卡列表失败:" + err.Error())
57
+		return nil, errors.New("获取健身卡列表失败")
58
+	}
59
+	return map[string]interface{}{
60
+		"list":     customerGym,
61
+		"pageSize": pageSize,
62
+		"pagenum":  total,
63
+		"page":     page,
64
+	}, nil
65
+}
66
+func (s *GymcardServ) GetGymcardDetailByIdZ(gymcardId string) (*gymcard.Gymcard, error) {
67
+	gymcard, err := s.dao.GetGymcardById(gymcardId)
68
+	if err != nil {
69
+		utils.LogError("获取健身卡详情失败" + err.Error())
70
+		return nil, errors.New("获取健身卡详情失败")
71
+	}
72
+	return gymcard, nil
73
+}
74
+
75
+func (s *GymcardServ) SaveGymcard(newGym gymcard.Gymcard) (*gymcard.Gymcard, error) {
76
+	var newGymCard model.TaGymCard
77
+	var cardGym model.TaGymCard
78
+	var err error
79
+	if newGym.GymCardId == "" {
80
+		newGymCard = newGym.TaGymCard
81
+		cardGym, err = s.dao.AddGymcard(newGymCard)
82
+		err = s.dao.AddGymcardImg(newGym.GymCardId, newGym.CardImageUrl)
83
+		newGym.TaGymCard = cardGym
84
+		err = s.dao.AddGymcardShare(newGym.GymCardId, newGym.CardShareInfo, newGym.CardUseRule, newGym.CardUseInstruction)
85
+	} else {
86
+		err = s.dao.EditGymcardImg(newGym.GymCardId, newGym.CardImageUrl)
87
+		err = s.dao.EditGymcardShare(newGym.GymCardId, newGym.CardShareInfo, newGym.CardUseRule, newGym.CardUseInstruction)
88
+	}
89
+	if err != nil {
90
+		utils.LogError("保存健身卡信息失败" + err.Error())
91
+		return nil, errors.New("保存健身卡信息失败")
92
+	}
93
+	return &newGym, nil
94
+}
95
+
96
+func (s *GymcardServ) SendGymCardToUser(customerId, gymcardId string) (*model.TaCustomerGym, error) {
97
+	var customerGym *model.TaCustomerGym
98
+	gymCard, err := s.dao.GetGymcardById(gymcardId)
99
+	if err != nil {
100
+		utils.LogError("发送游泳健身卡给客户失败" + err.Error())
101
+		return nil, errors.New("发送游泳健身卡给客户失败")
102
+	}
103
+	customerGym, err = s.dao.SendGymcardToCustomer(gymCard, customerId)
104
+	if err != nil {
105
+		utils.LogError("发送游泳健身卡给客户失败" + err.Error())
106
+		return nil, errors.New("发送游泳健身卡给客户失败")
107
+	}
108
+	return customerGym, nil
109
+
110
+}