zjxpcyc il y a 6 ans
Parent
révision
c6be47a48a
3 fichiers modifiés avec 33 ajouts et 30 suppressions
  1. 15
    15
      models/luckdraw/luckdraw.go
  2. 15
    14
      service/luckdraw/luckdraw.go
  3. 3
    1
      service/marketing/marketing.go

+ 15
- 15
models/luckdraw/luckdraw.go Voir le fichier

@@ -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 奖品核销

+ 15
- 14
service/luckdraw/luckdraw.go Voir le fichier

@@ -35,11 +35,25 @@ func (s *LuckdrawServ) GetLuckDraw(id string) (*luckdraw.LuckDraw, error) {
35 35
 }
36 36
 
37 37
 func (s *LuckdrawServ) LuckDraw(id string, user *model.TaCustomer) (*model.TaLuckdrawPrize, *model.TaPrizeDetail, error) {
38
-	prize, prizeDetail, err := s.dao.LuckDraw(id, user)
38
+	prize, prizeDetail, recored, err := s.dao.LuckDraw(id, user)
39 39
 	if err != nil {
40 40
 		utils.LogError("抽奖失败:", err)
41 41
 		return nil, nil, err
42 42
 	}
43
+
44
+	custQRCode := model.TaCustomerCourseQrcode{
45
+		CustomerCourseId: recored.Id,
46
+		CustomerQrcode:   utils.GenerateQRCode(),
47
+		CreateDate:       time.Now(),
48
+		Status:           models.STATUS_NORMAL,
49
+		QrcodeType:       models.QRCODE_TYPE_PRIZE,
50
+	}
51
+
52
+	if err := s.courseDAO.SaveCustomerCourseQrcode(&custQRCode); err != nil {
53
+		utils.LogError("插入中奖二维码失败: " + err.Error())
54
+		return nil, nil, errors.New("写入中奖二维码失败")
55
+	}
56
+
43 57
 	return prize, prizeDetail, nil
44 58
 }
45 59
 
@@ -130,19 +144,6 @@ func (s *LuckdrawServ) SaveRecord(record model.TaLuckdrawRecord) (*model.TaLuckd
130 144
 		return nil, errors.New("保存抽奖记录失败")
131 145
 	}
132 146
 
133
-	custQRCode := model.TaCustomerCourseQrcode{
134
-		CustomerCourseId: newRecord.Id,
135
-		CustomerQrcode:   utils.GenerateQRCode(),
136
-		CreateDate:       time.Now(),
137
-		Status:           models.STATUS_NORMAL,
138
-		QrcodeType:       models.QRCODE_TYPE_PRIZE,
139
-	}
140
-
141
-	if err := s.courseDAO.SaveCustomerCourseQrcode(&custQRCode); err != nil {
142
-		utils.LogError("插入中奖二维码失败: " + err.Error())
143
-		return nil, errors.New("写入中奖二维码失败")
144
-	}
145
-
146 147
 	return newRecord, nil
147 148
 }
148 149
 

+ 3
- 1
service/marketing/marketing.go Voir le fichier

@@ -11,6 +11,7 @@ import (
11 11
 	"spaceofcheng/services/service"
12 12
 	"spaceofcheng/services/service/events"
13 13
 	"spaceofcheng/services/utils"
14
+	"strconv"
14 15
 
15 16
 	"github.com/astaxie/beego"
16 17
 )
@@ -75,7 +76,8 @@ func (s *MarketingServ) SaveMarketing(activity model.SysActivity, activeType, re
75 76
 	// 校验券信息
76 77
 	if activeType == events.ActGiveCoupon {
77 78
 		couponID := res["giftValue"].(string)
78
-		amount := res["giftNum"].(int)
79
+		amountStr := res["giftNum"].(string)
80
+		amount, _ := strconv.Atoi(amountStr)
79 81
 
80 82
 		if couponID == "" {
81 83
 			return nil, nil, errors.New("未指定赠送券内容")