wangfei 6 лет назад
Родитель
Сommit
4b8816161e
2 измененных файлов: 53 добавлений и 4 удалений
  1. 52
    3
      models/card/card.go
  2. 1
    1
      service/card/card.go

+ 52
- 3
models/card/card.go Просмотреть файл

@@ -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

+ 1
- 1
service/card/card.go Просмотреть файл

@@ -358,7 +358,7 @@ func (s *CardServ) GetCardByIDWithCheck(cardID string) (*card.CardInfo, error) {
358 358
 }
359 359
 
360 360
 // GetCardWithCustomer 获取体验卡明细
361
-func (s *CardServ) GetCardWithCustomer(cardid string) (*card.CaseUsableCard, error) {
361
+func (s *CardServ) GetCardWithCustomer(cardid string) (*card.CardDetailWithSales, error) {
362 362
 	if cardid == "" {
363 363
 		return nil, errors.New("没有卡信息!")
364 364
 	}