记得上下班打卡 | git大法好,push需谨慎

Commit 188f4a58 authored by limingyang's avatar limingyang

导出订单信息

parent 85d000a3
package com.liquidnet.client.admin.web.controller.zhengzai.tools;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IExportService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/export")
public class ExportDataController {
@RequestMapping("/exportDetailed")
public class ExportDataController extends BaseController {
@Autowired
private IExportService exportService;
/**
* 导出订单明细
*
* @param exportType
* @param beginTime
* @param endTime
* @param showId
* @return
*/
@PostMapping("/export/orderInfo")
@ResponseBody
public AjaxResult exportOrderInfo(Integer exportType, String beginTime, String endTime, String showId) {
if (null == exportType) {
return error("导出类型有误!");
}
List<OrderExportVo> list;
if (exportType == 1) {//按订单时间导出信息
if (!timeIsNotNull(beginTime, endTime)) {
return error("按时间类型导出,开始时间和结束时间不能为空!");
}
list = exportService.exportOrderByOrderTime(beginTime, endTime);
} else if (exportType == 2) {//按演出时间导出信息
if (!timeIsNotNull(beginTime, endTime)) {
return error("按时间类型导出,开始时间和结束时间不能为空!");
}
list = exportService.exportOrderByShowTime(beginTime, endTime);
} else if (exportType == 3) {//按id导出信息
if (!StringUtils.isNotBlank(showId)) {
return error("演出id不能为空!");
}
list = exportService.exportOrderByShowId(showId);
} else {
return error("查无信息!");
}
if (list.size() == 0) {
return error("查无信息!");
}
ExcelUtil<OrderExportVo> util = new ExcelUtil(OrderExportVo.class);
return util.exportExcel(list, exportType + "");
}
private boolean timeIsNotNull(String beginTime, String endTime) {
return StringUtils.isNotBlank(beginTime) && StringUtils.isNotBlank(endTime) ? true : false;
}
/**
* 导出会员订单
*
* @param beginTime
* @param endTime
* @return
*/
@PostMapping("/export/memberOrder")
@ResponseBody
public AjaxResult exportMemberOrder(String beginTime, String endTime) {
if (!timeIsNotNull(beginTime, endTime)) {
return error("开始时间和结束时间不能为空!");
}
List<OrderExportVo> list;
list = exportService.exportMemberOrder(beginTime, endTime);
if (list.size() == 0) {
return error("查无信息");
}
ExcelUtil<OrderExportVo> util = new ExcelUtil(OrderExportVo.class);
return util.exportExcel(list, "会员订单");
}
/**
* 导出商品订单
*
* @param beginTime
* @param endTime
* @return
*/
@PostMapping("/export/commodityOrder")
@ResponseBody
public AjaxResult exportCommodityOrder(String beginTime, String endTime) {
if (!timeIsNotNull(beginTime, endTime)) {
return error("开始时间和结束时间不能为空!");
}
List<OrderExportVo> list;
list = exportService.exportCommodityOrder(beginTime, endTime);
if (list.size() == 0) {
return error("查无信息");
}
ExcelUtil<OrderExportVo> util = new ExcelUtil(OrderExportVo.class);
return util.exportExcel(list, "商品订单");
}
}
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.kylin.dao.CommodityOrderExportDao;
import com.liquidnet.service.kylin.dao.MemberOrderExportDao;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import lombok.Data;
import java.io.Serializable;
@Data
public class OrderExportVo implements Serializable, Cloneable{
@Excel(name = "演出名称", cellType = Excel.ColumnType.STRING)
public class OrderExportVo implements Serializable, Cloneable {
@Excel(name = "演出名称/购买名称", cellType = Excel.ColumnType.STRING)
private String performanceTitle;
@Excel(name = "手机号", cellType = Excel.ColumnType.STRING)
private String userMobile;
@Excel(name = "姓名", cellType = Excel.ColumnType.STRING)
private String userName;
@Excel(name = "订单号", cellType = Excel.ColumnType.STRING)
private String orderCode;
@Excel(name = "商户订单号", cellType = Excel.ColumnType.STRING)
private String code;
@Excel(name = "商户订单号", cellType = Excel.ColumnType.STRING)
private String payCode;
@Excel(name = "微信/支付宝订单号", cellType = Excel.ColumnType.STRING)
private String paymentId;
@Excel(name = "状态", cellType = Excel.ColumnType.STRING)
private String status;
@Excel(name = "支付平台", cellType = Excel.ColumnType.STRING)
private String paymentType;
@Excel(name = "演出类型", cellType = Excel.ColumnType.STRING)
private String type;
@Excel(name = "票种名称", cellType = Excel.ColumnType.STRING)
private String title1;
@Excel(name = "场次", cellType = Excel.ColumnType.STRING)
private String title2;
@Excel(name = "单价", cellType = Excel.ColumnType.STRING)
private String price;
@Excel(name = "快递费", cellType = Excel.ColumnType.STRING)
private String priceExpress;
@Excel(name = "购票数", cellType = Excel.ColumnType.STRING)
private String number;
@Excel(name = "退票数", cellType = Excel.ColumnType.STRING)
private String refundNumber;
@Excel(name = "实付金额", cellType = Excel.ColumnType.STRING)
private String priceActual;
@Excel(name = "退款金额", cellType = Excel.ColumnType.STRING)
private String priceRefund;
@Excel(name = "退款时间", cellType = Excel.ColumnType.STRING)
private String refundAt;
@Excel(name = "退款原因", cellType = Excel.ColumnType.STRING)
private String reject;
@Excel(name = "支付时间", cellType = Excel.ColumnType.STRING)
private String timePay;
@Excel(name = "创建时间", cellType = Excel.ColumnType.STRING)
private String createdAt;
@Excel(name = "更新时间", cellType = Excel.ColumnType.STRING)
private String updatedAt;
@Excel(name = "商品名称", cellType = Excel.ColumnType.STRING)
private String name;
private static final OrderExportVo obj = new OrderExportVo();
......@@ -31,6 +75,54 @@ public class OrderExportVo implements Serializable, Cloneable{
this.setPerformanceTitle(source.getPerformanceTitle());
this.setUserMobile(source.getUserMobile());
this.setUserName(source.getUserName());
this.setOrderCode(source.getOrderCode());
this.setCode(source.getCode());
this.setPayCode(source.getPayCode());
this.setPaymentId(source.getPaymentId());
this.setStatus(source.getStatus());
this.setPaymentType(source.getPaymentType());
this.setType(source.getType());
this.setTitle1(source.getTitle1());
this.setTitle2(source.getTitle2());
this.setPrice(source.getPrice());
this.setPriceExpress(source.getPriceExpress());
this.setNumber(source.getNumber());
this.setRefundNumber(source.getRefundNumber());
this.setPriceActual(source.getPriceActual());
this.setPriceRefund(source.getPriceRefund());
this.setRefundAt(source.getRefundAt());
this.setReject(source.getReject());
this.setTimePay(source.getTimePay());
return this;
}
public OrderExportVo copyMemberOrderExportVo(MemberOrderExportDao source) {
this.setCode(source.getPayNo());
this.setPaymentId(source.getPaymentId());
this.setPaymentType(source.getPayType());
this.setStatus(source.getState());
this.setPrice(source.getPrice());
this.setTimePay(source.getPaymentAt());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
this.setRefundAt(source.getRefundAt());
this.setPriceRefund(source.getRefundPrice());
return this;
}
public OrderExportVo copyCommodityOrderExportVo(CommodityOrderExportDao source) {
this.setCode(source.getCode());
this.setPaymentId(source.getPaymentId());
this.setName(source.getName());
this.setPaymentType(source.getPaymentType());
this.setPriceActual(source.getPriceActual());
this.setCreatedAt(source.getCreatedAt());
this.setPriceExpress(source.getPriceExpress());
this.setPriceRefund(source.getPriceRefund());
this.setStatus(source.getStatus());
this.setRefundAt(source.getRefundAt());
return this;
}
}
package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import java.util.List;
......@@ -11,4 +9,19 @@ public interface IExportService {
List<OrderExportVo> exportOrderByPerformanceIdAll(String performancesId);
List<OrderExportVo> exportOrderByPerformanceIdPay(String performancesId);
//根据订单时间导出信息
List<OrderExportVo> exportOrderByOrderTime(String beginTime, String endTime);
//根据演出时间导出信息
List<OrderExportVo> exportOrderByShowTime(String beginTime, String endTime);
//根据演出id导出信息
List<OrderExportVo> exportOrderByShowId(String showId);
//导出会员订单信息
List<OrderExportVo> exportMemberOrder(String beginTime, String endTime);
//导出商品订单信息
List<OrderExportVo> exportCommodityOrder(String beginTime, String endTime);
}
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.exception.BusinessException;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IExportService;
import com.liquidnet.client.admin.zhengzai.kylin.service.IImportService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.OrderUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.CommodityOrderExportDao;
import com.liquidnet.service.kylin.dao.MemberOrderExportDao;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
......@@ -64,4 +43,86 @@ public class ExportServiceImpl implements IExportService {
}
return voList;
}
@Override
public List<OrderExportVo> exportOrderByOrderTime(String beginTime, String endTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime);
List<OrderExportDao> list = performancesMapper.exportOrderByOrderTime(beginDate,endDate);
List<OrderExportVo> voList = new ArrayList();
for (OrderExportDao item :list){
voList.add(OrderExportVo.getNew().copyOrderExportVo(item));
}
return voList;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
@Override
public List<OrderExportVo> exportOrderByShowTime(String beginTime, String endTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime);
List<OrderExportDao> list = performancesMapper.exportOrderByShowTime(beginDate,endDate);
List<OrderExportVo> voList = new ArrayList();
for (OrderExportDao item :list){
voList.add(OrderExportVo.getNew().copyOrderExportVo(item));
}
return voList;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
@Override
public List<OrderExportVo> exportOrderByShowId(String showId) {
List<OrderExportDao> list = performancesMapper.exportOrderByShowId(showId);
List<OrderExportVo> voList = new ArrayList();
for (OrderExportDao item :list){
voList.add(OrderExportVo.getNew().copyOrderExportVo(item));
}
return voList;
}
@Override
public List<OrderExportVo> exportMemberOrder(String beginTime, String endTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime);
List<MemberOrderExportDao> list = performancesMapper.exportMemberOrder(beginDate,endDate);
List<OrderExportVo> voList = new ArrayList();
for (MemberOrderExportDao item :list){
voList.add(OrderExportVo.getNew().copyMemberOrderExportVo(item));
}
return voList;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
@Override
public List<OrderExportVo> exportCommodityOrder(String beginTime, String endTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime);
List<CommodityOrderExportDao> list = performancesMapper.exportCommodityOrder(beginDate,endDate);
List<OrderExportVo> voList = new ArrayList();
for (CommodityOrderExportDao item :list){
voList.add(OrderExportVo.getNew().copyCommodityOrderExportVo(item));
}
return voList;
} catch (ParseException e) {
e.printStackTrace();
throw new BusinessException("导出Excel失败,请联系网站管理员!");
}
}
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
@Data
public class CommodityOrderExportDao {
//商户订单号
private String code;
//微信/支付宝订单号
private String paymentId;
//商品名称
private String name;
//支付平台()
private String paymentType;
//实付金额
private String priceActual;
//创建时间
private String createdAt;
//快递费
private String priceExpress;
//退款金额
private String priceRefund;
//订单状态
private String status;
//退款时间
private String refundAt;
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
@Data
public class MemberOrderExportDao {
//商户订单号
private String payNo;
//微信/支付宝订单号
private String paymentId;
//支付方式
private String payType;
//订单状态
private String state;
//价格
private String price;
//支付时间
private String paymentAt;
//创建时间
private String createdAt;
//更新时间
private String updatedAt;
//退款时间
private String refundAt;
//退款价格
private String refundPrice;
}
......@@ -4,7 +4,49 @@ import lombok.Data;
@Data
public class OrderExportDao {
//演出名称/购买名称
private String performanceTitle;
//手机号
private String userMobile;
//名称
private String userName;
//订单号
private String orderCode;
//商户订单号
private String code;
//商户订单号
private String payCode;
//微信/支付宝订单号
private String paymentId;
//订单状态(1.以支付 3.退款中 4.以退款 6.部分退款)
private String status;
//支付平台()
private String paymentType;
//演出类型
private String type;
//票种名称
private String title1;
//场次
private String title2;
//单价
private String price;
//快递费
private String priceExpress;
//购票数
private String number;
//退票数
private String refundNumber;
//实付金额
private String priceActual;
//退款金额
private String priceRefund;
//退款时间
private String refundAt;
//退款原因
private String reject;
//支付时间
private String timePay;
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -70,4 +71,14 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<KylinPerformancesDao> selectTicketIdByPerId(@Param("performancesId") String performancesId);
//订单时间查订单信息
List<OrderExportDao> exportOrderByOrderTime(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
//演出时间查订单信息
List<OrderExportDao> exportOrderByShowTime(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
//演出id查订单信息
List<OrderExportDao> exportOrderByShowId(@Param("showId") String showId);
//会员订单信息
List<MemberOrderExportDao> exportMemberOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
//商品订单信息
List<CommodityOrderExportDao> exportCommodityOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment