浏览代码

feat: lab4

DingXiaoYu 2 年之前
父节点
当前提交
41fd72f5b2
共有 22 个文件被更改,包括 17 次插入636 次删除
  1. 0 61
      src/main/java/com/seecoder/BlueWhale/configure/AlipayTools.java
  2. 0 1
      src/main/java/com/seecoder/BlueWhale/configure/MyWebMvcConfig.java
  3. 0 30
      src/main/java/com/seecoder/BlueWhale/controller/AliPayController.java
  4. 0 45
      src/main/java/com/seecoder/BlueWhale/controller/CouponController.java
  5. 2 6
      src/main/java/com/seecoder/BlueWhale/controller/OrderController.java
  6. 0 5
      src/main/java/com/seecoder/BlueWhale/enums/CouponTypeEnum.java
  7. 0 15
      src/main/java/com/seecoder/BlueWhale/exception/BlueWhaleException.java
  8. 0 41
      src/main/java/com/seecoder/BlueWhale/po/Coupon.java
  9. 0 53
      src/main/java/com/seecoder/BlueWhale/po/CouponGroup.java
  10. 0 14
      src/main/java/com/seecoder/BlueWhale/repository/CouponGroupRepository.java
  11. 0 14
      src/main/java/com/seecoder/BlueWhale/repository/CouponRepository.java
  12. 0 19
      src/main/java/com/seecoder/BlueWhale/service/CouponService.java
  13. 1 3
      src/main/java/com/seecoder/BlueWhale/service/OrderService.java
  14. 0 133
      src/main/java/com/seecoder/BlueWhale/serviceImpl/CouponServiceImpl.java
  15. 10 43
      src/main/java/com/seecoder/BlueWhale/serviceImpl/OrderServiceImpl.java
  16. 0 19
      src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/Context.java
  17. 1 10
      src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/FillReductionCouponCalculateStrategy.java
  18. 1 4
      src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/SpecialCouponCalculateStrategy.java
  19. 0 38
      src/main/java/com/seecoder/BlueWhale/vo/CouponGroupVO.java
  20. 0 31
      src/main/java/com/seecoder/BlueWhale/vo/CouponVO.java
  21. 2 44
      src/main/java/com/seecoder/BlueWhale/vo/OrderVO.java
  22. 0 7
      src/main/resources/application.yml

+ 0 - 61
src/main/java/com/seecoder/BlueWhale/configure/AlipayTools.java

@@ -1,61 +0,0 @@
-package com.seecoder.BlueWhale.configure;
-
-import com.alibaba.fastjson.JSONObject;
-import com.alipay.api.AlipayClient;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.request.AlipayTradePagePayRequest;
-import com.seecoder.BlueWhale.exception.BlueWhaleException;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-@ConfigurationProperties(prefix = "alipay")
-@Component
-@Getter
-@Setter
-public class AlipayTools {
-
-    private String serverUrl;
-
-    private String appId;
-
-    private String appPrivateKey;
-
-    private String alipayPublicKey;
-
-    private String notifyUrl;
-
-    private static String format="json";
-
-    private static String charset="utf-8";
-
-    private static String signType="RSA2";
-
-    /**
-     * @Author: DingXiaoyu
-     * @Date: 11:25 2024/1/31
-     * 使用支付宝沙箱
-     * 使用时可以根据自己的需要做修改,包括参数名、返回值、具体实现
-     * 在bizContent中放入关键的信息:tradeName、price、name
-     * 返回的form是一个String类型的html页面
-    */
-    public String pay(String tradeName, String name , Double price){
-        AlipayClient alipayClient = new DefaultAlipayClient(serverUrl,appId,appPrivateKey,format,charset,alipayPublicKey,signType);
-        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
-        request.setNotifyUrl(notifyUrl);
-        JSONObject bizContent = new JSONObject();
-        bizContent.put("out_trade_no", tradeName);
-        bizContent.put("total_amount", price);
-        bizContent.put("subject", name);
-        bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");
-        request.setBizContent(bizContent.toString());
-        String form;
-        try  {
-            form = alipayClient.pageExecute(request).getBody();
-        }  catch  (Exception e) {
-            throw BlueWhaleException.payError();
-        }
-        return form;
-    }
-}

