From cbc564a7088503ad8cc7af4e1d2ba417d061e615 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 30 六月 2023 11:35:05 +0800
Subject: [PATCH] 联调bug和统计完善

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java |   94 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 75 insertions(+), 19 deletions(-)

diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index 6a6339d..763c21e 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -7,10 +7,11 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.shop.domain.dto.*;
-import com.ruoyi.shop.domain.pojo.ShopTotal;
+import com.ruoyi.shop.domain.pojo.shop.ShopTotal;
 import com.ruoyi.shop.domain.pojo.shop.*;
 import com.ruoyi.shop.domain.pojo.task.ShopFile;
 import com.ruoyi.shop.domain.vo.*;
@@ -29,7 +30,6 @@
 import com.ruoyi.system.api.service.RemoteMemberService;
 import com.ruoyi.system.api.service.RemoteOrderService;
 import com.ruoyi.system.api.service.RemoteUserService;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -98,6 +98,13 @@
     @Resource
     private MemberTaskService memberTaskService;
 
+    @Resource
+    private ShopTransferRecordService shopTransferRecordService;
+
+    @Resource
+    private RemoteUserService remoteUserService;
+
+
     /**
      * 获取商户详情
      * @param shopId
@@ -142,6 +149,21 @@
         Shop shop = new Shop();
         Boolean newShop = false;
         BigDecimal zeroBig = BigDecimal.ZERO;
+        //验证关联账号唯一
+        String relUserIds = mgtEditShopDto.getRelUserIds();
+        if(StringUtils.isNotBlank(relUserIds)) {
+            String[] relUserIdArray = relUserIds.split(",");
+            ShopRelUser shopRelUser;
+            Long userId;
+            for (String str : relUserIdArray) {
+                userId = Long.valueOf(str);
+                shopRelUser = shopRelUserService.getByUserId(userId);
+                if(shopRelUser!=null){
+                    throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE);
+                }
+            }
+        }
+        //验证商户名唯一
         Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName()));
         if(mgtEditShopDto.getShopId()!=null){
             if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
@@ -171,12 +193,12 @@
             newShop = true;
         }
         BeanUtils.copyProperties(mgtEditShopDto,shop);
-        this.saveOrUpdate(shop);
         //商户编号
         if(mgtEditShopDto.getShopId()==null){
             String shopNo = CodeFactoryUtil.getShopNo();
             shop.setShopNumber(shopNo);
         }
+        this.saveOrUpdate(shop);
         //商户标签
         String shopTagIds = mgtEditShopDto.getShopTagIds();
         if(StringUtils.isNotBlank(shopTagIds)){
@@ -199,13 +221,13 @@
             this.saveOrUpdate(shop);
         }
         //商户归属员工
-        if(shop.getBelongUserId()!=null){
+        /*if(shop.getBelongUserId()!=null){
             SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData();
             handleShopStaff(shop.getShopId(),belongSysUser);
-        }
+        }*/
         //商户关联人员
