Bladeren bron

导出驾校订单明细excel

小么熊🐻 2 jaren geleden
bovenliggende
commit
1c864f5eaa

+ 3 - 2
jsjp-admin/src/main/java/com/miaxis/pc/PcOrderInfoController.java

@@ -9,6 +9,7 @@ import com.miaxis.common.utils.poi.ExcelUtil;
 import com.miaxis.order.domain.OrderInfo;
 import com.miaxis.order.dto.QuerySchoolOrderListDTO;
 import com.miaxis.order.service.IOrderInfoService;
+import com.miaxis.order.vo.QuerySchoolOrderDetailedVo;
 import com.miaxis.order.vo.QuerySchoolOrderListVo;
 import com.miaxis.wx.domain.WxJsOrder;
 import com.miaxis.wx.service.IRefundRecordService;
@@ -117,8 +118,8 @@ public class PcOrderInfoController extends BaseController{
     @GetMapping("/exportDetailed")
     @ApiOperation("导出驾校订单明细Excel")
     public Response<String> exportDetailed(@ModelAttribute QuerySchoolOrderListDTO schoolOrderListDTO){
-        List<OrderInfo> list = orderInfoService.selectSchoolOrderDetailed(schoolOrderListDTO);
-        ExcelUtil<OrderInfo> util = new ExcelUtil<OrderInfo>(OrderInfo.class);
+        List<QuerySchoolOrderDetailedVo> list = orderInfoService.selectSchoolOrderDetailedExcel(schoolOrderListDTO);
+        ExcelUtil<QuerySchoolOrderDetailedVo> util = new ExcelUtil<QuerySchoolOrderDetailedVo>(QuerySchoolOrderDetailedVo.class);
         return util.exportExcel(list, "info");
     }
 

+ 3 - 0
jsjp-service/src/main/java/com/miaxis/order/mapper/OrderInfoMapper.java

@@ -3,6 +3,7 @@ package com.miaxis.order.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.order.domain.OrderInfo;
 import com.miaxis.order.dto.QuerySchoolOrderListDTO;
+import com.miaxis.order.vo.QuerySchoolOrderDetailedVo;
 import com.miaxis.order.vo.QuerySchoolOrderListVo;
 
 import java.util.List;
@@ -33,4 +34,6 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
     Integer getCommissionMoney(QuerySchoolOrderListDTO schoolOrderListDTO);
 
     List<QuerySchoolOrderListVo> selectSchoolOrderInfoExcel(QuerySchoolOrderListDTO schoolOrderListDTO);
+
+    List<QuerySchoolOrderDetailedVo> selectSchoolOrderDetailedExcel(QuerySchoolOrderListDTO schoolOrderListDTO);
 }

+ 3 - 0
jsjp-service/src/main/java/com/miaxis/order/service/IOrderInfoService.java

@@ -3,6 +3,7 @@ package com.miaxis.order.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.miaxis.order.domain.OrderInfo;
 import com.miaxis.order.dto.QuerySchoolOrderListDTO;
+import com.miaxis.order.vo.QuerySchoolOrderDetailedVo;
 import com.miaxis.order.vo.QuerySchoolOrderListVo;
 import com.miaxis.wx.domain.WxJsOrder;
 
@@ -35,6 +36,8 @@ public interface IOrderInfoService extends IService<OrderInfo> {
 
     List<OrderInfo> selectSchoolOrderDetailed(QuerySchoolOrderListDTO schoolOrderListDTO);
 
+    List<QuerySchoolOrderDetailedVo> selectSchoolOrderDetailedExcel(QuerySchoolOrderListDTO schoolOrderListDTO);
+
     Integer getTotalMoney(QuerySchoolOrderListDTO orderInfo);
 
     Integer getCommissionMoney(QuerySchoolOrderListDTO orderInfo);

+ 6 - 0
jsjp-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java

@@ -13,6 +13,7 @@ import com.miaxis.order.domain.OrderInfo;
 import com.miaxis.order.dto.QuerySchoolOrderListDTO;
 import com.miaxis.order.mapper.OrderInfoMapper;
 import com.miaxis.order.service.IOrderInfoService;
+import com.miaxis.order.vo.QuerySchoolOrderDetailedVo;
 import com.miaxis.order.vo.QuerySchoolOrderListVo;
 import com.miaxis.userInfo.domain.UserVip;
 import com.miaxis.userInfo.service.IUserVipService;
@@ -1322,6 +1323,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         return orderInfoMapper.selectSchoolOrderDetailed(schoolOrderListDTO);
     }
 
