lzy 1 week ago
parent
commit
a39cf8b18f

+ 19 - 0
src/main/java/com/futu/course/course/controller/CourseController.java

@@ -1,5 +1,6 @@
 package com.futu.course.course.controller;
 
+import com.futu.course.common.entity.R;
 import com.futu.course.course.domain.Course;
 import com.futu.course.course.service.impl.CourseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,4 +31,22 @@ public class CourseController {
     public Course CourseGetOneById(@RequestParam Long id){
         return courseService.getById(id);
     }
+
+
+
+
+//    首页的购买的商品
+    @PostMapping("findAll")
+    public R findAll(){
+        return courseService.findAll();
+    }
+
+
+
+
+
+
+
+
+
 }

+ 6 - 0
src/main/java/com/futu/course/course/service/CourseService.java

@@ -1,5 +1,6 @@
 package com.futu.course.course.service;
 
+import com.futu.course.common.entity.R;
 import com.futu.course.course.domain.Course;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -10,4 +11,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 */
 public interface CourseService extends IService<Course> {
 
+
+    //    展示首页的课程
+    R findAll();
+
+
 }

+ 46 - 0
src/main/java/com/futu/course/course/service/impl/CourseServiceImpl.java

@@ -1,12 +1,23 @@
 package com.futu.course.course.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.futu.course.common.entity.R;
 import com.futu.course.course.domain.Course;
 import com.futu.course.course.service.CourseService;
 import com.futu.course.course.mapper.CourseMapper;
 
+import com.futu.course.orders.domain.Order1;
+import com.futu.course.orders.domain.OrderItem;
+import com.futu.course.orders.mapper.Order1Mapper;
+import com.futu.course.orders.mapper.OrderItemMapper;
+import com.futu.course.user.domain.User;
+import org.elasticsearch.common.util.LongHash;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -18,6 +29,41 @@ import java.util.List;
 @Service
 public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {
 
+    @Resource
+    private RedisTemplate redisTemplate;
+
+    @Resource
+    private Order1Mapper order1Mapper;
+
+    @Resource
+    private OrderItemMapper orderItemMapper;
+
+
+//    查询首页的课程
+    @Override
+    public R findAll() {
+
+        User user = (User) redisTemplate.opsForValue().get("user");
+
+        List<Long> order1Id = order1Mapper.selectObjs(new QueryWrapper<Order1>().eq("user_id", user.getId()).select("id"));
+
+        List<Long>  orderItemId=new ArrayList<>();
+        for (Long id:order1Id){
+            OrderItem orderItem = orderItemMapper.selectOne(new QueryWrapper<OrderItem>().eq("order_id", id));
+            orderItemId.add(orderItem.getCourseId());
+        }
+        List<Course> courses=new ArrayList<>();
+        for (Long courseId:orderItemId){
+            courses.add(this.baseMapper.selectOne(new QueryWrapper<Course>().eq("id",courseId)));
+        }
+        return R.ok(courses);
+    }
+
+
+
+
+
+
 }
 
 

+ 3 - 0
src/main/java/com/futu/course/cupons/dto/CouponDto.java

@@ -12,4 +12,7 @@ import java.math.BigDecimal;
 public class CouponDto {
 
     private  Long couponId;
+
+
+
 }

+ 4 - 0
src/main/java/com/futu/course/cupons/service/CouponService.java

@@ -15,4 +15,8 @@ public interface CouponService extends IService<Coupon> {
 //    获取能使用的优惠券
     R findAll(CouponDto primary);
 
+
+
+
+
 }

+ 30 - 0
src/main/java/com/futu/course/orders/controller/Order1Controller.java

@@ -0,0 +1,30 @@
+package com.futu.course.orders.controller;
+
+import com.futu.course.common.entity.R;
+import com.futu.course.orders.dto.OrdersDto;
+import com.futu.course.orders.service.Order1Service;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/order1")
+public class Order1Controller {
+
+    @Resource
+    private Order1Service order1Service;
+
+// 添加订单
+    @PostMapping("/addorder1")
+    public R addorder1(@RequestBody OrdersDto ordersDto){
+       return order1Service.AddOrder1(ordersDto);
+    }
+
+
+
+
+
+}

