|  |  |  | 
|---|
|  |  |  | package com.panzhihua.service_community.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNull; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Optional; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.ComShopGoodsAttrVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.shop.ComShopGoodsVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.shop.PageShopStoreVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.shop.ShopStoreVO; | 
|---|
|  |  |  | 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.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.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.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Optional; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  | import java.util.stream.Stream; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @auther lyq | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class ComShopStoreServiceImpl extends ServiceImpl<ComShopStoreDAO, ComShopStoreDO> implements ComShopStoreService { | 
|---|
|  |  |  | public class ComShopStoreServiceImpl extends ServiceImpl<ComShopStoreDAO, ComShopStoreDO> | 
|---|
|  |  |  | implements ComShopStoreService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComShopGoodsDAO shopGoodsDAO; | 
|---|
|  |  |  | 
|---|
|  |  |  | private ComShopOrderService orderService; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private UserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询店铺列表 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param pageComShopStoreDTO 请求参数 | 
|---|
|  |  |  | * @param pageComShopStoreDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 店铺列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO) { | 
|---|
|  |  |  | Page page = new Page<>(pageComShopStoreDTO.getPageNum(), pageComShopStoreDTO.getPageSize()); | 
|---|
|  |  |  | IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStore(page, pageComShopStoreDTO); | 
|---|
|  |  |  | if(comShopStoreVOIPage!=null){ | 
|---|
|  |  |  | Optional.ofNullable(comShopStoreVOIPage.getRecords()).orElse(new ArrayList<>()).forEach(shopStoreVO ->{ | 
|---|
|  |  |  | if (comShopStoreVOIPage != null) { | 
|---|
|  |  |  | Optional.ofNullable(comShopStoreVOIPage.getRecords()).orElse(new ArrayList<>()).forEach(shopStoreVO -> { | 
|---|
|  |  |  | List<Integer> notDoneOrderStatus = new ArrayList<>(); | 
|---|
|  |  |  | notDoneOrderStatus.add(1); | 
|---|
|  |  |  | notDoneOrderStatus.add(2); | 
|---|
|  |  |  | notDoneOrderStatus.add(3); | 
|---|
|  |  |  | notDoneOrderStatus.add(4); | 
|---|
|  |  |  | Integer orderCount = orderService.getBaseMapper() | 
|---|
|  |  |  | .selectCount(new LambdaQueryWrapper<ComShopOrderDO>() | 
|---|
|  |  |  | .eq(ComShopOrderDO::getStoreId, shopStoreVO.getId()) | 
|---|
|  |  |  | .eq(ComShopOrderDO::getDeleteStatus, 1) | 
|---|
|  |  |  | .in(ComShopOrderDO::getStatus, notDoneOrderStatus) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(orderCount==null || orderCount.intValue() <= 0){ | 
|---|
|  |  |  | Integer orderCount = orderService.getBaseMapper().selectCount( | 
|---|
|  |  |  | new LambdaQueryWrapper<ComShopOrderDO>().eq(ComShopOrderDO::getStoreId, shopStoreVO.getId()) | 
|---|
|  |  |  | .eq(ComShopOrderDO::getDeleteStatus, 1).in(ComShopOrderDO::getStatus, notDoneOrderStatus)); | 
|---|
|  |  |  | if (orderCount == null || orderCount.intValue() <= 0) { | 
|---|
|  |  |  | shopStoreVO.setOrderDone(true); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | shopStoreVO.setOrderDone(false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询店铺详情 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param comShopStoreDTO 请求参数 | 
|---|
|  |  |  | * @param comShopStoreDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 店铺详情 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R shopStoreDetail(PageComShopStoreDTO comShopStoreDTO) { | 
|---|
|  |  |  | //查询店铺 | 
|---|
|  |  |  | // 查询店铺 | 
|---|
|  |  |  | ComShopStoreDO storeDO = this.baseMapper.selectById(comShopStoreDTO.getStoreId()); | 
|---|
|  |  |  | if (storeDO == null) { | 
|---|
|  |  |  | boolean storeDeleted = storeDO != null && 2 == storeDO.getDeleteStatus(); | 
|---|
|  |  |  | if (storeDO == null || storeDeleted) { | 
|---|
|  |  |  | return R.fail(401, "店铺不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (storeDO.getStatus().equals(ComShopStoreDO.status.no)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | PageShopStoreVO shopStoreVO = new PageShopStoreVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(storeDO, shopStoreVO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询店铺下商品信息 | 
|---|
|  |  |  | // 查询店铺下商品信息 | 
|---|
|  |  |  | Page page = new Page<>(comShopStoreDTO.getPageNum(), comShopStoreDTO.getPageSize()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ComShopGoodsVO> goodsList = shopGoodsDAO.pageShopGoodsByStoreId(page, comShopStoreDTO).getRecords(); | 
|---|
|  |  |  | if(!goodsList.isEmpty()){ | 
|---|
|  |  |  | //查询商品规格列表 | 
|---|
|  |  |  | if (!goodsList.isEmpty()) { | 
|---|
|  |  |  | // 查询商品规格列表 | 
|---|
|  |  |  | goodsList.forEach(goods -> { | 
|---|
|  |  |  | List<ComShopGoodsAttrVO> goodsAttrList = comShopGoodsAttrDAO.getGoodsAttr(goods.getId()); | 
|---|
|  |  |  | if(!goodsAttrList.isEmpty()){ | 
|---|
|  |  |  | if (!goodsAttrList.isEmpty()) { | 
|---|
|  |  |  | goods.setGoodsAttrList(goodsAttrList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (storeVO == null) { | 
|---|
|  |  |  | return R.fail("数据为空!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //判断店铺是否存在 | 
|---|
|  |  |  | ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() | 
|---|
|  |  |  | .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no)); | 
|---|
|  |  |  | // 判断店铺是否存在 | 
|---|
|  |  |  | 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 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | 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("商家账号已注册"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //TODO 判断用户 | 
|---|
|  |  |  | //this.baseMapper.select(storeVO.getPhone()); | 
|---|
|  |  |  | //新增店铺先判断是否拥有已删除的店铺 | 
|---|
|  |  |  | 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用户权限 | 
|---|
|  |  |  | int reasonable1 = this.baseMapper.reasonableUserByPhone(storeVO.getPhone()); | 
|---|
|  |  |  | int reasonable2 = this.baseMapper.reasonableUserByAccount(storeVO.getStoreAccount()); | 
|---|
|  |  |  | if (reasonable1 > 0) { | 
|---|
|  |  |  | return R.fail("手机号:" + storeVO.getPhone() + "在系统用户中已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (reasonable2 > 0) { | 
|---|
|  |  |  | return R.fail("账号:" + storeVO.getStoreAccount() + "在系统用户中已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 新增店铺先判断是否拥有已删除的店铺 | 
|---|
|  |  |  | 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用户 | 
|---|
|  |  |  | // 删除关联的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){ | 
|---|
|  |  |  | if (this.baseMapper.insert(storeDO) > 0) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R editStore(Long id, ShopStoreVO storeVO) { | 
|---|
|  |  |  | ComShopStoreDO storeDO = this.baseMapper.selectById(id); | 
|---|
|  |  |  | if(storeDO == null){ | 
|---|
|  |  |  | if (storeDO == null) { | 
|---|
|  |  |  | return R.fail("商家不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BeanUtils.copyProperties(storeVO, storeDO); | 
|---|
|  |  |  | if(this.baseMapper.updateById(storeDO) > 0){ | 
|---|
|  |  |  | if (this.baseMapper.updateById(storeDO) > 0) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R deleteStore(Long[] id) { | 
|---|
|  |  |  | LambdaQueryWrapper<ComShopStoreDO> query = new LambdaQueryWrapper<ComShopStoreDO>().in(ComShopStoreDO::getId, id); | 
|---|
|  |  |  | LambdaQueryWrapper<ComShopStoreDO> query = | 
|---|
|  |  |  | new LambdaQueryWrapper<ComShopStoreDO>().in(ComShopStoreDO::getId, id); | 
|---|
|  |  |  | 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()){//如果有正常商品则提示无法删除 | 
|---|
|  |  |  | 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> 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()){ | 
|---|
|  |  |  | .filter(order -> order.getStatus() < ComShopOrderDO.status.dpj).collect(Collectors.toList()); | 
|---|
|  |  |  | if (!filterOrder.isEmpty()) { | 
|---|
|  |  |  | return R.fail("该商家还有订单未完成,不能删除"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //删除商家下的订单 | 
|---|
|  |  |  | comShopOrderDOS.forEach(order->{ | 
|---|
|  |  |  | // 删除商家下的订单 | 
|---|
|  |  |  | comShopOrderDOS.forEach(order -> { | 
|---|
|  |  |  | order.setDeleteStatus(ComShopOrderDO.deleteStatus.yes); | 
|---|
|  |  |  | orderService.getBaseMapper().updateById(order); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | shopStoreDO.setDeleteStatus(2); | 
|---|
|  |  |  | this.baseMapper.updateById(shopStoreDO); | 
|---|
|  |  |  | //删除sys_user 物理删除 | 
|---|
|  |  |  | // 删除sys_user 物理删除 | 
|---|
|  |  |  | this.baseMapper.deleteSysUserBySysUserId(shopStoreDO.getSysUserId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return R.fail("未查询到店铺"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getUserStoreInfo(Long userId) { | 
|---|
|  |  |  | ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>().eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, userId)); | 
|---|
|  |  |  | ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() | 
|---|
|  |  |  | .eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, userId)); | 
|---|
|  |  |  | if (comShopStoreDO == null) { | 
|---|
|  |  |  | return R.fail(500, "商铺不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getUserStoreInfo(String account) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfo(account+"_5"); | 
|---|
|  |  |  | LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(loginUserInfoVOR.getData()), LoginUserInfoVO.class); | 
|---|
|  |  |  | R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfo(account + "_5"); | 
|---|
|  |  |  | LoginUserInfoVO loginUserInfoVO = | 
|---|
|  |  |  | JSONObject.parseObject(JSONObject.toJSONString(loginUserInfoVOR.getData()), LoginUserInfoVO.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(loginUserInfoVO==null){ | 
|---|
|  |  |  | if (loginUserInfoVO == null) { | 
|---|
|  |  |  | return R.fail(500, "该账号不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() | 
|---|
|  |  |  | .eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, loginUserInfoVO.getUserId())); | 
|---|
|  |  |  | .eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, loginUserInfoVO.getUserId())); | 
|---|
|  |  |  | if (comShopStoreDO == null) { | 
|---|
|  |  |  | return  R.fail(500, "该账号不存在"); | 
|---|
|  |  |  | return R.fail(500, "该账号不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ShopStoreVO shopStoreVO = new ShopStoreVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(comShopStoreDO, shopStoreVO); | 
|---|
|  |  |  | return R.ok(shopStoreVO); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * check商家/店铺是否有效 | 
|---|
|  |  |  | * @param userId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean checkStoreIsValid(Long userId) { | 
|---|
|  |  |  | ComShopStoreDO comShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>() | 
|---|
|  |  |  | .eq(ComShopStoreDO::getDeleteStatus, 1).eq(ComShopStoreDO::getSysUserId, userId)); | 
|---|
|  |  |  | if (isNull(comShopStoreDO) || comShopStoreDO.getStatus() != 1) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|