| @@ -8,6 +8,7 @@ import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.AliBusinessCircleOrder; | import com.iformall.domain.po.AliBusinessCircleOrder; | ||||
| import com.iformall.domain.po.WxBusinessCircleOrder; | import com.iformall.domain.po.WxBusinessCircleOrder; | ||||
| import com.iformall.domain.po.base.BaseEntity; | import com.iformall.domain.po.base.BaseEntity; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import com.iformall.service.AliBusinessCircleOrderService; | import com.iformall.service.AliBusinessCircleOrderService; | ||||
| import com.iformall.utils.Constant; | import com.iformall.utils.Constant; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -109,5 +110,23 @@ public class AliBusinessCircleOrderController extends BaseController { | |||||
| aliBusinessCircleOrderService.exportData(circleOrder, request, response); | 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.controller.base.BaseController; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.BaseEntity; | import com.iformall.domain.po.base.BaseEntity; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.Constant; | import com.iformall.utils.Constant; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -105,5 +106,23 @@ public class WxBusinessCircleOrderController extends BaseController { | |||||
| wxBusinessCircleOrderService.exportData(circleOrder, request, response); | 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.math.BigDecimal; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @Data | @Data | ||||
| @ToString(callSuper = true) | @ToString(callSuper = true) | ||||
| @@ -138,4 +139,6 @@ public class BusinessCircleBase extends TenantEntity { | |||||
| return refundAmount != null ? new BigDecimal(refundAmount).divide(new BigDecimal(100)).toPlainString(): refundAmountStr; | 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.common.CommonMapper; | ||||
| import com.iformall.domain.po.AliBusinessCircleOrder; | import com.iformall.domain.po.AliBusinessCircleOrder; | ||||
| import com.iformall.domain.po.BusinessCircleBase; | import com.iformall.domain.po.BusinessCircleBase; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import org.apache.ibatis.annotations.Param; | import org.apache.ibatis.annotations.Param; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| @@ -47,4 +48,6 @@ public interface AliBusinessCircleOrderMapper extends CommonMapper<AliBusinessCi | |||||
| Integer sumCirclePayment(BusinessCircleBase record); | Integer sumCirclePayment(BusinessCircleBase record); | ||||
| Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | 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.common.CommonMapper; | ||||
| import com.iformall.domain.po.BusinessCircleBase; | import com.iformall.domain.po.BusinessCircleBase; | ||||
| import com.iformall.domain.po.WxBusinessCircleOrder; | 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; | import java.util.List; | ||||
| public interface WxBusinessCircleOrderMapper extends CommonMapper<WxBusinessCircleOrder, Long> { | public interface WxBusinessCircleOrderMapper extends CommonMapper<WxBusinessCircleOrder, Long> { | ||||
| @@ -50,4 +49,7 @@ public interface WxBusinessCircleOrderMapper extends CommonMapper<WxBusinessCirc | |||||
| Integer sumCirclePayment(BusinessCircleBase record); | Integer sumCirclePayment(BusinessCircleBase record); | ||||
| Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | 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.BusinessCircleBase; | ||||
| import com.iformall.domain.po.WxMerchant; | import com.iformall.domain.po.WxMerchant; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| @@ -57,4 +58,6 @@ public interface AliBusinessCircleOrderService { | |||||
| Integer sumCirclePayment(BusinessCircleBase circleOrder); | Integer sumCirclePayment(BusinessCircleBase circleOrder); | ||||
| Integer sumCircleRefundAmount(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.BusinessCircleBase; | ||||
| import com.iformall.domain.po.WxBusinessCircleOrder; | import com.iformall.domain.po.WxBusinessCircleOrder; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| @@ -89,4 +90,6 @@ public interface WxBusinessCircleOrderService { | |||||
| void sendSyncParkingsMsg(TenantEntity tenantEntity,Long carCmdLogId); | 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.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.dto.WxMerchantDto; | import com.iformall.domain.dto.WxMerchantDto; | ||||
| import com.iformall.domain.po.WxBusinessCircleOrder; | |||||
| import com.iformall.domain.po.WxMerchantCorp; | import com.iformall.domain.po.WxMerchantCorp; | ||||
| import com.iformall.domain.po.WxPark; | import com.iformall.domain.po.WxPark; | ||||
| import com.iformall.domain.po.base.TenantEntity; | 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.WxMerchantTradeVo; | ||||
| import com.iformall.domain.vo.WxMerchantVo; | import com.iformall.domain.vo.WxMerchantVo; | ||||
| import org.apache.ibatis.annotations.Param; | |||||
| import org.springframework.web.bind.annotation.ModelAttribute; | import org.springframework.web.bind.annotation.ModelAttribute; | ||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| @@ -220,4 +222,5 @@ public interface WxMerchantService { | |||||
| PageInfo<WxMerchant> subMerchantList(WxMerchant wxMerchant, Integer pageNum, Integer pageSize); | 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.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.AliBusinessCircleOrderMapper; | import com.iformall.mapper.AliBusinessCircleOrderMapper; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.Constant; | import com.iformall.utils.Constant; | ||||
| import com.iformall.utils.RedisLock; | import com.iformall.utils.RedisLock; | ||||
| import org.apache.commons.collections.CollectionUtils; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| @@ -25,6 +27,8 @@ import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | |||||
| import java.util.stream.Collectors; | |||||
| @Service | @Service | ||||
| public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrderService { | public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrderService { | ||||
| @@ -379,4 +383,30 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||||
| return sumCircleRefundAmount==null?0:sumCircleRefundAmount; | 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.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.po.msg.AfterBusinessCreditMsg; | import com.iformall.domain.po.msg.AfterBusinessCreditMsg; | ||||
| import com.iformall.domain.vo.AlipayOrWxStatistics; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxBusinessCircleOrderMapper; | import com.iformall.mapper.WxBusinessCircleOrderMapper; | ||||
| @@ -23,6 +24,7 @@ import com.iformall.utils.Constant; | |||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import com.iformall.utils.MaUtil; | import com.iformall.utils.MaUtil; | ||||
| import com.iformall.utils.RedisLock; | import com.iformall.utils.RedisLock; | ||||
| import org.apache.commons.collections.CollectionUtils; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| @@ -36,6 +38,9 @@ import javax.servlet.http.HttpServletResponse; | |||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | |||||
| import java.util.Objects; | |||||
| import java.util.stream.Collectors; | |||||
| @Service | @Service | ||||
| public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderService { | 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()); | // 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)); | PageInfo<WxMerchant> pageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(wxMerchant)); | ||||
| return pageInfo; | 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 | and is_refund = 1 | ||||
| </select> | </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> | </mapper> | ||||
| @@ -261,4 +261,18 @@ | |||||
| and is_refund = 1 | and is_refund = 1 | ||||
| </select> | </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> | |||||