-        String relUserIds = mgtEditShopDto.getRelUserIds();
         if(StringUtils.isNotBlank(relUserIds)){
+            shopStaffService.clearShopStaffRelation(shop.getShopId());
             String[] relUserIdArray = relUserIds.split(",");
             ShopRelUser shopRelUser;
             Long userId;
@@ -279,7 +301,7 @@
             shopTotal.setTotalActivityCount(0);
             shopTotal.setTotalOrder(0);
             shopTotal.setTotalCycleOrder(0);
-            shopTotal.setToltaExperienceOrder(0);
+            shopTotal.setTotalExperienceOrder(0);
             shopTotal.setTotalServiceOrder(0);
             shopTotal.setTotalGoodsOrder(0);
             shopTotal.setTotalServiceCount(0);
@@ -522,6 +544,40 @@
         Shop shop = this.getById(shopId);
         shop.setShopTags(shopTags);
         this.saveOrUpdate(shop);
+    }
+
+
+    /**
+     * @description  转移客户
+     * @author  jqs
+     * @date    2023/6/28 16:36
+     * @param mgtTransferShopDto
+     * @return  void
+     */
+    @Override
+    public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){
+        Shop shop = this.getByShopId(mgtTransferShopDto.getShopId());
+        if(shop.getBelongUserId()!=null){
+            ShopTransferRecord shopTransferRecord = new ShopTransferRecord();
+            shopTransferRecord.setDelFlag(0);
+            shopTransferRecord.setShopId(shop.getShopId());
+            shopTransferRecord.setBeforeUserId(shop.getBelongUserId());
+            shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId());
+            shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark());
+            shopTransferRecordService.save(shopTransferRecord);
+            shopRelUserService.deleteByUserId(shop.getBelongUserId());
+        }
+        shop.setBelongUserId(mgtTransferShopDto.getTransferUserId());
+        this.saveOrUpdate(shop);
+        ShopRelUser shopRelUser = new ShopRelUser();
+        shopRelUser.setDelFlag(0);
+        shopRelUser.setShopId(shop.getShopId());
+        shopRelUser.setUserId(mgtTransferShopDto.getTransferUserId());
+        SysUser sysUser = remoteUserService.getSysUser(mgtTransferShopDto.getTransferUserId()).getData();
+        shopRelUser.setUserMobile(sysUser.getPhonenumber());
+        shopRelUser.setUserDeptId(sysUser.getDeptId());
+        shopRelUser.setUserName(sysUser.getNickName());
+        shopRelUserService.save(shopRelUser);
     }
 
     /**
@@ -794,25 +850,25 @@
             plTotalShopTotalVo.setAgeValue(shopTotalMemberVo.getAgeValue());
         }
         //获取商户类型
-        List<MgtMapTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto);
+        List<MgtMapIntTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto);
         if (shopTypeTotal != null && shopTypeTotal.size() > 0) {
             shopTypeTotal = listRemoveNull(shopTypeTotal);
             plTotalShopTotalVo.setShopTypeVos(shopTypeTotal);
         }
         //获取商户状态
-        List<MgtMapTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto);
+        List<MgtMapIntTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto);
         if (shopStatusTotal != null && shopStatusTotal.size() > 0) {
             shopStatusTotal = listRemoveNull(shopStatusTotal);
             plTotalShopTotalVo.setShopStatusVos(shopStatusTotal);
         }
         //获取区域排名
-        List<MgtMapTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto);
+        List<MgtMapIntTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto);
         if (shopAreaRank != null && shopAreaRank.size() > 0) {
             shopAreaRank = listRemoveNull(shopAreaRank);
             plTotalShopTotalVo.setAreaRankVos(shopAreaRank);
         }
         //获取销售排名
-        List<MgtMapTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto);
+        List<MgtMapIntTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto);
         if (shopSalesRank != null && shopSalesRank.size() > 0) {
             String[] shopSalesKey = new String[shopSalesRank.size()];
             Integer[] shopSalesValue = new Integer[shopSalesRank.size()];
@@ -825,7 +881,7 @@
             plTotalShopTotalVo.setShopSalesRankValue(shopSalesValue);
         }
         //获取推荐
-        List<MgtMapTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto);
+        List<MgtMapIntTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto);
         if (shopRecommendRank != null && shopRecommendRank.size() > 0) {
             shopRecommendRank = listRemoveNull(shopRecommendRank);
             plTotalShopTotalVo.setShopRecommendVos(shopRecommendRank);
@@ -837,16 +893,16 @@
      * @description  去除空字符串
      * @author  jqs
      * @date    2023/6/27 17:35
-     * @param mgtMapTotalVos
-     * @return  List<MgtMapTotalVo>
+     * @param MgtMapIntTotalVos
+     * @return  List<MgtMapIntTotalVo>
      */
-    private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){
-        for (int i = 0; i < mgtMapTotalVos.size(); i++) {
-            if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){
-                mgtMapTotalVos.remove(i);
+    private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos){
+        for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+            if(StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())){
+                MgtMapIntTotalVos.remove(i);
             }
         }
-        return mgtMapTotalVos;
+        return MgtMapIntTotalVos;
     }
 
     /**

--
Gitblit v1.7.1