Explorar el Código

Merge remote-tracking branch 'origin/correct' into correct

wanghongkai hace 5 años
padre
commit
c93ad4ed95

+ 20 - 4
src/main/java/cn/seecoder/courselearning/serviceimpl/order/CourseOrderServiceImpl.java

@@ -24,10 +24,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -216,7 +213,26 @@ public class CourseOrderServiceImpl implements CourseOrderService {
      */
     @Override
     public ResultVO<CourseOrderVO> createCourseOrder(Integer courseId, Integer userId) {
+        List<CourseOrder> courseOrderList = orderMapper.selectByUserId(userId);
+
+        for(CourseOrder order: courseOrderList){
+            if(order.getCourseId().equals(courseId)){
+                if(order.getStatus() == Constant.ORDER_STATUS_SUCCESS){
+                    return new ResultVO<>(Constant.REQUEST_FAIL,"已购买该课程");
+
+                }
+                List<Coupon> usedCoupons = couponService.getByOrderId(order.getId());
+                List<CouponVO> couponVOS = new ArrayList<>();
+                for(Coupon coupon:usedCoupons){
+                    couponVOS.add(new CouponVO(coupon));
+                }
+                CourseOrderVO courseOrderVO = new CourseOrderVO(order);
+                courseOrderVO.setUsedCoupons(couponVOS);
+                return new ResultVO<>(Constant.REQUEST_SUCCESS,"恢复到未完成订单", courseOrderVO);
+            }
+        }
         CourseOrder order = new CourseOrder();
+
         order.setUserId(userId);
         order.setCourseId(courseId);
         CourseVO courseVO = courseService.getCourse(courseId,userId);