+ 2 - 0
src/main/java/com/futu/course/orders/dto/OrdersDto.java

@@ -3,12 +3,14 @@ package com.futu.course.orders.dto;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import lombok.ToString;
 
 import javax.naming.ldap.PagedResultsControl;
 
 @AllArgsConstructor
 @Data
 @NoArgsConstructor
+@ToString
 public class OrdersDto {
 
 //    课程id

+ 41 - 8
src/main/java/com/futu/course/orders/service/impl/Order1ServiceImpl.java

@@ -56,19 +56,20 @@ public class Order1ServiceImpl extends ServiceImpl<Order1Mapper, Order1>
 
     @Override
     public R AddOrder1(OrdersDto ordersDto) {
-
         User user = (User) redisTemplate.opsForValue().get("user");
-
-        Course course = courseMapper.selectById(ordersDto.getCouponId());
+//      查询商品
+        Course course = courseMapper.selectById(ordersDto.getCourseId());
 //        商品价格
         BigDecimal price = course.getPrice();
+//        查询地址
         UserAddress userAddress = userAddressMapper.selectById(ordersDto.getAddressId());
         SnowflakeIdWorker snowflakeIdWorker=new SnowflakeIdWorker(1,1);
+//        设置订单
         Order1 order1=new Order1();
         order1.setId(snowflakeIdWorker.nextId());
-        order1.setId(user.getId());
+        order1.setUserId(user.getId());
         order1.setTotalAmount(price);
-
+//      总金额
         BigDecimal bigDecimal=BigDecimal.ZERO;
 
         if (ordersDto.getCouponId()!=null){
@@ -86,6 +87,7 @@ public class Order1ServiceImpl extends ServiceImpl<Order1Mapper, Order1>
         order1.setStatus(0);
         this.baseMapper.insert(order1);
 
+//      订单和优惠券关联表
         if (ordersDto.getCouponId()!=null){
             Coupon coupon = couponMapper.selectById(ordersDto.getCouponId());
             OrderCoupon orderCoupon1=new OrderCoupon();
@@ -94,11 +96,44 @@ public class Order1ServiceImpl extends ServiceImpl<Order1Mapper, Order1>
             orderCoupon1.setDiscountAmount(coupon.getDiscount());
             orderCouponMapper.insert(orderCoupon1);
         }
+//        AddOrderItme(order1.getId(), course.getId(),bigDecimal);
+
+        return R.failed("添加成功");
+    }
+
+
 
+/** 支持成功执行这个方法
+     order1Id 是订单Id
+     courseId 是课程ID
+     BigDecimal是支付价格
+**/
+    public R AddOrderItme(Long order1Id , Long courseId , BigDecimal bigDecimal){
+        SnowflakeIdWorker snowflakeIdWorker=new SnowflakeIdWorker(1,1);
+        //        订单和课程关联表
         OrderItem orderItem=new OrderItem();
         orderItem.setId(snowflakeIdWorker.nextId());
-        orderItem.setOrderId(order1.getId());
+        orderItem.setOrderId(order1Id);
         orderItem.setPrice(bigDecimal);
+        orderItem.setCourseId(courseId);
+        orderItemMapper.insert(orderItem);
+
+        return R.failed("添加成功");
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -106,8 +141,6 @@ public class Order1ServiceImpl extends ServiceImpl<Order1Mapper, Order1>
 
 
 
-        return null;
-    }
 }
 
 

+ 8 - 0
接口文档.txt

@@ -4,3 +4,11 @@
    CourseList         int categoryId  HashSet<ESCourse>    课程分类查询所有    Post     /EsCourse/CourseList
    SelCourse          String name     HashSet<ESCourse>     课程的搜索        Post     /EsCourse/SelCourse
    checkAndCreateIndex  无              boolean           ES索引结构初始化     Get      /EsCourse/checkAndCreateIndex
+
+
+
+
+
+   路径                                       请求方式           参数是
+   localhost:8003/Coupon/findAll                post            CouponDto类
+    localhost:8003/order1/addorder1             post            OrdersDto类