Pu Zhibing
11 小时以前 cead7b98d5cebc0825b919799e23732877361de0
修改bug
14个文件已修改
82 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEvent.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppLotteryEventController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventInfoVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/LotteryEventVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
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();
    }
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<>();
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());
        //计算正确率
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 = "是否参与")
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;
}
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();
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);
    
    
    /**
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
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>
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();
    }
}
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() : "");
    }
}
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;
}
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);
        }