From 95044dd4dacee5f7ecb081af5d557d14fad83c24 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 22 八月 2023 18:39:47 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java |  196 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 182 insertions(+), 14 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 e42a5dc..1f31e90 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
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult;
 import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.ruoyi.common.core.constant.CacheConstants;
@@ -19,6 +20,7 @@
 import com.ruoyi.shop.domain.dto.*;
 import com.ruoyi.shop.domain.pojo.shop.*;
 import com.ruoyi.shop.domain.pojo.task.ShopFile;
+import com.ruoyi.shop.domain.pojo.task.ShopTask;
 import com.ruoyi.shop.domain.vo.*;
 import com.ruoyi.shop.enums.WxApplyMentStateEnum;
 import com.ruoyi.shop.mapper.shop.ShopMapper;
@@ -122,6 +124,12 @@
     @Resource
     private WechatPayUtils wechatPayUtils;
 
+    @Resource
+    private ShopDetailService shopDetailService;
+
+    @Resource
+    private RemoteUserService remoteUserService;
+
     /**
      * 获取商户详情
      *
@@ -170,6 +178,9 @@
         //验证关联账号唯一
         String relUserIds = mgtEditShopDto.getRelUserIds();
         if(StringUtils.isNotBlank(relUserIds)) {
+            if(relUserIds.startsWith(",")){
+                relUserIds = relUserIds.substring(1);
+            }
             String[] relUserIdArray = relUserIds.split(",");
             ShopRelUser shopRelUser;
             Long userId;
@@ -195,9 +206,10 @@
         //验证商户名唯一
         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())){
+            //取消验重
+            /*if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
                 throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
-            }
+            }*/
             shop = this.getById(mgtEditShopDto.getShopId());
             shop.setUpdateTime(new Date());
             shop.setUpdateUserId(mgtEditShopDto.getUserId());
@@ -216,9 +228,10 @@
                 remoteMemberService.updateMemberShopName(mgtMemberShopNameDto);
             }
         }else{
-            if(shopSame!=null){
+            //取消验重
+            /*if(shopSame!=null){
                 throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
-            }
+            }*/
             shop.setDelFlag(0);
             shop.setShopStatus(3);
             shop.setCreateTime(new Date());
@@ -312,7 +325,7 @@
             //生成商户关联记录
             initNewShop(shop,mgtEditShopDto.getUserId());
             CodeGetDto codeGetDto = new CodeGetDto();
-            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
+            String url = "https://wxapp.hhhrt.cn/mini/shop?id="+shop.getShopId();
             codeGetDto.setUrl(url);
             codeGetDto.setFileName("shop-"+shop.getShopId());
             String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
@@ -347,6 +360,8 @@
         shopAuthentication.setAuthId(authId);
         shopAuthentication.setDelFlag(0);
         shopAuthentication.setShopId(shop.getShopId());
+        shopAuthentication.setAuditStatus(0);
+        shopAuthentication.setSignState(1);
         shopAuthenticationService.save(shopAuthentication);
         //商户分成信息初始化
         ShopProportion shopProportion = new ShopProportion();
@@ -588,13 +603,19 @@
             }
             mgtShopInfoVo.setShopTagIds(shopTagJs.toString());
         }
+        //归属员工
         if(mgtShopInfoVo.getBelongUserId()!=null){
             SysUser sysUser = sysUserService.getSysUser(mgtShopInfoVo.getBelongUserId()).getData();
-            mgtShopInfoVo.setBelongUserName(sysUser.getNickName());
+            if(sysUser!=null){
+                mgtShopInfoVo.setBelongUserName(sysUser.getNickName());
+            }
         }
+        //归属商户
         if(mgtShopInfoVo.getBelongShopId()!=null){
             Shop belongShop = this.getByShopId(mgtShopInfoVo.getBelongShopId());
-            mgtShopInfoVo.setBelongShopName(belongShop.getShopName());
+            if(belongShop!=null){
+                mgtShopInfoVo.setBelongShopName(belongShop.getShopName());
+            }
         }
         //商户关联用户
         List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId);
@@ -725,6 +746,20 @@
             appMemberBindingDto.setBindingFlag(0);
             remoteMemberService.updateMemberBinding(appMemberBindingDto);
         }
