|
@@ -1,6 +1,7 @@
|
1
|
1
|
package luckdraw
|
2
|
2
|
|
3
|
3
|
import (
|
|
4
|
+ "errors"
|
4
|
5
|
"spaceofcheng/services/models"
|
5
|
6
|
"spaceofcheng/services/models/model"
|
6
|
7
|
"spaceofcheng/services/utils"
|
|
@@ -10,28 +11,20 @@ import (
|
10
|
11
|
"github.com/go-xorm/xorm"
|
11
|
12
|
)
|
12
|
13
|
|
13
|
|
-const (
|
14
|
|
- StatusNormal = 1
|
15
|
|
-)
|
16
|
|
-
|
17
|
|
-// DAO 当前数据库操作对象
|
18
|
|
-type DAO struct {
|
|
14
|
+// LuckDrawDao 当前数据库操作对象
|
|
15
|
+type LuckDrawDao struct {
|
19
|
16
|
ctx *utils.Context
|
20
|
17
|
db *xorm.Session
|
21
|
18
|
}
|
22
|
19
|
|
23
|
20
|
// NewDAO 初始化DAO
|
24
|
|
-func NewDAO(ctx *utils.Context) *DAO {
|
25
|
|
- return &DAO{
|
|
21
|
+func NewDAO(ctx *utils.Context) *LuckDrawDao {
|
|
22
|
+ return &LuckDrawDao{
|
26
|
23
|
ctx: ctx,
|
27
|
24
|
db: ctx.DB,
|
28
|
25
|
}
|
29
|
26
|
}
|
30
|
27
|
|
31
|
|
-const (
|
32
|
|
- STATUS_NOWRITROFF = 0
|
33
|
|
-)
|
34
|
|
-
|
35
|
28
|
// LuckDraw 抽奖记录
|
36
|
29
|
type LuckDraw struct {
|
37
|
30
|
model.TaLuckdraw `xorm:"extends"`
|
|
@@ -39,101 +32,110 @@ type LuckDraw struct {
|
39
|
32
|
}
|
40
|
33
|
|
41
|
34
|
// GetLuckDraw 获取抽奖信息
|
42
|
|
-func (m *DAO) GetLuckDraw(id int) (*LuckDraw, error) {
|
43
|
|
- if id == 0 {
|
44
|
|
- return nil, utils.LogError("不存在抽奖信息!")
|
|
35
|
+func (m *LuckDrawDao) GetLuckDraw(id string) (*LuckDraw, error) {
|
|
36
|
+ if id == "" {
|
|
37
|
+ return nil, errors.New("不存在抽奖信息!")
|
45
|
38
|
}
|
46
|
|
-
|
47
|
39
|
luckdraw, err := m.GetLuckDrawByID(id)
|
48
|
40
|
if err != nil {
|
49
|
|
- return nil, err
|
|
41
|
+ utils.LogError("获取抽奖信息失败:", err)
|
|
42
|
+ return nil, errors.New("获取抽奖信息失败")
|
50
|
43
|
}
|
51
|
44
|
prizes, err := m.GetPrizes(id)
|
52
|
45
|
if err != nil {
|
53
|
|
- return nil, err
|
|
46
|
+ utils.LogError("获取奖品信息失败:", err)
|
|
47
|
+ return nil, errors.New("获取奖品信息失败")
|
54
|
48
|
}
|
55
|
49
|
luckdraw.Prizes = prizes
|
56
|
50
|
return luckdraw, nil
|
57
|
51
|
}
|
58
|
52
|
|
59
|
53
|
// LuckDraw 抽奖
|
60
|
|
-func (m *DAO) LuckDraw(id int, user *model.TaCustomer) (*model.TaLuckdrawPrize, *model.TaPrizeDetail, error) {
|
|
54
|
+func (m *LuckDrawDao) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuckdrawPrize, *model.TaPrizeDetail, error) {
|
61
|
55
|
luckdraw, err := m.GetLuckDrawByID(id)
|
62
|
56
|
if err != nil {
|
63
|
|
- return nil, nil, utils.LogError("获取抽奖信息失败!", err)
|
|
57
|
+ return nil, nil, errors.New("获取抽奖信息失败!")
|
64
|
58
|
}
|
65
|
59
|
if luckdraw.Status != models.STATUS_NORMAL {
|
66
|
|
- return nil, nil, utils.LogError("当前抽奖活动状态异常!")
|
|
60
|
+ return nil, nil, errors.New("当前抽奖活动状态异常!")
|
67
|
61
|
}
|
68
|
62
|
if time.Now().Before(luckdraw.BeginDate) {
|
69
|
|
- return nil, nil, utils.LogError("活动还未开始!")
|
|
63
|
+ return nil, nil, errors.New("活动还未开始!")
|
70
|
64
|
}
|
71
|
65
|
if time.Now().After(luckdraw.EndDate) {
|
72
|
|
- return nil, nil, utils.LogError("活动已结束!")
|
|
66
|
+ return nil, nil, errors.New("活动已结束!")
|
73
|
67
|
}
|
74
|
68
|
if user.Phone != "" {
|
75
|
69
|
sysuser, err := m.GetUserByTel(user.Phone)
|
76
|
70
|
if err != nil {
|
77
|
|
- return nil, nil, utils.LogError("获取信息失败!", err)
|
|
71
|
+ return nil, nil, errors.New("获取信息失败!")
|
78
|
72
|
}
|
79
|
73
|
if sysuser != nil {
|
80
|
|
- return nil, nil, utils.LogError("内部人员不允许进行抽奖!")
|
|
74
|
+ return nil, nil, errors.New("内部人员不允许进行抽奖!")
|
81
|
75
|
}
|
82
|
76
|
}
|
83
|
77
|
userluckdraws, err := m.GetUserRecordByLuckDraw(user.CustomerId, id)
|
84
|
78
|
if err != nil {
|
85
|
|
- return nil, nil, utils.LogError("获取用户抽奖信息失败!", err)
|
|
79
|
+ utils.LogError("获取用户抽奖信息失败:", err)
|
|
80
|
+ return nil, nil, errors.New("获取用户抽奖信息失败!")
|
86
|
81
|
}
|
87
|
82
|
if len(userluckdraws) > 0 {
|
88
|
|
- return nil, nil, utils.LogError("您已参与过此次抽奖,不允许重复抽奖!")
|
|
83
|
+ return nil, nil, errors.New("您已参与过此次抽奖,不允许重复抽奖!")
|
89
|
84
|
}
|
90
|
85
|
prizes, err := m.GetPrizeStock(id)
|
91
|
86
|
if err != nil {
|
92
|
|
- return nil, nil, utils.LogError("获取奖项失败!", err)
|
|
87
|
+ utils.LogError("获取奖项失败:", err)
|
|
88
|
+ return nil, nil, errors.New("获取奖项失败!")
|
93
|
89
|
}
|
94
|
90
|
if len(prizes) == 0 {
|
95
|
91
|
err = m.UpdateLuckDrawEndDate(luckdraw.Id)
|
96
|
92
|
if err != nil {
|
97
|
|
- return nil, nil, utils.LogError("操作失败,请刷新后重试!", err)
|
|
93
|
+ utils.LogError("操作失败,请刷新后重试:", err)
|
|
94
|
+ return nil, nil, errors.New("操作失败,请刷新后重试!")
|
98
|
95
|
}
|
99
|
|
- return nil, nil, utils.LogError("活动已结束!")
|
|
96
|
+ return nil, nil, errors.New("活动已结束!")
|
100
|
97
|
}
|
101
|
98
|
prize, err := m.GetWinning(prizes)
|
102
|
99
|
if err != nil {
|
103
|
|
- return nil, nil, utils.LogError("获取奖项失败!", err)
|
|
100
|
+ utils.LogError("获取奖项失败:", err)
|
|
101
|
+ return nil, nil, errors.New("获取奖项失败!")
|
104
|
102
|
}
|
105
|
103
|
|
106
|
|
- details, err := m.GetPrizeDetail(prize.Id)
|
107
|
|
- if err != nil {
|
108
|
|
- return nil, nil, utils.LogError("获取奖项详情失败!", err)
|
109
|
|
- }
|
|
104
|
+ // details, err := m.GetPrizeDetail(prize.Id)
|
|
105
|
+ // if err != nil {
|
|
106
|
+ // utils.LogError("获取奖项详情失败:", err)
|
|
107
|
+ // return nil, nil, errors.New("获取奖项详情失败!")
|
|
108
|
+ // }
|
110
|
109
|
|
111
|
110
|
// 保存中奖记录
|
112
|
111
|
var record = model.TaLuckdrawRecord{}
|
|
112
|
+ record.Id = utils.GetGUID()
|
113
|
113
|
record.OrgId = luckdraw.OrgId
|
114
|
114
|
record.CaseId = luckdraw.CaseId
|
115
|
115
|
record.PrizeId = prize.Id
|
116
|
116
|
record.PrizeName = prize.PrizeName
|
117
|
117
|
record.UserId = user.CustomerId
|
118
|
|
- record.UserName = user.Name
|
|
118
|
+ record.UserName = user.CustomerName
|
119
|
119
|
record.UserHeadImg = user.Headimgurl
|
120
|
120
|
record.LuckdrawId = luckdraw.Id
|
121
|
|
- newrecord, err := m.SaveRecord(record)
|
122
|
|
- var detail = model.TaPrizeDetail{}
|
123
|
|
- if len(details) > 0 {
|
124
|
|
- // 更新中奖纪录明细
|
125
|
|
- details[0].ReceiveId = newrecord.Id
|
126
|
|
- err = m.UpdatePrizeDetail(details[0])
|
127
|
|
- if err != nil {
|
128
|
|
- return nil, nil, utils.LogError("操作失败!", err)
|
129
|
|
- }
|
130
|
|
- detail = details[0]
|
131
|
|
- // 奖项自动核销,走卡券核销流程
|
132
|
|
- err = m.PrizeWriteOff(newrecord.Id, user.CustomerId)
|
133
|
|
- if err != nil {
|
134
|
|
- return nil, nil, utils.LogError("操作失败!", err)
|
135
|
|
- }
|
136
|
|
- }
|
|
121
|
+ _, err = m.SaveRecord(record)
|
|
122
|
+ // var detail = model.TaPrizeDetail{}
|
|
123
|
+ // if len(details) > 0 {
|
|
124
|
+ // // 更新中奖纪录明细
|
|
125
|
+ // details[0].ReceiveId = newrecord.Id
|
|
126
|
+ // err = m.UpdatePrizeDetail(details[0])
|
|
127
|
+ // if err != nil {
|
|
128
|
+ // utils.LogError("更新中奖纪录明细失败:", err)
|
|
129
|
+ // return nil, nil, errors.New("操作失败!")
|
|
130
|
+ // }
|
|
131
|
+ // detail = details[0]
|
|
132
|
+ // // 奖项自动核销,走卡券核销流程
|
|
133
|
+ // err = m.PrizeWriteOff(newrecord.Id, user.CustomerId)
|
|
134
|
+ // if err != nil {
|
|
135
|
+ // utils.LogError("卡券核销失败:", err)
|
|
136
|
+ // return nil, nil, errors.New("操作失败!")
|
|
137
|
+ // }
|
|
138
|
+ // }
|
137
|
139
|
// 更新库存
|
138
|
140
|
if prize.IsReality == 1 {
|
139
|
141
|
prize.Remainder = prize.Remainder - 1
|
|
@@ -143,7 +145,8 @@ func (m *DAO) LuckDraw(id int, user *model.TaCustomer) (*model.TaLuckdrawPrize,
|
143
|
145
|
}
|
144
|
146
|
stockprizes, err := m.GetPrizeStock(id)
|
145
|
147
|
if err != nil {
|
146
|
|
- return nil, nil, utils.LogError("操作失败,请刷新后重试!", err)
|
|
148
|
+ utils.LogError("更新库存失败:", err)
|
|
149
|
+ return nil, nil, errors.New("操作失败,请刷新后重试!")
|
147
|
150
|
}
|
148
|
151
|
if len(stockprizes) == 0 {
|
149
|
152
|
// 更新活动截止时间
|
|
@@ -151,11 +154,11 @@ func (m *DAO) LuckDraw(id int, user *model.TaCustomer) (*model.TaLuckdrawPrize,
|
151
|
154
|
}
|
152
|
155
|
}
|
153
|
156
|
|
154
|
|
- return prize, &detail, err
|
|
157
|
+ return prize, nil, err
|
155
|
158
|
}
|
156
|
159
|
|
157
|
160
|
// PrizeWriteOff 奖品核销
|
158
|
|
-func (m *DAO) PrizeWriteOff(recordid int, userid string) error {
|
|
161
|
+func (m *LuckDrawDao) PrizeWriteOff(recordid, userid string) error {
|
159
|
162
|
record, err := m.GetRecordByID(recordid)
|
160
|
163
|
if err != nil {
|
161
|
164
|
return err
|
|
@@ -175,7 +178,7 @@ func (m *DAO) PrizeWriteOff(recordid int, userid string) error {
|
175
|
178
|
}
|
176
|
179
|
|
177
|
180
|
// GetWinning 获取中奖信息
|
178
|
|
-func (m *DAO) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckdrawPrize, error) {
|
|
181
|
+func (m *LuckDrawDao) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckdrawPrize, error) {
|
179
|
182
|
pList := make([]map[string]interface{}, 0)
|
180
|
183
|
now := time.Now().Local()
|
181
|
184
|
|
|
@@ -192,7 +195,7 @@ func (m *DAO) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckdrawPrize
|
192
|
195
|
}
|
193
|
196
|
|
194
|
197
|
if len(pList) == 0 {
|
195
|
|
- return nil, utils.LogError("所有奖品已抽完")
|
|
198
|
+ return nil, errors.New("所有奖品已抽完")
|
196
|
199
|
}
|
197
|
200
|
|
198
|
201
|
thePrize := utils.LuckyDraw(pList).(model.TaLuckdrawPrize)
|
|
@@ -201,7 +204,7 @@ func (m *DAO) GetWinning(prizes []model.TaLuckdrawPrize) (*model.TaLuckdrawPrize
|
201
|
204
|
}
|
202
|
205
|
|
203
|
206
|
// GetLuckDrawByID 获取抽奖信息
|
204
|
|
-func (m *DAO) GetLuckDrawByID(id int) (*LuckDraw, error) {
|
|
207
|
+func (m *LuckDrawDao) GetLuckDrawByID(id string) (*LuckDraw, error) {
|
205
|
208
|
var luckdraws []LuckDraw
|
206
|
209
|
sql := `select * from ta_luckdraw where id= ?`
|
207
|
210
|
err := m.db.SQL(sql, id).Find(&luckdraws)
|
|
@@ -214,32 +217,8 @@ func (m *DAO) GetLuckDrawByID(id int) (*LuckDraw, error) {
|
214
|
217
|
return nil, nil
|
215
|
218
|
}
|
216
|
219
|
|
217
|
|
-// GetCaseAddressByLuckDarw 获取案场地址
|
218
|
|
-func (m *DAO) GetCaseAddressByLuckDarw(luckdraw int) (string, error) {
|
219
|
|
- sql := `
|
220
|
|
- SELECT
|
221
|
|
- t.address
|
222
|
|
- FROM
|
223
|
|
- sys_case t
|
224
|
|
- INNER JOIN ta_luckdraw s ON t.case_id = s.case_id
|
225
|
|
- WHERE
|
226
|
|
- s.id = ?
|
227
|
|
- `
|
228
|
|
-
|
229
|
|
- res, err := m.db.Query(sql, luckdraw)
|
230
|
|
- if err != nil {
|
231
|
|
- return "", err
|
232
|
|
- }
|
233
|
|
-
|
234
|
|
- if res == nil || len(res) == 0 {
|
235
|
|
- return "", nil
|
236
|
|
- }
|
237
|
|
-
|
238
|
|
- return string(res[0]["address"]), nil
|
239
|
|
-}
|
240
|
|
-
|
241
|
220
|
// UpdateLuckDrawEndDate 更新活动结束时间
|
242
|
|
-func (m *DAO) UpdateLuckDrawEndDate(id int) error {
|
|
221
|
+func (m *LuckDrawDao) UpdateLuckDrawEndDate(id string) error {
|
243
|
222
|
var luckdraw = model.TaLuckdraw{
|
244
|
223
|
Id: id,
|
245
|
224
|
EndDate: time.Now(),
|
|
@@ -252,14 +231,14 @@ func (m *DAO) UpdateLuckDrawEndDate(id int) error {
|
252
|
231
|
}
|
253
|
232
|
|
254
|
233
|
// GetPrizes 获取奖品信息
|
255
|
|
-func (m *DAO) GetPrizes(luckdrawid int) ([]model.TaLuckdrawPrize, error) {
|
|
234
|
+func (m *LuckDrawDao) GetPrizes(luckdrawid string) ([]model.TaLuckdrawPrize, error) {
|
256
|
235
|
var prizes []model.TaLuckdrawPrize
|
257
|
236
|
err := m.db.Where("luckdraw_id=?", luckdrawid).And("status=?", models.STATUS_NORMAL).Find(&prizes)
|
258
|
237
|
return prizes, err
|
259
|
238
|
}
|
260
|
239
|
|
261
|
240
|
// UpdateStock 修改库存
|
262
|
|
-func (m *DAO) UpdateStock(prize *model.TaLuckdrawPrize) error {
|
|
241
|
+func (m *LuckDrawDao) UpdateStock(prize *model.TaLuckdrawPrize) error {
|
263
|
242
|
cols := []string{
|
264
|
243
|
"remainder",
|
265
|
244
|
}
|
|
@@ -268,36 +247,44 @@ func (m *DAO) UpdateStock(prize *model.TaLuckdrawPrize) error {
|
268
|
247
|
}
|
269
|
248
|
|
270
|
249
|
// GetPrizeStock 判断奖项库存
|
271
|
|
-func (m *DAO) GetPrizeStock(luckdrawid int) ([]model.TaLuckdrawPrize, error) {
|
|
250
|
+func (m *LuckDrawDao) GetPrizeStock(luckdrawid string) ([]model.TaLuckdrawPrize, error) {
|
272
|
251
|
var prizes []model.TaLuckdrawPrize
|
273
|
252
|
err := m.db.Where("luckdraw_id=?", luckdrawid).And("status=?", models.STATUS_NORMAL).And("(remainder>0 or is_reality=0)").Find(&prizes)
|
274
|
253
|
return prizes, err
|
275
|
254
|
}
|
276
|
255
|
|
277
|
256
|
// GetPrizeByID 根据id获取奖品信息
|
278
|
|
-func (m *DAO) GetPrizeByID(id int) (model.TaLuckdrawPrize, error) {
|
|
257
|
+func (m *LuckDrawDao) GetPrizeByID(id int) (model.TaLuckdrawPrize, error) {
|
279
|
258
|
var prize = model.TaLuckdrawPrize{}
|
280
|
259
|
_, err := m.db.Where("id=?", id).Get(&prize)
|
281
|
260
|
return prize, err
|
282
|
261
|
}
|
283
|
262
|
|
284
|
263
|
// SaveRecord 保存抽奖记录
|
285
|
|
-func (m *DAO) SaveRecord(record model.TaLuckdrawRecord) (*model.TaLuckdrawRecord, error) {
|
|
264
|
+func (m *LuckDrawDao) SaveRecord(record model.TaLuckdrawRecord) (*model.TaLuckdrawRecord, error) {
|
286
|
265
|
record.CreateDate = time.Now()
|
287
|
|
- record.Status = STATUS_NOWRITROFF
|
|
266
|
+ record.Status = models.STATUS_READY
|
|
267
|
+ record.Id = utils.GetGUID()
|
288
|
268
|
_, err := m.db.Insert(&record)
|
289
|
269
|
return &record, err
|
290
|
270
|
}
|
291
|
271
|
|
|
272
|
+// GetUserByTel 根据电话获取用户信息
|
|
273
|
+func (m *LuckDrawDao) GetUserByTel(tel string) (*model.SysUser, error) {
|
|
274
|
+ var user = model.SysUser{}
|
|
275
|
+ _, err := m.db.Where("phone=?", tel).Get(&user)
|
|
276
|
+ return &user, err
|
|
277
|
+}
|
|
278
|
+
|
292
|
279
|
// GetPrizeDetail 获取未领取的奖品详情
|
293
|
|
-func (m *DAO) GetPrizeDetail(prizeid int) ([]model.TaPrizeDetail, error) {
|
|
280
|
+func (m *LuckDrawDao) GetPrizeDetail(prizeid string) ([]model.TaPrizeDetail, error) {
|
294
|
281
|
var details []model.TaPrizeDetail
|
295
|
|
- err := m.db.Where("prize_id=?", prizeid).And("status=?", STATUS_NOWRITROFF).Find(&details)
|
|
282
|
+ err := m.db.Where("prize_id=?", prizeid).And("status=?", models.STATUS_READY).Find(&details)
|
296
|
283
|
return details, err
|
297
|
284
|
}
|
298
|
285
|
|
299
|
286
|
// UpdatePrizeDetail 更新库存明细为已领取
|
300
|
|
-func (m *DAO) UpdatePrizeDetail(detail model.TaPrizeDetail) error {
|
|
287
|
+func (m *LuckDrawDao) UpdatePrizeDetail(detail model.TaPrizeDetail) error {
|
301
|
288
|
detail.Status = models.STATUS_NORMAL
|
302
|
289
|
detail.ReceiveDate = time.Now()
|
303
|
290
|
cols := []string{
|
|
@@ -310,7 +297,7 @@ func (m *DAO) UpdatePrizeDetail(detail model.TaPrizeDetail) error {
|
310
|
297
|
}
|
311
|
298
|
|
312
|
299
|
// UpdateRecord 核销更新抽奖记录表
|
313
|
|
-func (m *DAO) UpdateRecord(record *model.TaLuckdrawRecord) error {
|
|
300
|
+func (m *LuckDrawDao) UpdateRecord(record *model.TaLuckdrawRecord) error {
|
314
|
301
|
record.Status = models.STATUS_NORMAL
|
315
|
302
|
record.WriteoffDate = time.Now()
|
316
|
303
|
cols := []string{
|
|
@@ -322,22 +309,23 @@ func (m *DAO) UpdateRecord(record *model.TaLuckdrawRecord) error {
|
322
|
309
|
}
|
323
|
310
|
|
324
|
311
|
// SaveWirteOff 保存核销信息
|
325
|
|
-func (m *DAO) SaveWirteOff(writeoff model.TaLuckdrawWriteoff) (*model.TaLuckdrawWriteoff, error) {
|
|
312
|
+func (m *LuckDrawDao) SaveWirteOff(writeoff model.TaLuckdrawWriteoff) (*model.TaLuckdrawWriteoff, error) {
|
326
|
313
|
writeoff.Status = models.STATUS_NORMAL
|
|
314
|
+ writeoff.Id = utils.GetGUID()
|
327
|
315
|
writeoff.WriteoffDate = time.Now()
|
328
|
316
|
_, err := m.db.Insert(&writeoff)
|
329
|
317
|
return &writeoff, err
|
330
|
318
|
}
|
331
|
319
|
|
332
|
320
|
// GetUserRecordByLuckDraw 获取用户的抽奖信息
|
333
|
|
-func (m *DAO) GetUserRecordByLuckDraw(userid string, luckdrawid int) ([]model.TaLuckdrawRecord, error) {
|
|
321
|
+func (m *LuckDrawDao) GetUserRecordByLuckDraw(userid string, luckdrawid string) ([]model.TaLuckdrawRecord, error) {
|
334
|
322
|
var records []model.TaLuckdrawRecord
|
335
|
323
|
err := m.db.Where("user_id=?", userid).And("luckdraw_id=?", luckdrawid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&records)
|
336
|
324
|
return records, err
|
337
|
325
|
}
|
338
|
326
|
|
339
|
327
|
// GetUserLuckDrawByLuckDraw 获取用户的抽奖信息
|
340
|
|
-func (m *DAO) GetUserLuckDrawByLuckDraw(userid string, luckdrawid int) (*model.TaLuckdrawRecord, error) {
|
|
328
|
+func (m *LuckDrawDao) GetUserLuckDrawByLuckDraw(userid string, luckdrawid string) (*model.TaLuckdrawRecord, error) {
|
341
|
329
|
var records []model.TaLuckdrawRecord
|
342
|
330
|
err := m.db.Where("user_id=?", userid).And("luckdraw_id=?", luckdrawid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&records)
|
343
|
331
|
if err != nil {
|
|
@@ -350,7 +338,7 @@ func (m *DAO) GetUserLuckDrawByLuckDraw(userid string, luckdrawid int) (*model.T
|
350
|
338
|
}
|
351
|
339
|
|
352
|
340
|
// GetDetailByRecord 获取detail
|
353
|
|
-func (m *DAO) GetDetailByRecord(recordid int) (*model.TaPrizeDetail, error) {
|
|
341
|
+func (m *LuckDrawDao) GetDetailByRecord(recordid string) (*model.TaPrizeDetail, error) {
|
354
|
342
|
var details []model.TaPrizeDetail
|
355
|
343
|
err := m.db.Where("receive_id=?", recordid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&details)
|
356
|
344
|
if err != nil {
|
|
@@ -369,7 +357,7 @@ type UserRecord struct {
|
369
|
357
|
}
|
370
|
358
|
|
371
|
359
|
// GetUserLuckDraw 获取用户的抽奖信息
|
372
|
|
-func (m *DAO) GetUserLuckDraw(userid string) ([]UserRecord, error) {
|
|
360
|
+func (m *LuckDrawDao) GetUserLuckDraw(userid string) ([]UserRecord, error) {
|
373
|
361
|
var records []UserRecord
|
374
|
362
|
sql := `select a.*,b.url from ta_luckdraw_record a left join ta_prize_detail b on a.id=b.receive_id where a.user_id=? and a.status>` + strconv.Itoa(models.STATUS_DEL)
|
375
|
363
|
err := m.db.Sql(sql, userid).Find(&records)
|
|
@@ -377,49 +365,24 @@ func (m *DAO) GetUserLuckDraw(userid string) ([]UserRecord, error) {
|
377
|
365
|
}
|
378
|
366
|
|
379
|
367
|
// GetRecordByLuckDraw 抽奖记录
|
380
|
|
-func (m *DAO) GetRecordByLuckDraw(luckdrawid int) ([]model.TaLuckdrawRecord, error) {
|
|
368
|
+func (m *LuckDrawDao) GetRecordByLuckDraw(luckdrawid string) ([]model.TaLuckdrawRecord, error) {
|
381
|
369
|
var records []model.TaLuckdrawRecord
|
382
|
370
|
err := m.db.Where("luckdraw_id=?", luckdrawid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Desc("create_date").Find(&records)
|
383
|
371
|
return records, err
|
384
|
372
|
}
|
385
|
373
|
|
386
|
374
|
// GetRecordByID 获取抽奖记录明细
|
387
|
|
-func (m *DAO) GetRecordByID(id int) (*model.TaLuckdrawRecord, error) {
|
|
375
|
+func (m *LuckDrawDao) GetRecordByID(id string) (*model.TaLuckdrawRecord, error) {
|
388
|
376
|
var record model.TaLuckdrawRecord
|
389
|
377
|
_, err := m.db.Where("id=?", id).Get(&record)
|
390
|
378
|
return &record, err
|
391
|
379
|
}
|
392
|
380
|
|
393
|
|
-// GetUserByOpenID 根据 openid 获取用户人员信息
|
394
|
|
-func (m *DAO) GetUserByOpenID(openid string) (*model.SysUser, error) {
|
395
|
|
- var users []model.SysUser
|
396
|
|
- err := m.db.Where("open_id=?", openid).Find(&users)
|
397
|
|
- if err != nil {
|
398
|
|
- return nil, err
|
399
|
|
- }
|
400
|
|
- if len(users) > 0 {
|
401
|
|
- return &users[0], nil
|
402
|
|
- }
|
403
|
|
- return nil, nil
|
404
|
|
-}
|
405
|
|
-
|
406
|
|
-// GetUserByTel 根据 Tel 获取用户人员信息
|
407
|
|
-func (m *DAO) GetUserByTel(tel string) (*model.SysUser, error) {
|
408
|
|
- var users = model.SysUser{}
|
409
|
|
- has, err := m.db.Where("phone=?", tel).Get(&users)
|
410
|
|
- if err != nil {
|
411
|
|
- return nil, err
|
412
|
|
- }
|
413
|
|
- if !has {
|
414
|
|
- return nil, nil
|
415
|
|
- }
|
416
|
|
- return &users, nil
|
417
|
|
-}
|
418
|
|
-
|
419
|
381
|
// SaveLuckDrawShareData 保存用户分享信息
|
420
|
|
-func (m *DAO) SaveLuckDrawShareData(dt *model.TaShareLuckyRecord) error {
|
|
382
|
+func (m *LuckDrawDao) SaveLuckDrawShareData(dt *model.TaShareLuckyRecord) error {
|
421
|
383
|
dt.CreateDate = time.Now().Local()
|
422
|
|
- dt.Status = StatusNormal
|
|
384
|
+ dt.Status = models.STATUS_NORMAL
|
|
385
|
+ dt.Id = utils.GetGUID()
|
423
|
386
|
|
424
|
387
|
if _, err := m.db.Insert(dt); err != nil {
|
425
|
388
|
return err
|
|
@@ -429,14 +392,14 @@ func (m *DAO) SaveLuckDrawShareData(dt *model.TaShareLuckyRecord) error {
|
429
|
392
|
}
|
430
|
393
|
|
431
|
394
|
// GetLuckDrawShareData 获取用户分享内容
|
432
|
|
-func (m *DAO) GetLuckDrawShareData(luckID int, from, to, caseID string) ([]model.TaShareLuckyRecord, error) {
|
|
395
|
+func (m *LuckDrawDao) GetLuckDrawShareData(from, to, luckID, caseID int) ([]model.TaShareLuckyRecord, error) {
|
433
|
396
|
var dts []model.TaShareLuckyRecord
|
434
|
397
|
|
435
|
398
|
if err := m.db.Where("from_customer_id=?", from).
|
436
|
399
|
And("to_customer_id=?", to).
|
437
|
400
|
And("luckydraw_id=?", luckID).
|
438
|
401
|
And("case_id=?", caseID).
|
439
|
|
- And("status=?", StatusNormal).
|
|
402
|
+ And("status=?", models.STATUS_NORMAL).
|
440
|
403
|
Find(&dts); err != nil {
|
441
|
404
|
return nil, err
|
442
|
405
|
}
|