From 76bb1a5538a376d307fda90fa3ad7ee4a5887905 Mon Sep 17 00:00:00 2001 From: CeDo <cedoo@qq.com> Date: 星期三, 21 四月 2021 20:41:24 +0800 Subject: [PATCH] bugfixed:限制商铺 订单发货方式 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 118 insertions(+), 13 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..3ce3e4e 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,17 +1,24 @@ 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.ComShopStoreDO; import com.panzhihua.service_community.service.ComShopStoreService; import lombok.extern.slf4j.Slf4j; @@ -19,6 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * @auther lyq @@ -31,6 +39,10 @@ @Resource private ComShopGoodsDAO shopGoodsDAO; + @Resource + private ComShopGoodsAttrDAO comShopGoodsAttrDAO; + @Resource + private UserService userService; /** * 查询店铺列表 @@ -42,7 +54,7 @@ @Override public R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO) { Page page = new Page<>(pageComShopStoreDTO.getPageNum(), pageComShopStoreDTO.getPageSize()); - IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStore(page, pageComShopStoreDTO); + IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStoreByAdmin(page, pageComShopStoreDTO); return R.ok(comShopStoreVOIPage); } @@ -67,8 +79,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,18 +98,66 @@ @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); this.baseMapper.insert(storeDO); return R.ok(); + } + + 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("商家已注册"); + } + //新增店铺先判断是否拥有已删除的店铺 + 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); + if(this.baseMapper.insert(storeDO) > 0){ + return R.ok(); + }else{ + return R.fail(); + } } @Override @@ -105,10 +175,26 @@ @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("店铺下有商品正在出售,无法删除店铺"); + } + + shopStoreDO.setDeleteStatus(2); + this.baseMapper.updateById(shopStoreDO); + } + }else { + return R.fail("未查询到店铺"); + } + return R.ok(); } @Override @@ -132,4 +218,23 @@ 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