From 231e22e6372433c833fbcef05b6f9ea48910fb15 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 26 四月 2021 14:02:35 +0800
Subject: [PATCH] 修改bug
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java | 168 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 146 insertions(+), 22 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java
index 1823d55..ce306d0 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java
@@ -1,24 +1,36 @@
package com.panzhihua.service_community.service.impl;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.shop.*;
import com.panzhihua.common.model.vos.shop.PageShopStoreVO;
-import com.panzhihua.common.model.vos.shop.PageShopStoreVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO;
import com.panzhihua.service_community.dao.ComShopGoodsDAO;
import com.panzhihua.common.model.vos.shop.PageShopStoreVO;
-import com.panzhihua.common.model.vos.shop.ShopStoreVO;
import com.panzhihua.service_community.dao.ComShopStoreDAO;
+import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO;
+import com.panzhihua.service_community.model.dos.ComShopGoodsDO;
+import com.panzhihua.service_community.model.dos.ComShopOrderDO;
import com.panzhihua.service_community.model.dos.ComShopStoreDO;
+import com.panzhihua.service_community.service.ComShopOrderService;
import com.panzhihua.service_community.service.ComShopStoreService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* @auther lyq
@@ -31,7 +43,8 @@
@Resource
private ComShopGoodsDAO shopGoodsDAO;
-
+ @Resource
+ private ComShopGoodsAttrDAO comShopGoodsAttrDAO;
/**
* 查询店铺列表
*
@@ -45,6 +58,11 @@
IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStore(page, pageComShopStoreDTO);
return R.ok(comShopStoreVOIPage);
}
+
+ @Resource
+ private UserService userService;
+ @Resource
+ private ComShopOrderService orderService;
/**
* 查询店铺详情
@@ -67,8 +85,18 @@
//查询店铺下商品信息
Page page = new Page<>(comShopStoreDTO.getPageNum(), comShopStoreDTO.getPageSize());
- shopStoreVO.setGoodsList(shopGoodsDAO.pageShopGoodsByStoreId(page, comShopStoreDTO).getRecords());
+ List<ComShopGoodsVO> goodsList = shopGoodsDAO.pageShopGoodsByStoreId(page, comShopStoreDTO).getRecords();
+ if(!goodsList.isEmpty()){
+ //查询商品规格列表
+ goodsList.forEach(goods -> {
+ List<ComShopGoodsAttrVO> goodsAttrList = comShopGoodsAttrDAO.getGoodsAttr(goods.getId());
+ if(!goodsAttrList.isEmpty()){
+ goods.setGoodsAttrList(goodsAttrList);
+ }
+ });
+ }
+ shopStoreVO.setGoodsList(goodsList);
return R.ok(shopStoreVO);
}
@@ -76,13 +104,29 @@
@Override
public R saveStore(ShopStoreVO storeVO) {
if (storeVO == null) {
- return R.ok("500", "数据为空!");
+ return R.fail("数据为空!");
}
- ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
- .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()));
- if (comShopStoreDO != null) {
- return R.ok("500", "商家账号存在");
+ //判断店铺是否存在
+ ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
+ .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no));
+ if (oldComShopStoreDO != null) {
+ return R.fail("商家已注册");
}
+// //新增店铺先判断是否拥有已删除的店铺
+// ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
+// .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.yes));
+// if(comShopStoreDO != null){
+// //删除店铺规格信息
+// comShopGoodsAttrDAO.delete(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getStoreId,comShopStoreDO.getId()));
+// //删除店铺商品
+// shopGoodsDAO.delete(new QueryWrapper<ComShopGoodsDO>().lambda().eq(ComShopGoodsDO::getStoreId,comShopStoreDO.getId()));
+// //删除关联的sysUser用户权限
+// this.baseMapper.deleteSysRoleByAccount(Constants.SHOP_ROLE_KEY + comShopStoreDO.getStoreAccount());
+// //删除关联的sysUser用户
+// this.baseMapper.deleteSysUserBySysUserId(comShopStoreDO.getSysUserId());
+// //删除店铺
+// this.baseMapper.deleteById(comShopStoreDO.getId());
+// }
ComShopStoreDO storeDO = new ComShopStoreDO();
BeanUtils.copyProperties(storeVO, storeDO);
storeDO.setSale(0);
@@ -90,32 +134,93 @@
return R.ok();
}
- @Override
- public R editStore(Long id, ShopStoreVO storeVO) {
- if (storeVO == null) {
- return R.ok("500", "数据为空!");
+ public R addStore(ShopStoreVO storeVO){
+ //判断店铺是否存在
+ ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
+ .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no));
+ if (oldComShopStoreDO != null) {
+ return R.fail("商家已注册");
}
- LambdaQueryWrapper<ComShopStoreDO> query = new LambdaQueryWrapper<ComShopStoreDO>().eq(ComShopStoreDO::getId, id);
+ //新增店铺先判断是否拥有已删除的店铺
+ ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
+ .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.yes));
+ if(comShopStoreDO != null){
+ //删除店铺规格信息
+ comShopGoodsAttrDAO.delete(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getStoreId,comShopStoreDO.getId()));
+ //删除店铺商品
+ shopGoodsDAO.delete(new QueryWrapper<ComShopGoodsDO>().lambda().eq(ComShopGoodsDO::getStoreId,comShopStoreDO.getId()));
+ //删除关联的sysUser用户权限
+ this.baseMapper.deleteSysRoleByAccount(Constants.SHOP_ROLE_KEY + comShopStoreDO.getStoreAccount());
+ //删除关联的sysUser用户
+ this.baseMapper.deleteSysUserBySysUserId(comShopStoreDO.getSysUserId());
+ //删除店铺
+ this.baseMapper.deleteById(comShopStoreDO.getId());
+ }
ComShopStoreDO storeDO = new ComShopStoreDO();
BeanUtils.copyProperties(storeVO, storeDO);
- int update = this.baseMapper.update(storeDO, query);
- return update > 0 ? R.ok() : R.fail();
+ storeDO.setSale(0);
+ if(this.baseMapper.insert(storeDO) > 0){
+ return R.ok();
+ }else{
+ return R.fail();
+ }
+ }
+
+ @Override
+ public R editStore(Long id, ShopStoreVO storeVO) {
+ ComShopStoreDO storeDO = this.baseMapper.selectById(id);
+ if(storeDO == null){
+ return R.fail("商家不存在");
+ }
+ BeanUtils.copyProperties(storeVO, storeDO);
+ if(this.baseMapper.updateById(storeDO) > 0){
+ return R.ok();
+ }else{
+ return R.fail();
+ }
}
@Override
public R deleteStore(Long[] id) {
LambdaQueryWrapper<ComShopStoreDO> query = new LambdaQueryWrapper<ComShopStoreDO>().in(ComShopStoreDO::getId, id);
- ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(query);
- comShopStoreDO.setDeleteStatus(2);
- int update = this.baseMapper.updateById(comShopStoreDO);
- return update > 0 ? R.ok() : R.fail();
+ List<ComShopStoreDO> comShopStoreDO = this.baseMapper.selectList(query);
+ if(!comShopStoreDO.isEmpty()){
+ for (ComShopStoreDO shopStoreDO:comShopStoreDO) {
+ //判断店铺下是否拥有正常的商品
+ List<ComShopGoodsDO> shopGoodsList = shopGoodsDAO.selectList(new QueryWrapper<ComShopGoodsDO>()
+ .lambda().eq(ComShopGoodsDO::getStoreId,shopStoreDO.getId())
+ .eq(ComShopGoodsDO::getDeleteStatus,ComShopGoodsDO.deleteStatus.no)
+ .eq(ComShopGoodsDO::getStatus,ComShopGoodsDO.status.sell));
+ if(!shopGoodsList.isEmpty()){//如果有正常商品则提示无法删除
+ return R.fail("店铺下有商品正在出售,无法删除店铺");
+ }
+ List<ComShopOrderDO> comShopOrderDOS = orderService.getBaseMapper().selectList(new LambdaQueryWrapper<ComShopOrderDO>()
+ .eq(ComShopOrderDO::getStoreId,shopStoreDO.getId()));
+ List<ComShopOrderDO> filterOrder = comShopOrderDOS.stream()
+ .filter(order -> order.getStatus() < ComShopOrderDO.status.dpj)
+ .collect(Collectors.toList());
+ if(!filterOrder.isEmpty()){
+ return R.fail("店铺下还有订单未完成");
+ }
+ //删除商家下的订单
+ comShopOrderDOS.forEach(order->{
+ order.setDeleteStatus(ComShopOrderDO.deleteStatus.yes);
+ orderService.getBaseMapper().updateById(order);
+ });
+ shopStoreDO.setDeleteStatus(2);
+ this.baseMapper.updateById(shopStoreDO);
+ }
+ }else {
+ return R.fail("未查询到店铺");
+ }
+ return R.ok();
}
@Override
public R getOneInfo(Long id) {
ComShopStoreDO comShopStoreDO = this.baseMapper.selectById(id);
if (comShopStoreDO == null) {
- R.fail(500, "商铺不存在");
+ return R.fail(500, "商铺不存在");
}
ShopStoreVO shopStoreVO = new ShopStoreVO();
BeanUtils.copyProperties(comShopStoreDO, shopStoreVO);
@@ -126,10 +231,29 @@
public R getUserStoreInfo(Long userId) {
ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>().eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, userId));
if (comShopStoreDO == null) {
- R.fail(500, "商铺不存在");
+ return R.fail(500, "商铺不存在");
}
ShopStoreVO shopStoreVO = new ShopStoreVO();
BeanUtils.copyProperties(comShopStoreDO, shopStoreVO);
return R.ok(shopStoreVO);
}
+
+ @Override
+ public R getUserStoreInfo(String account) {
+ try {
+ R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfo(account+"_5");
+ LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(loginUserInfoVOR.getData()), LoginUserInfoVO.class);
+
+ ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
+ .eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, loginUserInfoVO.getUserId()));
+ if (comShopStoreDO == null) {
+ R.fail(500, "商铺不存在");
+ }
+ ShopStoreVO shopStoreVO = new ShopStoreVO();
+ BeanUtils.copyProperties(comShopStoreDO, shopStoreVO);
+ return R.ok(shopStoreVO);
+ }catch (Exception e){
+ return R.fail();
+ }
+ }
}
--
Gitblit v1.7.1