From 4d6631a60975c8f6a0ec67436258bf54c8438dc1 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期日, 09 十月 2022 15:49:15 +0800
Subject: [PATCH] 事件状态修改
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 233 insertions(+), 5 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java
index 087ec2f..8cd2187 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java
@@ -1,11 +1,32 @@
package com.panzhihua.service_community.service.impl;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.panzhihua.service_community.dao.ComShopCartDAO;
-import com.panzhihua.service_community.model.dos.ComShopCartDO;
-import com.panzhihua.service_community.service.ComShopCartService;
-import lombok.extern.slf4j.Slf4j;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.shop.ComShopCartDTO;
+import com.panzhihua.common.model.dtos.shop.ComShopEditNubCartDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.shop.ComShopCartListVO;
+import com.panzhihua.common.model.vos.shop.ComShopCartStoreVO;
+import com.panzhihua.common.model.vos.shop.ComShopCartVO;
+import com.panzhihua.service_community.dao.ComShopCartDAO;
+import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO;
+import com.panzhihua.service_community.dao.ComShopGoodsDAO;
+import com.panzhihua.service_community.dao.ComShopStoreDAO;
+import com.panzhihua.service_community.model.dos.ComShopCartDO;
+import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO;
+import com.panzhihua.service_community.model.dos.ComShopGoodsDO;
+import com.panzhihua.service_community.model.dos.ComShopStoreDO;
+import com.panzhihua.service_community.service.ComShopCartService;
+
+import lombok.extern.slf4j.Slf4j;
/**
* @auther lyq
@@ -16,4 +37,211 @@
@Service
public class ComShopCartServiceImpl extends ServiceImpl<ComShopCartDAO, ComShopCartDO> implements ComShopCartService {
+ @Resource
+ private ComShopGoodsDAO shopGoodsDAO;
+ @Resource
+ private ComShopStoreDAO shopStoreDAO;
+ @Resource
+ private ComShopGoodsAttrDAO shopGoodsAttrDAO;
+
+ /**
+ * 根据用户id查询购物车列表
+ *
+ * @param userId
+ * 用户id
+ * @return 购物车列表
+ */
+ @Override
+ public R shopCartList(Long userId) {
+ // 返回参数
+ ComShopCartListVO comShopCart = new ComShopCartListVO();
+ // 失效宝贝集合
+ List<ComShopCartVO> invalidCartList = new ArrayList<>();
+ // 有效宝贝集合
+ List<ComShopCartStoreVO> cartList = new ArrayList<>();
+
+ List<ComShopCartDO> shopCartDOList =
+ this.baseMapper.selectList(new QueryWrapper<ComShopCartDO>().eq("user_id", userId));
+ if (!shopCartDOList.isEmpty()) {
+ shopCartDOList.forEach(shopCart -> {
+ // 查询当前商品是否是有效商品
+ ComShopGoodsDO goodsDO =
+ shopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>().eq("id", shopCart.getGoodsId())
+ .eq("delete_status", ComShopGoodsDO.deleteStatus.no).eq("status", ComShopGoodsDO.status.sell));
+ if (goodsDO == null) {
+ ComShopCartVO invalidCart = new ComShopCartVO();
+ BeanUtils.copyProperties(shopCart, invalidCart);
+ invalidCartList.add(invalidCart);
+ return;
+ }
+
+ // 有效商品区分店铺
+ if (cartList.isEmpty()) {
+ ComShopCartStoreVO cartStoreVO = new ComShopCartStoreVO();
+ // 查询商品所属店铺
+ ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId());
+ if (shopStoreDO != null) {
+ cartStoreVO.setStoreId(shopStoreDO.getId());
+ cartStoreVO.setStoreName(shopStoreDO.getName());
+ cartStoreVO.setStoreLogo(shopStoreDO.getLogo());
+ }
+ List<ComShopCartVO> cartsList = new ArrayList<>();
+ ComShopCartVO cartVO = new ComShopCartVO();
+ BeanUtils.copyProperties(shopCart, cartVO);
+ cartsList.add(cartVO);
+ cartStoreVO.setCartList(cartsList);
+ cartList.add(cartStoreVO);
+ } else {
+ boolean isOk = true;
+ for (ComShopCartStoreVO vo : cartList) {
+ if (vo.getStoreId().equals(goodsDO.getStoreId())) {
+ isOk = false;
+ ComShopCartVO cartVO = new ComShopCartVO();
+ BeanUtils.copyProperties(shopCart, cartVO);
+ vo.getCartList().add(cartVO);
+ }
+ }
+
+ if (isOk) {
+ ComShopCartStoreVO cartStoreVO = new ComShopCartStoreVO();
+ // 查询商品所属店铺
+ ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId());
+ if (shopStoreDO != null) {
+ cartStoreVO.setStoreId(shopStoreDO.getId());
+ cartStoreVO.setStoreName(shopStoreDO.getName());
+ cartStoreVO.setStoreLogo(shopStoreDO.getLogo());
+ }
+ List<ComShopCartVO> cartsList = new ArrayList<>();
+ ComShopCartVO cartVO = new ComShopCartVO();
+ BeanUtils.copyProperties(shopCart, cartVO);
+ cartsList.add(cartVO);
+ cartStoreVO.setCartList(cartsList);
+ cartList.add(cartStoreVO);
+ }
+
+ }
+
+ });
+ // 设置返回参数
+ comShopCart.setInvalidCartList(invalidCartList);
+ comShopCart.setCartList(cartList);
+ }
+ return R.ok(comShopCart);
+ }
+
+ /**
+ * 购物车添加
+ *
+ * @param comShopCartDTO
+ * 请求参数
+ * @return 添加结果
+ */
+ @Override
+ public R shopAddCart(ComShopCartDTO comShopCartDTO) {
+ // 查询当前商品是否已经在购物车中
+ ComShopCartDO shopCartDO =
+ this.baseMapper.selectOne(new QueryWrapper<ComShopCartDO>().eq("user_id", comShopCartDTO.getUserId())
+ .eq("goods_id", comShopCartDTO.getGoodsId()).eq("goods_attr_id", comShopCartDTO.getGoodsAttrId()));
+ if (shopCartDO == null) {// 购物车表里未有该商品的记录
+ shopCartDO = new ComShopCartDO();
+ shopCartDO.setUserId(comShopCartDTO.getUserId());
+ shopCartDO.setAmount(comShopCartDTO.getNumber());
+ // 查询商品
+ ComShopGoodsDO shopGoodsDO = shopGoodsDAO.selectById(comShopCartDTO.getGoodsId());
+ if (shopGoodsDO == null) {
+ return R.fail("未查询到商品信息");
+ }
+ shopCartDO.setGoodsName(shopGoodsDO.getName());
+ shopCartDO.setGoodsId(shopGoodsDO.getId());
+ shopCartDO.setStoreId(shopGoodsDO.getStoreId());
+ // 查询商品规格
+ ComShopGoodsAttrDO shopGoodsAttrDO = shopGoodsAttrDAO.selectById(comShopCartDTO.getGoodsAttrId());
+ if (shopGoodsAttrDO == null) {
+ return R.fail("未查询到商品规格");
+ }
+ shopCartDO.setGoodsAttrId(shopGoodsAttrDO.getId());
+ shopCartDO.setGoodsAttr(shopGoodsAttrDO.getGoodsAttr());
+ shopCartDO.setGoodsAttrPic(shopGoodsAttrDO.getAttrPic());
+ shopCartDO.setPrice(shopGoodsAttrDO.getPrice());
+ // 执行添加操作
+ if (this.baseMapper.insert(shopCartDO) > 0) {
+ return R.ok();
+ } else {
+ return R.fail("添加购物车失败");
+ }
+ } else {// 购物车已有该商品
+ shopCartDO.setAmount(shopCartDO.getAmount() + comShopCartDTO.getNumber());
+ // 执行修改操作
+ if (this.baseMapper.updateById(shopCartDO) > 0) {
+ return R.ok();
+ } else {
+ return R.fail("添加购物车失败");
+ }
+ }
+ }
+
+ /**
+ * 购物车内商品数量修改
+ *
+ * @param shopEditNubCartDTO
+ * 请求参数
+ * @return 修改结果
+ */
+ @Override
+ public R shopEditNubCart(ComShopEditNubCartDTO shopEditNubCartDTO) {
+ // 查询购物车记录
+ ComShopCartDO shopCartDO = this.baseMapper.selectById(shopEditNubCartDTO.getCartId());
+ if (shopCartDO == null) {
+ return R.fail("未查询到购物车记录");
+ }
+ shopCartDO.setAmount(shopEditNubCartDTO.getNumber());
+ // 执行修改操作
+ if (this.baseMapper.updateById(shopCartDO) > 0) {
+ return R.ok();
+ } else {
+ return R.fail("修改失败");
+ }
+ }
+
+ /**
+ * 删除购物车记录
+ *
+ * @param Ids
+ * 购物车id集合
+ * @return 删除结果
+ */
+ public R shopDelCart(List<Long> Ids) {
+ if (this.baseMapper.deleteBatchIds(Ids) > 0) {
+ return R.ok();
+ } else {
+ return R.fail("修改失败");
+ }
+ }
+
+ /**
+ * 查询用户购物车商品数量
+ *
+ * @param userId
+ * 用户id
+ * @return 用户购物车商品数量
+ */
+ public R shopCartUserTotal(Long userId) {
+ int goodsNum = 0;
+ // 查询用户购物车所有商品集合
+ List<ComShopCartDO> shopCartDOList =
+ this.baseMapper.selectList(new QueryWrapper<ComShopCartDO>().eq("user_id", userId));
+ if (!shopCartDOList.isEmpty()) {
+ for (ComShopCartDO cartDO : shopCartDOList) {
+ // 查询当前商品是否是有效商品
+ ComShopGoodsDO goodsDO =
+ shopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>().eq("id", cartDO.getGoodsId())
+ .eq("delete_status", ComShopGoodsDO.deleteStatus.no).eq("status", ComShopGoodsDO.status.sell));
+
+ if (goodsDO != null) {
+ goodsNum++;
+ }
+ }
+ }
+ return R.ok(goodsNum);
+ }
}
--
Gitblit v1.7.1