WH01243 4 years ago
parent
commit
6029861e81

+ 13 - 4
api/internal/logic/lotteryreceivechecklogic.go

@@ -3,6 +3,8 @@ package logic
 import (
 	"app.yhyue.com/moapp/jyMarketing/rpc/activity"
 	"context"
+	"strconv"
+	"strings"
 
 	"app.yhyue.com/moapp/jyMarketing/api/internal/svc"
 	"app.yhyue.com/moapp/jyMarketing/api/internal/types"
@@ -27,10 +29,17 @@ func NewLotteryReceiveCheckLogic(ctx context.Context, svcCtx *svc.ServiceContext
 func (l *LotteryReceiveCheckLogic) LotteryReceiveCheck(req types.LotteryOperation) (*types.Response, error) {
 	result := &types.Response{}
 	lsi := l.svcCtx.Activity
-	resp,err := lsi.LotteryReceive(l.ctx,&activity.LotteryOperation{
-		UserId:req.UserId,
-		AppId: req.AppId,
-		LotteryIdArr: req.LotteryIdArr,
+	var arr []int64
+	lotteryIdArr := strings.Split(req.LotteryIdArr, ",")
+	for _, value := range lotteryIdArr {
+		valueInt, _ := strconv.ParseInt(value, 10, 64)
+		arr = append(arr, valueInt)
+	}
+	resp, err := lsi.LotteryReceive(l.ctx, &activity.LotteryOperation{
+		UserId:       req.UserId,
+		AppId:        req.AppId,
+		LotteryIdArr: arr,
+		UserName:req.UserName,
 	})
 	if err != nil {
 		return nil, err

+ 1 - 1
api/internal/types/types.go

@@ -14,7 +14,7 @@ type Request struct {
 }
 
 type LotteryOperation struct {
-	LotteryIdArr     []int64 `form:"lotteryIdArr,optional"`     //奖券标识集合
+	LotteryIdArr     string `form:"lotteryIdArr,optional"`     //奖券标识集合
 	UserLotteryIdArr []int64 `form:"userLotteryIdArr,optional"` //用户奖券标识集合
 	UserId           string  `form:"userId"`                    //用户标识
 	AppId            string  `form:"appId"`                     //身份标识

+ 10 - 9
service/ActivityService.go

@@ -123,15 +123,7 @@ func (service *ActivityService) LotteryReceive(data *activity.LotteryOperation,
 			orm.Rollback()
 			return entity.ErrorCode, "领取奖券失败"
 		}
-		//6、修改奖券余额数量
-		lottery := entity.Lottery{}
-		lottery.Id = lotteryId
-		_, err = orm.Exec("UPDATE lottery SET `stockNumber` = stockNumber-1, `receiveNumber` = receiveNumber+1 WHERE `id` = ?", lotteryId)
-		if err != nil {
-			log.Panicln("修改奖券库存失败:", err)
-			orm.Rollback()
-			return entity.ErrorCode, "修改奖券库存失败"
-		}
+
 		//7、修改redis余额
 		if util.GetInt(code, "lottery_"+fmt.Sprint(lotteryId)) <= 0 {
 			log.Panicln("奖券余额不足:", err)
@@ -143,6 +135,15 @@ func (service *ActivityService) LotteryReceive(data *activity.LotteryOperation,
 			orm.Rollback()
 			return entity.ErrorCode, "修改redis奖券库存失败"
 		}
+		//6、修改奖券余额数量
+		lottery := entity.Lottery{}
+		lottery.Id = lotteryId
+		_, err = orm.Exec("UPDATE lottery SET `stockNumber` = stockNumber-1, `receiveNumber` = receiveNumber+1 WHERE `id` = ?", lotteryId)
+		if err != nil {
+			log.Panicln("修改奖券库存失败:", err)
+			orm.Rollback()
+			return entity.ErrorCode, "修改奖券库存失败"
+		}
 	}
 	orm.Commit()
 	return entity.SuccessCode, "奖券领取成功"