zhentao 1 month ago
parent
commit
fcf8b2a158

+ 13 - 0
src/main/java/com/zhentao/controller/order/dto/OrderDto.java

@@ -0,0 +1,13 @@
+package com.zhentao.controller.order.dto;
+
+import com.zhentao.domain.OrderShopping;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderDto {
+    private Long userId;
+    private List<OrderShopping> list;
+    private Long couponId;
+}

+ 1 - 9
src/main/java/com/zhentao/domain/OrderShopping.java

@@ -42,20 +42,12 @@ public class OrderShopping implements Serializable {
      */
     private String titleName;
 
-    /**
-     * 数量
-     */
-    private Integer orderNumber;
 
     /**
      * 单价
      */
     private BigDecimal price;
 
-    /**
-     * 小计价格
-     */
-    private BigDecimal subtotalPrice;
 
     /**
      * 创建时间
@@ -64,4 +56,4 @@ public class OrderShopping implements Serializable {
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
-}
+}

+ 3 - 1
src/main/java/com/zhentao/domain/UserOrder.java

@@ -84,4 +84,6 @@ public class UserOrder implements Serializable {
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
-}
+    @TableField(exist = false)
+    private OrderShopping orderShopping;
+}

+ 3 - 1
src/main/java/com/zhentao/service/UserOrderService.java

@@ -1,7 +1,9 @@
 package com.zhentao.service;
 
+import com.zhentao.controller.order.dto.OrderDto;
 import com.zhentao.domain.UserOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhentao.dto.Result;
 
 /**
 * @author 86183
@@ -9,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
 * @createDate 2025-05-13 20:46:35
 */
 public interface UserOrderService extends IService<UserOrder> {
-
+    Result add(OrderDto orderDto);
 }

+ 39 - 1
src/main/java/com/zhentao/service/impl/UserOrderServiceImpl.java

@@ -1,11 +1,21 @@
 package com.zhentao.service.impl;
 
+import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.controller.order.dto.OrderDto;
+import com.zhentao.domain.Coupon;
+import com.zhentao.domain.OrderShopping;
 import com.zhentao.domain.UserOrder;
-import com.zhentao.service.UserOrderService;
+import com.zhentao.dto.Result;
 import com.zhentao.mapper.UserOrderMapper;
+import com.zhentao.service.CouponService;
+import com.zhentao.service.UserOrderService;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+
 /**
 * @author 86183
 * @description 针对表【user_order(订单表)】的数据库操作Service实现
@@ -14,7 +24,35 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserOrderServiceImpl extends ServiceImpl<UserOrderMapper, UserOrder>
     implements UserOrderService{
+    @Autowired
+    private UserOrderService service;
+    @Autowired
+    private CouponService couponService;
+    @Override
+    public Result add(OrderDto orderDto) {
+//        创建一个对象
+        UserOrder userOrder = new UserOrder();
+        long l = IdUtil.getSnowflake(1, 1).nextId();
+        userOrder.setId(l);
+//        设置用户ID
+        userOrder.setUserId(orderDto.getUserId());
+//        设置总价格
+        BigDecimal bigDecimal = new BigDecimal("0");
+        for (OrderShopping s:orderDto.getList()) {
+            bigDecimal = bigDecimal.add(s.getPrice());
+        }
+        userOrder.setTotalAmount(bigDecimal);
+//        设置优惠金额
+        Coupon byId = couponService.getById(orderDto.getCouponId());
+        if (byId.getCouponType()==1){
+
+        }else if (byId.getCouponType()==2){
+
+        }else if (byId.getCouponType()==3){
 
+        }
+        return null;
+    }
 }