diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java index cf9b22e36..8152a0a24 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java @@ -8,6 +8,7 @@ import com.iformall.controller.base.BaseController; import com.iformall.domain.po.AliBusinessCircleOrder; import com.iformall.domain.po.WxBusinessCircleOrder; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.vo.AlipayOrWxStatistics; import com.iformall.service.AliBusinessCircleOrderService; import com.iformall.utils.Constant; import io.swagger.annotations.Api; @@ -109,5 +110,23 @@ public class AliBusinessCircleOrderController extends BaseController { aliBusinessCircleOrderService.exportData(circleOrder, request, response); } + @ApiOperation("阿里记录分页列表接口") + @GetMapping("aliPayList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + @SystemControllerLog(description = "-列表") + public ResultData aliPayList(@ModelAttribute AliBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] AliBusinessCircleOrderController::aliPayList"); + if (null == circleOrder) { + circleOrder = new AliBusinessCircleOrder(); + } +// circleOrder.updateTenantInfo(getTenantInfo()); + circleOrder.setTenantId("789"); + circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC); + final PageInfo page = aliBusinessCircleOrderService.aliPayList(circleOrder, pageNum, pageSize); + return new ResultData(page); + } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java index 6e2f38578..28a58b8b5 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java @@ -7,6 +7,7 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.vo.AlipayOrWxStatistics; import com.iformall.service.*; import com.iformall.utils.Constant; import io.swagger.annotations.Api; @@ -105,5 +106,23 @@ public class WxBusinessCircleOrderController extends BaseController { wxBusinessCircleOrderService.exportData(circleOrder, request, response); } + @ApiOperation("微信数据分页列表接口") + @GetMapping("wxPayList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + @SystemControllerLog(description = "-列表") + public ResultData wxPayList(@ModelAttribute WxBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxBusinessCircleOrderController::wxPayList"); + if (null == circleOrder) { + circleOrder = new WxBusinessCircleOrder(); + } +// circleOrder.updateTenantInfo(getTenantInfo()); + circleOrder.setTenantId("789"); + circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC); + final PageInfo page = wxBusinessCircleOrderService.wxPayList(circleOrder, pageNum, pageSize); + return new ResultData(page); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java b/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java index a0f3efece..3e7450fc3 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java @@ -10,6 +10,7 @@ import lombok.ToString; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Data @ToString(callSuper = true) @@ -138,4 +139,6 @@ public class BusinessCircleBase extends TenantEntity { return refundAmount != null ? new BigDecimal(refundAmount).divide(new BigDecimal(100)).toPlainString(): refundAmountStr; } + private List merchantIds; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/AlipayOrWxStatistics.java b/mallinkService/src/main/java/com/iformall/domain/vo/AlipayOrWxStatistics.java new file mode 100644 index 000000000..0efbd3e58 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/AlipayOrWxStatistics.java @@ -0,0 +1,15 @@ +package com.iformall.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.iformall.domain.po.base.BaseEntity; +import lombok.Data; + +@Data +public class AlipayOrWxStatistics { + @TableField(exist = false) + private String merchantName;//商户名称 + private Integer payAmount;//支付总金额 + private Integer refundAmount;//退款总金额 + private Integer increasedPoints;//积分情况 + private Long merchantId; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/AliBusinessCircleOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/AliBusinessCircleOrderMapper.java index c28c1064a..5aa2c9c34 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/AliBusinessCircleOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/AliBusinessCircleOrderMapper.java @@ -4,6 +4,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.AliBusinessCircleOrder; import com.iformall.domain.po.BusinessCircleBase; +import com.iformall.domain.vo.AlipayOrWxStatistics; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -47,4 +48,6 @@ public interface AliBusinessCircleOrderMapper extends CommonMapper aliPayList(AliBusinessCircleOrder record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBusinessCircleOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBusinessCircleOrderMapper.java index c35fa6d54..1830a7657 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBusinessCircleOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBusinessCircleOrderMapper.java @@ -3,9 +3,8 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.BusinessCircleBase; import com.iformall.domain.po.WxBusinessCircleOrder; -import org.apache.ibatis.annotations.Param; +import com.iformall.domain.vo.AlipayOrWxStatistics; -import java.util.Date; import java.util.List; public interface WxBusinessCircleOrderMapper extends CommonMapper { @@ -50,4 +49,7 @@ public interface WxBusinessCircleOrderMapper extends CommonMapper wxPayList(WxBusinessCircleOrder record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java b/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java index b52fcce4e..cd2ebe841 100644 --- a/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java @@ -6,6 +6,7 @@ import com.iformall.domain.po.AliBusinessCircleOrder; import com.iformall.domain.po.BusinessCircleBase; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.AlipayOrWxStatistics; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -57,4 +58,6 @@ public interface AliBusinessCircleOrderService { Integer sumCirclePayment(BusinessCircleBase circleOrder); Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); + + PageInfo aliPayList(AliBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java index cec38d631..19a7dfd13 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java @@ -5,6 +5,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.BusinessCircleBase; import com.iformall.domain.po.WxBusinessCircleOrder; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.AlipayOrWxStatistics; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -89,4 +90,6 @@ public interface WxBusinessCircleOrderService { void sendSyncParkingsMsg(TenantEntity tenantEntity,Long carCmdLogId); + PageInfo wxPayList(WxBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index a9b373160..f386c69b2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -3,6 +3,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxMerchantDto; +import com.iformall.domain.po.WxBusinessCircleOrder; import com.iformall.domain.po.WxMerchantCorp; import com.iformall.domain.po.WxPark; import com.iformall.domain.po.base.TenantEntity; @@ -12,6 +13,7 @@ import com.iformall.domain.vo.WxMerchantTradeDetailVo; import com.iformall.domain.vo.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantVo; +import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.ModelAttribute; import javax.servlet.http.HttpServletRequest; @@ -220,4 +222,5 @@ public interface WxMerchantService { PageInfo subMerchantList(WxMerchant wxMerchant, Integer pageNum, Integer pageSize); + List selectByMerchantIds(String merchantName); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java index 814583182..5e6ed6215 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java @@ -7,12 +7,14 @@ import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.AlipayOrWxStatistics; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.AliBusinessCircleOrderMapper; import com.iformall.service.*; import com.iformall.utils.Constant; import com.iformall.utils.RedisLock; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,6 +27,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrderService { @@ -379,4 +383,30 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder return sumCircleRefundAmount==null?0:sumCircleRefundAmount; } + @Override + public PageInfo aliPayList(AliBusinessCircleOrder record, Integer pageIndex, Integer pageSize) { + if (StringUtils.isNotEmpty(record.getMerchantName())) { + List ids = wxMerchantService.selectByMerchantIds(record.getMerchantName()); + if (!CollectionUtils.isEmpty(ids)) { + record.setMerchantIds(ids); + } + } + + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> aliBusinessCircleOrderMapper.aliPayList(record)); + if (CollectionUtils.isEmpty(pageInfo.getList())) { + return pageInfo; + } + List list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setIds(list); + List wxMerchants = wxMerchantService.findList(wxMerchant); + if (CollectionUtils.isEmpty(wxMerchants)) { + return pageInfo; + } + Map map = wxMerchants.parallelStream().collect(Collectors.toMap(WxMerchant::getId, WxMerchant::getName)); + pageInfo.getList().forEach(x -> { + x.setMerchantName(map.get(x.getMerchantId())); + }); + return pageInfo; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java index ae280edf3..414e1953f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java @@ -14,6 +14,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.msg.AfterBusinessCreditMsg; +import com.iformall.domain.vo.AlipayOrWxStatistics; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBusinessCircleOrderMapper; @@ -23,6 +24,7 @@ import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; import com.iformall.utils.MaUtil; import com.iformall.utils.RedisLock; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +38,9 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Service public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderService { @@ -553,5 +558,32 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe // mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); } + @Override + public PageInfo wxPayList(WxBusinessCircleOrder record, Integer pageIndex, Integer pageSize) { + if (StringUtils.isNotEmpty(record.getMerchantName())) { + List ids = wxMerchantService.selectByMerchantIds(record.getMerchantName()); + if (!CollectionUtils.isEmpty(ids)) { + record.setMerchantIds(ids); + } + } + + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBusinessCircleOrderMapper.wxPayList(record)); + if (CollectionUtils.isEmpty(pageInfo.getList())) { + return pageInfo; + } + List list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setIds(list); + List wxMerchants = wxMerchantService.findList(wxMerchant); + if (CollectionUtils.isEmpty(wxMerchants)) { + return pageInfo; + } + Map map = wxMerchants.parallelStream().collect(Collectors.toMap(WxMerchant::getId, WxMerchant::getName)); + pageInfo.getList().forEach(x -> { + x.setMerchantName(map.get(x.getMerchantId())); + }); + return pageInfo; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 89a790891..2cba95896 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -2132,4 +2132,11 @@ public class WxMerchantServiceImpl implements WxMerchantService { PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(wxMerchant)); return pageInfo; } + + @Override + public List selectByMerchantIds(String merchantName) { + WxMerchant merchant = new WxMerchant(); + merchant.setName(merchantName); + return wxMerchantMapper.findIdList(merchant); + } } diff --git a/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml b/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml index 1e0fcf8a4..3730f5da7 100644 --- a/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml @@ -229,4 +229,19 @@ and is_refund = 1 + + diff --git a/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml index 3fe1cc89d..1da93e040 100644 --- a/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml @@ -261,4 +261,18 @@ and is_refund = 1 - + + \ No newline at end of file