no
DESKTOP-71BH0QO\L、ming
2021-04-25 0bf174be571c53b8af796eca4b51fcd3edec1657
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java
@@ -2,6 +2,7 @@
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;
@@ -16,7 +17,11 @@
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.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;
@@ -24,6 +29,8 @@
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
 * @auther lyq
@@ -38,9 +45,6 @@
    private ComShopGoodsDAO shopGoodsDAO;
    @Resource
    private ComShopGoodsAttrDAO comShopGoodsAttrDAO;
    @Resource
    private UserService userService;
    /**
     * 查询店铺列表
     *
@@ -51,9 +55,14 @@
    @Override
    public R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO) {
        Page page = new Page<>(pageComShopStoreDTO.getPageNum(), pageComShopStoreDTO.getPageSize());
        IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStoreByAdmin(page, pageComShopStoreDTO);
        IPage<PageShopStoreVO> comShopStoreVOIPage = this.baseMapper.pageShopStore(page, pageComShopStoreDTO);
        return R.ok(comShopStoreVOIPage);
    }
    @Resource
    private UserService userService;
    @Resource
    private ComShopOrderService orderService;
    /**
     * 查询店铺详情
@@ -159,23 +168,50 @@
    @Override
    public R editStore(Long id, ShopStoreVO storeVO) {
        if (storeVO == null) {
            return R.ok("500", "数据为空!");
        ComShopStoreDO storeDO = this.baseMapper.selectById(id);
        if(storeDO == null){
            return R.fail("商家不存在");
        }
        LambdaQueryWrapper<ComShopStoreDO> query = new LambdaQueryWrapper<ComShopStoreDO>().eq(ComShopStoreDO::getId, id);
        ComShopStoreDO storeDO = new ComShopStoreDO();
        BeanUtils.copyProperties(storeVO, storeDO);
        int update = this.baseMapper.update(storeDO, query);
        return update > 0 ? R.ok() : R.fail();
        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);
        List<ComShopStoreDO> comShopStoreDO = this.baseMapper.selectList(query);
        for (ComShopStoreDO shopStoreDO:comShopStoreDO) {
            shopStoreDO.setDeleteStatus(2);
            int update = this.baseMapper.updateById(shopStoreDO);
        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();
    }
@@ -184,7 +220,7 @@
    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);
@@ -195,7 +231,7 @@
    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);