|
@@ -130,12 +130,17 @@ func (m *LuckDrawDao) GetLuckDrawShare(id, tel string, page, pageSize int) ([]mo
|
130
|
130
|
return shares, err
|
131
|
131
|
}
|
132
|
132
|
|
|
133
|
+// PrizeWithDefaults 奖品关联内定
|
|
134
|
+type PrizeWithDefaults struct {
|
|
135
|
+ model.TaLuckdrawPrize `xorm:"extends"`
|
|
136
|
+ Defaults []model.TaPrizeDefault
|
|
137
|
+}
|
|
138
|
+
|
133
|
139
|
// LuckDrawInfo 抽奖info
|
134
|
140
|
type LuckDrawInfo struct {
|
135
|
141
|
model.TaLuckdraw `xorm:"extends"`
|
136
|
|
- Prizes []model.TaLuckdrawPrize
|
|
142
|
+ Prizes []PrizeWithDefaults
|
137
|
143
|
Imgs []model.TaLuckdrawImg
|
138
|
|
- Defaults []model.TaPrizeDefault
|
139
|
144
|
}
|
140
|
145
|
|
141
|
146
|
// GetLuckDrawInfoByID 获取抽奖信息
|
|
@@ -152,7 +157,7 @@ func (m *LuckDrawDao) GetLuckDrawInfoByID(id string) (*LuckDrawInfo, error) {
|
152
|
157
|
if luckdraw.Id == "" {
|
153
|
158
|
return nil, nil
|
154
|
159
|
}
|
155
|
|
- prizes, err := m.GetPrizes(id)
|
|
160
|
+ prizes, err := m.GetPrizesWithDefaults(id)
|
156
|
161
|
if err != nil {
|
157
|
162
|
utils.LogError("获取奖品信息失败:", err)
|
158
|
163
|
return nil, errors.New("获取奖品信息失败")
|
|
@@ -164,12 +169,12 @@ func (m *LuckDrawDao) GetLuckDrawInfoByID(id string) (*LuckDrawInfo, error) {
|
164
|
169
|
return nil, errors.New("获取抽奖图片信息失败")
|
165
|
170
|
}
|
166
|
171
|
luckdraw.Imgs = imgs
|
167
|
|
- defaults, err := m.GetLuckDrawDefault(id)
|
168
|
|
- if err != nil {
|
169
|
|
- utils.LogError("获取奖品内置信息失败:", err)
|
170
|
|
- return nil, errors.New("获取奖品信息失败")
|
171
|
|
- }
|
172
|
|
- luckdraw.Defaults = defaults
|
|
172
|
+ // defaults, err := m.GetLuckDrawDefault(id)
|
|
173
|
+ // if err != nil {
|
|
174
|
+ // utils.LogError("获取奖品内置信息失败:", err)
|
|
175
|
+ // return nil, errors.New("获取奖品信息失败")
|
|
176
|
+ // }
|
|
177
|
+ // luckdraw.Defaults = defaults
|
173
|
178
|
return &luckdraw, err
|
174
|
179
|
}
|
175
|
180
|
|
|
@@ -253,18 +258,30 @@ func (m *LuckDrawDao) SaveLuckDrawDefault(defaults []model.TaPrizeDefault, luckd
|
253
|
258
|
}
|
254
|
259
|
|
255
|
260
|
// SaveLuckDrawPrizes 保存奖品信息
|
256
|
|
-func (m *LuckDrawDao) SaveLuckDrawPrizes(prizes []model.TaLuckdrawPrize, luckdrawid string) error {
|
|
261
|
+func (m *LuckDrawDao) SaveLuckDrawPrizes(prizes []PrizeWithDefaults, luckdraw *model.TaLuckdraw) error {
|
|
262
|
+ var saveprizes []model.TaLuckdrawPrize
|
257
|
263
|
for inx, prize := range prizes {
|
258
|
264
|
if prize.Id == "" {
|
259
|
|
- prizes[inx].LuckdrawId = luckdrawid
|
|
265
|
+ prizes[inx].LuckdrawId = luckdraw.Id
|
260
|
266
|
prizes[inx].Id = utils.GetGUID()
|
261
|
267
|
prizes[inx].Status = models.STATUS_NORMAL
|
262
|
268
|
}
|
263
|
269
|
if prize.PrizeType == models.PRIZE_TYPE_COUPONCARD {
|
264
|
|
- m.SavePrizeDetail(prize)
|
|
270
|
+ m.SavePrizeDetail(prize.TaLuckdrawPrize)
|
|
271
|
+ }
|
|
272
|
+ saveprizes = append(saveprizes, prize.TaLuckdrawPrize)
|
|
273
|
+ // 保存内定信息
|
|
274
|
+ if luckdraw.IsInternalDefault == models.BOOL_TRUE {
|
|
275
|
+ err := m.SaveLuckDrawDefault(prize.Defaults, prizes[inx].Id)
|
|
276
|
+ if err != nil {
|
|
277
|
+ return err
|
|
278
|
+ }
|
265
|
279
|
}
|
266
|
280
|
}
|
267
|
|
- _, err := m.db.Insert(prizes)
|
|
281
|
+ _, err := m.db.Insert(saveprizes)
|
|
282
|
+ if err != nil {
|
|
283
|
+ return err
|
|
284
|
+ }
|
268
|
285
|
return err
|
269
|
286
|
}
|
270
|
287
|
|
|
@@ -671,6 +688,31 @@ func (m *LuckDrawDao) GetPrizes(luckdrawid string) ([]model.TaLuckdrawPrize, err
|
671
|
688
|
return prizes, err
|
672
|
689
|
}
|
673
|
690
|
|
|
691
|
+// GetPrizesWithDefaults 获取奖品
|
|
692
|
+func (m *LuckDrawDao) GetPrizesWithDefaults(luckdrawid string) ([]PrizeWithDefaults, error) {
|
|
693
|
+ var prizes []PrizeWithDefaults
|
|
694
|
+ sql := `select * from ta_luckdraw_prize where luckdraw_id=? and status=?`
|
|
695
|
+ err := m.db.Sql(sql, luckdrawid, models.STATUS_NORMAL).Find(&prizes)
|
|
696
|
+ if err != nil {
|
|
697
|
+ return nil, err
|
|
698
|
+ }
|
|
699
|
+ for inx, prize := range prizes {
|
|
700
|
+ defaults, err := m.GetDefaultsByPrize(prize.Id)
|
|
701
|
+ if err != nil {
|
|
702
|
+ return nil, err
|
|
703
|
+ }
|
|
704
|
+ prizes[inx].Defaults = defaults
|
|
705
|
+ }
|
|
706
|
+ return prizes, err
|
|
707
|
+}
|
|
708
|
+
|
|
709
|
+// GetDefaultsByPrize 根据奖品获取内定信息
|
|
710
|
+func (m *LuckDrawDao) GetDefaultsByPrize(prizeid string) ([]model.TaPrizeDefault, error) {
|
|
711
|
+ var defaults []model.TaPrizeDefault
|
|
712
|
+ err := m.db.Where("prize_id=?", prizeid).Find(&defaults)
|
|
713
|
+ return defaults, err
|
|
714
|
+}
|
|
715
|
+
|
674
|
716
|
// UpdateStock 修改库存
|
675
|
717
|
func (m *LuckDrawDao) UpdateStock(prize *model.TaLuckdrawPrize) error {
|
676
|
718
|
cols := []string{
|