| @@ -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<AlipayOrWxStatistics> page = aliBusinessCircleOrderService.aliPayList(circleOrder, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| } | |||
| @@ -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<AlipayOrWxStatistics> page = wxBusinessCircleOrderService.wxPayList(circleOrder, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| } | |||
| @@ -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<Long> merchantIds; | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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<AliBusinessCi | |||
| Integer sumCirclePayment(BusinessCircleBase record); | |||
| Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | |||
| List<AlipayOrWxStatistics> aliPayList(AliBusinessCircleOrder record); | |||
| } | |||
| @@ -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<WxBusinessCircleOrder, Long> { | |||
| @@ -50,4 +49,7 @@ public interface WxBusinessCircleOrderMapper extends CommonMapper<WxBusinessCirc | |||
| Integer sumCirclePayment(BusinessCircleBase record); | |||
| Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | |||
| List<AlipayOrWxStatistics> wxPayList(WxBusinessCircleOrder record); | |||
| } | |||
| @@ -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<AlipayOrWxStatistics> aliPayList(AliBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize); | |||
| } | |||
| @@ -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<AlipayOrWxStatistics> wxPayList(WxBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize); | |||
| } | |||
| @@ -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<WxMerchant> subMerchantList(WxMerchant wxMerchant, Integer pageNum, Integer pageSize); | |||
| List<Long> selectByMerchantIds(String merchantName); | |||
| } | |||
| @@ -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<AlipayOrWxStatistics> aliPayList(AliBusinessCircleOrder record, Integer pageIndex, Integer pageSize) { | |||
| if (StringUtils.isNotEmpty(record.getMerchantName())) { | |||
| List<Long> ids = wxMerchantService.selectByMerchantIds(record.getMerchantName()); | |||
| if (!CollectionUtils.isEmpty(ids)) { | |||
| record.setMerchantIds(ids); | |||
| } | |||
| } | |||
| PageInfo<AlipayOrWxStatistics> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> aliBusinessCircleOrderMapper.aliPayList(record)); | |||
| if (CollectionUtils.isEmpty(pageInfo.getList())) { | |||
| return pageInfo; | |||
| } | |||
| List<Long> list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| List<WxMerchant> wxMerchants = wxMerchantService.findList(wxMerchant); | |||
| if (CollectionUtils.isEmpty(wxMerchants)) { | |||
| return pageInfo; | |||
| } | |||
| Map<Long, String> map = wxMerchants.parallelStream().collect(Collectors.toMap(WxMerchant::getId, WxMerchant::getName)); | |||
| pageInfo.getList().forEach(x -> { | |||
| x.setMerchantName(map.get(x.getMerchantId())); | |||
| }); | |||
| return pageInfo; | |||
| } | |||
| } | |||
| @@ -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<AlipayOrWxStatistics> wxPayList(WxBusinessCircleOrder record, Integer pageIndex, Integer pageSize) { | |||
| if (StringUtils.isNotEmpty(record.getMerchantName())) { | |||
| List<Long> ids = wxMerchantService.selectByMerchantIds(record.getMerchantName()); | |||
| if (!CollectionUtils.isEmpty(ids)) { | |||
| record.setMerchantIds(ids); | |||
| } | |||
| } | |||
| PageInfo<AlipayOrWxStatistics> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBusinessCircleOrderMapper.wxPayList(record)); | |||
| if (CollectionUtils.isEmpty(pageInfo.getList())) { | |||
| return pageInfo; | |||
| } | |||
| List<Long> list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| List<WxMerchant> wxMerchants = wxMerchantService.findList(wxMerchant); | |||
| if (CollectionUtils.isEmpty(wxMerchants)) { | |||
| return pageInfo; | |||
| } | |||
| Map<Long, String> map = wxMerchants.parallelStream().collect(Collectors.toMap(WxMerchant::getId, WxMerchant::getName)); | |||
| pageInfo.getList().forEach(x -> { | |||
| x.setMerchantName(map.get(x.getMerchantId())); | |||
| }); | |||
| return pageInfo; | |||
| } | |||
| } | |||
| @@ -2132,4 +2132,11 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||
| PageInfo<WxMerchant> pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(wxMerchant)); | |||
| return pageInfo; | |||
| } | |||
| @Override | |||
| public List<Long> selectByMerchantIds(String merchantName) { | |||
| WxMerchant merchant = new WxMerchant(); | |||
| merchant.setName(merchantName); | |||
| return wxMerchantMapper.findIdList(merchant); | |||
| } | |||
| } | |||
| @@ -229,4 +229,19 @@ | |||
| and is_refund = 1 | |||
| </select> | |||
| <select id="aliPayList" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT SUM(pay_amount) as 'payAmount', | |||
| SUM(refund_amount) as 'refundAmount', | |||
| merchant_id as 'merchantId', | |||
| SUM(increased_points) as 'increasedPoints' | |||
| FROM ali_business_circle_order | |||
| <if test=" null != merchantIds and merchantIds.size > 0 "> | |||
| where merchant_id in | |||
| <foreach collection="merchantIds" index="index" item="id" open="(" separator="," close=")"> | |||
| #{id} | |||
| </foreach> | |||
| </if> | |||
| GROUP BY merchant_id,is_refund; | |||
| </select> | |||
| </mapper> | |||
| @@ -261,4 +261,18 @@ | |||
| and is_refund = 1 | |||
| </select> | |||
| </mapper> | |||
| <select id="wxPayList" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT SUM(pay_amount) as 'payAmount', | |||
| SUM(refund_amount) as 'refundAmount', | |||
| merchant_id as 'merchantId', | |||
| SUM(increased_points) as 'increasedPoints' | |||
| FROM wx_business_circle_order | |||
| <if test=" null != merchantIds and merchantIds.size > 0 "> | |||
| where merchant_id in | |||
| <foreach collection="merchantIds" index="index" item="id" open="(" separator="," close=")"> | |||
| #{id} | |||
| </foreach> | |||
| </if> | |||
| GROUP BY merchant_id,is_refund; | |||
| </select> | |||
| </mapper> | |||