From 8747c4a7c71cd207932e6f528448088c5dd2a737 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 11:30:21 +0800 Subject: [PATCH] fix --- .../market/WxFinanceController.java | 14 +++ .../domain/po/WxFinanceReceiveBill.java | 33 ++++++ .../iformall/service/WxFinanceService.java | 1 + .../service/impl/WxFinanceServiceImpl.java | 110 ++++++++++++++++++ .../mapper/WxFinanceReceiveBillMapper.xml | 27 ++++- 5 files changed, 184 insertions(+), 1 deletion(-) 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 2679397fd..5a05900ed 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -14,6 +14,7 @@ import com.iformall.domain.po.WxBillPayWay; import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinanceFinish; import com.iformall.domain.po.WxFinanceReceive; +import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.vo.FinanceBillSetoffSum; @@ -317,6 +318,19 @@ public class WxFinanceController extends BaseController { return new ResultData(list); } + @ApiOperation("收款记录子账单列表") + @GetMapping("receiveBillList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData receiveBillList(@ModelAttribute WxFinanceReceiveBill record, Integer pageNum, Integer pageSize) { + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); + PageInfo page = wxFinanceService.receiveBillListAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + @ApiOperation("收款记录列表(收款列表页面,有子账单)") @GetMapping("receiveList") @ApiImplicitParams({ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java index 8914b0f98..185210e9d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java @@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumBillAllType; +import com.iformall.enums.EnumFinanceCashierType; import com.iformall.utils.Constant; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; +import java.util.List; /** */ @TableName(value = "wx_finance_receive_bill") @@ -26,6 +28,10 @@ public class WxFinanceReceiveBill extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") private Date createTime; + @TableField(exist = false) + private Date createTimeBegin; + @TableField(exist = false) + private Date createTimeEnd; @io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime") private Date updateTime; @@ -54,6 +60,17 @@ public class WxFinanceReceiveBill extends TenantEntity { @TableField(exist = false) private String payWayName; + @io.swagger.annotations.ApiModelProperty(value = "类型EnumFinanceCashierType", name = "type") + private Integer type; + @TableField(exist = false) + private String typeName; + public String getTypeName() { + if (null != type) { + return EnumFinanceCashierType.getEnum(type).getMessage(); + } + return null; + } + @io.swagger.annotations.ApiModelProperty(value="实收金额",name="receive") private String receive; @@ -89,8 +106,24 @@ public class WxFinanceReceiveBill extends TenantEntity { return setOff; } + @TableField(exist = false) + private String payWayStr; + @TableField(exist = false) + private String feesIdStr; @TableField(exist = false) private String shopNumber; @TableField(exist = false) + private Long building; + @TableField(exist = false) + private Long floor; + @TableField(exist = false) private String merchantName; + @TableField(exist = false) + private List payWayList; + @TableField(exist = false) + private List feesIdList; + @TableField(exist = false) + private Integer noReduce; + @TableField(exist = false) + private List merchantIdList; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index 79d25b521..62820bf24 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -33,6 +33,7 @@ public interface WxFinanceService { //收付款 PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); + PageInfo receiveBillListAsPage(WxFinanceReceiveBill record, Integer pageIndex, Integer pageSize); List findReceiveList(WxFinanceReceive record); Map createReceive(WxFinanceReceive record,MallUserInfo user); Map createPay(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 d81d038f8..94219ec83 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -55,6 +55,8 @@ import com.iformall.service.WxShopService; import com.iformall.service.helper.WxBillAllHelper; import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; +import com.iformall.utils.StringContentUtils; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -516,6 +518,114 @@ public class WxFinanceServiceImpl implements WxFinanceService { return receiveVoListAsPage(record, pageIndex, pageSize, false); } + @Override + public PageInfo receiveBillListAsPage(WxFinanceReceiveBill record, Integer pageIndex, Integer pageSize) { + initReceiveBillQueryParam(record); + PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFinanceReceiveBillMapper.findList(record)); + if (null != page && null != page.getList()) { + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + Map merchantMap = wxMerchantService.findMerchantMap(mq); + + Map shopNumberMap = wxShopService.getMerchantShopNumberMap(record, null, null); + + WxBillPayWay pq = new WxBillPayWay(); + pq.updateTenantInfo(record); + Map paywayMap = this.getPayWayMap(pq); + + WxEnergyFees fq = new WxEnergyFees(); + fq.updateTenantInfo(record); + Map fmap = wxEnergyService.getFeesMap(fq); + for (int i = 0 ; i < page.getList().size() ; i++) { + WxFinanceReceiveBill fr = page.getList().get(i); + if (null != merchantMap && null != fr.getMerchantId()) { + WxMerchant merchant = merchantMap.get(fr.getMerchantId()); + if (null != merchant) { + fr.setMerchantName(merchant.getName()); + } + String shopNumber = shopNumberMap.get(fr.getMerchantId()); + fr.setShopNumber(shopNumber); + } + if (null != paywayMap && null != fr.getPayWay()) { + WxBillPayWay p = paywayMap.get(fr.getPayWay()); + if (null != p) { + fr.setPayWayName(p.getName()); + } + } + if (null != fmap && null != fr.getFeesId()) { + WxEnergyFees ef = fmap.get(fr.getFeesId()); + if (null != ef) { + fr.setFeesName(ef.getName()); + } + } + } + } + return page; + } + + private void initReceiveBillQueryParam(WxFinanceReceiveBill record) { + if (StringUtils.isNotBlank(record.getMerchantName()) || StringUtils.isNotBlank(record.getShopNumber())) { + record.setMerchantName(StringContentUtils.unescapeHtml(record.getMerchantName())); + record.setShopNumber(StringContentUtils.unescapeHtml(record.getMerchantName())); + } + + if (StringUtils.isNotBlank(record.getPayWayStr())) { + String[] payways = record.getPayWayStr().split(","); + if (null != payways && payways.length > 0 ) { + List paywayList = new ArrayList(); + for (int i = 0 ; i < payways.length ; i ++) { + paywayList.add(Long.parseLong(payways[i])); + } + record.setPayWayList(paywayList); + } + } + if (StringUtils.isNotBlank(record.getFeesIdStr())) { + String[] feesIdss = record.getFeesIdStr().split(","); + if (null != feesIdss && feesIdss.length > 0 ) { + List feesIdList = new ArrayList(); + for (int i = 0 ; i < feesIdss.length ; i ++) { + feesIdList.add(Long.parseLong(feesIdss[i])); + } + record.setFeesIdList(feesIdList); + } + } + List queryMerchantIds = new ArrayList(); + if (StringUtils.isNotBlank(record.getShopNumber()) + || null != record.getBuilding() || null != record.getFloor()) { + //根据店铺去找到商户 + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setShopNumber(record.getShopNumber()); + sq.setBuilding(record.getBuilding()); + sq.setFloor(record.getFloor()); + List merchantIds = wxShopService.getMerchantIds(sq); + if (null == merchantIds || merchantIds.size() <= 0 ) { + record.setId(-1L); + }else { + queryMerchantIds.addAll(merchantIds); + } + } + + if (StringUtils.isNotBlank(record.getMerchantName())) { + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + mq.setName(record.getMerchantName()); + List mids = wxMerchantService.findIdList(mq); + if (null == mids || mids.size() <= 0 ) { + record.setId(-1L); + }else { + if (queryMerchantIds.size() > 0 ) { + queryMerchantIds.retainAll(mids); + }else { + queryMerchantIds.addAll(mids); + } + } + } + if (queryMerchantIds.size() > 0 ) { + record.setMerchantIdList(queryMerchantIds); + } + } + @Override public List findReceiveList(WxFinanceReceive record) { initQueryParam(record); diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml index 413ccfd7d..f7092baac 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml @@ -18,11 +18,12 @@ + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`bill_id`,`bill_type`,`fees_id`, - `pay_way`,`receive_id`,`receive`,`pay`,`merchant_id`,`starttime`,`endtime`,`is_del` + `pay_way`,`receive_id`,`receive`,`pay`,`merchant_id`,`starttime`,`endtime`,`is_del`,`type` @@ -41,6 +42,30 @@ and `receive_id` = #{receiveId} and `merchant_id` = #{merchantId} and `is_del` = #{isDel} + and `create_time` >= #{createTimeBegin} + and `create_time` <= #{createTimeEnd} + and `starttime` >= #{starttime} + and `endtime` <= #{endtime} + and `pay_way` != 4 + and type = #{type} + + and merchant_id in + + #{midItem} + + + + and fees_id in + + #{fidItem} + + + + and pay_way in + + #{paidItem} + + and id in