Browse Source

获取机构最新订单

chao 3 years ago
parent
commit
662535b323

+ 13 - 0
src/main/java/com/caimei365/order/controller/OrderClubApi.java

@@ -109,6 +109,19 @@ public class OrderClubApi {
         return orderClubService.getOrderDetail(userId, orderId);
     }
 
+    /**
+     * 机构最新订单
+     */
+    @ApiOperation("机构最新订单")
+    @ApiImplicitParam(required = true, name = "userId", value = "用户Id")
+    @GetMapping("/latest")
+    public ResponseJson<OrderVo> getOrderLatest(Integer userId) {
+        if (null == userId) {
+            return ResponseJson.error("用户Id不能为空!", null);
+        }
+        return orderClubService.getOrderLatest(userId);
+    }
+
     /**
      * 机构确认订单
      *

+ 4 - 1
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -197,7 +197,10 @@ public interface OrderClubMapper {
     void insertCouponClub(CouponClubPo couponClub);
     /**
      * 删除优惠券与订单的关联信息
-     * @param clubCouponId
      */
     void deleteCouponClubById(Integer clubCouponId);
+    /**
+     * 机构最新订单Id
+     */
+    Integer getLatestOrderId(Integer userId);
 }

+ 6 - 0
src/main/java/com/caimei365/order/service/OrderClubService.java

@@ -46,6 +46,11 @@ public interface OrderClubService {
      * @param orderId    订单Id
      */
     ResponseJson<Map<String, Object>> getOrderDetail(Integer userId, Integer orderId);
+    /**
+     * 机构最新订单
+     * @param userId     用户Id
+     */
+    ResponseJson<OrderVo> getOrderLatest(Integer userId);
     /**
      * 机构确认订单
      * @param orderId  订单Id
@@ -124,4 +129,5 @@ public interface OrderClubService {
      * @param clauseId 售后条款Id
      */
     ResponseJson<ClauseVo> getClauseById(Integer clauseId);
+
 }

+ 29 - 0
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -245,6 +245,35 @@ public class OrderClubServiceImpl implements OrderClubService {
         return ResponseJson.success(map);
     }
 
+    /**
+     * 机构最新订单
+     *
+     * @param userId 用户Id
+     */
+    @Override
+    public ResponseJson<OrderVo> getOrderLatest(Integer userId) {
+        // 机构最新订单Id
+        Integer orderId = orderClubMapper.getLatestOrderId(userId);
+        OrderPo orderPo = orderClubMapper.getMainOrderByOrderId(orderId);
+        if (null == orderPo) {
+            return ResponseJson.error("该订单不存在!", null);
+        }
+        if (!userId.equals(orderPo.getUserId())) {
+            return ResponseJson.error("无权限查看此订单!", null);
+        }
+        OrderVo order = new OrderVo();
+        // OrderPo -> OrderVo
+        BeanUtils.copyProperties(orderPo, order);
+        order.setOrderMark("#" + order.getOrderId() + "#");
+        // 设置订单状态
+        orderCommonService.setOrderStatus(order);
+        // 设置子订单数据
+        orderCommonService.getShopOrderData(order);
+        // 设置付款金额
+        orderCommonService.getDiscernReceiptAndSetOrder(order);
+        return ResponseJson.success(order);
+    }
+
     /**
      * 机构确认订单
      *

+ 5 - 0
src/main/resources/mapper/OrderClubMapper.xml

@@ -503,4 +503,9 @@
         FROM cm_coupon_club
         WHERE id = #{clubCouponId}
     </select>
+    <select id="getLatestOrderId" resultType="java.lang.Integer">
+        SELECT orderID FROM cm_order
+        WHERE userId = #{userId}
+        ORDER BY orderID DESC limit 1
+    </select>
 </mapper>