+        //商品图片
+        List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shop.getShopId());
+        String shopPicture = null;
+        StringJoiner shopBanners = new StringJoiner(",");
+        if(shopFileList!=null&&!shopFileList.isEmpty()){
+            for(ShopFile shopFile : shopFileList){
+                if(shopFile.getFileType()==1){
+                    shopPicture = shopFile.getFileUrl();
+                }else{
+                    shopBanners.add(shopFile.getFileUrl());
+                }
+            }
+        }
+        appNearbyShopVo.setShopPicture(shopPicture);
         appNearbyShopVo.setShopId(shop.getShopId());
         appNearbyShopVo.setShopName(shop.getShopName());
         appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress());
@@ -764,13 +799,15 @@
             shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto);
             Shop shop = this.getShopByBelongUserId(userId);
             shopIds.add(shop.getShopId());
+            userIds.add(userId);
         }else {
             //普通员工查询商户归属的shopId
             Shop shop = this.getShopByBelongUserId(userId);
+
             shopIds.add(shop.getShopId());
         }
         //分别查询
-        StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(shopIds);
+        StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(userIds);
         Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds);
         staffHomeShopTotalVo.setFollowMember(0);
         staffHomeShopTotalVo.setNewMember(0);
@@ -796,9 +833,13 @@
         }
         merHomeShopTotalVo.setShopId(shopId);
         Shop shop = this.getById(shopId);
+        if(shop.getFrozenFlag()==1){
+            String userKey = SecurityUtils.getUserKey();
+            redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey);
+            throw new ServiceException("商户已被冻结",401);
+        }
         merHomeShopTotalVo.setShopType(shop.getShopType());
         MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
-        ShopTotal shopTotal = shopTotalService.getById(shopId);
         merHomeShopTotalVo.setShopId(shopId);
         merHomeShopTotalVo.setShopType(shop.getShopType());
         merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop());
@@ -806,8 +847,8 @@
         Integer taskCount = memberTaskService.getMemberIngTotal(shopId);
         merHomeShopTotalVo.setTask(taskCount);
         merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
-        merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
-        merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
+        merHomeShopTotalVo.setCycleSurp(orderVo.getCycleSurp());
+        merHomeShopTotalVo.setExplorationSurp(orderVo.getExplorationSurp());
         merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag());
         merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag());
         return merHomeShopTotalVo;
