|
@@ -275,9 +275,23 @@ func (m *CardDAO) GetCustomerCardByCardAndUser(cardid, userid string) ([]model.T
|
275
|
275
|
return customerCards, err
|
276
|
276
|
}
|
277
|
277
|
|
|
278
|
+// 案场可用卡信息
|
|
279
|
+type CardDetailWithSales struct {
|
|
280
|
+ model.TaCouponCard `xorm:"extends"`
|
|
281
|
+ CustomerCard []SalesWithCustomerCardNum
|
|
282
|
+}
|
|
283
|
+
|
|
284
|
+// SalesWithCustomerCardNum
|
|
285
|
+type SalesWithCustomerCardNum struct {
|
|
286
|
+ RealName string
|
|
287
|
+ SalesId string
|
|
288
|
+ ReceiveNum int
|
|
289
|
+ UsedNum int
|
|
290
|
+}
|
|
291
|
+
|
278
|
292
|
// GetCardDetail 获取卡详情
|
279
|
|
-func (m *CardDAO) GetCardDetail(cardid string) (*CaseUsableCard, error) {
|
280
|
|
- var card = new(CaseUsableCard)
|
|
293
|
+func (m *CardDAO) GetCardDetail(cardid string) (*CardDetailWithSales, error) {
|
|
294
|
+ var card = new(CardDetailWithSales)
|
281
|
295
|
sql := `select * from ta_coupon_card where card_id=? and status>?`
|
282
|
296
|
_, err := m.db.Sql(sql, cardid, models.STATUS_DEL).Get(card)
|
283
|
297
|
if err != nil {
|
|
@@ -286,7 +300,7 @@ func (m *CardDAO) GetCardDetail(cardid string) (*CaseUsableCard, error) {
|
286
|
300
|
if card == nil || card.CardId == "" {
|
287
|
301
|
return nil, errors.New("无卡信息")
|
288
|
302
|
}
|
289
|
|
- ccards, err := m.GetCustomerCardByCard(cardid)
|
|
303
|
+ ccards, err := m.GetCustomerCardByCardWithRealName(cardid)
|
290
|
304
|
if err != nil {
|
291
|
305
|
return nil, err
|
292
|
306
|
}
|
|
@@ -294,6 +308,41 @@ func (m *CardDAO) GetCardDetail(cardid string) (*CaseUsableCard, error) {
|
294
|
308
|
return card, nil
|
295
|
309
|
}
|
296
|
310
|
|
|
311
|
+// GetSalesCardByCard 根据卡获取领取的用户信息
|
|
312
|
+func (m *CardDAO) GetSalesCardByCard(cardid string) ([]model.TaCustomerCard, error) {
|
|
313
|
+ var customerCards []model.TaCustomerCard
|
|
314
|
+ err := m.db.Where("card_id=?", cardid).And("status>?", models.STATUS_DEL).Find(&customerCards)
|
|
315
|
+ return customerCards, err
|
|
316
|
+}
|
|
317
|
+
|
|
318
|
+// GetCustomerCardByCardWithRealName 根据卡获取领取的用户信息
|
|
319
|
+func (m *CardDAO) GetCustomerCardByCardWithRealName(cardid string) ([]SalesWithCustomerCardNum, error) {
|
|
320
|
+ var customerCards []SalesWithCustomerCardNum
|
|
321
|
+ sql := `SELECT
|
|
322
|
+ b.real_name,
|
|
323
|
+ a.sales_id,
|
|
324
|
+ count(1) AS receive_num,
|
|
325
|
+ sum(
|
|
326
|
+ CASE
|
|
327
|
+ WHEN a.verify_status = 'useable' THEN
|
|
328
|
+ 0
|
|
329
|
+ ELSE
|
|
330
|
+ 1
|
|
331
|
+ END
|
|
332
|
+ ) AS used_num
|
|
333
|
+ FROM
|
|
334
|
+ ta_customer_card a
|
|
335
|
+ INNER JOIN sys_user b ON a.sales_id = b.user_id
|
|
336
|
+ WHERE
|
|
337
|
+ a.card_id = ?
|
|
338
|
+ AND a. STATUS > ?
|
|
339
|
+ GROUP BY
|
|
340
|
+ b.real_name,
|
|
341
|
+ a.sales_id`
|
|
342
|
+ err := m.db.Sql(sql, cardid, models.STATUS_DEL).Find(&customerCards)
|
|
343
|
+ return customerCards, err
|
|
344
|
+}
|
|
345
|
+
|
297
|
346
|
// GetCustomerCardByCard 根据卡获取领取的用户信息
|
298
|
347
|
func (m *CardDAO) GetCustomerCardByCard(cardid string) ([]model.TaCustomerCard, error) {
|
299
|
348
|
var customerCards []model.TaCustomerCard
|