activitylotterylogic.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package logic
  2. import (
  3. "context"
  4. "app.yhyue.com/moapp/jyMarketing/rpc/activity"
  5. "app.yhyue.com/moapp/jyMarketing/rpc/internal/svc"
  6. "github.com/tal-tech/go-zero/core/logx"
  7. )
  8. type ActivityLotteryLogic struct {
  9. ctx context.Context
  10. svcCtx *svc.ServiceContext
  11. logx.Logger
  12. }
  13. func NewActivityLotteryLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ActivityLotteryLogic {
  14. return &ActivityLotteryLogic{
  15. ctx: ctx,
  16. svcCtx: svcCtx,
  17. Logger: logx.WithContext(ctx),
  18. }
  19. }
  20. // 查询活动下的奖券
  21. func (l *ActivityLotteryLogic) ActivityLottery(in *activity.Request) (*activity.ActivityLotteryResp, error) {
  22. // todo: add your logic here and delete this line
  23. result := &activity.ActivityLotteryResp{}
  24. code, msg, lotteryData,activityData := activityService.ActivityLottery(in)
  25. var userLotteryList []*activity.LotteryJson
  26. for _, value := range lotteryData {
  27. userLottery := activity.LotteryJson{}
  28. userLottery.LotteryId = value.LotteryId
  29. userLottery.LotteryName=value.Name
  30. userLottery.IsReceive=true
  31. if (value.DayCount==0){
  32. if (value.IsLimitNumber==1){
  33. if value.Count>=int64(value.LimitNumber){
  34. userLottery.IsReceive=false
  35. }
  36. }
  37. }else{
  38. userLottery.IsReceive=false
  39. }
  40. for _, value := range value.UseProductList {
  41. productJson:=activity.ProductJson{}
  42. productJson.AppPage = value.AppPage
  43. productJson.ProductName = value.ProductName
  44. productJson.WxPage = value.WxPage
  45. productJson.PcPage = value.PcPage
  46. productJson.ProductCode=value.ProductCode
  47. productJson.ParentCode=value.ParentCode
  48. productJson.Describe=value.Describe
  49. userLottery.UseProductList=append(userLottery.UseProductList,&productJson)
  50. }
  51. userLottery.LotteryType=value.LotteryType
  52. userLottery.Instructions=value.Instructions
  53. userLottery.StockNumber=value.StockNumber
  54. userLottery.ReceiveNumber=value.ReceiveNumber
  55. userLottery.LotteryBeginDate=value.BeginDate
  56. userLottery.LotteryendDate=value.EndDate
  57. userLottery.ValidityTimeType=int64(value.ValidityTimeType)
  58. userLottery.ValidityDates=int64(value.ValidityDates)
  59. userLottery.Full=value.Full
  60. userLottery.Reduce=value.Reduce
  61. userLottery.Remark=value.Remark
  62. userLotteryList = append(userLotteryList, &userLottery)
  63. }
  64. result.Code = code
  65. result.Message = msg
  66. result.Data=userLotteryList
  67. var activityJson activity.ActivityJson
  68. activityJson.ActivityendDate=activityData.BeginDate
  69. activityJson.ActivityBeginDate=activityData.BeginDate
  70. activityJson.ActivityName=activityData.Name
  71. activityJson.ActivityDesc=activityData.ActivityDesc
  72. result.ActivityJson=&activityJson
  73. return result, nil
  74. }