Ver código fonte

fix 订单搜索

he2802 3 anos atrás
pai
commit
74b4083439

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsPeriodVo.java

@@ -108,4 +108,21 @@ public class GoodsPeriodVo {
 
 	@ApiModelProperty("订单商品ID")
 	private Long orderGoodsId;
+
+	/** 服务有效期开始 */
+	@Excel(name = "服务有效期开始")
+	@ApiModelProperty("服务有效期开始")
+	private Long serviceStartTime;
+	/** 服务有效期结束 */
+	@Excel(name = "服务有效期结束")
+	@ApiModelProperty("服务有效期结束")
+	private Long serviceEndTime;
+	/** 班级有效期开始时间 */
+	@Excel(name = "班级有效期开始时间")
+	@ApiModelProperty("班级有效期开始时间")
+	private Long classStartTime;
+	/** 班级有效期结束时间 */
+	@Excel(name = "班级有效期结束时间")
+	@ApiModelProperty("班级有效期结束时间")
+	private Long classEndTime;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderQueryBo.java

@@ -128,4 +128,7 @@ public class OrderQueryBo extends BaseEntity {
 
 	@ApiModelProperty("支付状态 1未收费 2部分收费 3完全收费 4免费 (退款状态保持不变)")
 	private Integer goodsPayStatus;
+
+	@ApiModelProperty("商品订单状态 -1关闭 0待支付 1已支付 2已退款")
+	private Integer orderGoodsStatus;
 }

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -143,6 +143,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     @Override
     public List<OrderListVo> selectList(OrderQueryBo bo) {
+        if(Validator.isNotEmpty(bo.getOrderGoodsStatus())){
+            if(bo.getOrderGoodsStatus()==-1){
+                Integer[] orderStatus = new Integer []{-2,-1};
+                bo.setOrderStatus(orderStatus);
+            }
+            else if(bo.getOrderGoodsStatus()==0){
+                bo.setGoodsPayStatus(1);
+            }
+            else if(bo.getOrderGoodsStatus()==1){
+                //已支付 sql实现
+            }
+            else if(bo.getOrderGoodsStatus()==2){
+                bo.setRefundStatus(2);
+            }
+        }
         List<OrderListVo> orderListVos = this.baseMapper.selectList(bo);
         for (OrderListVo vo : orderListVos) {
             if (Validator.isNotEmpty(vo.getRebuyOrderGoodsId()) && vo.getRebuyOrderGoodsId().longValue() > 0) {

+ 10 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -104,6 +104,10 @@
         <result property="rebuildNum" column="rebuildNum"/>
         <result property="rebuildStatus" column="rebuild_status"/>
         <result property="orderGoodsId" column="order_goods_id"/>
+        <result property="serviceStartTime" column="service_start_time"/>
+        <result property="serviceEndTime" column="service_end_time"/>
+        <result property="classStartTime" column="class_start_time"/>
+        <result property="classEndTime" column="class_end_time"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.goods.vo.GoodsPeriodStatusVo" id="GoodsPeriodStatusVo">
@@ -410,12 +414,17 @@
             (case WHEN (SELECT COUNT(1) FROM exam_before_goods ebg LEFT JOIN exam_before eb on ebg.before_id = eb.before_id where ebg.goods_id = cgg.goods_id and eb.`status` = 1 and unix_timestamp(now()) BETWEEN eb.before_start_time and eb.before_end_time) >0 then 1 ELSE 0 end) as before_status,
             (SELECT ea.apply_name FROM exam_apply_goods eag LEFT JOIN exam_apply ea on eag.apply_id = ea.apply_id where eag.goods_id = cgg.goods_id and ea.`status` = 1 and unix_timestamp(now()) BETWEEN ea.apply_start_time and ea.apply_end_time) as apply_name,
             (SELECT eb.before_name FROM exam_before_goods ebg LEFT JOIN exam_before eb on ebg.before_id = eb.before_id where ebg.goods_id = cgg.goods_id and eb.`status` = 1 and unix_timestamp(now()) BETWEEN eb.before_start_time and eb.before_end_time) as before_name,
-            (SELECT og.order_goods_id FROM order_goods og LEFT JOIN `order` o ON og.order_sn = o.order_sn WHERE og.grade_id = cgu.grade_id AND o.user_id = #{userId} AND og.refund_status != 2 AND og.pay_status IN (2,3,4)) as order_goods_id
+            cgu.order_goods_id,
+            og.service_start_time,
+            og.service_end_time,
+            cg.class_start_time,
+            cg.class_end_time
         FROM
             class_grade_user cgu
                 LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
                 LEFT JOIN class_grade cg on cg.grade_id = cgu.grade_id
                 LEFT JOIN goods g on g.goods_id=cgg.goods_id
+                LEFT JOIN order_goods og on cgu.order_goods_id = og.order_goods_id
                 LEFT JOIN (SELECT c.goods_id,COUNT(m.id) exam_num FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id   where  m.type = 1 GROUP BY c.goods_id) ge ON
                 cgg.goods_id = ge.goods_id
         WHERE

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -152,6 +152,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 #{item}
             </foreach>
         </if>
+        <if test="orderGoodsStatus == 1">
+            AND og.pay_status in (2,3,4) AND og.refund_status != 2
+        </if>
         <if test="startTime != null">
             AND o.create_time >= #{startTime}
         </if>