Browse Source

feta: 添加查询订单接口

pangqijun 7 months ago
parent
commit
5f592f3767

+ 7 - 2
src/main/java/org/springblade/modules/api/controller/ApiOrderController.java

@@ -30,6 +30,7 @@ import org.springblade.modules.api.service.SubmitOrderService;
 import org.springblade.modules.api.service.impl.GrouponOrderServiceImpl;
 import org.springblade.modules.finance.entity.Order;
 import org.springblade.modules.finance.service.*;
+import org.springblade.modules.finance.vo.OrderGoodsVO;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.*;
@@ -57,6 +58,8 @@ public class ApiOrderController extends BladeController {
     private IOrderGrouponService orderGrouponService;
     @Resource
     private IAfterSalesService afterSalesService;
+    @Resource
+    private IOrderGoodsService iOrderGoodsService;
 
 
     @ApiLog("通用下单")
@@ -85,8 +88,10 @@ public class ApiOrderController extends BladeController {
     @GetMapping("/user")
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "获取用户订单")
-    public R<IPage<UserOrderResponse>> getUserOrder(Query query, Integer orderState) {
-        return R.data(orderService.getUserOrder(Condition.getPage(query), AuthUtil.getUserId(), orderState));
+    public R<IPage<OrderGoodsVO>> getUserOrder(Query query, OrderGoodsVO orderGoodsVO) {
+        orderGoodsVO.setUserId(AuthUtil.getUserId());
+        IPage<OrderGoodsVO> orderGoodsVOIPage = iOrderGoodsService.selectUserOrder(Condition.getPage(query), orderGoodsVO);
+        return R.data(orderGoodsVOIPage);
     }
 
     @GetMapping("/user/detail")

+ 62 - 0
src/main/java/org/springblade/modules/api/controller/ApiOrderGoodsController.java

@@ -0,0 +1,62 @@
+package org.springblade.modules.api.controller;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.common.constant.CommonConstant;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.finance.entity.Order;
+import org.springblade.modules.finance.entity.OrderGoods;
+import org.springblade.modules.finance.service.IOrderGoodsService;
+import org.springblade.modules.finance.service.IOrderService;
+import org.springblade.modules.finance.vo.OrderGoodsVO;
+import org.springblade.modules.finance.wrapper.OrderGoodsWrapper;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Author pangqijun
+ * Date 2024/7/18
+ * Description
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping(CommonConstant.API_URL + "/orderGoods")
+@Api(value = "商品订单接口", tags = "商品订单接口")
+public class ApiOrderGoodsController {
+
+    private final IOrderGoodsService iOrderGoodsService;
+    private final IOrderService iOrderService;
+
+    @GetMapping("/user")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "获取用户订单")
+    public R<IPage<OrderGoodsVO>> getUserOrder(Query query, OrderGoodsVO orderGoodsVO) {
+        orderGoodsVO.setUserId(AuthUtil.getUserId());
+        IPage<OrderGoodsVO> orderGoodsVOIPage = iOrderGoodsService.selectUserOrder(Condition.getPage(query), orderGoodsVO);
+        return R.data(orderGoodsVOIPage);
+    }
+
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取订单详情")
+    public R<OrderGoodsVO> detail(Long orderId) {
+        Order order = iOrderService.getById(orderId);
+        Assert.notNull(order, "未查询到订单信息");
+        OrderGoods orderGoods = iOrderGoodsService.getOne(Wrappers.lambdaQuery(OrderGoods.class)
+                .eq(OrderGoods::getOrderId, orderId));
+        Assert.notNull(orderGoods, "未查询到商品订单信息");
+        OrderGoodsVO orderGoodsVO = OrderGoodsWrapper.build().entityVO(orderGoods);
+        orderGoodsVO.setOrderState(order.getOrderState());
+        return R.data(orderGoodsVO);
+    }
+
+}

+ 8 - 0
src/main/java/org/springblade/modules/finance/mapper/OrderGoodsMapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.finance.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.finance.entity.OrderGoods;
 import org.springblade.modules.finance.vo.OrderGoodsVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,4 +40,11 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
 	 */
 	List<OrderGoodsVO> selectOrderGoodsPage(IPage page, OrderGoodsVO orderGoods);
 
+	/**
+	 * 查询用户订单
+	 * @param page
+	 * @param orderGoods
+	 * @return
+	 */
+    List<OrderGoodsVO> selectUserOrder(IPage<OrderGoodsVO> page, @Param("p") OrderGoodsVO orderGoods);
 }

+ 18 - 1
src/main/java/org/springblade/modules/finance/mapper/OrderGoodsMapper.xml

@@ -28,7 +28,24 @@
 
 
     <select id="selectOrderGoodsPage" resultMap="orderGoodsResultMap">
-        select * from t_order_goods where is_delete = 0
+        SELECT
+            og.*,
+            o.order_state,
+            o.is_aftersales
+        FROM
+            t_order o
+            JOIN t_order_goods og ON o.id = og.order_id
+
+    </select>
+    <select id="selectUserOrder" resultType="org.springblade.modules.finance.vo.OrderGoodsVO">
+        SELECT
+            og.*,
+            o.order_state,
+            o.is_aftersales
+        FROM
+            t_order o
+            JOIN t_order_goods og ON o.id = og.order_id
+        WHERE o.is_delete = 0 and o.user_id = #{p.userId}
     </select>
 
 </mapper>

+ 8 - 0
src/main/java/org/springblade/modules/finance/service/IOrderGoodsService.java

@@ -38,4 +38,12 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
 	 */
 	IPage<OrderGoodsVO> selectOrderGoodsPage(IPage<OrderGoodsVO> page, OrderGoodsVO orderGoods);
 
+	/**
+	 * 查询用户订单
+	 * @param page
+	 * @param orderGoods
+	 * @return
+	 */
+	IPage<OrderGoodsVO> selectUserOrder(IPage<OrderGoodsVO> page, OrderGoodsVO orderGoods);
+
 }

+ 6 - 0
src/main/java/org/springblade/modules/finance/service/impl/OrderGoodsServiceImpl.java

@@ -44,6 +44,11 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
 		return page.setRecords(baseMapper.selectOrderGoodsPage(page, orderGoods));
 	}
 
+	@Override
+	public IPage<OrderGoodsVO> selectUserOrder(IPage<OrderGoodsVO> page, OrderGoodsVO orderGoods) {
+		return page.setRecords(baseMapper.selectUserOrder(page, orderGoods));
+	}
+
 	@Transactional
 	@Override
 	public String submitOrder(SubmitOrderRequest request) {
@@ -81,6 +86,7 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
 		orderGoods.setMerchantId(shop.getMerchantId());
 		orderGoods.setShopId(request.getShopId());
 		orderGoods.setUserId(request.getUserId());
+		orderGoods.setStoreName(shop.getStoreName());
 		baseMapper.insert(orderGoods);
 
 		// 扣减货道库存

+ 10 - 0
src/main/java/org/springblade/modules/finance/vo/OrderGoodsVO.java

@@ -16,6 +16,8 @@
  */
 package org.springblade.modules.finance.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import org.springblade.common.enums.OrderStateEnum;
 import org.springblade.modules.finance.entity.OrderGoods;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -33,4 +35,12 @@ import io.swagger.annotations.ApiModel;
 public class OrderGoodsVO extends OrderGoods {
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty(value = "订单状态")
+	private Integer orderState;
+	@ApiModelProperty(value = "订单状态描述")
+	private String orderStateDesc;
+
+	public String getOrderStateDesc() {
+		return OrderStateEnum.getNameByValue(orderState);
+	}
 }