|
@@ -55,19 +55,19 @@ func (m *LuckDrawDao) GetLuckDraw(id string) (*LuckDraw, error) {
|
55
|
55
|
}
|
56
|
56
|
|
57
|
57
|
// LuckDraw 抽奖
|
58
|
|
-func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuckdrawPrize, *model.TaPrizeDetail, error) {
|
|
58
|
+func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuckdrawPrize, *model.TaPrizeDetail, *model.TaLuckdrawRecord, error) {
|
59
|
59
|
luckdraw, err := m.GetLuckDrawByID(id)
|
60
|
60
|
if err != nil {
|
61
|
|
- return nil, nil, errors.New("获取抽奖信息失败!")
|
|
61
|
+ return nil, nil, nil, errors.New("获取抽奖信息失败!")
|
62
|
62
|
}
|
63
|
63
|
if luckdraw.Status != models.STATUS_NORMAL {
|
64
|
|
- return nil, nil, errors.New("当前抽奖活动状态异常!")
|
|
64
|
+ return nil, nil, nil, errors.New("当前抽奖活动状态异常!")
|
65
|
65
|
}
|
66
|
66
|
if time.Now().Before(luckdraw.BeginDate) {
|
67
|
|
- return nil, nil, errors.New("活动还未开始!")
|
|
67
|
+ return nil, nil, nil, errors.New("活动还未开始!")
|
68
|
68
|
}
|
69
|
69
|
if time.Now().After(luckdraw.EndDate) {
|
70
|
|
- return nil, nil, errors.New("活动已结束!")
|
|
70
|
+ return nil, nil, nil, errors.New("活动已结束!")
|
71
|
71
|
}
|
72
|
72
|
// if user.Phone != "" {
|
73
|
73
|
// sysuser, err := m.GetUserByTel(user.Phone)
|
|
@@ -81,28 +81,28 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
81
|
81
|
userluckdraws, err := m.GetUserRecordByLuckDraw(user.CustomerId, id)
|
82
|
82
|
if err != nil {
|
83
|
83
|
utils.LogError("获取用户抽奖信息失败:", err)
|
84
|
|
- return nil, nil, errors.New("获取用户抽奖信息失败!")
|
|
84
|
+ return nil, nil, nil, errors.New("获取用户抽奖信息失败!")
|
85
|
85
|
}
|
86
|
86
|
if len(userluckdraws) > 0 {
|
87
|
|
- return nil, nil, errors.New("您已参与过此次抽奖,不允许重复抽奖!")
|
|
87
|
+ return nil, nil, nil, errors.New("您已参与过此次抽奖,不允许重复抽奖!")
|
88
|
88
|
}
|
89
|
89
|
prizes, err := m.GetPrizeStock(id)
|
90
|
90
|
if err != nil {
|
91
|
91
|
utils.LogError("获取奖项失败:", err)
|
92
|
|
- return nil, nil, errors.New("获取奖项失败!")
|
|
92
|
+ return nil, nil, nil, errors.New("获取奖项失败!")
|
93
|
93
|
}
|
94
|
94
|
if len(prizes) == 0 {
|
95
|
95
|
err = m.UpdateLuckDrawEndDate(luckdraw.Id)
|
96
|
96
|
if err != nil {
|
97
|
97
|
utils.LogError("操作失败,请刷新后重试:", err)
|
98
|
|
- return nil, nil, errors.New("操作失败,请刷新后重试!")
|
|
98
|
+ return nil, nil, nil, errors.New("操作失败,请刷新后重试!")
|
99
|
99
|
}
|
100
|
|
- return nil, nil, errors.New("活动已结束!")
|
|
100
|
+ return nil, nil, nil, errors.New("活动已结束!")
|
101
|
101
|
}
|
102
|
102
|
prize, err := m.GetWinning(prizes)
|
103
|
103
|
if err != nil {
|
104
|
104
|
utils.LogError("获取奖项失败:", err)
|
105
|
|
- return nil, nil, errors.New("获取奖项失败!")
|
|
105
|
+ return nil, nil, nil, errors.New("获取奖项失败!")
|
106
|
106
|
}
|
107
|
107
|
|
108
|
108
|
// details, err := m.GetPrizeDetail(prize.Id)
|
|
@@ -125,7 +125,7 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
125
|
125
|
_, err = m.SaveRecord(record)
|
126
|
126
|
if err != nil {
|
127
|
127
|
utils.LogError("保存中奖纪录失败:", err)
|
128
|
|
- return nil, nil, err
|
|
128
|
+ return nil, nil, nil, err
|
129
|
129
|
}
|
130
|
130
|
// var detail = model.TaPrizeDetail{}
|
131
|
131
|
// if len(details) > 0 {
|
|
@@ -150,12 +150,12 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
150
|
150
|
err = m.UpdateStock(prize)
|
151
|
151
|
if err != nil {
|
152
|
152
|
utils.LogError("更新库存失败:", err)
|
153
|
|
- return nil, nil, err
|
|
153
|
+ return nil, nil, nil, err
|
154
|
154
|
}
|
155
|
155
|
stockprizes, err := m.GetPrizeStock(id)
|
156
|
156
|
if err != nil {
|
157
|
157
|
utils.LogError("更新库存失败:", err)
|
158
|
|
- return nil, nil, errors.New("操作失败,请刷新后重试!")
|
|
158
|
+ return nil, nil, nil, errors.New("操作失败,请刷新后重试!")
|
159
|
159
|
}
|
160
|
160
|
if len(stockprizes) == 0 {
|
161
|
161
|
// 更新活动截止时间
|
|
@@ -163,7 +163,7 @@ func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuck
|
163
|
163
|
}
|
164
|
164
|
}
|
165
|
165
|
|
166
|
|
- return prize, nil, err
|
|
166
|
+ return prize, nil, &record, err
|
167
|
167
|
}
|
168
|
168
|
|
169
|
169
|
// PrizeWriteOff 奖品核销
|