|
@@ -0,0 +1,73 @@
|
|
|
+package com.sky.service.impl;
|
|
|
+
|
|
|
+import com.sky.context.BaseContext;
|
|
|
+import com.sky.dto.ShoppingCartDTO;
|
|
|
+import com.sky.entity.Dish;
|
|
|
+import com.sky.entity.Setmeal;
|
|
|
+import com.sky.entity.ShoppingCart;
|
|
|
+import com.sky.mapper.DishMapper;
|
|
|
+import com.sky.mapper.SetmealMapper;
|
|
|
+import com.sky.mapper.ShoppingCartMapper;
|
|
|
+import com.sky.service.DishService;
|
|
|
+import com.sky.service.ShoppingCartService;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class ShoppingCartServiceImpl implements ShoppingCartService {
|
|
|
+ @Autowired
|
|
|
+ private ShoppingCartMapper shoppingCartMapper;
|
|
|
+ @Autowired
|
|
|
+ private DishMapper dishMapper;
|
|
|
+ @Autowired
|
|
|
+ private SetmealMapper setmealMapper;
|
|
|
+ /**
|
|
|
+ * 添加购物车
|
|
|
+ * @param shoppingCartDTO
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void add(ShoppingCartDTO shoppingCartDTO) {
|
|
|
+
|
|
|
+ //先获取购物车内的数据
|
|
|
+ ShoppingCart shoppingCart = new ShoppingCart();
|
|
|
+ BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
|
|
|
+ Long userId = BaseContext.getCurrentId();
|
|
|
+ shoppingCart.setUserId(userId);
|
|
|
+
|
|
|
+ List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
|
|
|
+ //如果购物车内存在需要添加的物品,那么只需要将数量加1,再更新
|
|
|
+ if (list != null && list.size() > 0){
|
|
|
+ ShoppingCart cart = list.get(0);
|
|
|
+ cart.setNumber(cart.getNumber() + 1);//需要在数据库更新
|
|
|
+ shoppingCartMapper.updateNumberById(cart);
|
|
|
+ }else {
|
|
|
+ //如果购物车内没有要添加的物品,需要将物品信息插入购物车
|
|
|
+ //判断本次添加到购物车的是菜品还是套餐
|
|
|
+ Long dishId = shoppingCartDTO.getDishId();
|
|
|
+ if (dishId != null){
|
|
|
+ //本次添加到购物车的是菜品
|
|
|
+ Dish dish = dishMapper.getById(dishId);
|
|
|
+ shoppingCart.setName(dish.getName());
|
|
|
+ shoppingCart.setImage(dish.getImage());
|
|
|
+ shoppingCart.setAmount(dish.getPrice());
|
|
|
+
|
|
|
+ }else {
|
|
|
+ //本次添加到购物车的是套餐
|
|
|
+ Long setmealId = shoppingCartDTO.getSetmealId();
|
|
|
+ Setmeal setmeal = setmealMapper.getById(setmealId);
|
|
|
+
|
|
|
+ shoppingCart.setName(setmeal.getName());
|
|
|
+ shoppingCart.setImage(setmeal.getImage());
|
|
|
+ shoppingCart.setAmount(setmeal.getPrice());
|
|
|
+
|
|
|
+ }
|
|
|
+ shoppingCart.setNumber(1);
|
|
|
+ shoppingCart.setCreateTime(LocalDateTime.now());
|
|
|
+ shoppingCartMapper.insert(shoppingCart);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|