Bladeren bron

订单模块

liude 1 jaar geleden
bovenliggende
commit
ed27cf7f5f

+ 84 - 0
src/main/java/com/chelvc/cloud/maintain/controller/CartItemController.java

@@ -0,0 +1,84 @@
+package com.chelvc.cloud.maintain.controller;
+import com.chelvc.cloud.vehicle.api.dto.OmsCartItemDTO;
+import com.chelvc.cloud.vehicle.api.param.OmsCartItemModifyParam;
+import com.chelvc.cloud.vehicle.api.service.OmsCartItemService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import java.util.List;
+
+/**
+ * 购物车接口
+ *
+ * @author liude
+ * @Date 2023/11/19
+ **/
+@Validated
+@RestController
+@ResponseWrapping
+public class CartItemController {
+    @DubboReference
+    private OmsCartItemService cartItemService;
+
+    /**
+     * 新增购物车商品
+     *
+     * @param param 新增参数
+     * @return 购物车主键
+     */
+    @PostMapping("/cartItem")
+    public Integer addCartItem(@RequestBody @Valid OmsCartItemModifyParam param) {
+        return this.cartItemService.add(param);
+    }
+
+    /**
+     * 获取购物车商品列表
+     *
+     * @return 购物车主键
+     */
+    @GetMapping("/listCartItem")
+    public List<OmsCartItemDTO> listCartItem() {
+        return this.cartItemService.listCartItem();
+    }
+
+    /**
+     * 修改购物车商品的数量
+     *
+     * @return 购物车主键
+     */
+    @GetMapping("/cartItem/{id}")
+    public Integer updateCartItem(@PathVariable("id") @Min
+            (value = 1, message = "优惠券主键不能小于1") Long id,Integer quantity) {
+        return this.cartItemService.updateQuantity(id,quantity);
+    }
+
+    /**
+     * 修改购物车商品的数量
+     *
+     * @return 购物车主键
+     */
+    @GetMapping("/cartItem/deleteCartItem")
+    public void deleteCartItem(@RequestParam("ids") List<Long> ids) {
+         this.cartItemService.delete(ids);
+    }
+
+    /**
+     * 新增购物车商品
+     *
+     * @param param 新增参数
+     * @return 购物车主键
+     */
+    @PostMapping("/cartItem/updateAttr")
+    public Integer updateAttr(@RequestBody @Valid OmsCartItemModifyParam param) {
+        return this.cartItemService.updateAttr(param);
+    }
+}

+ 92 - 0
src/main/java/com/chelvc/cloud/maintain/controller/OmsOrderController.java

@@ -0,0 +1,92 @@
+package com.chelvc.cloud.maintain.controller;
+import com.chelvc.cloud.vehicle.api.dto.ConfirmOrderResultDTO;
+import com.chelvc.cloud.vehicle.api.dto.OmsOrderDTO;
+import com.chelvc.cloud.vehicle.api.param.OmsOrderModifyParam;
+import com.chelvc.cloud.vehicle.api.param.OrderPagingParam;
+import com.chelvc.cloud.vehicle.api.service.IOmsOrderService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import com.chelvc.framework.common.model.Pagination;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import java.util.Map;
+
+/**
+ * 订单接口
+ *
+ * @author liude
+ * @Date 2023/11/19
+ **/
+@Validated
+@RestController
+@ResponseWrapping
+public class OmsOrderController {
+    @DubboReference
+    private IOmsOrderService omsOrderService;
+
+    /**
+     * 根据购物车信息生成确认单信息
+     * @param orderParam
+     * @return
+     */
+    @PostMapping("/generateConfirmOrder")
+    public ConfirmOrderResultDTO generateConfirmOrder(OmsOrderModifyParam orderParam) {
+        return this.omsOrderService.generateConfirmOrder(orderParam);
+    }
+
+    /**
+     *根据购物车信息生成订单
+     * @param orderParam
+     * @return
+     */
+    @PostMapping("/generateOrder")
+    public Map<String, Object>  generateOrder(@Valid  OmsOrderModifyParam orderParam) {
+        Map<String, Object> result = omsOrderService.generateOrder(orderParam);
+        return result;
+    }
+
+    /**
+     * 查询订单分页
+     *
+     * @param param 查询参数
+     * @return 订单分页信息
+     */
+    @GetMapping("/order/paging")
+    public Pagination<OmsOrderDTO> getOrderPaging(@Valid OrderPagingParam param) {
+        return this.omsOrderService.getOrderPaging(param);
+    }
+
+    /**
+     * 确认订单
+     * @param id 查询参数
+     */
+    @GetMapping("/confirmReceiveOrder/{id}")
+    public void confirmReceiveOrder(@PathVariable("id") @Min(value = 1, message = "商家ID不能小于1") Long id) {
+        this.omsOrderService.confirmReceiveOrder(id);
+    }
+
+    /**
+     * 删除订单
+     * @param id 查询参数
+     */
+    @GetMapping("/deleteOrder/{id}")
+    public void deleteOrder(@PathVariable("id") @Min(value = 1, message = "商家ID不能小于1") Long id) {
+        this.omsOrderService.deleteOrder(id);
+    }
+
+    /**
+     * 支付成功回调
+     * @param id 查询参数
+     */
+    @GetMapping("/paySuccess/{id}")
+    public void paySuccess(@PathVariable("id") @Min(value = 1, message = "商家ID不能小于1") Long id,
+                           Integer payType) {
+        this.omsOrderService.paySuccess(id,payType);
+    }
+}

+ 4 - 0
src/main/java/com/chelvc/cloud/maintain/vo/GoodsVO.java

@@ -54,4 +54,8 @@ public class GoodsVO implements Serializable {
      * 轮播图列表
      */
     private List<File> banners;
+    /**
+     * 商品是否被收藏
+     */
+    private boolean favorites;
 }

+ 2 - 0
src/main/java/com/chelvc/cloud/maintain/vo/ReservationVO.java

@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -43,6 +44,7 @@ public class ReservationVO implements Serializable {
     /**
      * 约定时间
      */
+    @DateTimeFormat(pattern = "DATE_TIME")
     private Date appointTime;
 
     /**