wangfei 6 år sedan
förälder
incheckning
0a8b65845d
3 ändrade filer med 28 tillägg och 10 borttagningar
  1. 1
    1
      conf/app.conf
  2. 1
    1
      conf/log.conf
  3. 26
    8
      models/luckdraw/luckdraw.go

+ 1
- 1
conf/app.conf Visa fil

@@ -5,7 +5,7 @@ autorender = false
5 5
 copyrequestbody = true
6 6
 EnableDocs = true
7 7
 excelpath = ./
8
-clienturl = http://dev.ycjcjy.com/c-v2
8
+clienturl = http://dev.ycjcjy.com/
9 9
 
10 10
 postwechatInfo = http://testapi.chioy.com.cn/api/network/postwechatInfo
11 11
 qrcodePrefix = bodycheck_

+ 1
- 1
conf/log.conf Visa fil

@@ -1,4 +1,4 @@
1 1
 [common]
2
-filename="E:\\GoProjects\\src\\spaceofcheng\\services\\log\\common.log"
2
+filename="E:\\GoProject\\src\\spaceofcheng\\services\\log\\common.log"
3 3
 # log level "emergency", "alert", "critical", "error", "warning", "notice", "info", "debug"
4 4
 level="debug"

+ 26
- 8
models/luckdraw/luckdraw.go Visa fil

@@ -277,10 +277,13 @@ func (m *LuckDrawDao) SaveLuckDrawPrizes(prizes []PrizeWithDefaults, luckdraw *m
277 277
 			prizes[inx].Status = models.STATUS_NORMAL
278 278
 		}
279 279
 		if prize.PrizeType == models.PRIZE_TYPE_COUPONCARD {
280
-			err := m.SavePrizeDetail(prizes[inx].TaLuckdrawPrize)
280
+			valid, err := m.SavePrizeDetail(prizes[inx].TaLuckdrawPrize)
281 281
 			if err != nil {
282 282
 				return err
283 283
 			}
284
+			prizes[inx].ValidDays = valid.ValidDays
285
+			prizes[inx].VerificationStart = valid.VerificationStart
286
+			prizes[inx].VerificationEnd = valid.VerificationEnd
284 287
 		}
285 288
 		saveprizes = append(saveprizes, prizes[inx].TaLuckdrawPrize)
286 289
 		// 保存内定信息
@@ -298,17 +301,28 @@ func (m *LuckDrawDao) SaveLuckDrawPrizes(prizes []PrizeWithDefaults, luckdraw *m
298 301
 	return err
299 302
 }
300 303
 
304
+// Verification 有效期
305
+type Verification struct {
306
+	ValidDays         int
307
+	VerificationStart time.Time
308
+	VerificationEnd   time.Time
309
+}
310
+
301 311
 // SavePrizeDetail 保存奖品明细
302
-func (m *LuckDrawDao) SavePrizeDetail(prize model.TaLuckdrawPrize) error {
312
+func (m *LuckDrawDao) SavePrizeDetail(prize model.TaLuckdrawPrize) (*Verification, error) {
313
+	var verification = Verification{}
303 314
 	if prize.CouponCardType == models.PRIZE_TYPE_COUPON {
304 315
 		var coupon model.TaCoupon
305 316
 		_, err := m.db.Where("coupon_id=?", prize.CouponCardId).Get(&coupon)
306 317
 		if err != nil {
307
-			return err
318
+			return nil, err
308 319
 		}
309 320
 		if coupon.UsedCount > 0 {
310
-			return errors.New("卡券已被使用!不允许保存!")
321
+			return nil, errors.New("卡券已被使用!不允许保存!")
311 322
 		}
323
+		verification.ValidDays = coupon.ValidDays
324
+		verification.VerificationStart = coupon.StartDate
325
+		verification.VerificationEnd = coupon.EndDate
312 326
 		var details []model.TaPrizeDetail
313 327
 		i := 0
314 328
 		for i < coupon.TotalCount {
@@ -329,11 +343,14 @@ func (m *LuckDrawDao) SavePrizeDetail(prize model.TaLuckdrawPrize) error {
329 343
 		var card model.TaCouponCard
330 344
 		_, err := m.db.Where("card_id=?", prize.CouponCardId).Get(&card)
331 345
 		if err != nil {
332
-			return err
346
+			return nil, err
333 347
 		}
334 348
 		if card.UsedCount > 0 {
335
-			return errors.New("卡券已被使用!不允许保存!")
349
+			return nil, errors.New("卡券已被使用!不允许保存!")
336 350
 		}
351
+		verification.ValidDays = 0
352
+		verification.VerificationStart = card.StartDate
353
+		verification.VerificationEnd = card.EndDate
337 354
 		var details []model.TaPrizeDetail
338 355
 		i := 0
339 356
 		for i < card.TotalCount {
@@ -352,7 +369,7 @@ func (m *LuckDrawDao) SavePrizeDetail(prize model.TaLuckdrawPrize) error {
352 369
 		m.db.Insert(details)
353 370
 	}
354 371
 
355
-	return nil
372
+	return &verification, nil
356 373
 }
357 374
 
358 375
 // UpdateLuckDraw 修改抽奖
@@ -677,7 +694,7 @@ func (m *LuckDrawDao) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckd
677 694
 
678 695
 	for _, prize := range prizes {
679 696
 		// 有剩余的 并且 未过期的
680
-		if prize.Remainder > 0 && now.Before(prize.VerificationEnd) {
697
+		if prize.Remainder > 0 && (now.Before(prize.VerificationEnd) || prize.ValidDays > 0) {
681 698
 			p := map[string]interface{}{
682 699
 				"prize": prize,
683 700
 				"prob":  prize.Probability,
@@ -687,6 +704,7 @@ func (m *LuckDrawDao) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckd
687 704
 		}
688 705
 	}
689 706
 
707
+	utils.LogError(pList)
690 708
 	if len(pList) == 0 {
691 709
 		return nil, errors.New("所有奖品已抽完")
692 710
 	}