@@ -968,12 +1009,28 @@
     public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException {
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
         Shop shop = this.getByShopId(shopAuthentication.getShopId());
-        String applyNumber = IdUtils.simpleUUID();
+
+        if(mgtShopAuthDto.getBlBusinessFoeverFlag()!=null&&mgtShopAuthDto.getBlBusinessFoeverFlag()==1){
+            mgtShopAuthDto.setBlBusinessDeanline(mgtShopAuthDto.getBlBusinessStartTime()+",长期");
+        }
+        if(mgtShopAuthDto.getLpIcForeverFlag()!=null&&mgtShopAuthDto.getLpIcForeverFlag()==1){
+            mgtShopAuthDto.setLpIcEndDate("长期");
+        }
         BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
-        shopAuthentication.setApplyNumber(applyNumber);
+        String applyNumber = shopAuthentication.getApplyNumber();
+        if(StringUtils.isBlank(applyNumber)){
+            applyNumber = IdUtils.simpleUUID();
+            shopAuthentication.setApplyNumber(applyNumber);
+        }
+        ApplymentsResult applymentsResult;
+        try {
+            applymentsResult = wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
+        } catch (Exception e) {
+            log.debug("-----"+shop.getShopId()+":进件异常-----");
+            throw new RuntimeException(e);
+        }
         shopAuthentication.setAuditStatus(3);
         shopAuthenticationService.saveOrUpdate(shopAuthentication);
-        wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
     }
 
     /**
@@ -1093,6 +1150,20 @@
         MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo();
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId);
         BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo);
+        if(shopAuthGetVo.getBlBusinessDeanline()!=null){
+            if(shopAuthGetVo.getBlBusinessDeanline().equals("长期")){
+                shopAuthGetVo.setBlBusinessFoeverFlag(1);
+            }else{
+                shopAuthGetVo.setBlBusinessFoeverFlag(0);
+            }
+        }
+        if(shopAuthGetVo.getLpIcEndDate()!=null){
+            if(shopAuthGetVo.getLpIcEndDate().equals("长期")){
+                shopAuthGetVo.setLpIcForeverFlag(1);
+            }else{
+                shopAuthGetVo.setLpIcForeverFlag(0);
+            }
+        }
         return shopAuthGetVo;
     }
 
@@ -1381,4 +1452,101 @@
                 .set(Shop::getAuthFlag, 1);
         this.update(updateWrapper);
     }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/8/10 22:53
+     * @param cityCodes
+     * @return  List<Long>
+     */
+    @Override
+    public List<Long> listShopIdByCityCode(List<String> cityCodes){
+        return shopMapper.listShopIdByCityCode(cityCodes);
+    }
+
+    @Override
+    public void authShop(){
+        ShopAuthentication shopAuthentication = shopAuthenticationService.getById("8c23fa423beb4673a0edc641a1ca0c23");
+        Shop shop = this.getByShopId(shopAuthentication.getShopId());
+        try {
+            wechatPayUtils.ecommerceApply(shopAuthentication,shopAuthentication.getApplyNumber(),shop);
+
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * @description  修改店铺详细资料
+     * @author  jqs
+     * @date    2023/8/22 14:51
+     * @param staffShopDetailDto
+     * @return  void
+     */
+    @Override
+    public void editShopDetail(StaffShopDetailDto staffShopDetailDto){
+        ShopDetail shopDetail = shopDetailService.getById(staffShopDetailDto.getShopId());
+        if(shopDetail == null){
+            shopDetail = new ShopDetail();
+            shopDetail.setDelFlag(0);
+        }
+        BeanUtils.copyProperties(staffShopDetailDto, shopDetail);
+        List<StaffCustomerDto> staffCustomerDtoList = staffShopDetailDto.getStaffCustomerDtoList();
+        if(staffCustomerDtoList!=null&&!staffCustomerDtoList.isEmpty()){
+            StringJoiner customerNameSJ = new StringJoiner(",");
+            StringJoiner customerMobileSJ = new StringJoiner(",");
+            for(StaffCustomerDto staffCustomerDto : staffCustomerDtoList){
+                customerNameSJ.add(staffCustomerDto.getCustomerName());
+                customerMobileSJ.add(staffCustomerDto.getCustomerMobile());
+            }
+            shopDetail.setCustomerName(customerNameSJ.toString());
+            shopDetail.setCustomerMobile(customerMobileSJ.toString());
+        }
+        shopDetailService.saveOrUpdate(shopDetail);
+    }
+
+    /**
+     * @description  获取店铺详细资料
+     * @author  jqs
+     * @date    2023/8/22 16:15
+     * @param shopId
+     * @return  StaffShopDetailVo
+     */
+    @Override
+    public StaffShopDetailVo getShopDetail(Long shopId){
+        ShopDetail shopDetail = shopDetailService.getById(shopId);
+        StaffShopDetailVo staffShopDetailVo = new StaffShopDetailVo();
+        BeanUtils.copyProperties(shopDetail, staffShopDetailVo);
+        //归属客户
+        Shop shop = this.getByShopId(shopId);
+        Long belongUserId = shop.getBelongUserId();
+        if(belongUserId!=null){
+            SysUser sysUser = remoteUserService.getSysUser(belongUserId).getData();
+            if(sysUser!=null){
+                staffShopDetailVo.setBelongUser(sysUser.getNickName());
+            }
+        }
+        //最近任务时间
+        ShopTask shopTask = shopTaskService.getLastTask(shopId);
+        if(shopTask!=null){
+            staffShopDetailVo.setNextTaskDate(shopTask.getTaskDate());
+        }
+        //处理联系人
+        String customerName = shopDetail.getCustomerName();
+        String customerMobile = shopDetail.getCustomerMobile();
+        List<StaffCustomerDto> staffCustomerDtoList = new ArrayList<>();
+        String[] customerNameArr = customerName.split(",");
+        String[] customerMobileArr = customerMobile.split(",");
+        staffShopDetailVo.setContactName(customerNameArr[0]);
+        StaffCustomerDto staffCustomerDto;
+        for(int i=0;i<customerNameArr.length;i++){
+            staffCustomerDto = new StaffCustomerDto();
+            staffCustomerDto.setCustomerName(customerNameArr[i]);
+            staffCustomerDto.setCustomerMobile(customerMobileArr[i]);
+            staffCustomerDtoList.add(staffCustomerDto);
+        }
+        staffShopDetailVo.setStaffCustomerDtoList(staffCustomerDtoList);
+        return staffShopDetailVo;
+    }
 }

--
Gitblit v1.7.1