luodangjia
2025-02-06 4ea15c3e2a3f0434df79a1b49fe4e90f7337b025
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java
@@ -62,6 +62,10 @@
    public R<IPage<CouponInfo>> list(@RequestParam("pageNum") Integer pageNum,
                                     @RequestParam("pageSize") Integer pageSize,
                                     CouponInfo couponInfo) {
        Integer periodType = couponInfo.getPeriodType();
        if (periodType != null && periodType.equals(0)){
            couponInfo.setPeriodType(null);
        }
        IPage<CouponInfo> couponInfoIPage = couponInfoService.queryCouponInfoPage(Page.of(pageNum, pageSize), couponInfo);
        for (CouponInfo record : couponInfoIPage.getRecords()) {
            R<Long> r = userCouponClient.getCouponCount(record.getId());
@@ -170,18 +174,21 @@
    private void count(Long userid, List<CouponInfo> list1, List<CouponInfo> returnList) {
        for (CouponInfo couponInfo : list1) {
            Long count = appUserClient.getCouponCount(-1L, couponInfo.getId()).getData();
            if(couponInfo.getSendNum() <= count){
                couponInfo.setMaxNum(count.intValue() - couponInfo.getSendNum());
                for (int i = 0; i < couponInfo.getMaxNum(); i++) {
                    returnList.add(couponInfo);
                }
            if(count >= couponInfo.getSendNum()){
                continue;
            }
            count = appUserClient.getCouponCount(userid, couponInfo.getId()).getData();
            couponInfo.setMaxNum(couponInfo.getMaxNum() - count.intValue());
            for (int i = 0; i < couponInfo.getMaxNum(); i++) {
                returnList.add(couponInfo);
            if((couponInfo.getSendNum() - count) >= couponInfo.getMaxNum()){
                for (int i = 0; i < couponInfo.getMaxNum(); i++) {
                    returnList.add(couponInfo);
                }
            }else{
                for (int i = 0; i < (couponInfo.getSendNum() - count); i++) {
                    returnList.add(couponInfo);
                }
            }
        }
    }