记得上下班打卡 | 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);
}
......@@ -53,8 +53,58 @@
<result column="performance_title" property="performanceTitle"/>
<result column="user_mobile" property="userMobile"/>
<result column="user_name" property="userName"/>
<result column="order_code" property="orderCode"/>
<result column="code" property="code"/>
<result column="pay_code" property="payCode"/>
<result column="payment_id" property="paymentId"/>
<result column="status" property="status"/>
<result column="payment_type" property="paymentType"/>
<result column="type" property="type"/>
<result column="title1" property="title1"/>
<result column="title2" property="title2"/>
<result column="price" property="price"/>
<result column="price_express" property="priceExpress"/>
<result column="number" property="number"/>
<result column="refund_number" property="refundNumber"/>
<result column="price_actual" property="priceActual"/>
<result column="price_refund" property="priceRefund"/>
<result column="refund_at" property="refundAt"/>
<result column="reject" property="reject"/>
<result column="time_pay" property="timePay"/>
</resultMap>
<resultMap id="memberOrderExportDaoResult" type="com.liquidnet.service.kylin.dao.MemberOrderExportDao">
<result column="pa_no" property="payNo"/>
<result column="payment_id" property="paymentId"/>
<result column="pay_type" property="payType"/>
<result column="state" property="state"/>
<result column="price" property="price"/>
<result column="payment_at" property="paymentAt"/>
<result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt"/>
<result column="refund_at" property="refundAt"/>
<result column="refundPrice" property="refundPrice"/>
</resultMap>
<resultMap id="commodityOrderExportDaoResult" type="com.liquidnet.service.kylin.dao.CommodityOrderExportDao">
<result column="code" property="code"/>
<result column="payment_id" property="paymentId"/>
<result column="name" property="name"/>
<result column="payment_type" property="paymentType"/>
<result column="price_actual" property="priceActual"/>
<result column="created_at" property="createdAt"/>
<result column="price_express" property="priceExpress"/>
<result column="price_refund" property="priceRefund"/>
<result column="status" property="status"/>
<result column="refund_at" property="refundAt"/>
</resultMap>
<!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">-->
<!-- <result column="performance_title" property="performanceTitle"/>-->
<!-- <result column="user_mobile" property="userMobile"/>-->
<!-- <result column="user_name" property="userName"/>-->
<!-- </resultMap>-->
<resultMap id="PerformanceSimpleAllDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao">
<result column="performances_id" property="performancesId"/>
<result column="title" property="title"/>
......@@ -692,5 +742,303 @@ GROUP BY user_mobile;
kp.time_start ASC
</select>
<!-- 订单信息-->
<select id="exportOrderByOrderTime" resultMap="OrderExportDaoResult">
select temtable.order_code as order_code,
temtable.code as code,
temtable.payment_id as payment_id,
temtable.performance_title as performance_title,
case
when (temtable.status = 1) THEN '已支付'
when (temtable.status = 3) THEN '退款中'
when (temtable.status = 4) THEN '已退款'
when (temtable.status = 6) THEN '部分退款'
END as status,
(CASE
WHEN temtable.payment_type = 'WAPALIPAY' THEN '支付宝'
WHEN temtable.payment_type = 'APPALIPAY' THEN '支付宝'
WHEN temtable.payment_type = 'JSWEPAY' THEN '微信'
WHEN temtable.payment_type = 'APPLETWEPAY' THEN '微信'
WHEN temtable.payment_type = 'APPWEPAY' THEN '微信'
WHEN temtable.payment_type = 'WAPWEPAY' THEN '微信'
WHEN temtable.payment_type = 'WAPUNIONPAY' THEN '银联云闪付'
WHEN temtable.payment_type = 'APPLETDOUYINPAY' THEN '抖音支付'
ELSE '其他' END) as payment_type,
case
when (temtable.type = '1') then '音乐节'
when (temtable.type = '2') then '演唱会'
when (temtable.type = '3') then '小型演出'
when (temtable.type = '4') then '展览'
when (temtable.type = '6') then '舞台剧'
when (temtable.type = '101') then '音乐节'
when (temtable.type = '102') then '小型演出(livehouse演出)'
when (temtable.type = '103') then '巡演'
end as type,
temtable.title1 as title1,
temtable.title2 as title2,
temtable.price as price,
temtable.price_express as price_express,
temtable.number as number,
temtable.refund_number as refund_number,
temtable.price_actual as price_actual,
temtable.price_refund as price_refund,
temtable.refund_at as refund_at,
temtable.reject as reject,
temtable.time_pay as time_pay
from
(select kot.order_code,
do.code,
kot.payment_id,
kot.performance_title,
ks.status,
kot.payment_type,
kp.type,
kt.title as 'title1',
ktt.title as 'title2',
kot.price,
kot.price_express,
kot.number,
kot.refund_number,
kot.price_actual,
kot.price_refund,
dor.refund_at,
kor.reject,
kot.time_pay
from kylin_order_tickets kot
inner join kylin_order_ticket_status ks on kot.order_tickets_id = ks.order_id
left join kylin_order_refunds kor on kor.order_tickets_id = kot.order_tickets_id
inner join kylin_order_ticket_relations kr on kot.order_tickets_id = kr.order_id
inner join kylin_tickets kt on kt.tickets_id = kr.ticket_id
inner join kylin_performances kp on kp.performances_id = kr.performance_id
inner join dragon_orders do on do.order_code = kot.order_code
left join dragon_order_refunds dor on dor.order_refund_id = do.code
left join kylin_ticket_times ktt on ktt.ticket_times_id = kr.time_id
where ks.status in (1, 3)
and ks.transfer_status in (0, 1, 2, 5)
and (do.payment_at between #{beginTime} and #{endTime}
group by do.code
union
select kot.order_code,
do.code,
kot.payment_id,
kot.performance_title,
ks.status,
kot.payment_type,
kp.type,
kt.title as 'title1',
ktt.title as 'title2',
kot.price,
kot.price_express,
kot.number,
kot.refund_number,
kot.price_actual,
kot.price_refund,
dor.refund_at,
kor.reject,
kot.time_pay
from kylin_order_tickets kot
inner join kylin_order_ticket_status ks on kot.order_tickets_id = ks.order_id
left join kylin_order_refunds kor on kor.order_tickets_id = kot.order_tickets_id
inner join kylin_order_ticket_relations kr on kot.order_tickets_id = kr.order_id
inner join kylin_tickets kt on kt.tickets_id = kr.ticket_id
inner join kylin_performances kp on kp.performances_id = kr.performance_id
inner join dragon_orders do on do.order_code = kot.order_code
inner join dragon_order_refunds dor on dor.order_refund_id = do.code
left join kylin_ticket_times ktt on ktt.ticket_times_id = kr.time_id
where ks.status in (1, 3, 4, 6)
and ks.transfer_status in (0, 1, 2, 5)
and dor.refund_at between #{beginTime} and #{endTime}
group by do.code) temtable group by temtable.code
</select>
<!-- 演出时间查订单信息-->
<select id="exportOrderByShowTime" resultMap="OrderExportDaoResult">
select kot.order_code as order_code,
kot.pay_code as pay_code,
kot.payment_id as payment_id,
kot.performance_title as performance_title,
(CASE
WHEN kot.payment_type = 'WAPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'APPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'JSWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPLETWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPWEPAY' THEN '微信'
WHEN kot.payment_type = 'WAPWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPUNIONPAY' THEN '银联云闪付'
WHEN kot.payment_type = 'WAPUNIONPAY' THEN '银联云闪付'
WHEN kot.payment_type = 'APPLETDOUYINPAY' THEN '抖音支付'
ELSE '其他' END) as payment_type,
case
when (kp.type = '1') then '音乐节'
when (kp.type = '2') then '演唱会'
when (kp.type = '3') then '小型演出'
when (kp.type = '4') then '展览'
when (kp.type = '6') then '舞台剧'
when (kp.type = '101') then '音乐节'
when (kp.type = '102') then '小型演出(livehouse演出)'
when (kp.type = '103') then '巡演'
end as type,
kt.title as title1,
kot.number as number,
ktt.title as title2,
kor.updated_at as refund_at,
kor.reject as reject,
kot.price_actual as price_actual,
kot.time_pay as time_pay
from kylin_order_tickets kot
inner join kylin_order_ticket_status ks
on kot.order_tickets_id = ks.order_id and ks.transfer_status in (0, 1, 2, 5)
left join kylin_order_refunds kor on kor.order_tickets_id = kot.order_tickets_id
inner join kylin_order_ticket_relations kr on kot.order_tickets_id = kr.order_id
inner join kylin_tickets kt on kt.tickets_id = kr.ticket_id
inner join kylin_performances kp on kp.performances_id = kr.performance_id
and (kp.time_start &gt;= #{beginTime}) and (kp.time_start &lt;= #{endTime})
left join kylin_ticket_times ktt on ktt.ticket_times_id = kr.time_id
where ks.status in (1, 3, 4, 6)
group by kot.order_tickets_i
</select>
<!-- 演出id查订单信息-->
<select id="exportOrderByShowId" resultMap="OrderExportDaoResult">
select kot.order_code as order_code,
kot.pay_code as pay_code,
kot.payment_id as payment_id,
kot.performance_title as performance_title,
(CASE
WHEN kot.payment_type = 'WAPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'APPALIPAY' THEN '支付宝'
WHEN kot.payment_type = 'JSWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPLETWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPWEPAY' THEN '微信'
WHEN kot.payment_type = 'WAPWEPAY' THEN '微信'
WHEN kot.payment_type = 'APPUNIONPAY' THEN '银联云闪付'
WHEN kot.payment_type = 'WAPUNIONPAY' THEN '银联云闪付'
ELSE '其他' END) as payment_type,
kot.number as number,
kot.price as price,
kot.price_actual as price_actual,
kot.price_express as price_express,
kot.refund_number as refund_number,
case
when (kp.type = '1') then '音乐节'
when (kp.type = '2') then '演唱会'
when (kp.type = '3') then '小型演出'
when (kp.type = '4') then '展览'
when (kp.type = '6') then '舞台剧'
when (kp.type = '101') then '音乐节'
when (kp.type = '102') then '小型演出(livehouse演出)'
when (kp.type = '103') then '巡演'
end as type ,
kt.title as title1,
ktt.title as title2,
kor.updated_at as updated_at,
kor.reject as reject,
kot.price_refund as price_refund,
kot.time_pay as time_pay
from kylin_order_tickets kot
inner join kylin_order_ticket_status ks on kot.order_tickets_id = ks.order_id
left join kylin_order_refunds kor on kor.order_tickets_id = kot.order_tickets_id
inner join kylin_order_ticket_relations kr on kot.order_tickets_id = kr.order_id
and kr.performance_id = #{showId}
inner join kylin_tickets kt on kt.tickets_id = kr.ticket_id
inner join kylin_performances kp on kp.performances_id = kr.performance_id
left join kylin_ticket_times ktt on ktt.ticket_times_id = kr.time_id
where ks.status in (1, 3, 4, 6)
and ks.transfer_status in (0, 1, 2, 5)
group by kot.order_tickets_id
</select>
<!-- 会员订单信息-->
<select id="exportMemberOrder" resultMap="memberOrderExportDaoResult">
select amo.pay_no as pay_no,
amo.payment_id as payment_id,
(case amo.pay_type
when 'alipay' then '支付宝'
when 'wepay' then '微信'
when 'unionpay' then '银联'
else '其他'
end) as pay_type,
(case amo.state
when '1' then '已支付'
when '3' then '超时支付'
when '4' then '退款中'
when '5' then '已退款'
else '其他'
end) as state,
amo.price as price,
amo.payment_at as payment_at,
amo.created_at as created_at,
amo.updated_at as updated_at,
amr.refund_at as refund_at,
amr.refund_price as refund_price
from adam_member_order amo
left join adam_member_refund amr on amr.order_no = amo.order_no
where amo.pay_type != 'giftcode'
and amo.state in (1, 3, 4, 5)
and (amo.payment_at between #{beginTime} and #{endTime}
or amo.created_at between #{beginTime} and #{endTime}
or amo.updated_at between #{beginTime} and #{endTime})
</select>
<!-- 商品订单信息-->
<select id="exportCommodityOrder" resultMap="commodityOrderExportDaoResult">
select temtable.code as code,
temtable.payment_id as payment_id,
name as name,
(CASE temtable.payment_type
WHEN 'WAPALIPAY' THEN '支付宝'
WHEN 'APPALIPAY' THEN '支付宝'
WHEN 'JSWEPAY' THEN '微信'
WHEN 'APPLETWEPAY' THEN '微信'
WHEN 'APPWEPAY' THEN '微信'
WHEN 'WAPWEPAY' THEN '微信'
WHEN 'APPUNIONPAY' THEN '银联云闪付'
WHEN 'WAPUNIONPAY' THEN '银联云闪付'
WHEN 'APPLETDOUYINPAY' THEN '抖音支付'
ELSE '其他' END) as payment_type,
temtable.price_actual as price_actual,
temtable.created_at as created_at,
temtable.price_express as price_express,
temtable.price_refund as price_refund,
temtable.status as status,
temtable.refund_at as refund_at
from
(select do.code,
gso.payment_id,
group_concat(distinct concat(gos.spu_name, '*', gos.num) separator ';') as 'name',
gso.payment_type,
gso.price_actual,
do.created_at,
gso.price_express,
gso.price_refund,
gso.status,
gbo.refund_at
from goblin_store_order gso
inner join goblin_order_sku gos on gos.order_id = gso.order_id
inner join dragon_orders do on do.order_code = gso.master_order_code and do.status = 1
left join goblin_back_order gbo on gbo.order_id = gso.order_id and gbo.status in (2, 8)
where
do.created_at between #{beginTime} and #{endTime}
and gso.status not in (0, 5)
group by do.code
union
select do.code,
gso.payment_id,
group_concat(distinct concat(gos.spu_name, '*', gos.num) separator ';') as 'name',
gso.payment_type,
gso.price_actual,
do.created_at,
gso.price_express,
gso.price_refund,
gso.status,
gbo.refund_at
from goblin_store_order gso
inner join goblin_order_sku gos on gos.order_id = gso.order_id
inner join dragon_orders do on do.order_code = gso.master_order_code and do.status = 1
inner join dragon_order_refunds dor on dor.order_refund_id = do.code
left join goblin_back_order gbo on gbo.order_id = gso.order_id and gbo.status in (2, 8)
where
dor.refund_at between #{beginTime} and #{endTime}
and gso.status not in (0, 5)
group by do.code) temtable group by temtable.code
</select>
</mapper>
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