From 54ad966d0b142c97fc659263b51d1ea5d7b5c7c6 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 28 五月 2021 16:17:08 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 42 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 c1e9169..d414e90 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
@@ -15,7 +15,6 @@
 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;
@@ -28,7 +27,9 @@
 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;
 
@@ -45,6 +46,10 @@
     private ComShopGoodsDAO shopGoodsDAO;
     @Resource
     private ComShopGoodsAttrDAO comShopGoodsAttrDAO;
+    @Resource
+    private ComShopOrderService orderService;
+    @Resource
+    private UserService userService;
     /**
      * 查询店铺列表
      *
@@ -56,13 +61,28 @@
     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 ->{
+                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){
+                    shopStoreVO.setOrderDone(true);
+                }else{
+                    shopStoreVO.setOrderDone(false);
+                }
+            });
+        }
         return R.ok(comShopStoreVOIPage);
     }
-
-    @Resource
-    private UserService userService;
-    @Resource
-    private ComShopOrderService orderService;
 
     /**
      * 查询店铺详情
@@ -74,7 +94,8 @@
     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)) {
@@ -137,18 +158,26 @@
     public R addStore(ShopStoreVO storeVO){
         //判断店铺是否存在
         ComShopStoreDO oldComShopStoreDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ComShopStoreDO>()
-                .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus,ComShopStoreDO.deleteStatus.no));
+                .eq(ComShopStoreDO::getStoreAccount, storeVO.getStoreAccount()).eq(ComShopStoreDO::getDeleteStatus, ComShopStoreDO.deleteStatus.no));
         if (oldComShopStoreDO != null) {
             return R.fail("商家账号已注册");
         }
+        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){
+                .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()));
+            comShopGoodsAttrDAO.delete(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getStoreId, comShopStoreDO.getId()));
             //删除店铺商品
-            shopGoodsDAO.delete(new QueryWrapper<ComShopGoodsDO>().lambda().eq(ComShopGoodsDO::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用户
@@ -200,7 +229,7 @@
                         .filter(order -> order.getStatus() < ComShopOrderDO.status.dpj)
                         .collect(Collectors.toList());
                 if(!filterOrder.isEmpty()){
-                    return R.fail("店铺下还有订单未完成");
+                    return R.fail("该商家还有订单未完成,不能删除");
                 }
                 //删除商家下的订单
                 comShopOrderDOS.forEach(order->{

--
Gitblit v1.7.1