From cead7b98d5cebc0825b919799e23732877361de0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 20 六月 2025 18:39:58 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java | 4 +- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java | 3 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java | 6 +- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java | 24 +++++++++-- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 7 ++- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java | 18 +++++---- ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml | 1 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 1 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java | 3 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java | 4 +- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java | 2 + ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java | 5 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java | 2 + ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml | 2 14 files changed, 57 insertions(+), 25 deletions(-) diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java index 738079b..c1a7146 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java +++ b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -63,12 +64,14 @@ */ @TableField("start_time") @ApiModelProperty("活动开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; /** * 活动结束时间 */ @TableField("end_time") @ApiModelProperty("活动结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; /** * 分享抽奖间隔天数 @@ -120,6 +123,7 @@ * 创建时间 */ @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; /** * 更新用户id @@ -130,6 +134,7 @@ * 更新时间 */ @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @TableField(exist = false) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 3f2abb9..f0aa831 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -80,6 +80,7 @@ List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(1).getData(); if (data.size() > 0) { miniToken.put("lotteryDraw", true); + miniToken.put("lotteryEventId", data.get(0).getId()); } return R.ok(); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java index 5c0b77d..68ab24a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java @@ -98,7 +98,7 @@ if (null == lotteryEvent) { return R.fail("抽奖活动不存在"); } - if (!lotteryEvent.getShopId().equals(dto.getShopId())) { + if (!lotteryEvent.getShopId().equals(dto.getShopId().intValue())) { return R.fail("查询失败"); } List<TLotteryEventPrize> list = lotteryEventPrizeService.list(new LambdaQueryWrapper<TLotteryEventPrize>().eq(TLotteryEventPrize::getLotteryEventId, dto.getId())); @@ -139,7 +139,7 @@ if (null == lotteryEvent) { return R.fail("抽奖活动不存在"); } - if (!lotteryEvent.getShopId().equals(dto.getShopId())) { + if (!lotteryEvent.getShopId().equals(dto.getShopId().intValue())) { return R.fail("查询失败"); } Page<ShopWinningRecordVo> page = new Page<>(); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java index fdf0355..d71fcf8 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java @@ -69,6 +69,16 @@ }) public R<LotteryEventVo> getLotteryEvent(@PathVariable("id") String id) { LotteryEventVo lotteryEvent = lotteryEventService.getLotteryEvent(id); + TLotteryEvent event = lotteryEventService.getById(id); + if (LocalDateTime.now().isBefore(event.getStartTime())) { + lotteryEvent.setStatus(1); + } + if (LocalDateTime.now().isAfter(event.getEndTime())) { + lotteryEvent.setStatus(3); + } + if (LocalDateTime.now().isAfter(event.getStartTime()) && LocalDateTime.now().isBefore(event.getEndTime())) { + lotteryEvent.setStatus(2); + } return R.ok(lotteryEvent); } @@ -79,7 +89,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "抽奖活动id", required = true, dataType = "String", paramType = "path") }) - public R lotteryDraw(@PathVariable("id") String id) { + public R<TLotteryEventPrize> lotteryDraw(@PathVariable("id") String id) { return lotteryEventService.lotteryDraw(id); } @@ -96,13 +106,13 @@ activityPageVoList.forEach(vo -> { String startTime = vo.getStartTime(); String endTime = vo.getEndTime(); - if (LocalDateTime.now().isBefore(LocalDateTime.parse(startTime))) { + if (LocalDateTime.now().isBefore(LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))) { vo.setStatus(1); } - if (LocalDateTime.now().isAfter(LocalDateTime.parse(endTime))) { + if (LocalDateTime.now().isAfter(LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))) { vo.setStatus(3); } - if (LocalDateTime.now().isAfter(LocalDateTime.parse(startTime)) && LocalDateTime.now().isBefore(LocalDateTime.parse(endTime))) { + if (LocalDateTime.now().isAfter(LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))) && LocalDateTime.now().isBefore(LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))) { vo.setStatus(2); } }); @@ -124,6 +134,7 @@ vo.setName(lotteryEvent.getName()); vo.setActivityProfile(lotteryEvent.getActivityProfile()); vo.setStartTime(lotteryEvent.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + vo.setEndTime(lotteryEvent.getEndTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); vo.setActivityContent(lotteryEvent.getActivityContent()); int count = userLotteryEventService.count(new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId)); vo.setParticipation(count > 0); @@ -167,7 +178,7 @@ //上一题 Integer current = dto.getCurrent(); if (-1 == dto.getStepOrDown()) { - if (current - 1 <= 0) { + if (current - 1 < 0) { return R.fail("操作失败"); } current--; @@ -251,6 +262,9 @@ Long userId = SecurityUtils.getUserId(); TLotteryEvent lotteryEvent = lotteryEventService.getById(id); TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); + if (null == questionsServiceOne) { + return R.fail("请先进行答题操作"); + } questionsServiceOne.setStatus(2); questionsServiceOne.setEndTime(LocalDateTime.now()); //计算正确率 diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java index ff63166..0c49c06 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java @@ -19,6 +19,8 @@ private String activityProfile; @ApiModelProperty(value = "开始时间") private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; @ApiModelProperty(value = "活动详情") private String activityContent; @ApiModelProperty(value = "是否参与") diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java index 2e0caf1..bb2bef4 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java @@ -29,4 +29,6 @@ private BigDecimal correctAnswerRate; @ApiModelProperty(value = "您的奖品") private List<UserLotteryEventVo> yourPrizeList; + @ApiModelProperty("抽奖状态(1=未开始,2=进行中,3=已结束)") + private Integer status; } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java index f0294cb..d9047dd 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java @@ -91,7 +91,7 @@ //答题正确率 if (5 == lotteryEvent.getActivityType()) { TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); - if (null == questionsServiceOne) { + if (null != questionsServiceOne) { vo.setCorrectAnswerRate(questionsServiceOne.getCorrectAnswerRate()); } } @@ -102,10 +102,12 @@ userLotteryEventVo.setName(s.getObjectName()); userLotteryEventVo.setPrizeType(s.getPrizeType()); userLotteryEventVo.setNumber(s.getNumber()); - MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData(); - userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId()); - userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1); - userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime())); + if (Arrays.asList(2, 3).contains(s.getPrizeType())) { + MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData(); + userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId()); + userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1); + userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime())); + } Member member = remoteMemberService.getMember(userId).getData(); userLotteryEventVo.setVerifyShop("全部门店"); if (null != member && null != member.getRelationShopId()) { @@ -126,7 +128,7 @@ * @return */ @Override - public R lotteryDraw(String id) { + public R<TLotteryEventPrize> lotteryDraw(String id) { Long userId = SecurityUtils.getUserId(); Member member = remoteMemberService.getMember(userId).getData(); TLotteryEvent lotteryEvent = this.getById(id); @@ -163,7 +165,7 @@ Collections.shuffle(list); //开始获取随机数 int random = new Random().nextInt(list.size()); - TLotteryEventPrize lotteryEventPrize = lotteryEventPrizeList.get(random); + TLotteryEventPrize lotteryEventPrize = list.get(random); //添加中奖商品 TUserLotteryEvent userLotteryEvent = new TUserLotteryEvent(); userLotteryEvent.setId(IdUtils.simpleUUID()); @@ -218,7 +220,7 @@ memberGiftRecord.setCreateTime(new Date()); memberGiftRecord.setVerifyStatus(1); remoteMemberService.saveMemberGiftRecord(memberGiftRecord); - return R.ok(); + return R.ok(lotteryEventPrize); } } catch (Exception e) { e.printStackTrace(); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java index c826560..2acb726 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.R; import com.ruoyi.goods.api.domain.TLotteryEvent; +import com.ruoyi.goods.api.domain.TLotteryEventPrize; import com.ruoyi.goods.domain.dto.MgtLotteryEventEditDTO; import com.ruoyi.goods.domain.dto.MgtLotteryEventPageDto; import com.ruoyi.goods.domain.vo.*; @@ -32,7 +33,7 @@ * @param id * @return */ - R lotteryDraw(String id); + R<TLotteryEventPrize> lotteryDraw(String id); /** diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml index 19ec320..9cdb529 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ # 服务注册地址 # server-addr: 47.109.78.184:5000 server-addr: 192.168.110.80:8848 - ip: 192.168.110.21 + ip: 192.168.110.85 #pro # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml index 023c665..5e98bd9 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml @@ -23,7 +23,6 @@ where user_id = #{userId} group by lottery_event_id) b on a.id = b.lottery_event_id where a.del_flag = 0 - and now() > a.end_time and a.activity_type in (4, 5)) as aa order by aa.sort, aa.startTime </select> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java index 87cb573..8ed681c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java @@ -147,12 +147,12 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "优惠券id", required = true, dataType = "String", paramType = "path") }) - public R<Boolean> shareCoupon(@PathVariable("couponId") String couponId) { + public R<String> shareCoupon(@PathVariable("couponId") String couponId) { //检测是否可以抽奖 List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(3).getData(); if (data.size() > 0) { - return R.ok(true); + return R.ok(data.get(0).getId()); } - return R.ok(false); + return R.ok(); } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java index 0a0bdb2..b166943 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java @@ -81,7 +81,7 @@ @RequestMapping(value = "/signShare", method = RequestMethod.POST) @ApiOperation(value = "今日分享【2.0】") - public R<Boolean> signShare() { + public R<String> signShare() { Long userId = SecurityUtils.getUserId(); IntegralChangeDto integralChangeDto = new IntegralChangeDto(); integralChangeDto.setIntegralType(1); @@ -92,6 +92,6 @@ } //判断是否可以抽奖 List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(3).getData(); - return R.ok(data.size() > 0); + return R.ok(data.size() > 0 ? data.get(0).getId() : ""); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java index 5db85b9..3e06e25 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java @@ -71,4 +71,7 @@ @ApiModelProperty(value = "是否可抽奖(0=否,1=是)") private Boolean lotteryDraw; + + @ApiModelProperty(value = "抽奖活动id") + private String lotteryEventId; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index a4fe438..6d9e8e8 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -1581,8 +1581,11 @@ // 返回AppPlaceOrderVo对象 List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(2).getData(); if (data.size() > 0) { - long count = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).count(); - appPlaceOrderVo.setLotteryDraw(count > 0); + List<TLotteryEvent> collect = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).collect(Collectors.toList()); + appPlaceOrderVo.setLotteryDraw(collect.size() > 0); + if (collect.size() > 0) { + appPlaceOrderVo.setLotteryEventId(collect.get(0).getEventId()); + } } else { appPlaceOrderVo.setLotteryDraw(false); } -- Gitblit v1.7.1