Просмотр исходного кода

商圈交易数据列表查询

release_toaliyun_real
lrh 2 лет назад
Родитель
Сommit
8436089555
14 измененных файлов: 171 добавлений и 3 удалений
  1. +19
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/AliBusinessCircleOrderController.java
  2. +19
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxBusinessCircleOrderController.java
  3. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/BusinessCircleBase.java
  4. +15
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/AlipayOrWxStatistics.java
  5. +3
    -0
      mallinkService/src/main/java/com/iformall/mapper/AliBusinessCircleOrderMapper.java
  6. +4
    -2
      mallinkService/src/main/java/com/iformall/mapper/WxBusinessCircleOrderMapper.java
  7. +3
    -0
      mallinkService/src/main/java/com/iformall/service/AliBusinessCircleOrderService.java
  8. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxBusinessCircleOrderService.java
  9. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  10. +30
    -0
      mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java
  11. +32
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java
  12. +7
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  13. +15
    -0
      mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml
  14. +15
    -1
      mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml

+ 19
- 0
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<AlipayOrWxStatistics> page = aliBusinessCircleOrderService.aliPayList(circleOrder, pageNum, pageSize);
return new ResultData(page);
}

}

+ 19
- 0
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<AlipayOrWxStatistics> page = wxBusinessCircleOrderService.wxPayList(circleOrder, pageNum, pageSize);
return new ResultData(page);
}

}

+ 3
- 0
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<Long> merchantIds;

}

+ 15
- 0
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;
}

+ 3
- 0
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<AliBusinessCi
Integer sumCirclePayment(BusinessCircleBase record);

Integer sumCircleRefundAmount(BusinessCircleBase circleOrder);

List<AlipayOrWxStatistics> aliPayList(AliBusinessCircleOrder record);
}

+ 4
- 2
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<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);

}

+ 3
- 0
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<AlipayOrWxStatistics> aliPayList(AliBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize);
}

+ 3
- 0
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<AlipayOrWxStatistics> wxPayList(WxBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize);

}

+ 3
- 0
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<WxMerchant> subMerchantList(WxMerchant wxMerchant, Integer pageNum, Integer pageSize);

List<Long> selectByMerchantIds(String merchantName);
}

+ 30
- 0
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<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;
}
}

+ 32
- 0
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<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;
}


}

+ 7
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -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);
}
}

+ 15
- 0
mallinkService/src/main/resources/mapper/AliBusinessCircleOrderMapper.xml Просмотреть файл

@@ -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>

+ 15
- 1
mallinkService/src/main/resources/mapper/WxBusinessCircleOrderMapper.xml Просмотреть файл

@@ -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>

Загрузка…
Отмена
Сохранить