he2802 1 gadu atpakaļ
vecāks
revīzija
268ac5eea6

+ 16 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/DangAnController.java

@@ -5,6 +5,9 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
+import com.zhongzheng.modules.order.bo.OrderQueryBo;
+import com.zhongzheng.modules.order.service.IOrderService;
+import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.user.bo.UserVisitLogQueryBo;
 import com.zhongzheng.modules.user.service.IUserVisitLogService;
 import com.zhongzheng.modules.user.vo.UserVisitLogVo;
@@ -20,12 +23,12 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.List;
 
 /**
- * 用户访问日志Controller
+ * 用户档案Controller
  *
  * @author hjl
  * @date 2022-08-17
  */
-@Api(value = "用户访问日志控制器", tags = {"用户访问日志管理"})
+@Api(value = "用户档案控制器", tags = {"用户档案管理"})
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
 @RequestMapping("/user/dangAn")
@@ -33,6 +36,8 @@ public class DangAnController extends BaseController {
 
     private final IClassGradeUserService iClassGradeUserService;
 
+    private final IOrderService iOrderService;
+
     @ApiOperation("查询档案网课列表")
     @PreAuthorize("@ss.hasPermi('grade:user:list')")
     @GetMapping("/listVideoUserPeriod")
@@ -42,5 +47,14 @@ public class DangAnController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("查询档案订单列表")
+    @PreAuthorize("@ss.hasPermi('grade:user:list')")
+    @GetMapping("/listOrder")
+    public TableDataInfo<OrderListVo> listDangAnOrder(OrderQueryBo bo) {
+        startPage();
+        List<OrderListVo> list = iOrderService.selectDangAnOrderList(bo);
+        return getDataTable(list);
+    }
+
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -23,6 +23,8 @@ import java.util.List;
 public interface OrderMapper extends BaseMapper<Order> {
     List<OrderListVo> selectListByBo(OrderQueryBo bo);
 
+    List<OrderListVo> selectDangAnOrderList(OrderQueryBo bo);
+
     Integer selectUserClass(@Param("goodsId") Long goodsId,@Param("userId") Long userId);
 
     List<OrderListVo> selectListApp(OrderQueryBo bo);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -39,6 +39,8 @@ public interface IOrderService extends IService<Order> {
 
 	List<OrderListVo> selectList(OrderQueryBo bo);
 
+	List<OrderListVo> selectDangAnOrderList(OrderQueryBo bo);
+
 	List<OrderListVo> selectRebuyList(OrderQueryBo bo);
 
 	List<OrderUserCheckBuyBo> userCheckBuyList(List<OrderUserCheckBuyBo> list);

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

@@ -279,6 +279,38 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return orderListVos;
     }
 
+    @Override
+    public List<OrderListVo> selectDangAnOrderList(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.selectListByBo(bo);
+        for (OrderListVo vo : orderListVos) {
+            //商品订单状态 -1关闭 0待支付 1已支付 2已退款
+            if (Validator.isEmpty(vo.getRefundStatus())) {
+                vo.setOrderGoodsStatus(-1);
+            } else if (vo.getRefundStatus() == 2) {
+                vo.setOrderGoodsStatus(2);
+            } else if (vo.getOrderStatus() < 0) {
+                vo.setOrderGoodsStatus(-1);
+            } else if (vo.getGoodsPayStatus() == 1) {
+                vo.setOrderGoodsStatus(0);
+            } else if (vo.getGoodsPayStatus() > 1) {
+                vo.setOrderGoodsStatus(1);
+            }
+        }
+        return orderListVos;
+    }
+
     @Override
     public List<OrderListVo> selectRebuyList(OrderQueryBo bo) {
         List<OrderListVo> orderListVos = this.baseMapper.selectRebuyList(bo);

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

@@ -199,6 +199,104 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY o.order_id DESC
     </select>
 
+    <select id="selectDangAnOrderList" parameterType="com.zhongzheng.modules.order.bo.OrderQueryBo" resultMap="OrderResultVo">
+        SELECT
+        o.*,
+        g.goods_id,
+        g.goods_name,
+        g.year,
+        g.cover_url,
+        g.code,
+        g.goods_type,
+        og.goods_price,
+        og.rebuy_order_goods_id,
+        og.order_goods_id,
+        og.goods_real_price,
+        u.telphone,
+        u.realname,
+        u.id_card,
+        cet.education_name,
+        cpt.project_name,
+        cb.business_name,
+        og.goods_received,
+        og.refund_status,
+        og.pay_status as goods_pay_status
+        FROM
+        `order` o
+        LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+        LEFT JOIN goods g ON og.goods_id = g.goods_id
+        LEFT JOIN `user` u ON o.user_id = u.user_id
+        LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        LEFT JOIN course_business cb ON g.business_id = cb.id
+        WHERE 1=1
+
+        <if test="educationTypeId != null and educationTypeId != ''">
+            AND g.education_type_id = #{educationTypeId}
+        </if>
+        <if test="businessId != null and businessId != ''">
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="orderSn != null and orderSn != ''">
+            AND o.order_sn = #{orderSn}
+        </if>
+        <if test="orderStatus != null ">
+            AND o.order_status in
+            <foreach collection="orderStatus" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="status != null ">
+            AND o.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{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>
+        <if test="endTime != null">
+            AND #{endTime} >= o.create_time
+        </if>
+        <if test="payStatus != null">
+            AND o.pay_status = #{payStatus}
+        </if>
+        <if test="goodsPayStatus != null">
+            AND og.pay_status = #{goodsPayStatus}
+        </if>
+        <if test="refundStatus != null">
+            AND og.refund_status = #{refundStatus}
+        </if>
+        <if test="goodsType != null">
+            AND g.goods_type = #{goodsType}
+        </if>
+        <if test="userId != null">
+            AND u.user_id = #{userId}
+        </if>
+        <if test="inputOrderSn != null">
+            AND o.input_order_sn = #{inputOrderSn}
+        </if>
+        <if test="searchKey != null and searchKey != ''">
+            AND (u.realname like concat('%', #{searchKey}, '%') or o.order_sn = #{searchKey} or u.id_card = #{searchKey} or g.goods_name like concat('%', #{searchKey}, '%'))
+        </if>
+        <if test="orderGoodsIds != null ">
+            AND og.order_goods_id in
+            <foreach collection="orderGoodsIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="orderFroms != null ">
+            AND o.order_from in
+            <foreach collection="orderFroms" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        ORDER BY o.order_id DESC
+    </select>
+
     <select id="selectRebuyList" parameterType="com.zhongzheng.modules.order.bo.OrderQueryBo" resultMap="OrderResultVo">
         SELECT
         o.*,