Browse Source

1、优化订单分页接口

rayson 4 months ago
parent
commit
087ca275f2

+ 3 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/order/TradeOrderController.java

@@ -3,10 +3,8 @@ package com.citu.module.menduner.system.controller.admin.order;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.base.order.TradeOrderCreateReqVO;
+import com.citu.module.menduner.system.controller.base.order.TradeOrderDetailRespVO;
 import com.citu.module.menduner.system.controller.base.order.TradeOrderPageReqVO;
-import com.citu.module.menduner.system.controller.base.order.TradeOrderRespVO;
-import com.citu.module.menduner.system.convert.TradeOrderConvert;
-import com.citu.module.menduner.system.dal.dataobject.order.TradeOrderDO;
 import com.citu.module.menduner.system.service.order.TradeOrderService;
 import com.citu.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
 import com.citu.module.pay.api.notify.dto.PayRefundNotifyReqDTO;
@@ -43,9 +41,8 @@ public class TradeOrderController {
     @GetMapping("/page")
     @Operation(summary = "获得订单分页")
     @PreAuthorize("@ss.hasPermission('menduner:system:trade-order:query')")
-    public CommonResult<PageResult<TradeOrderRespVO>> getOrderPage(@Valid TradeOrderPageReqVO reqVO) {
-        PageResult<TradeOrderDO> pageResult = tradeOrderService.getOrderPage(reqVO);
-        return success(TradeOrderConvert.INSTANCE.convertPage(pageResult));
+    public CommonResult<PageResult<TradeOrderDetailRespVO>> getOrderPage(@Valid TradeOrderPageReqVO reqVO) {
+        return success(tradeOrderService.page(reqVO));
     }
 
     @PostMapping("/update-paid")

+ 24 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/order/TradeOrderDetailRespVO.java

@@ -0,0 +1,24 @@
+package com.citu.module.menduner.system.controller.base.order;
+
+import com.citu.module.menduner.system.controller.base.person.info.PersonSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.user.MdeUserSimpleRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 订单 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
+@Data
+public class TradeOrderDetailRespVO extends TradeOrderRespVO {
+
+
+    @Schema(description = "用户信息")
+    private MdeUserSimpleRespVO user;
+
+    @Schema(description = "人才信息")
+    private PersonSimpleRespVO person;
+
+    @Schema(description = "企业信息")
+    private PersonSimpleRespVO enterprise;
+}

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/job/JobInterestedDO.java

@@ -37,7 +37,7 @@ public class JobInterestedDO extends TenantBaseDO {
     /**
      * 求职类型(0全职 1兼职 2临时 3实习)
      *
-     * 枚举 {@link TODO menduner_job_type 对应的类}
+     * 枚举 {@link menduner_job_type 对应的类}
      */
     private String jobType;
     /**

+ 34 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/order/TradeOrderMapper.java

@@ -9,8 +9,12 @@ import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeO
 import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeOrderRespVO;
 import com.citu.module.menduner.system.controller.app.recruit.order.vo.AppRecruitTradeOrderPageReqVO;
 import com.citu.module.menduner.system.controller.app.recruit.order.vo.AppRecruitTradeOrderRespVO;
+import com.citu.module.menduner.system.controller.base.order.TradeOrderDetailRespVO;
 import com.citu.module.menduner.system.controller.base.order.TradeOrderPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.order.TradeOrderDO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
+import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
 import com.citu.module.menduner.system.enums.user.MdeUserTypeEnum;
 import com.citu.module.menduner.system.enums.order.TradeOrderRefundStatusEnum;
 import com.citu.module.menduner.system.enums.order.TradeOrderStatusEnum;
@@ -121,4 +125,34 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
         return update(update, new LambdaUpdateWrapper<TradeOrderDO>()
                 .eq(TradeOrderDO::getId, id).eq(TradeOrderDO::getStatus, status));
     }
+
+
+    default PageResult<TradeOrderDetailRespVO> page(TradeOrderPageReqVO reqVO) {
+        MPJLambdaWrapperX<TradeOrderDO> query = new MPJLambdaWrapperX<>();
+        query.selectAsClass(TradeOrderDO.class, TradeOrderDetailRespVO.class);
+        query.selectAssociation(MdeUserDO.class,TradeOrderDetailRespVO::getUser);
+        query.selectAssociation(PersonInfoDO.class,TradeOrderDetailRespVO::getPerson);
+        query.selectAssociation(EnterpriseDO.class,TradeOrderDetailRespVO::getEnterprise);
+        query.innerJoin(MdeUserDO.class, on -> on.eq(MdeUserDO::getId, TradeOrderDO::getUserId));
+        query.leftJoin(PersonInfoDO.class, on -> on.eq(PersonInfoDO::getUserId, TradeOrderDO::getUserId));
+        query.leftJoin(EnterpriseDO.class, on -> on.eq(EnterpriseDO::getId, TradeOrderDO::getEnterpriseId));
+        query .eqIfPresent(TradeOrderDO::getId, reqVO.getId())
+                .eqIfPresent(TradeOrderDO::getUserType, reqVO.getUserType())
+                .eqIfPresent(TradeOrderDO::getEnterpriseId, reqVO.getEnterpriseId())
+                .eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(TradeOrderDO::getType, reqVO.getType())
+                .eqIfPresent(TradeOrderDO::getTerminal, reqVO.getTerminal())
+                .eqIfPresent(TradeOrderDO::getUserIp, reqVO.getUserIp())
+                .eqIfPresent(TradeOrderDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(TradeOrderDO::getSpuId, reqVO.getSpuId())
+                .likeIfPresent(TradeOrderDO::getSpuName, reqVO.getSpuName())
+                .eqIfPresent(TradeOrderDO::getPayStatus, reqVO.getPayStatus())
+                .eqIfPresent(TradeOrderDO::getPayOrderId, reqVO.getPayOrderId())
+                .eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode())
+                .betweenIfPresent(TradeOrderDO::getPayTime, reqVO.getPayTime())
+                .ne(null != reqVO.getIsRefund() && reqVO.getIsRefund(),
+                        TradeOrderDO::getRefundStatus, TradeOrderRefundStatusEnum.NONE.getStatus())
+                .orderByDesc(TradeOrderDO::getCreateTime);
+        return selectJoinPage(reqVO, TradeOrderDetailRespVO.class, query);
+    }
 }

+ 4 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/UserMemberConsumer.java

@@ -79,18 +79,17 @@ public class UserMemberConsumer implements RocketMQListener<Long> {
         } else {
             // 开过会员
             if (isExpired(user.getVipExpireDate())) {
+                // 之前的会员过期了
                 // 过期值覆盖
                 user.setVipFlag(String.valueOf(packageDO.getId()));
-                // 不算今天
                 user.setVipExpireDate(LocalDateTime.now().plusDays(day));
             } else {
-                // 没有过期
-                //  累加时间,如果当前权益大于user.getVipFlag()则覆盖,并且累加时间
-                // TODO 不允许小于当前权益
+                // 之前会员没有过期
+                // 累加时间,如果当前权益大于user.getVipFlag()则覆盖,并且累加时间
                 Long currentVipFlag = Long.parseLong(user.getVipFlag());
                 Long newVipFlag = packageDO.getId();
 
-                if (currentVipFlag == Long.parseLong(user.getVipFlag())) {
+                if (currentVipFlag.equals(newVipFlag)) {
                     // 买一样的,加天数
                     user.setVipExpireDate(user.getVipExpireDate().plusDays(day));
                 } else if (newVipFlag > currentVipFlag) {

+ 9 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/order/TradeOrderService.java

@@ -4,10 +4,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeOrderPageReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeOrderRespVO;
 import com.citu.module.menduner.system.controller.app.recruit.order.vo.*;
-import com.citu.module.menduner.system.controller.base.order.AppTradeOrderGetReqVO;
-import com.citu.module.menduner.system.controller.base.order.AppTradeOrderGetRespVO;
-import com.citu.module.menduner.system.controller.base.order.TradeOrderCreateReqVO;
-import com.citu.module.menduner.system.controller.base.order.TradeOrderPageReqVO;
+import com.citu.module.menduner.system.controller.base.order.*;
 import com.citu.module.menduner.system.dal.dataobject.order.TradeOrderDO;
 
 /**
@@ -41,6 +38,14 @@ public interface TradeOrderService {
      */
     PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO);
 
+    /**
+     * 获得订单分页
+     *
+     * @param reqVO 分页查询
+     * @return 订单分页
+     */
+    PageResult<TradeOrderDetailRespVO> page(TradeOrderPageReqVO reqVO);
+
     /**
      * 更新订单为已支付
      *

+ 6 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/order/TradeOrderServiceImpl.java

@@ -8,10 +8,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeO
 import com.citu.module.menduner.system.controller.app.jobhunt.order.vo.AppTradeOrderRespVO;
 import com.citu.module.menduner.system.controller.app.recruit.order.vo.AppRecruitTradeOrderPageReqVO;
 import com.citu.module.menduner.system.controller.app.recruit.order.vo.AppRecruitTradeOrderRespVO;
-import com.citu.module.menduner.system.controller.base.order.AppTradeOrderGetReqVO;
-import com.citu.module.menduner.system.controller.base.order.AppTradeOrderGetRespVO;
-import com.citu.module.menduner.system.controller.base.order.TradeOrderCreateReqVO;
-import com.citu.module.menduner.system.controller.base.order.TradeOrderPageReqVO;
+import com.citu.module.menduner.system.controller.base.order.*;
 import com.citu.module.menduner.system.dal.dataobject.order.TradeOrderDO;
 import com.citu.module.menduner.system.dal.mysql.order.TradeOrderMapper;
 import com.citu.module.menduner.system.enums.order.TradeOrderCancelTypeEnum;
@@ -128,6 +125,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
         return tradeOrderMapper.selectPage(reqVO);
     }
 
+    @Override
+    public PageResult<TradeOrderDetailRespVO> page(TradeOrderPageReqVO reqVO) {
+        return tradeOrderMapper.page(reqVO);
+    }
+
     @Override
     public void updateOrderPaid(Long id, Long payOrderId) {
         // 校验并获得支付订单(可支付)

+ 5 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

@@ -322,7 +322,11 @@ public class PersonInfoServiceImpl implements PersonInfoService {
                 personInfoMapper.updateById(person);
                 reqObj.setPersonId(person.getId());
             }
-
+            if (null != reqVO.getSchoolDeptId() && null != reqVO.getSchoolClassName()) {
+                Long classId = schoolOrganizationService
+                        .saveClass(reqVO.getSchoolId(), reqVO.getSchoolDeptId(), reqVO.getSchoolClassName());
+                reqObj.setSchoolClassId(classId);
+            }
             studentMapper.insert(reqObj);
 
         } else {