Browse Source

退款管理和驾校报表

Althars123 2 years ago
parent
commit
9e892023df

+ 38 - 3
jsjp-admin/src/main/java/com/miaxis/app/controller/order/OrderInfoController.java

@@ -5,7 +5,9 @@ import com.miaxis.common.core.controller.BaseController;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.page.ResponsePageInfo;
 import com.miaxis.order.domain.OrderInfo;
+import com.miaxis.order.dto.QuerySchoolOrderListDTO;
 import com.miaxis.order.service.IOrderInfoService;
+import com.miaxis.order.vo.QuerySchoolOrderListVo;
 import com.miaxis.wx.domain.WxJsOrder;
 import com.miaxis.wx.service.IRefundRecordService;
 import com.miaxis.wx.service.IWxJsOrderService;
@@ -51,11 +53,26 @@ public class OrderInfoController extends BaseController{
     }
 
 
-
-
     /**
-     * 发起退款
+     * 查询驾校订单
      */
+    @GetMapping("/school/list")
+    @ApiOperation("查询驾校报表信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+    })
+    public ResponsePageInfo<QuerySchoolOrderListVo> list(@ModelAttribute QuerySchoolOrderListDTO schoolOrderListDTO) {
+        startPage();
+        List<QuerySchoolOrderListVo> list = orderInfoService.selectSchoolOrderInfoList(schoolOrderListDTO);
+        return toResponsePageInfo(list);
+
+
+    }
+
+        /**
+         * 发起退款
+         */
     @PutMapping(value = "/refund/{outTradeNo}")
     @ApiOperation("发起退款")
     public Response<OrderInfo> refund(
@@ -70,5 +87,23 @@ public class OrderInfoController extends BaseController{
     }
 
 
+    /**
+     * 驾校报表
+     */
+    @PutMapping(value = "/school/report")
+    @ApiOperation("发起退款")
+    public Response<OrderInfo> report(
+            @ApiParam(name = "outTradeNo", value = "订单信息参数", required = true)
+            @PathVariable("outTradeNo") String outTradeNo
+    ) throws Exception {
+        String refundCode = getOrderCode(null);
+        WxJsOrder order = wxJsOrderService.getByOutTradeNo(outTradeNo);
+        refundRecordService.refund(order,refundCode,"极速驾培退款");
+        //todo 取消会员
+        return Response.success();
+    }
+
+
+
 
 }

+ 31 - 0
jsjp-service/src/main/java/com/miaxis/order/dto/QuerySchoolOrderListDTO.java

@@ -0,0 +1,31 @@
+package com.miaxis.order.dto;
+
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+
+ */
+@Data
+@ApiModel(value = "QuerySchoolOrderListDTO", description = "驾校订单查询参数对象")
+public class QuerySchoolOrderListDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "开始时间,格式yyyyMMdd")
+//    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private String startTime;
+
+
+    @ApiModelProperty(value = "结束时间,格式yyyyMMdd")
+//    @JsonFormat(pattern="yyyyMMdd",timezone = "GMT+8")
+    private String endTime;
+
+    @ApiModelProperty(value = "驾校名称")
+    private String schoolName;
+
+
+}

+ 6 - 1
jsjp-service/src/main/java/com/miaxis/order/mapper/OrderInfoMapper.java

@@ -1,8 +1,11 @@
 package com.miaxis.order.mapper;
 
-import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.order.domain.OrderInfo;
+import com.miaxis.order.dto.QuerySchoolOrderListDTO;
+import com.miaxis.order.vo.QuerySchoolOrderListVo;
+
+import java.util.List;
 
 /**
  * 订单信息Mapper接口
@@ -20,4 +23,6 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
     public List<OrderInfo> selectOrderInfoList(OrderInfo orderInfo);
 
     OrderInfo getByOutTradeNo(String outTradeNo);
+
+    List<QuerySchoolOrderListVo> selectSchoolOrderInfoList(QuerySchoolOrderListDTO schoolOrderListDTO);
 }

+ 7 - 2
jsjp-service/src/main/java/com/miaxis/order/service/IOrderInfoService.java

@@ -1,8 +1,11 @@
 package com.miaxis.order.service;
 
-import java.util.List;
-import com.miaxis.order.domain.OrderInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.order.domain.OrderInfo;
+import com.miaxis.order.dto.QuerySchoolOrderListDTO;
+import com.miaxis.order.vo.QuerySchoolOrderListVo;
+
+import java.util.List;
 
 /**
  * 订单信息Service接口
@@ -23,4 +26,6 @@ public interface IOrderInfoService extends IService<OrderInfo>{
 
 
    public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType);
+
+    List<QuerySchoolOrderListVo> selectSchoolOrderInfoList(QuerySchoolOrderListDTO schoolOrderListDTO);
 }

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

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.miaxis.common.utils.DateUtils;
+import com.miaxis.order.dto.QuerySchoolOrderListDTO;
+import com.miaxis.order.vo.QuerySchoolOrderListVo;
 import com.miaxis.userInfo.domain.UserVip;
 import com.miaxis.userInfo.service.IUserVipService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -712,4 +714,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
     }
 
+    @Override
+    public List<QuerySchoolOrderListVo> selectSchoolOrderInfoList(QuerySchoolOrderListDTO schoolOrderListDTO) {
+        return orderInfoMapper.selectSchoolOrderInfoList(schoolOrderListDTO);
+    }
+
 }

+ 31 - 0
jsjp-service/src/main/java/com/miaxis/order/vo/QuerySchoolOrderListVo.java

@@ -0,0 +1,31 @@
+package com.miaxis.order.vo;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+
+ */
+@Data
+@ApiModel(description = "驾校订单查询返回对象")
+public class QuerySchoolOrderListVo  {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "驾校名称")
+    private String schoolName;
+
+    @ApiModelProperty(value = "驾校编号")
+    private String school;
+
+
+    @ApiModelProperty(value = "订单总金额")
+    private String orderTotal;
+
+    @ApiModelProperty(value = "驾校提成")
+    private String schoolCommission;
+
+
+}

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

@@ -40,4 +40,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select * from order_info where out_trade_no =#{outTradeNo}
     </select>
 
+    <select id="selectSchoolOrderInfoList"  resultType="com.miaxis.order.vo.QuerySchoolOrderListVo">
+        select
+        school,
+        school_name,
+        sum(school_commission) as school_commission,
+        sum(total) as orderTotal
+        from order_info
+        where is_share =1
+        <if test="schoolName != null  and schoolName != ''">
+            and  t1.openid in (select openid from user_info where school_name = #{schoolName})
+        </if>
+        <if test="startTime != null">
+            and DATE_FORMAT(t1.create_time,'%Y-%m-%d')<![CDATA[ >= ]]> #{startTime}
+        </if>
+        <if test="endTime != null">
+            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ < ]]> #{endTime}
+        </if>
+        group by school,school_name
+
+
+    </select>
+
 </mapper>