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 6d60a3273..b4de267af 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -13,6 +13,8 @@ import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.WxBillBaseEntity; import com.iformall.enums.EnumBillAllType; +import com.iformall.enums.EnumFinanceReceiveStatus; +import com.iformall.enums.EnumFinanceReceiveType; import com.iformall.enums.EnumYesOrNo; import com.iformall.service.WxEnergyService; import com.iformall.service.WxFinanceService; @@ -241,17 +243,35 @@ public class WxFinanceController extends BaseController { return new ResultData(wxFinanceService.getBills(record, list)); } -// @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.receiveListAsPage(record, pageNum, pageSize); -// return new ResultData(page); -// } + @GetMapping("receiveStatus") + public ResultData receiveStatus() { + Map tmap = new HashMap(); + for (EnumFinanceReceiveStatus t : EnumFinanceReceiveStatus.values()) { + tmap.put(t.getCode(), t); + } + return new ResultData(tmap); + } + + @GetMapping("receiveTypes") + public ResultData receiveTypes() { + Map tmap = new HashMap(); + for (EnumFinanceReceiveType t : EnumFinanceReceiveType.values()) { + tmap.put(t.getCode(), t); + } + return new ResultData(tmap); + } + + @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.receiveListAsPage(record, pageNum, pageSize); + return new ResultData(page); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java index 28ee36c05..d0cdf4da7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.WxBillBaseEntity; +import com.iformall.enums.EnumFinanceReceiveStatus; +import com.iformall.enums.EnumFinanceReceiveType; import lombok.Data; import lombok.EqualsAndHashCode; @@ -25,6 +27,10 @@ public class WxFinanceReceive 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; @@ -34,9 +40,19 @@ public class WxFinanceReceive extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "状态EnumFinanceReceiveStatus", name = "status") private Integer status; + @TableField(exist = false) + private String statusName; + public String getStatusName() { + return EnumFinanceReceiveStatus.getEnum(status).getMessage(); + } @io.swagger.annotations.ApiModelProperty(value = "类型EnumFinanceReceiveType", name = "type") private Integer type; + @TableField(exist = false) + private String typeName; + public String getTypeName() { + return EnumFinanceReceiveType.getEnum(type).getMessage(); + } @io.swagger.annotations.ApiModelProperty(value="createBy",name="createBy") private Long createBy; @@ -53,6 +69,8 @@ public class WxFinanceReceive extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "merchantId", name = "merchantId") private Long merchantId; + @TableField(exist = false) + private List merchantIdList; @io.swagger.annotations.ApiModelProperty(value = "remark", name = "remark") private String remark; @@ -62,4 +80,15 @@ public class WxFinanceReceive extends TenantEntity { @TableField(exist = false) private List payWays; + @TableField(exist = false) + private String shopNumber; + @TableField(exist = false) + private String merchantName; + @TableField(exist = false) + private Long building; + @TableField(exist = false) + private Long floor; + @TableField(exist = false) + private String shopIds; + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java index bad6a45bc..c47ebff91 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java @@ -10,7 +10,7 @@ import java.util.List; public interface WxFinanceReceiveBillMapper extends CommonMapper { List findList(WxFinanceReceiveBill wxBillRent); - + WxFinanceReceiveBill selectById(@Param("id")Long id,@Param("tenantId")String tenantId); } 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 f96a441dc..2199efecf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1,6 +1,7 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSON; +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -422,12 +423,91 @@ public class WxFinanceServiceImpl implements WxFinanceService { return bill; } + private void initQueryParam(WxFinanceReceive record) { + List queryMerchantIds = new ArrayList(); + if (StringUtils.isNotBlank(record.getShopNumber()) || StringUtils.isNotBlank(record.getShopIds()) + || null != record.getBuilding() || null != record.getFloor()) { + //根据店铺去找到商户 + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setShopNumber(record.getShopNumber()); + if (StringUtils.isNotBlank(record.getShopIds())) { + String[] sids = record.getShopIds().split(","); + if (null != sids) { + List shopIdList = new ArrayList(); + for (int i = 0 ; i < sids.length; i++) { + String s = sids[i]; + if (StringUtils.isNotBlank(s)) { + shopIdList.add(Long.parseLong(s)); + } + } + if (shopIdList.size() > 0 ) { + sq.setIds(shopIdList); + }else { + sq.setId(-1L); + } + } + } + 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 PageInfo receiveListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + initQueryParam(record); PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFinanceReceiveMapper.findList(record)); - return page; + if (null != page && null != page.getList()) { + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + Map merchantMap = wxMerchantService.findMerchantMap(mq); + for (int i = 0 ; i < page.getList().size() ; i++) { + WxFinanceReceive fr = page.getList().get(i); + if (null != merchantMap && null != fr.getMerchantId()) { + WxMerchant merchant = merchantMap.get(fr.getMerchantId()); + if (null != merchant) { + fr.setMerchantName(merchant.getName()); + } + } + //查询关联的账单记录 + WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); + rb.updateTenantInfo(record); + rb.setReceiveId(fr.getId()); + List bills = wxFinanceReceiveBillMapper.findList(rb); + if (null != bills && bills.size() > 0 ) { + + } + } + } + + return page; } - + @Override public void saveOrUpdateReceive(WxFinanceReceive record, MallUserInfo user) { diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml index 0db87e20b..f46f051a5 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml @@ -36,6 +36,14 @@ and `status` = #{status} and `type` = #{type} and `merchantId` = #{merchant_id} + and `create_time` >= #{createTimeBegin} + and `create_time` <= #{createTimeEnd} + + and merchantId in + + #{midItem} + + and id in