From 60e1c72907722de1d1cf61bfc7d075190668bb51 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 18:29:39 +0800 Subject: [PATCH] fix --- .../market/WxFinanceController.java | 15 ++- .../domain/vo/WxFinanceReceiveVo.java | 1 + .../iformall/service/WxFinanceService.java | 1 + .../service/impl/WxFinanceServiceImpl.java | 126 ++++++++++++------ 4 files changed, 103 insertions(+), 40 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java index a2fbc97ba..4e602d97b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -277,13 +277,26 @@ public class WxFinanceController extends BaseController { return new ResultData(list); } - @ApiOperation("收款记录列表") + @ApiOperation("收款记录列表(收款列表页面,有子账单)") @GetMapping("receiveList") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) public ResultData receiveList(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); + PageInfo page = wxFinanceService.receiveVoListWithBillsAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("收款记录列表") + @GetMapping("onlyReceiveList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData onlyReceiveList(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { record.updateTenantInfo(getTenantInfo()); record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); PageInfo page = wxFinanceService.receiveVoListAsPage(record, pageNum, pageSize); diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java index 1840b277d..291d5e4c4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java @@ -168,6 +168,7 @@ public class WxFinanceReceiveVo implements Serializable { this.remark = receive.getRemark(); this.isPrint = receive.getIsPrint(); this.isFinish = receive.getIsFinish(); + this.merchantName = receive.getMerchantName(); if (null != receiveBill) { this.rid = receiveBill.getId(); this.receiveId = receiveBill.getReceiveId(); diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index b7c372d12..be615a6d2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -28,6 +28,7 @@ public interface WxFinanceService { void payWayInit(TenantEntity tenantInfo); //收付款 + PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); List findReceiveList(WxFinanceReceive record); Map createReceive(WxFinanceReceive record,MallUserInfo user); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 25c1ae5c2..0e0edfdf6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -425,8 +425,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { } } - @Override - public PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + private PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize,boolean hasBills) { initQueryParam(record); PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFinanceReceiveMapper.findList(record)); PageInfo pageVo = new PageInfo(); @@ -458,44 +457,50 @@ public class WxFinanceServiceImpl implements WxFinanceService { } } - //查询关联的账单记录 - WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); - rb.updateTenantInfo(record); - rb.setReceiveId(fr.getId()); - List bills = wxFinanceReceiveBillMapper.findList(rb); - if (null != bills && bills.size() > 0 ) { - for (int j = 0 ; j < bills.size(); j ++) { - WxFinanceReceiveBill frb = bills.get(j); - WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); - vo.initByReceive(fr, frb); - if (null != paywayMap && null != frb.getPayWay()) { - WxBillPayWay p = paywayMap.get(vo.getPayWay()); - if (null != p) { - vo.setPayWayName(p.getName()); - } - } - if (null != shopNumberMap && null != frb.getMerchantId()) { - String shopNumber = shopNumberMap.get(vo.getMerchantId()); - vo.setShopNumber(shopNumber); - if (null != merchantMap) { - WxMerchant merchant = merchantMap.get(vo.getMerchantId()); - if (null != merchant) { - vo.setMerchantName(merchant.getName()); - } - } - } - if (null != fmap && null != vo.getFeesId()) { - WxEnergyFees ef = fmap.get(vo.getFeesId()); - if (null != ef) { - vo.setFeesName(ef.getName()); - } - } - volist.add(vo); - } - }else { + if (!hasBills) { WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); vo.initByReceive(fr, null); volist.add(vo); + }else { + //查询关联的账单记录 + WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); + rb.updateTenantInfo(record); + rb.setReceiveId(fr.getId()); + List bills = wxFinanceReceiveBillMapper.findList(rb); + if (null != bills && bills.size() > 0 ) { + for (int j = 0 ; j < bills.size(); j ++) { + WxFinanceReceiveBill frb = bills.get(j); + WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); + vo.initByReceive(fr, frb); + if (null != paywayMap && null != frb.getPayWay()) { + WxBillPayWay p = paywayMap.get(vo.getPayWay()); + if (null != p) { + vo.setPayWayName(p.getName()); + } + } + if (null != shopNumberMap && null != frb.getMerchantId()) { + String shopNumber = shopNumberMap.get(vo.getMerchantId()); + vo.setShopNumber(shopNumber); + if (null != merchantMap) { + WxMerchant merchant = merchantMap.get(vo.getMerchantId()); + if (null != merchant) { + vo.setMerchantName(merchant.getName()); + } + } + } + if (null != fmap && null != vo.getFeesId()) { + WxEnergyFees ef = fmap.get(vo.getFeesId()); + if (null != ef) { + vo.setFeesName(ef.getName()); + } + } + volist.add(vo); + } + }else { + WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); + vo.initByReceive(fr, null); + volist.add(vo); + } } } pageVo.setList(volist); @@ -504,6 +509,16 @@ public class WxFinanceServiceImpl implements WxFinanceService { return pageVo; } + @Override + public PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + return receiveVoListAsPage(record, pageIndex, pageSize, true); + } + + @Override + public PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + return receiveVoListAsPage(record, pageIndex, pageSize, false); + } + @Override public List findReceiveList(WxFinanceReceive record) { initQueryParam(record); @@ -1039,13 +1054,46 @@ public class WxFinanceServiceImpl implements WxFinanceService { @Override public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { invalidReceive(record, user , true); + copyRedSetOffReceive(record); + } + + private void copyRedSetOffReceive(WxFinanceReceive record) { //新增一个红冲,金额是负数 final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); - record.setReceiveMoney("-"+record.getReceiveMoney()); - record.setSetOffMoney("-"+record.getSetOffMoney()); + if (StringUtils.isNotBlank(record.getReceiveMoney())) { + record.setReceiveMoney("-"+record.getReceiveMoney()); + } + if (StringUtils.isNotBlank(record.getSetOffMoney())) { + record.setSetOffMoney("-"+record.getSetOffMoney()); + } + if (StringUtils.isNotBlank(record.getPayMoney())) { + record.setPayMoney("-"+record.getPayMoney()); + } + if (StringUtils.isNotBlank(record.getUseMoney())) { + record.setUseMoney("-"+record.getUseMoney()); + } record.setStatus(EnumFinanceReceiveStatus.RED_SETOFF.getCode()); wxFinanceReceiveMapper.insert(record); + + WxFinanceReceiveBill rbq = new WxFinanceReceiveBill(); + rbq.updateTenantInfo(record); + rbq.setReceiveId(record.getId()); + rbq.setUpdateTime(new Date()); + List rbList = wxFinanceReceiveBillMapper.findList(rbq); + if (null != rbList ) { + for (int i = 0 ; i < rbList.size() ; i++ ) { + WxFinanceReceiveBill rb = rbList.get(i); + rb.setId(idWorker.nextId()); + if (StringUtils.isNotBlank(rb.getReceive())) { + rb.setReceive("-"+rb.getReceive()); + } + if (StringUtils.isNotBlank(rb.getPay())) { + rb.setPay("-"+rb.getPay()); + } + wxFinanceReceiveBillMapper.insert(rb); + } + } } @Override