Browse Source

fix: 做了一些修改

DingXiaoYu 2 years ago
parent
commit
b006251a67

+ 3 - 0
src/main/java/com/seecoder/BlueWhale/configure/CorsFilter.java

@@ -23,6 +23,9 @@ import java.io.IOException;
  * 会造成冲突,
  * 需要在过滤器中配置跨域,
  * 过滤器在拦截器前进行。
+ * 在“Access-Control-Allow-Headers”中,
+ * 需要添加上token,
+ * 因为前端要传输token到后端,不能过滤掉。
 */
 @Component
 @Order(Ordered.HIGHEST_PRECEDENCE)

+ 5 - 13
src/main/java/com/seecoder/BlueWhale/controller/OrderController.java

@@ -1,16 +1,12 @@
 package com.seecoder.BlueWhale.controller;
 
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
 import com.seecoder.BlueWhale.service.OrderService;
-import com.seecoder.BlueWhale.util.SecurityUtil;
 import com.seecoder.BlueWhale.vo.OrderVO;
 import com.seecoder.BlueWhale.vo.ResultVO;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 
 @RestController
@@ -20,9 +16,6 @@ public class OrderController {
     @Autowired
     OrderService orderService;
 
-    @Autowired
-    SecurityUtil securityUtil;
-
     @PostMapping
     public ResultVO<Boolean> create(@RequestBody OrderVO orderVO){
         return ResultVO.buildSuccess(orderService.create(orderVO));
@@ -30,8 +23,7 @@ public class OrderController {
 
     @GetMapping
     public ResultVO<List<OrderVO>> getAllOrders(){
-        Integer userId = securityUtil.getCurrentUser().getId();
-        return ResultVO.buildSuccess(orderService.getAllOrders(userId));
+        return ResultVO.buildSuccess(orderService.getAllOrders());
     }
 
     @PostMapping("/pay")

+ 0 - 9
src/main/java/com/seecoder/BlueWhale/controller/StoreController.java

@@ -30,13 +30,4 @@ public class StoreController {
         return ResultVO.buildSuccess(storeService.getAllStores());
     }
 
-    @PostMapping("/star")
-    public ResultVO<Boolean> starStores(@RequestParam("storeId")Integer storeId,@RequestParam("rate")Integer rate){
-        return ResultVO.buildSuccess(storeService.starStores(storeId,rate));
-    }
-
-    @GetMapping("/star")
-    public ResultVO<Integer> getStoreStar(@RequestParam("storeId")Integer storeId){
-        return ResultVO.buildSuccess(storeService.getStoreStar(storeId));
-    }
 }

+ 4 - 4
src/main/java/com/seecoder/BlueWhale/exception/BlueWhaleException.java

@@ -38,10 +38,6 @@ public class BlueWhaleException extends RuntimeException{
         return new BlueWhaleException("商品不存在!");
     }
 
-    public static BlueWhaleException starAlreadyExists(){
-        return new BlueWhaleException("已经给店铺打过分!");
-    }
-
     public static BlueWhaleException orderNotExists(){
         return new BlueWhaleException("订单不存在!");
     }
@@ -49,4 +45,8 @@ public class BlueWhaleException extends RuntimeException{
     public static BlueWhaleException orderStatusError(){
         return new BlueWhaleException("订单状态错误!");
     }
+
+    public static BlueWhaleException stockNotEnough(){
+        return new BlueWhaleException("库存不足!");
+    }
 }

+ 1 - 1
src/main/java/com/seecoder/BlueWhale/po/Order.java

@@ -38,7 +38,7 @@ public class Order {
 
     @Basic
     @Column(name = "paid")
-    private Integer paid;
+    private Double paid;
 
     @Basic
     @Column(name = "type")

+ 0 - 32
src/main/java/com/seecoder/BlueWhale/po/StoreStar.java

@@ -1,32 +0,0 @@
-package com.seecoder.BlueWhale.po;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import javax.persistence.*;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-public class StoreStar {
-
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Id
-    @Column(name = "id")
-    private Integer id;
-
-    @Basic
-    @Column(name = "user_id")
-    private Integer userId;
-
-    @Basic
-    @Column(name = "store_id")
-    private Integer storeId;
-
-    @Basic
-    @Column(name = "rate")
-    private Integer rate;
-
-}

+ 0 - 8
src/main/java/com/seecoder/BlueWhale/repository/StoreStarRepository.java

@@ -1,8 +0,0 @@
-package com.seecoder.BlueWhale.repository;
-
-import com.seecoder.BlueWhale.po.StoreStar;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-public interface StoreStarRepository extends JpaRepository<StoreStar, Integer> {
-    StoreStar findByUserIdAndStoreId(Integer userId,Integer storeId);
-}

+ 1 - 1
src/main/java/com/seecoder/BlueWhale/service/OrderService.java

@@ -6,7 +6,7 @@ import com.seecoder.BlueWhale.vo.OrderVO;
 
 public interface OrderService {
     Boolean create(OrderVO orderVO);
-    List<OrderVO> getAllOrders(Integer userId);
+    List<OrderVO> getAllOrders();
     Boolean pay(Integer orderId);
     Boolean deliver(Integer orderId);
     Boolean get(Integer orderId);

+ 0 - 3
src/main/java/com/seecoder/BlueWhale/service/StoreService.java

@@ -11,7 +11,4 @@ public interface StoreService {
 
     List<StoreVO> getAllStores();
 
-    Boolean starStores(Integer storeId, Integer rate);
-
-    Integer getStoreStar(Integer storeId);
 }

+ 5 - 0
src/main/java/com/seecoder/BlueWhale/serviceImpl/ImageServiceImpl.java

@@ -7,6 +7,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+/**
+ * @Author: DingXiaoyu
+ * @Date: 12:02 2023/12/13
+ * 实现了上传文件的功能。
+*/
 @Service
 public class ImageServiceImpl implements ImageService {
 

+ 11 - 12
src/main/java/com/seecoder/BlueWhale/serviceImpl/OrderServiceImpl.java

@@ -45,12 +45,14 @@ public class OrderServiceImpl implements OrderService {
     }
 
     @Override
-    public List<OrderVO> getAllOrders(Integer userId) {
+    public List<OrderVO> getAllOrders() {
+        int userId=securityUtil.getCurrentUser().getId();
         List<Order> orders = orderRepository.findByUserId(userId);
         return orders.stream().map(Order::toVO).collect(Collectors.toList());
     }
 
     @Override
+    //参数可能要加优惠券Id
     public Boolean pay(Integer orderId) {
         Order order = orderRepository.findById(orderId).orElse(null);
         if(order == null){
@@ -60,7 +62,8 @@ public class OrderServiceImpl implements OrderService {
             throw BlueWhaleException.orderStatusError();
         }
         order.setStatus(OrderStatusEnum.UNSEND);
-        order.setPaid(1);
+        double price=productRepository.findById(order.getProductId()).get().getPrice();
+        order.setPaid(price*order.getAmount());
         orderRepository.save(order);
         return true;
     }
@@ -74,10 +77,12 @@ public class OrderServiceImpl implements OrderService {
         if(order.getStatus() != OrderStatusEnum.UNSEND){
             throw BlueWhaleException.orderStatusError();
         }
+        Product product = productRepository.findById(order.getProductId()).get();
+        if (product.getStock()<order.getAmount()){
+            throw BlueWhaleException.stockNotEnough();
+        }
         order.setStatus(OrderStatusEnum.UNGET);
         orderRepository.save(order);
-
-        Product product = productRepository.findById(order.getProductId()).orElse(null);
         product.setSalesAmount(product.getSalesAmount()+order.getAmount());
         product.setStock(product.getStock()-order.getAmount());
         productRepository.save(product);
@@ -112,20 +117,14 @@ public class OrderServiceImpl implements OrderService {
         order.setStatus(OrderStatusEnum.DONE);
         orderRepository.save(order);
 
-        Product product = productRepository.findById(order.getProductId()).orElse(null);
+        Product product = productRepository.findById(order.getProductId()).get();
         Double currentProductRating = product.getRating();
-        if(currentProductRating == null){
-            currentProductRating = 0.0;
-        }
         product.setRating((currentProductRating*product.getNumber()+rating)/(product.getNumber()+1));
         product.setNumber(product.getNumber()+1);
         productRepository.save(product);
 
-        Store store = storeRepository.findById(product.getStoreId()).orElse(null);
+        Store store = storeRepository.findById(product.getStoreId()).get();
         Double currentStoreRating = store.getRating();
-        if(currentStoreRating == null){
-            currentStoreRating = 0.0;
-        }
         store.setRating((currentStoreRating*store.getNumber()+rating)/(store.getNumber()+1));
         store.setNumber(store.getNumber()+1);
         storeRepository.save(store);

+ 6 - 42
src/main/java/com/seecoder/BlueWhale/serviceImpl/StoreServiceImpl.java

@@ -1,19 +1,15 @@
 package com.seecoder.BlueWhale.serviceImpl;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.seecoder.BlueWhale.po.StoreStar;
-import com.seecoder.BlueWhale.repository.StoreStarRepository;
-import com.seecoder.BlueWhale.util.SecurityUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.seecoder.BlueWhale.exception.BlueWhaleException;
-import com.seecoder.BlueWhale.repository.StoreRepository;
 import com.seecoder.BlueWhale.po.Store;
+import com.seecoder.BlueWhale.repository.StoreRepository;
 import com.seecoder.BlueWhale.service.StoreService;
 import com.seecoder.BlueWhale.vo.StoreVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class StoreServiceImpl implements StoreService {
@@ -21,12 +17,6 @@ public class StoreServiceImpl implements StoreService {
     @Autowired
     StoreRepository storeRepository;
 
-    @Autowired
-    SecurityUtil securityUtil;
-
-    @Autowired
-    StoreStarRepository storeStarRepository;
-
     @Override
     public Boolean create(StoreVO storeVO) {
         Store store = storeRepository.findByName(storeVO.getName());
@@ -54,30 +44,4 @@ public class StoreServiceImpl implements StoreService {
         return storeRepository.findAll().stream().map(Store::toVO).collect(Collectors.toList());
     }
 
-    @Override
-    public Boolean starStores(Integer storeId, Integer rate) {
-        int userId=securityUtil.getCurrentUser().getId();
-        if (storeStarRepository.findByUserIdAndStoreId(userId,storeId)!=null){
-            throw BlueWhaleException.starAlreadyExists();
-        }
-        StoreStar storeStar=new StoreStar();
-        storeStar.setRate(rate);
-        storeStar.setStoreId(storeId);
-        storeStar.setUserId(userId);
-        storeStarRepository.save(storeStar);
-        Store store=storeRepository.findById(storeId).get();
-        double storeRate=store.getRating()*store.getNumber()+rate;
-        store.setNumber(store.getNumber()+1);
-        store.setRating(storeRate/store.getNumber());
-        storeRepository.save(store);
-        return true;
-    }
-
-    @Override
-    public Integer getStoreStar(Integer storeId) {
-        int userId=securityUtil.getCurrentUser().getId();
-        StoreStar storeStar=storeStarRepository.findByUserIdAndStoreId(userId,storeId);
-        return storeStar==null?0:storeStar.getRate();
-    }
-
 }

+ 7 - 0
src/main/java/com/seecoder/BlueWhale/util/OssUtil.java

@@ -11,6 +11,13 @@ import org.springframework.stereotype.Component;
 import java.io.InputStream;
 import java.util.Date;
 
+/**
+ * @Author: DingXiaoyu
+ * @Date: 12:00 2023/12/13
+ * 这个类实现了文件上传。
+ * @ConfigurationProperties注解能够读取配置文件。
+ * 利用了阿里云OSS服务。
+*/
 @Component
 @Getter
 @Setter

+ 1 - 1
src/main/java/com/seecoder/BlueWhale/vo/OrderVO.java

@@ -23,7 +23,7 @@ public class OrderVO {
 
     private Integer amount;
 
-    private Integer paid;
+    private Double paid;
 
     private OrderTypeEnum type;