luodangjia
2024-11-06 d6ef18f23c4b298cb9b977ab3a5d65e2f4a39fe2
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -17,6 +17,7 @@
import com.ruoyi.admin.utils.WeChatUtil;
import com.ruoyi.admin.vo.InfoDto;
import com.ruoyi.admin.vo.MoneyRecentQuery;
import com.ruoyi.admin.vo.PayDto;
import com.ruoyi.admin.vo.RencentBalance;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
@@ -137,6 +138,16 @@
        return R.ok(balance3);
    }
    @ApiOperation(value = "详情",tags = {"师傅段2.0-统一充值扣款列表"})
    @PostMapping(value = "/change/detail")
    public R<TFranchiseeBalanceChange> detail1(@RequestParam Integer id) throws AlipayApiException {
        TFranchiseeBalanceChange byId = balanceChangeService.getById(id);
        return R.ok(byId);
    }
    @ApiOperation(value = "扣款记录及充值记录", tags = {"后台2.0-统一充值扣款列表","师傅段2.0-统一充值扣款列表"})
    @PostMapping(value = "/recent/money/list")
    public R<Page<TFranchiseeBalanceChange>> recentmoneylist(@RequestBody MoneyRecentQuery moneyRecentQuery) {
@@ -145,17 +156,22 @@
                .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName())
                .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1())
                .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2())
                .eq(TFranchiseeBalanceChange::getIs_pay,1)
                .orderByDesc(TFranchiseeBalanceChange::getCreateTime)
                .page(Page.of(moneyRecentQuery.getPageNum(), moneyRecentQuery.getPageSize()));
        for (TFranchiseeBalanceChange record : page.getRecords()) {
            Franchisee franchisee = franchiseeService.getById(record.getFranchiseeId());
            String siteIds = franchisee.getSiteIds();
            if (franchisee.getSiteIds()!=null) {
                String siteIds = franchisee.getSiteIds();
                List<Site> list1 = siteService.lambdaQuery().in(Site::getId, siteIds.split(",")).list();
                record.setList1(list1);
            }
            String cityCode = franchisee.getCityCode();
            List<Region> list = regionService.lambdaQuery().in(Region::getCode, cityCode.split(",")).list();
            List<Site> list1 = siteService.lambdaQuery().in(Site::getId, siteIds.split(",")).list();
            record.setList(list);
            record.setList1(list1);
            record.setFranchiseeName(franchisee.getName());
        }
        return R.ok(page);