+ 0 - 1
src/main/java/com/seecoder/BlueWhale/configure/MyWebMvcConfig.java

@@ -27,7 +27,6 @@ public class MyWebMvcConfig implements WebMvcConfigurer {
                 .addPathPatterns("/**")
                 .excludePathPatterns("/api/users/register")
                 .excludePathPatterns("/api/users/login")
-                .excludePathPatterns("/api/ali/*")
                 .order(1);
     }
 

+ 0 - 30
src/main/java/com/seecoder/BlueWhale/controller/AliPayController.java

@@ -1,30 +0,0 @@
-package com.seecoder.BlueWhale.controller;
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.Map;
-
-@RestController
-@RequestMapping("/api/ali")
-public class AliPayController {
-
-    @PostMapping("/notify")
-    public void notify(HttpServletRequest httpServletRequest){
-        if (httpServletRequest.getParameter("trade_status").equals("TRADE_SUCCESS")) {
-            System.out.println("=========支付宝异步回调========");
-            Map<String, String> params = new HashMap<>();
-            Map<String, String[]> requestParams = httpServletRequest.getParameterMap();
-            for (String name : requestParams.keySet()) {
-                params.put(name, httpServletRequest.getParameter(name));
-            }
-            String tradeName = params.get("out_trade_no");
-            Double paid = Double.parseDouble(params.get("total_amount"));
-            //todo: 在这里完成回调接口
-        }
-    }
-
-}

+ 0 - 45
src/main/java/com/seecoder/BlueWhale/controller/CouponController.java

@@ -1,45 +0,0 @@
-package com.seecoder.BlueWhale.controller;
-
-import com.seecoder.BlueWhale.service.CouponService;
-import com.seecoder.BlueWhale.vo.CouponGroupVO;
-import com.seecoder.BlueWhale.vo.CouponVO;
-import com.seecoder.BlueWhale.vo.ResultVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-
-
-@RestController
-@RequestMapping("/api/coupons")
-public class CouponController {
-
-    @Autowired
-    CouponService couponService;
-
-    @PostMapping
-    public ResultVO<Boolean> createCouponGroup(@RequestBody CouponGroupVO couponGroupVO){
-        return ResultVO.buildSuccess(couponService.createCouponGroup(couponGroupVO));
-    }
-
-    @GetMapping("/group")
-    public ResultVO<List<CouponGroupVO>> getCouponGroups(){
-        return ResultVO.buildSuccess(couponService.getCouponGroups());
-    }
-
-    @PostMapping("/receive")
-    public ResultVO<Boolean> receiveCoupon(Integer couponGroupId){
-        return ResultVO.buildSuccess(couponService.receiveCoupon(couponGroupId));
-    }
-
-    @GetMapping
-    public ResultVO<List<CouponVO>> getCoupons(){
-        return ResultVO.buildSuccess(couponService.getCoupons());
-    }
-
-    @GetMapping("/available")
-    public ResultVO<List<CouponVO>> getCouponsWithStoreId(@RequestParam("storeId")Integer storeId){
-        return ResultVO.buildSuccess(couponService.getCouponsWithStoreId(storeId));
-    }
-}

+ 2 - 6
src/main/java/com/seecoder/BlueWhale/controller/OrderController.java

@@ -32,8 +32,8 @@ public class OrderController {
     }
 
     @PostMapping("/pay")
-    public ResultVO<Boolean> pay(@RequestParam("orderId") Integer orderId,@RequestParam("couponId")Integer couponId){
-        return ResultVO.buildSuccess(orderService.pay(orderId,couponId));
+    public ResultVO<Boolean> pay(@RequestParam("orderId") Integer orderId){
+        return ResultVO.buildSuccess(orderService.pay(orderId));
     }
 
     @PostMapping("/deliver")
@@ -51,8 +51,4 @@ public class OrderController {
         return ResultVO.buildSuccess(orderService.comment(orderId, comment, rating));
     }
 
-    @GetMapping("/calculate")
-    public ResultVO<Double> calculate(@RequestParam("orderId") Integer orderId,@RequestParam("couponId")Integer couponId){
-        return ResultVO.buildSuccess(orderService.calculate(orderId,couponId));
-    }
 }

+ 0 - 5
src/main/java/com/seecoder/BlueWhale/enums/CouponTypeEnum.java

