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

[商户解单][修改][导出数据]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
682850f6ba
4 измененных файлов: 71 добавлений и 25 удалений
  1. +15
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java
  2. +11
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantTradeDailyVo.java
  3. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantTradeDailyService.java
  4. +41
    -15
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantTradeDailyServiceImpl.java

+ 15
- 9
mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java Просмотреть файл

@@ -5,27 +5,21 @@ import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController; import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.po.WxMerchantTradeDaily; import com.iformall.domain.po.WxMerchantTradeDaily;
import com.iformall.domain.vo.WxMerchantTradeDailyVo; import com.iformall.domain.vo.WxMerchantTradeDailyVo;
import com.iformall.service.WxMerchantBUserService;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxMerchantTradeDailyService; import com.iformall.service.WxMerchantTradeDailyService;
import com.iformall.utils.DateUtils;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.LinkedMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date;


@RestController @RestController
@RequestMapping("wxMerchantTradeDaily") @RequestMapping("wxMerchantTradeDaily")
@@ -109,4 +103,16 @@ public class WxMerchantTradeDailyController extends BaseController {
return wxMerchantTradeDailyService.queryTradeDaily(wxMerchantTradeDaily); return wxMerchantTradeDailyService.queryTradeDaily(wxMerchantTradeDaily);
} }


@GetMapping("exportData")
@SystemControllerLog(description = "商户解单数据-导出数据")
public void exportData(@ModelAttribute WxMerchantTradeDailyVo wxMerchantTradeDaily, HttpServletRequest request, HttpServletResponse response) {
logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::exportData");
if (null == wxMerchantTradeDaily) {
wxMerchantTradeDaily = new WxMerchantTradeDailyVo();
}
wxMerchantTradeDaily.setTenantId(getTenantId());
wxMerchantTradeDaily.setSortColumns(WxMerchantTradeDailyVo.Field.MerchantId_DESC);
wxMerchantTradeDailyService.exportData(wxMerchantTradeDaily, request, response);
}

} }

+ 11
- 1
mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantTradeDailyVo.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.vo; package com.iformall.domain.vo;