@@ -164,38 +180,74 @@
    @ApiOperation(value = "导出", tags = {"后台2.0-统一充值扣款列表"})
    @PostMapping(value = "/recent/money/list/export")
    public R<Page<TFranchiseeBalanceChange>> export(@RequestBody MoneyRecentQuery moneyRecentQuery, HttpServletResponse response) {
        List<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType())
                .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId())
                .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName())
                .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1())
                .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2())
                .list();
        if (moneyRecentQuery.getType()==2) {
            List<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType())
                    .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId())
                    .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName())
                    .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1())
                    .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2())
                    .list();
        try {
            response.setCharacterEncoding(Constants.UTF8);
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
            response.setHeader("Content-Disposition", "attachment;filename=" +
                    URLEncoder.encode(Constants.EXCEL_ORDER_FILE_NAME, CharEncoding.UTF_8) + ".xlsx");
        } catch (UnsupportedEncodingException e) {
            return R.fail("excel导出失败!");
        }
        try {
            // excel模板封装
            ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
            InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" + Constants.EXCEL_ORDER_FILE_NAME1 + ".xlsx");
            // 自动释放资源
            try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
                WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
                excelWriter.fill(page, writeSheet);
                excelWriter.finish();
            } catch (Exception e) {
            try {
                response.setCharacterEncoding(Constants.UTF8);
                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
                response.setHeader("Content-Disposition", "attachment;filename=" +
                        URLEncoder.encode(Constants.EXCEL_ORDER_FILE_NAME, CharEncoding.UTF_8) + ".xlsx");
            } catch (UnsupportedEncodingException e) {
                return R.fail("excel导出失败!");
            }
        } catch (IOException e) {
            return R.fail("excel导出失败!");
            try {
                // excel模板封装
                ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
                InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" + Constants.EXCEL_ORDER_FILE_NAME1 + ".xlsx");
                // 自动释放资源
                try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
                    WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
                    excelWriter.fill(page, writeSheet);
                    excelWriter.finish();
                } catch (Exception e) {
                    return R.fail("excel导出失败!");
                }
            } catch (IOException e) {
                return R.fail("excel导出失败!");
            }
            return R.ok();
        }else {
            List<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType())
                    .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId())
                    .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName())
                    .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1())
                    .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2())
                    .list();
            try {
                response.setCharacterEncoding(Constants.UTF8);
                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
                response.setHeader("Content-Disposition", "attachment;filename=" +
                        URLEncoder.encode(Constants.EXCEL_ORDER_FILE_NAME, CharEncoding.UTF_8) + ".xlsx");
            } catch (UnsupportedEncodingException e) {
                return R.fail("excel导出失败!");
            }
            try {
                // excel模板封装
                ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
                InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" + Constants.EXCEL_ORDER_FILE_NAME2 + ".xlsx");
                // 自动释放资源
                try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
                    WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
                    excelWriter.fill(page, writeSheet);
                    excelWriter.finish();
                } catch (Exception e) {
                    return R.fail("excel导出失败!");
                }
            } catch (IOException e) {
                return R.fail("excel导出失败!");
            }
            return R.ok();
        }
        return R.ok();
    }
@@ -204,6 +256,12 @@
    public R<Page<TFranchiseeBalanceChange>> consume(@RequestBody TFranchiseeBalanceChange franchiseeBalanceChange) {
        Franchisee byId = franchiseeService.getById(franchiseeBalanceChange.getFranchiseeId());
        franchiseeBalanceChange.setFranchiseeName(byId.getName());
        Region byId1 = regionService.getById(franchiseeBalanceChange.getRegionId());
        franchiseeBalanceChange.setRegionName(byId1.getName());
        Site byId2 = siteService.getById(franchiseeBalanceChange.getSiteId());
        franchiseeBalanceChange.setSiteName(byId2.getSiteName());
        franchiseeBalanceChange.setIs_pay(1);
        balanceChangeService.save(franchiseeBalanceChange);
        byId.setBalance(byId.getBalance().subtract(franchiseeBalanceChange.getAmount()));
        franchiseeService.updateById(byId);
@@ -323,11 +381,18 @@
                tFranchiseeBalanceChange.setAmount(money);
                tFranchiseeBalanceChange.setIs_pay(0);
                tFranchiseeBalanceChange.setFranchiseeName(byId.getName());
                tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(userid));
                tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId()));
                tFranchiseeBalanceChange.setType(2);
                tFranchiseeBalanceChange.setCode(code);
                balanceChangeService.save(tFranchiseeBalanceChange);
                return R.ok(prepay.getCodeUrl());
                PayDto payDto = new PayDto();
                payDto.setOrderId(tFranchiseeBalanceChange.getId());
                payDto.setQrCode(prepay.getCodeUrl());
                return R.ok(payDto);
            } catch (HttpException e) { // 发送HTTP请求失败
//                log.error("发送HTTP请求失败: {}", e.getHttpRequest());
            } catch (ServiceException e) { // 服务返回状态小于200或大于等于300,例如500
@@ -340,6 +405,18 @@
            return null;
    }
    @ApiOperation(value = "轮询获取支付状态",tags = {"后台2.0-加盟商列表余额"})
    @PostMapping(value = "/code/check")
    public R buy(@RequestParam Integer orderId) throws AlipayApiException {
        TFranchiseeBalanceChange byId = balanceChangeService.getById(orderId);
        if (byId.getIs_pay()==1){
            return R.ok(true);
        }else {
            return R.ok(false);
        }
    }
    @Resource
    private NotificationParser notificationParser;