@@ -1,5 +0,0 @@
-package com.seecoder.BlueWhale.enums;
-
-public enum CouponTypeEnum {
-    FULL_REDUCTION,SPECIAL;
-}

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

@@ -50,19 +50,4 @@ public class BlueWhaleException extends RuntimeException{
         return new BlueWhaleException("库存不足!");
     }
 
-    public static BlueWhaleException fullReductionCouponError(){
-        return new BlueWhaleException("满减券设置错误!");
-    }
-
-    public static BlueWhaleException couponNotAllowed(){
-        return new BlueWhaleException("该优惠券不支持使用!");
-    }
-
-    public static BlueWhaleException couponGroupNotEnough(){
-        return new BlueWhaleException("优惠券数量不足!");
-    }
-
-    public static BlueWhaleException payError(){
-        return new BlueWhaleException("支付失败!");
-    }
 }

+ 0 - 41
src/main/java/com/seecoder/BlueWhale/po/Coupon.java

@@ -1,41 +0,0 @@
-package com.seecoder.BlueWhale.po;
-
-import com.seecoder.BlueWhale.vo.CouponVO;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import javax.persistence.*;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-public class Coupon {
-
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Id
-    @Column(name = "id")
-    private Integer id;
-
-    @Basic
-    @Column(name = "group_id")
-    private Integer groupId;
-
-    @Basic
-    @Column(name = "used")
-    private Boolean used;
-
-    @Basic
-    @Column(name = "user_id")
-    private Integer userId;
-
-    public CouponVO toVO(){
-        CouponVO couponVO=new CouponVO();
-        couponVO.setId(this.id);
-        couponVO.setUsed(this.used);
-        couponVO.setUserId(this.userId);
-        couponVO.setGroupId(this.groupId);
-        return couponVO;
-    }
-}

+ 0 - 53
src/main/java/com/seecoder/BlueWhale/po/CouponGroup.java

@@ -1,53 +0,0 @@
-package com.seecoder.BlueWhale.po;
-
-import com.seecoder.BlueWhale.enums.CouponTypeEnum;
-import com.seecoder.BlueWhale.vo.CouponGroupVO;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import javax.persistence.*;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-public class CouponGroup {
-
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Id
-    @Column(name = "id")
-    private Integer id;
-
-    @Basic
-    @Column(name = "type")
-    @Enumerated(EnumType.STRING)
-    private CouponTypeEnum type;
-
-    @Basic
-    @Column(name = "satisfaction")
-    private Integer satisfaction;
-
-    @Basic
-    @Column(name = "minus")
-    private Integer minus;
-
-    @Basic
-    @Column(name = "store_id")
-    private Integer storeId;
-
-    @Basic
-    @Column(name = "rest")
-    private Integer rest;
-
-    public CouponGroupVO toVO(){
-        CouponGroupVO couponGroupVO=new CouponGroupVO();
-        couponGroupVO.setRest(this.rest);
-        couponGroupVO.setId(this.id);
-        couponGroupVO.setMinus(this.minus);
-        couponGroupVO.setType(this.type);
-        couponGroupVO.setSatisfaction(this.satisfaction);
-        couponGroupVO.setStoreId(this.storeId);
-        return couponGroupVO;
-    }
-}

+ 0 - 14
src/main/java/com/seecoder/BlueWhale/repository/CouponGroupRepository.java

@@ -1,14 +0,0 @@
-package com.seecoder.BlueWhale.repository;
-
-import com.seecoder.BlueWhale.po.CouponGroup;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-
-public interface CouponGroupRepository extends JpaRepository<CouponGroup, Integer> {
-    List<CouponGroup> findByStoreId(Integer storeId);
-
-    List<CouponGroup> findByRestGreaterThan(Integer rest);
-
-
-}

+ 0 - 14
src/main/java/com/seecoder/BlueWhale/repository/CouponRepository.java

@@ -1,14 +0,0 @@
-package com.seecoder.BlueWhale.repository;
-
-import com.seecoder.BlueWhale.po.Coupon;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-
-public interface CouponRepository extends JpaRepository<Coupon, Integer> {
-    List<Coupon> findByUserId(Integer userId);
-
-    List<Coupon> findByUserIdAndUsed(Integer userId, Boolean used);
-
-
-}