import cn.afterturn.easypoi.excel.annotation.Excel;
import com.iformall.domain.po.BaseEntity; import com.iformall.domain.po.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -33,25 +34,34 @@ public class WxMerchantTradeDailyVo extends BaseEntity {
private Long merchantId; private Long merchantId;
@io.swagger.annotations.ApiModelProperty(value = "b用户id", name = "bUserId") @io.swagger.annotations.ApiModelProperty(value = "b用户id", name = "bUserId")
private Long bUserId; private Long bUserId;

@Excel(name = "解单金额(元)", width = 20, orderNum = "3")
@io.swagger.annotations.ApiModelProperty(value = "交易额", name = "tradeAmt") @io.swagger.annotations.ApiModelProperty(value = "交易额", name = "tradeAmt")
private Integer tradeAmt; private Integer tradeAmt;
@io.swagger.annotations.ApiModelProperty(value = "解单提交日期", name = "createDate") @io.swagger.annotations.ApiModelProperty(value = "解单提交日期", name = "createDate")
private Date createDate; private Date createDate;

@Excel(name = "上报时间", width = 20, orderNum = "5", format = "yyyy-MM-dd HH:mm:ss")
@io.swagger.annotations.ApiModelProperty(value = "解单更新日期", name = "updateDate") @io.swagger.annotations.ApiModelProperty(value = "解单更新日期", name = "updateDate")
private Date updateDate; private Date updateDate;

@Excel(name = "解单日期", width = 20, orderNum = "1", format = "yyyy-MM-dd")
@io.swagger.annotations.ApiModelProperty(value = "解单日期", name = "reportDate") @io.swagger.annotations.ApiModelProperty(value = "解单日期", name = "reportDate")
private String reportDate; private String reportDate;


@Excel(name = "商户名称", width = 20, orderNum = "2")
@io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName")
private String merchantName; private String merchantName;


@Excel(name = "操作人", width = 20, orderNum = "6")
@io.swagger.annotations.ApiModelProperty(value = "b端用户姓名", name = "bUserName") @io.swagger.annotations.ApiModelProperty(value = "b端用户姓名", name = "bUserName")
private String bUserName; private String bUserName;


@Excel(name = "联系电话", width = 20, orderNum = "7")
@io.swagger.annotations.ApiModelProperty(value = "B端用户手机号", name = "bUserPhone") @io.swagger.annotations.ApiModelProperty(value = "B端用户手机号", name = "bUserPhone")
private String bUserPhone; private String bUserPhone;


@Excel(name = "交易笔数", width = 20, orderNum = "4")
@io.swagger.annotations.ApiModelProperty(value = "交易笔数", name = "tradeCount") @io.swagger.annotations.ApiModelProperty(value = "交易笔数", name = "tradeCount")
private Integer tradeCount; private Integer tradeCount;
@io.swagger.annotations.ApiModelProperty(value = "凭证", name = "proof") @io.swagger.annotations.ApiModelProperty(value = "凭证", name = "proof")


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

@@ -5,6 +5,9 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchantTradeDaily; import com.iformall.domain.po.WxMerchantTradeDaily;
import com.iformall.domain.vo.WxMerchantTradeDailyVo; import com.iformall.domain.vo.WxMerchantTradeDailyVo;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface WxMerchantTradeDailyService { public interface WxMerchantTradeDailyService {


/** /**
@@ -84,4 +87,5 @@ public interface WxMerchantTradeDailyService {


ResultData queryTradeDaily(WxMerchantTradeDailyVo wxMerchantTradeDaily); ResultData queryTradeDaily(WxMerchantTradeDailyVo wxMerchantTradeDaily);


void exportData(WxMerchantTradeDailyVo wxMerchantTradeDaily, HttpServletRequest request, HttpServletResponse response);
} }

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

@@ -1,12 +1,9 @@
package com.iformall.service.impl; package com.iformall.service.impl;


import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;

import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxMall;
@@ -15,17 +12,17 @@ import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.po.WxMerchantTradeDaily; import com.iformall.domain.po.WxMerchantTradeDaily;
import com.iformall.domain.vo.WxMerchantTradeDailyVo; import com.iformall.domain.vo.WxMerchantTradeDailyVo;
import com.iformall.mapper.WxMerchantTradeDailyMapper; import com.iformall.mapper.WxMerchantTradeDailyMapper;
import com.iformall.service.WxMerchantTradeDailyService;
import com.iformall.service.WxMallService;
import com.iformall.service.WxMerchantBUserService;
import com.iformall.service.WxMerchantService;
import com.iformall.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import com.iformall.service.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;


@Service @Service
public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyService { public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyService {
@@ -43,6 +40,9 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
@Autowired @Autowired
WxMallService wxMallService; WxMallService wxMallService;


@Autowired
ExcelService excelService;

@Override @Override
public PageInfo<WxMerchantTradeDaily> listAsPage(WxMerchantTradeDaily record, Integer pageIndex, Integer pageSize) { public PageInfo<WxMerchantTradeDaily> listAsPage(WxMerchantTradeDaily record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantTradeDailyMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantTradeDailyMapper.findList(record));
@@ -172,6 +172,29 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
return new ResultData(wxMerchantTradeDaily); return new ResultData(wxMerchantTradeDaily);
} }


@Override
public void exportData(WxMerchantTradeDailyVo wxMerchantTradeDailyVo, HttpServletRequest request, HttpServletResponse response) {
//没有商户ID导出全部数据
String name = "解单数据";
if (wxMerchantTradeDailyVo.getMerchantId() == null) {
String title = wxMerchantTradeDailyVo.getReportDate() + "商户解单数据";
List<WxMerchantTradeDailyVo> list = wxMerchantTradeDailyMapper.findListVo(wxMerchantTradeDailyVo);
excelService.exportExcel(list, title, name, WxMerchantTradeDailyVo.class, name + ".xlsx", response, false);
} else {
WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily();
wxMerchantTradeDaily.setTenantId(wxMerchantTradeDailyVo.getTenantId());
wxMerchantTradeDaily.setMerchantId(wxMerchantTradeDailyVo.getMerchantId());
List<WxMerchantTradeDailyVo> list = wxMerchantTradeDailyMapper.findListVoOfMonth(wxMerchantTradeDaily);
list.parallelStream().forEach(t -> t.setMerchantName(null));
String title = "近30天解单数据";
if (!list.isEmpty()) {
String merchantName = list.get(0).getMerchantName();
title = merchantName + title;
}
excelService.exportExcel(list, title, name, WxMerchantTradeDailyVo.class, name + ".xlsx", response, false);
}
}

@Override @Override
public ResultData getVolumeOfMonth(Long merchantId) { public ResultData getVolumeOfMonth(Long merchantId) {


@@ -188,9 +211,9 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd"); SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd");
cal.setTime(new Date());
for (int i = 0; i < 30; i++) { for (int i = 0; i < 30; i++) {
cal.add(Calendar.DAY_OF_YEAR, -1);
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_YEAR, -i);
WxMerchantTradeDailyVo trade = recordMap.get(fmt.format(cal.getTime())); WxMerchantTradeDailyVo trade = recordMap.get(fmt.format(cal.getTime()));
if (trade != null){ if (trade != null){
trade.setReportDate(fmtv.format(cal.getTime())); trade.setReportDate(fmtv.format(cal.getTime()));
@@ -204,6 +227,7 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
trade.setReportDate(fmtv.format(cal.getTime())); trade.setReportDate(fmtv.format(cal.getTime()));
tradeList.add(trade); tradeList.add(trade);
} }
cal.clear();
} }
Collections.reverse(tradeList); Collections.reverse(tradeList);
return new ResultData(tradeList); return new ResultData(tradeList);
@@ -223,9 +247,10 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd"); SimpleDateFormat fmtv = new SimpleDateFormat("MM/dd");
cal.setTime(new Date());
for (int i = 0; i < 30; i++) { for (int i = 0; i < 30; i++) {
cal.add(Calendar.DAY_OF_YEAR, -1);
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_MONTH, -i);
System.out.println(fmt.format(cal.getTime()));
WxMerchantTradeDaily trade = recordMap.get(fmt.format(cal.getTime())); WxMerchantTradeDaily trade = recordMap.get(fmt.format(cal.getTime()));
if (trade != null){ if (trade != null){
trade.setReportDate(fmtv.format(cal.getTime())); trade.setReportDate(fmtv.format(cal.getTime()));
@@ -236,6 +261,7 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ
trade.setReportDate(fmtv.format(cal.getTime())); trade.setReportDate(fmtv.format(cal.getTime()));
tradeList.add(trade); tradeList.add(trade);
} }
cal.clear();
} }


Collections.reverse(tradeList); Collections.reverse(tradeList);


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