+    @Override
+    public List<QuerySchoolOrderDetailedVo> selectSchoolOrderDetailedExcel(QuerySchoolOrderListDTO schoolOrderListDTO) {
+        return orderInfoMapper.selectSchoolOrderDetailedExcel(schoolOrderListDTO);
+    }
+
     @Override
     public Integer getTotalMoney(QuerySchoolOrderListDTO orderInfo) {
         return orderInfoMapper.getTotalMoney(orderInfo);

+ 121 - 0
jsjp-service/src/main/java/com/miaxis/order/vo/QuerySchoolOrderDetailedVo.java

@@ -0,0 +1,121 @@
+package com.miaxis.order.vo;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.miaxis.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+
+ */
+@Data
+@ApiModel(description = "驾校订单查询返回对象")
+public class QuerySchoolOrderDetailedVo {
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    /** 商品 */
+    @Excel(name = "商品")
+    @ApiModelProperty(value = "商品")
+    private String goodsName;
+
+    /** 用户ID */
+    @Excel(name = "用户ID")
+    @ApiModelProperty(value = "用户ID")
+    private Long userId;
+
+    /** 用户姓名 */
+    @Excel(name = "用户姓名")
+    @ApiModelProperty(value = "用户姓名")
+    private String userName;
+
+    /** 用户登录名 */
+    @Excel(name = "用户登录名")
+
+    @ApiModelProperty(value = "用户登录名")
+    private String logincode;
+
+
+    /** 极速驾培订单ID */
+    @Excel(name = "极速驾培订单ID")
+
+    @ApiModelProperty(value = "极速驾培订单ID")
+    private String outTradeNo;
+
+    /** 极速驾培中退款订单ID */
+    @Excel(name = "极速驾培中退款订单ID")
+    @ApiModelProperty(value = "极速驾培中退款订单ID")
+    private String outRefundNo;
+
+
+    /** 总金额*/
+    @Excel(name = "总金额")
+    @ApiModelProperty(value = "总金额")
+    private Integer total;
+
+    /** 交易状态 1、支付成功2、支付失败*/
+    @Excel(name = "交易状态 1、支付成功2、支付失败")
+    @ApiModelProperty(value = "微信交易状态,枚举值:")
+    private Integer tradeType;
+
+    /** 支付完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "支付完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "支付完成时间")
+    private Date successTime;
+
+    /** 1:微信 2:支付宝 */
+    @TableField("pay_type")
+    private Integer payType;
+
+    /** 是否分成 */
+    @Excel(name = "是否分成给驾校 0:不分成  1:分成")
+    @ApiModelProperty(value = "是否分成给驾校 0:不分成  1:分成")
+    private Integer isShare;
+
+    /** 地区编号 */
+    @Excel(name = "地区编号")
+    @ApiModelProperty(value = "地区编号")
+    private String dqbh;
+
+    /** 地区编号 */
+    @Excel(name = "地区名称")
+    @ApiModelProperty(value = "地区名称")
+    private String dqmc;
+
+    /** 驾校编号 */
+    @Excel(name = "驾校编号")
+    @ApiModelProperty(value = "驾校编号")
+    private String school;
+
+    /** 驾校名称 */
+    @Excel(name = "驾校名称")
+    @ApiModelProperty(value = "驾校名称")
+    private String schoolName;
+
+    /** 驾校提成 */
+    @Excel(name = "驾校提成")
+    @ApiModelProperty(value = "驾校提成")
+    private Integer schoolCommission;
+
+    /** 手机类型 1:苹果 2:安卓 */
+    @Excel(name = "手机类型 1:苹果 2:安卓")
+    @ApiModelProperty(value = "手机类型 1:苹果 2:安卓")
+    private Integer phoneType;
+
+    /** 退款原因 */
+    @Excel(name = "退款原因")
+    @ApiModelProperty(value = "退款原因")
+    private String refundReason;
+
+
+
+}

+ 34 - 0
jsjp-service/src/main/resources/mapper/order/OrderInfoMapper.xml

@@ -196,6 +196,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by success_time desc
     </select>
 
+
+    <select id="selectSchoolOrderDetailedExcel"  resultType="com.miaxis.order.vo.QuerySchoolOrderDetailedVo">
+        select
+            school_name,
+            goods_name,user_name,logincode,out_trade_no,
+            case when trade_type = 1 then '支付成功'
+            when trade_type = 2 then '支付失败'
+            when trade_type = 3 then '已退款' else '未知' end as trade_type,
+            case when phone_type = 1 then '苹果' else '安卓' end as phone_type,
+            IFNULL(total/100,0) as total,IFNULL(school_commission/100,0) as school_commission,
+            success_time,
+            case when is_share = 1 then '是' else '否' end as is_share
+        from order_info
+        <where>
+            <if test="isShare != null">
+                and is_share = #{isShare }
+            </if>
+            <if test="tradeType != null">
+                and trade_type = #{tradeType }
+            </if>
+            <if test="schoolName != null  and schoolName != ''">
+                and school_name like concat('%', #{schoolName}, '%')
+            </if>
+            <if test="startTime != null">
+                and DATE_FORMAT(success_time,'%Y-%m-%d %H:%i:%S')<![CDATA[ >= ]]> #{startTime}
+            </if>
+            <if test="endTime != null">
+                and DATE_FORMAT(success_time,'%Y-%m-%d %H:%i:%S') <![CDATA[ <= ]]> #{endTime}
+            </if>
+        </where>
+        order by success_time desc
+    </select>
+
+
     <select id="getByOutTradeNo" parameterType="string" resultType="com.miaxis.order.domain.OrderInfo">
         select * from order_info where out_trade_no =#{outTradeNo}
     </select>