|
@@ -280,9 +280,10 @@ func (m *LuckDrawDao) SaveLuckDrawPrizes(prizes []PrizeWithDefaults, luckdraw *m
|
280
|
280
|
if prize.Id == "" {
|
281
|
281
|
prizes[inx].LuckdrawId = luckdraw.Id
|
282
|
282
|
prizes[inx].Id = utils.GetGUID()
|
283
|
|
- prizes[inx].Remainder = prize.Stock
|
284
|
|
- prizes[inx].Status = models.STATUS_NORMAL
|
285
|
283
|
}
|
|
284
|
+ prizes[inx].Remainder = prize.Stock
|
|
285
|
+ prizes[inx].Status = models.STATUS_NORMAL
|
|
286
|
+
|
286
|
287
|
if prize.PrizeType == models.PRIZE_TYPE_COUPONCARD {
|
287
|
288
|
valid, err := m.SavePrizeDetail(prizes[inx].TaLuckdrawPrize)
|
288
|
289
|
if err != nil {
|
|
@@ -596,7 +597,7 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
596
|
597
|
}
|
597
|
598
|
// 更新库存
|
598
|
599
|
if prize.IsReality == 1 {
|
599
|
|
- prize.Remainder = prize.Remainder - 1
|
|
600
|
+ // prize.Remainder = prize.Remainder - 1
|
600
|
601
|
err = m.UpdateStock(prize)
|
601
|
602
|
if err != nil {
|
602
|
603
|
utils.LogError("更新库存失败:", err)
|
|
@@ -611,6 +612,13 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
611
|
612
|
// 更新活动截止时间
|
612
|
613
|
err = m.UpdateLuckDrawEndDate(luckdraw.Id)
|
613
|
614
|
}
|
|
615
|
+ } else {
|
|
616
|
+ // 奖项自动核销,走卡券核销流程
|
|
617
|
+ err = m.PrizeWriteOff(record.Id, user.CustomerId)
|
|
618
|
+ if err != nil {
|
|
619
|
+ utils.LogError("卡券核销失败:", err)
|
|
620
|
+ return nil, nil, nil, errors.New("操作失败!")
|
|
621
|
+ }
|
614
|
622
|
}
|
615
|
623
|
|
616
|
624
|
return prize, &detail, record, err
|
|
@@ -821,10 +829,12 @@ func (m *LuckDrawDao) GetDefaultsByPrize(prizeid string) ([]model.TaPrizeDefault
|
821
|
829
|
|
822
|
830
|
// UpdateStock 修改库存
|
823
|
831
|
func (m *LuckDrawDao) UpdateStock(prize *model.TaLuckdrawPrize) error {
|
824
|
|
- cols := []string{
|
825
|
|
- "remainder",
|
826
|
|
- }
|
827
|
|
- _, err := m.db.Cols(cols...).Where("id=?", prize.Id).Update(prize)
|
|
832
|
+ sql := `update ta_luckdraw_prize set remainder = remainder - 1 where id=?`
|
|
833
|
+ _, err := m.db.Exec(sql, prize.Id)
|
|
834
|
+ // cols := []string{
|
|
835
|
+ // "remainder",
|
|
836
|
+ // }
|
|
837
|
+ // _, err := m.db.Cols(cols...).Where("id=?", prize.Id).Update(prize)
|
828
|
838
|
return err
|
829
|
839
|
}
|
830
|
840
|
|