+ 0 - 19
src/main/java/com/seecoder/BlueWhale/service/CouponService.java

@@ -1,19 +0,0 @@
-package com.seecoder.BlueWhale.service;
-
-import com.seecoder.BlueWhale.vo.CouponGroupVO;
-import com.seecoder.BlueWhale.vo.CouponVO;
-
-import java.util.List;
-
-public interface CouponService {
-
-    Boolean createCouponGroup(CouponGroupVO couponGroupVO);
-
-    List<CouponGroupVO> getCouponGroups();
-
-    Boolean receiveCoupon(Integer couponGroupId);
-
-    List<CouponVO> getCoupons();
-
-    List<CouponVO> getCouponsWithStoreId(Integer storeId);
-}

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

@@ -11,7 +11,7 @@ public interface OrderService {
 
     OrderVO getOrder(Integer id);
 
-    Boolean pay(Integer orderId,Integer couponId);
+    Boolean pay(Integer orderId);
 
     Boolean deliver(Integer orderId);
 
@@ -19,6 +19,4 @@ public interface OrderService {
 
     Boolean comment(Integer orderId, String comment, Integer rating);
 
-    Double calculate(Integer orderId, Integer couponId);
-
 }

+ 0 - 133
src/main/java/com/seecoder/BlueWhale/serviceImpl/CouponServiceImpl.java

@@ -1,133 +0,0 @@
-package com.seecoder.BlueWhale.serviceImpl;
-
-import com.seecoder.BlueWhale.enums.CouponTypeEnum;
-import com.seecoder.BlueWhale.enums.RoleEnum;
-import com.seecoder.BlueWhale.exception.BlueWhaleException;
-import com.seecoder.BlueWhale.po.Coupon;
-import com.seecoder.BlueWhale.po.CouponGroup;
-import com.seecoder.BlueWhale.po.User;
-import com.seecoder.BlueWhale.repository.CouponGroupRepository;
-import com.seecoder.BlueWhale.repository.CouponRepository;
-import com.seecoder.BlueWhale.repository.StoreRepository;
-import com.seecoder.BlueWhale.service.CouponService;
-import com.seecoder.BlueWhale.util.SecurityUtil;
-import com.seecoder.BlueWhale.vo.CouponGroupVO;
-import com.seecoder.BlueWhale.vo.CouponVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@Service
-public class CouponServiceImpl implements CouponService {
-
-    @Autowired
-    CouponGroupRepository couponGroupRepository;
-
-    @Autowired
-    CouponRepository couponRepository;
-
-    @Autowired
-    SecurityUtil securityUtil;
-
-    @Autowired
-    StoreRepository storeRepository;
-
-    @Override
-    public Boolean createCouponGroup(CouponGroupVO couponGroupVO) {
-        if (couponGroupVO.getType()== CouponTypeEnum.FULL_REDUCTION){
-            if (couponGroupVO.getSatisfaction()==null || couponGroupVO.getMinus()==null ||
-            couponGroupVO.getSatisfaction()<couponGroupVO.getMinus()){
-                throw BlueWhaleException.fullReductionCouponError();
-            }
-        }
-        CouponGroup couponGroup=couponGroupVO.toPO();
-        User user=securityUtil.getCurrentUser();
-        couponGroup.setStoreId(user.getRole()==RoleEnum.STAFF ? user.getStoreId() : 0);
-        couponGroupRepository.save(couponGroup);
-        return true;
-    }
-
-    @Override
-    public List<CouponGroupVO> getCouponGroups() {
-        User user=securityUtil.getCurrentUser();
-        switch (user.getRole()){
-            case CUSTOMER:
-                List<CouponGroup> couponGroups=couponGroupRepository.findByRestGreaterThan(0);
-                List<Coupon> coupons=couponRepository.findByUserId(user.getId());
-                Set<Integer> received=coupons.stream()
-                        .map(Coupon::getGroupId)
-                        .collect(Collectors.toSet());
-                return couponGroups.stream()
-                        .filter(x->!received.contains(x.getId()))
-                        .map(x->wrapWithStoreId(x.toVO()))
-                        .collect(Collectors.toList());
-            case STAFF:
-                return couponGroupRepository.findByStoreId(user.getStoreId()).stream()
-                        .map(x->wrapWithStoreId(x.toVO())).collect(Collectors.toList());
-            case MANAGER:
-            case CEO:
-                return couponGroupRepository.findAll().stream()
-                        .map(x->wrapWithStoreId(x.toVO())).collect(Collectors.toList());
-        }
-        return null;
-    }
-
-    @Override
-    public Boolean receiveCoupon(Integer couponGroupId) {
-        CouponGroup couponGroup=couponGroupRepository.findById(couponGroupId).get();
-        if (couponGroup.getRest()<=0){
-            throw BlueWhaleException.couponGroupNotEnough();
-        }
-        
-        User user=securityUtil.getCurrentUser();
-        Coupon coupon = new Coupon();
-        coupon.setGroupId(couponGroupId);
-        coupon.setUserId(user.getId());
-        coupon.setUsed(false);
-        
-        couponGroup.setRest(couponGroup.getRest()-1);
-        couponGroupRepository.save(couponGroup);
-        couponRepository.save(coupon);
-        return true;
-    }
-
-    @Override
-    public List<CouponVO> getCoupons() {
-        User user=securityUtil.getCurrentUser();
-        return couponRepository.findByUserId(user.getId()).stream()
-                .map(x->wrapWithGroupId(x.toVO()))
-                .collect(Collectors.toList());
-    }
-
-    @Override
-    public List<CouponVO> getCouponsWithStoreId(Integer storeId) {
-        User user=securityUtil.getCurrentUser();
-        return couponRepository.findByUserIdAndUsed(user.getId(), false).stream()
-                .filter(x->{
-                    CouponGroup couponGroup=couponGroupRepository.findById(x.getGroupId()).get();
-                    return couponGroup.getStoreId()==0 || couponGroup.getStoreId().equals(storeId);
-                }).map(x->wrapWithGroupId(x.toVO()))
-                .collect(Collectors.toList());
-    }
-
-    private CouponVO wrapWithGroupId(CouponVO couponVO){
-        CouponGroup couponGroup=couponGroupRepository.findById(couponVO.getGroupId()).get();
-        couponVO.setSatisfaction(couponGroup.getSatisfaction());
-        couponVO.setType(couponGroup.getType());
-        couponVO.setMinus(couponGroup.getMinus());
-        couponVO.setStoreId(couponGroup.getStoreId());
-        couponVO.setStoreName(couponVO.getStoreId()==0?"商场发放":
-                storeRepository.findById(couponGroup.getStoreId()).get().getName());
-        return couponVO;
-    }
-
-    private CouponGroupVO wrapWithStoreId(CouponGroupVO couponGroupVO){
-        couponGroupVO.setStoreName(couponGroupVO.getStoreId()==0?"商场发放":
-                storeRepository.findById(couponGroupVO.getStoreId()).get().getName());
-        return couponGroupVO;
-    }
-
-}

+ 10 - 43
src/main/java/com/seecoder/BlueWhale/serviceImpl/OrderServiceImpl.java

@@ -1,12 +1,15 @@
 package com.seecoder.BlueWhale.serviceImpl;
 
-import com.seecoder.BlueWhale.configure.AlipayTools;
 import com.seecoder.BlueWhale.enums.OrderStatusEnum;
 import com.seecoder.BlueWhale.exception.BlueWhaleException;
-import com.seecoder.BlueWhale.po.*;
-import com.seecoder.BlueWhale.repository.*;
+import com.seecoder.BlueWhale.po.Order;
+import com.seecoder.BlueWhale.po.Product;
+import com.seecoder.BlueWhale.po.Store;
+import com.seecoder.BlueWhale.po.User;
+import com.seecoder.BlueWhale.repository.OrderRepository;
+import com.seecoder.BlueWhale.repository.ProductRepository;
+import com.seecoder.BlueWhale.repository.StoreRepository;
 import com.seecoder.BlueWhale.service.OrderService;
-import com.seecoder.BlueWhale.serviceImpl.strategy.Context;
 import com.seecoder.BlueWhale.util.SecurityUtil;
 import com.seecoder.BlueWhale.vo.OrderVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,15 +34,6 @@ public class OrderServiceImpl implements OrderService {
     @Autowired
     ProductRepository productRepository;
 
-    @Autowired
-    CouponRepository couponRepository;
-
-    @Autowired
-    CouponGroupRepository couponGroupRepository;
-
-    @Autowired
-    AlipayTools alipayTools;
-
     @Override
     public OrderVO create(OrderVO orderVO) {
         Order order = orderVO.toPO();
@@ -78,7 +72,7 @@ public class OrderServiceImpl implements OrderService {
     }
 
     @Override
-    public Boolean pay(Integer orderId,Integer couponId) {
+    public Boolean pay(Integer orderId) {
         User user=securityUtil.getCurrentUser();
         Order order = orderRepository.findById(orderId).orElse(null);
         if(order == null){
@@ -87,20 +81,10 @@ public class OrderServiceImpl implements OrderService {
         if(order.getStatus() != OrderStatusEnum.UNPAID){
             throw BlueWhaleException.orderStatusError();
         }
-        order.setPaid(calculate(orderId,couponId));
+        Product product=productRepository.findById(order.getProductId()).get();
+        order.setPaid(product.getPrice()*order.getAmount());
         order.setStatus(OrderStatusEnum.UNSEND);
         orderRepository.save(order);
-        if (couponId!=0){
-            Coupon coupon = couponRepository.findById(couponId).get();
-            CouponGroup couponGroup=couponGroupRepository.findById(coupon.getGroupId()).get();
-            Product product=productRepository.findById(order.getProductId()).get();
-            if (coupon.getUsed() || !coupon.getUserId().equals(user.getId()) ||
-            couponGroup.getStoreId()>0 && !couponGroup.getStoreId().equals(product.getStoreId())){
-                throw BlueWhaleException.couponNotAllowed();
-            }
-            coupon.setUsed(true);
-            couponRepository.save(coupon);
-        }
         return true;
     }
 
@@ -168,23 +152,6 @@ public class OrderServiceImpl implements OrderService {
         return true;
     }
 
-    @Override
-    public Double calculate(Integer orderId, Integer couponId) {
-        Order order = orderRepository.findById(orderId).orElse(null);
-        if(order == null){
-            throw BlueWhaleException.orderNotExists();
-        }
-        Product product = productRepository.findById(order.getProductId()).get();
-        Double origin=order.getAmount()*product.getPrice();
-        if (couponId==0){
-            return origin;
-        }
-        Coupon coupon = couponRepository.findById(couponId).get();
-        CouponGroup couponGroup = couponGroupRepository.findById(coupon.getGroupId()).get();
-        Context context=new Context(origin,couponGroup.getType(),couponGroup.getSatisfaction(),couponGroup.getMinus());
-        return context.calculate();
-    }
-
     private OrderVO wrapWithProductId(OrderVO orderVO){
         Integer productId=orderVO.getProductId();
         Product product=productRepository.findById(productId).get();

+ 0 - 19
src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/Context.java

@@ -1,25 +1,6 @@
 package com.seecoder.BlueWhale.serviceImpl.strategy;
 
-import com.seecoder.BlueWhale.enums.CouponTypeEnum;
-
 public class Context {
-    private final Double price;
-
     private CalculateStrategy calculateStrategy;
 
-    public Context(Double price, CouponTypeEnum couponTypeEnum, Integer satisfaction, Integer minus) {
-        this.price = price;
-        switch (couponTypeEnum){
-            case FULL_REDUCTION:
-                calculateStrategy=new FillReductionCouponCalculateStrategy(satisfaction,minus);
-                break;
-            case SPECIAL:
-                calculateStrategy=new SpecialCouponCalculateStrategy();
-                break;
-        }
-    }
-
-    public Double calculate(){
-        return calculateStrategy.calculate(this.price);
-    }
 }

+ 1 - 10
src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/FillReductionCouponCalculateStrategy.java

@@ -2,17 +2,8 @@ package com.seecoder.BlueWhale.serviceImpl.strategy;
 
 public class FillReductionCouponCalculateStrategy implements CalculateStrategy{
 
-    private final Integer satisfaction;
-
-    private final Integer minus;
-
-    public FillReductionCouponCalculateStrategy(Integer satisfaction, Integer minus) {
-        this.satisfaction = satisfaction;
-        this.minus = minus;
-    }
-
     @Override
     public Double calculate(Double price) {
-        return price>=satisfaction?price-minus:price;
+        return 0.0;
     }
 }

+ 1 - 4
src/main/java/com/seecoder/BlueWhale/serviceImpl/strategy/SpecialCouponCalculateStrategy.java

@@ -13,11 +13,8 @@ package com.seecoder.BlueWhale.serviceImpl.strategy;
 */
 public class SpecialCouponCalculateStrategy implements CalculateStrategy{
 
-    static final double[] table={0,95,185,270,350,425};
-    static final double[] discount={0.95,0.9,0.85,0.8,0.75,0.7};
     @Override
     public Double calculate(Double price) {
-        int index=Math.min((int)(price/100),5);
-        return table[index]+(price-100*index)*discount[index];
+        return 0.0;
     }
 }

+ 0 - 38
src/main/java/com/seecoder/BlueWhale/vo/CouponGroupVO.java

@@ -1,38 +0,0 @@
-package com.seecoder.BlueWhale.vo;
-
-import com.seecoder.BlueWhale.enums.CouponTypeEnum;
-import com.seecoder.BlueWhale.po.CouponGroup;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@NoArgsConstructor
-public class CouponGroupVO {
-
-    private Integer id;
-
-    private CouponTypeEnum type;
-
-    private Integer satisfaction;
-
-    private Integer minus;
-
-    private Integer storeId;
-
-    private Integer rest;
-
-    private String storeName;
-
-    public CouponGroup toPO(){
-        CouponGroup couponGroup=new CouponGroup();
-        couponGroup.setId(this.id);
-        couponGroup.setRest(this.rest);
-        couponGroup.setMinus(this.minus);
-        couponGroup.setType(this.type);
-        couponGroup.setSatisfaction(this.satisfaction);
-        couponGroup.setStoreId(this.storeId);
-        return couponGroup;
-    }
-}

+ 0 - 31
src/main/java/com/seecoder/BlueWhale/vo/CouponVO.java

@@ -1,31 +0,0 @@
-package com.seecoder.BlueWhale.vo;
-
-import com.seecoder.BlueWhale.enums.CouponTypeEnum;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@NoArgsConstructor
-public class CouponVO {
-
-    private Integer id;
-
-    private Integer groupId;
-
-    private CouponTypeEnum type;
-
-    private Integer satisfaction;
-
-    private Integer minus;
-
-    private Integer storeId;
-
-    private Boolean used;
-
-    private Integer userId;
-
-    private String storeName;
-
-}

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

@@ -1,17 +1,14 @@
 package com.seecoder.BlueWhale.vo;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
 import com.seecoder.BlueWhale.enums.OrderStatusEnum;
 import com.seecoder.BlueWhale.enums.OrderTypeEnum;
 import com.seecoder.BlueWhale.po.Order;
-
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
+import java.util.Date;
+
 @Getter
 @Setter
 @NoArgsConstructor
@@ -61,43 +58,4 @@ public class OrderVO {
         return order;
     }
 
-    public List<String> getHeaderList() {
-        return new ArrayList<String>() {
-            {
-                add("订单编号");
-                add("用户编号");
-                add("商品编号");
-                add("商品数量");
-                add("付款额");
-                add("订单类型");
-                add("订单评价");
-                add("订单评分");
-                add("订单状态");
-                add("订单创建时间");
-                add("订单完成时间");
-                add("商品名称");
-                add("商店编号");
-                add("订单金额");
-            }
-        };
-    }
-
-    public List<Object> getCellContent() {
-        List<Object> content = new ArrayList<>();
-        content.add(this.id);
-        content.add(this.userId);
-        content.add(this.productId);
-        content.add(this.amount);
-        content.add(this.paid);
-        content.add(this.type);
-        content.add(this.content);
-        content.add(this.rating);
-        content.add(this.status);
-        content.add(this.createTime);
-        content.add(this.finishTime);
-        content.add(this.productName);
-        content.add(this.storeId);
-        content.add(this.price);
-        return content;
-    }
 }

+ 0 - 7
src/main/resources/application.yml

@@ -16,10 +16,3 @@ aliyun:
     accessKeyId:
     accessKeySecret:
     bucketName:
-
-alipay:
-  appId:
-  appPrivateKey:
-  alipayPublicKey:
-  notifyUrl:
-  serverUrl: