|
@@ -215,15 +215,55 @@ func (m *CardDAO) CheckCustCard(custID, CardID string, startDate, endDate time.T
|
215
|
215
|
// 案场可用卡信息
|
216
|
216
|
type CaseUsableCard struct {
|
217
|
217
|
model.TaCouponCard `xorm:"extends"`
|
218
|
|
- UserSendCount int
|
219
|
|
- UserUsedCount int
|
|
218
|
+ CustomerCard []model.TaCustomerCard
|
220
|
219
|
}
|
221
|
220
|
|
222
|
221
|
// GetCaseUsableCard 获取案场可用卡信息
|
223
|
|
-func (m *CardDAO) GetCaseUsableCard(caseid string) ([]CaseUsableCard, error) {
|
|
222
|
+func (m *CardDAO) GetCaseUsableCard(caseid, userid string, page, pageSize int) ([]CaseUsableCard, error) {
|
224
|
223
|
var cards []CaseUsableCard
|
225
|
|
- sql := `select * from ta_coupon_card where case_id=? and status=? and end_date>now() order by create_date limit `
|
226
|
|
- err := m.db.Sql(sql).Find(&cards)
|
227
|
|
- // err := m.db.Where("case_id=?", caseid).And("status=?", models.STATUS_NORMAL).And("end_date>now()").Desc("create_date").Find(&cards)
|
|
224
|
+ sql := `select * from ta_coupon_card where case_id=? and status=? and end_date>now() order by create_date limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
|
|
225
|
+ err := m.db.Sql(sql, caseid, models.STATUS_NORMAL).Find(&cards)
|
|
226
|
+ if userid != "" {
|
|
227
|
+ for inx, card := range cards {
|
|
228
|
+ cCards, err := m.GetCustomerCardByCardAndUser(card.CardId, userid)
|
|
229
|
+ if err != nil {
|
|
230
|
+ return nil, err
|
|
231
|
+ }
|
|
232
|
+ cards[inx].CustomerCard = cCards
|
|
233
|
+ }
|
|
234
|
+ }
|
228
|
235
|
return cards, err
|
229
|
236
|
}
|
|
237
|
+
|
|
238
|
+// GetCustomerCardByCardAndUser 根据卡与用户获取领取的用户信息
|
|
239
|
+func (m *CardDAO) GetCustomerCardByCardAndUser(cardid, userid string) ([]model.TaCustomerCard, error) {
|
|
240
|
+ var customerCards []model.TaCustomerCard
|
|
241
|
+ err := m.db.Where("card_id=?", cardid).And("sales_id=?", userid).And("status>?", models.STATUS_DEL).Find(&customerCards)
|
|
242
|
+ return customerCards, err
|
|
243
|
+}
|
|
244
|
+
|
|
245
|
+// GetCardDetail 获取卡详情
|
|
246
|
+func (m *CardDAO) GetCardDetail(cardid string) (*CaseUsableCard, error) {
|
|
247
|
+ var card = new(CaseUsableCard)
|
|
248
|
+ sql := `select * from ta_coupon_card where card_id=? and status>?`
|
|
249
|
+ _, err := m.db.Sql(sql, cardid, models.STATUS_DEL).Get(&card)
|
|
250
|
+ if err != nil {
|
|
251
|
+ return nil, err
|
|
252
|
+ }
|
|
253
|
+ if card == nil || card.CardId == "" {
|
|
254
|
+ return nil, errors.New("无卡信息")
|
|
255
|
+ }
|
|
256
|
+ ccards, err := m.GetCustomerCardByCard(cardid)
|
|
257
|
+ if err != nil {
|
|
258
|
+ return nil, err
|
|
259
|
+ }
|
|
260
|
+ card.CustomerCard = ccards
|
|
261
|
+ return card, nil
|
|
262
|
+}
|
|
263
|
+
|
|
264
|
+// GetCustomerCardByCard 根据卡获取领取的用户信息
|
|
265
|
+func (m *CardDAO) GetCustomerCardByCard(cardid string) ([]model.TaCustomerCard, error) {
|
|
266
|
+ var customerCards []model.TaCustomerCard
|
|
267
|
+ err := m.db.Where("card_id=?", cardid).And("status>?", models.STATUS_DEL).Find(&customerCards)
|
|
268
|
+ return customerCards, err
|
|
269
|
+}
|