From 546be8a1bafdfc804575a8d07a5d9f2306c29c42 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 19 六月 2025 11:20:58 +0800 Subject: [PATCH] 修改直播列表 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 189 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 145 insertions(+), 44 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 b22a058..9cafbde 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 @@ -18,6 +18,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.core.utils.ExceptionUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; @@ -461,7 +462,7 @@ }else{ shop.setCooperativeFlag(0); } - shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setShopStatus(handelShopStatus(null,shop.getCooperativeFlag(), null)); shop.setUpdateTime(new Date()); shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); this.saveOrUpdate(shop); @@ -482,7 +483,7 @@ }else{ shop.setFrozenFlag(0); } - shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(), null, null)); this.saveOrUpdate(shop); } @@ -495,16 +496,16 @@ */ private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){ Integer shopStatus = 1; - if(frozenFlag == 1){ + if(null != frozenFlag && frozenFlag == 1){ shopStatus = 0; return shopStatus; } - if(authFlag == 0){ - shopStatus = 3; + if(null != cooperativeFlag && cooperativeFlag == 0){ + shopStatus = 2; return shopStatus; } - if(cooperativeFlag == 0){ - shopStatus = 2; + if(null != authFlag && authFlag == 0){ + shopStatus = 3; return shopStatus; } return shopStatus; @@ -551,12 +552,16 @@ * @return */ @Override - public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto){ + public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto,List<Long> scope){ if (StringUtils.isNotBlank(mgtShopPageDto.getShopTags())) { mgtShopPageDto.setShopTags(mgtShopPageDto.getShopTags().replace(",", "|")); } + List<Integer> associatedAccount = null; + if(StringUtils.isNotEmpty(mgtShopPageDto.getAssociatedAccount())){ + associatedAccount = Arrays.asList(mgtShopPageDto.getAssociatedAccount().split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()); + } // 分页查询商铺信息 - List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto); + List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto,scope, associatedAccount); // 如果查询结果不为空 if (!mgtShopPageVoList.isEmpty()) { // 创建签约用户ID集合和所属用户ID集合 @@ -598,8 +603,9 @@ shopPageVo.setSignUser(signUserMap.get(shopPageVo.getSignUserId()).getNickName()); } if (belongUserMap!=null&&!belongUserMap.isEmpty()&&shopPageVo.getBelongUserId() != null) { - shopPageVo.setBelongUser(belongUserMap.get(shopPageVo.getBelongUserId()).getNickName()); - shopPageVo.setBelongDept(belongUserMap.get(shopPageVo.getBelongUserId()).getDeptName()); + MgtSysSimpleUserVo mgtSysSimpleUserVo = belongUserMap.get(shopPageVo.getBelongUserId()); + shopPageVo.setBelongUser(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getNickName()); + shopPageVo.setBelongDept(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getDeptName()); } } } @@ -764,6 +770,7 @@ }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ List<AppNearShopVo> appNearShopVos = shopMapper.getNearbyShops(appNearbyShopDto); if(appNearShopVos.size() > 0){ + log.info("候选店铺:{}", JSON.toJSONString(appNearShopVos)); StringBuffer to = new StringBuffer(); for (AppNearShopVo appNearShopVo : appNearShopVos) { to.append(appNearShopVo.getLatitude() + "," + appNearShopVo.getLongitude() + ";"); @@ -780,7 +787,7 @@ List<TencentDistanceMatrixElements> elements = data.get(0).getElements(); for (int i = 0; i < elements.size(); i++) { TencentDistanceMatrixElements matrix = elements.get(i); - if(dis.compareTo(BigDecimal.ZERO) == 0 || dis.compareTo(new BigDecimal(matrix.getDistance())) > 0){ + if(i == 0 || dis.compareTo(new BigDecimal(matrix.getDistance())) > 0){ dis = new BigDecimal(matrix.getDistance()); appNearShopVo = appNearShopVos.get(i); } @@ -843,7 +850,43 @@ List<Long> userIds = new ArrayList<>(); List<Long> shopIds = new ArrayList<>(); //如果是leader 查询leader下面所有的员工下的所有shopId - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIds = sysUserService.getUserIdsByDept(userId).getData(); +// //根据用户所有id查询关联的商户id +// MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); +// mgtBasePlatformDto.setUserIdList(userIds); +// shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// }else { +// //普通员工查询商户归属的shopId +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIds = null; + shopIds = null; + } + if(dataScopeEmployee.equals("3")){ userIds = sysUserService.getUserIdsByDept(userId).getData(); //根据用户所有id查询关联的商户id MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); @@ -856,8 +899,8 @@ } userIds.add(userId); } - }else { - //普通员工查询商户归属的shopId + } + if(dataScopeEmployee.equals("5")){ List<Shop> shopList = this.getShopByBelongUserId(userId); if(shopList!=null&&!shopList.isEmpty()){ for(Shop shop : shopList){ @@ -866,19 +909,10 @@ userIds.add(userId); } } + //分别查询 - StaffHomeShopTotalVo staffHomeShopTotalVo = new StaffHomeShopTotalVo(); - if(userIds!=null&&!userIds.isEmpty()){ - staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(userIds); - }else{ - staffHomeShopTotalVo.setShopTotal(0); - staffHomeShopTotalVo.setAgencyTotal(0); - staffHomeShopTotalVo.setDealerTotal(0); - } - Integer shopTaskCount = 0; - if(shopIds!=null&&!shopIds.isEmpty()){ - shopTaskService.getShopIngTotal(shopIds); - } + StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(userIds); + Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds); staffHomeShopTotalVo.setFollowMember(0); staffHomeShopTotalVo.setNewMember(0); staffHomeShopTotalVo.setShopTask(shopTaskCount); @@ -1013,8 +1047,8 @@ * @return List<MgtShopListSimpleVo> */ @Override - public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ - return shopMapper.listMgtShopSimpleVo(mgtShopListDto); + public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto,List<Long> scope){ + return shopMapper.listMgtShopSimpleVo(mgtShopListDto,scope); } /** @@ -1051,8 +1085,8 @@ * @date 2023/6/14 23:01 */ @Override - public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto){ - return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto); + public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto,List<Long> scope){ + return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto,scope); } /** @@ -1062,8 +1096,9 @@ * @return */ @Override - public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto) { - return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto); + public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto, + List<Long> scope) { + return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto,scope); } /** @@ -1074,8 +1109,8 @@ * @date 2023/6/18 16:59 */ @Override - public MgtBulletinBoardVo boardShopTotal(){ - MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(); + public MgtBulletinBoardVo boardShopTotal(List<Long> userIds){ + MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(userIds); return mgtBulletinBoardVoShop; } @@ -1122,8 +1157,9 @@ */ @Override public void mgtShopHFTXAuth(MgtShopHFTXAuthDto mgtShopHFTXAuthDto) { - ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>().eq("shop_id", mgtShopHFTXAuthDto.getShopId())); - if(null != shopAuthenticationHftx && "U".equals(shopAuthenticationHftx.getAuditStatus())){ + ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>() + .eq("shop_id", mgtShopHFTXAuthDto.getShopId()).eq("is_delete", 0)); + if(null != shopAuthenticationHftx && Arrays.asList("U", "Y").contains(shopAuthenticationHftx.getAuditStatus())){ throw new ServiceException("不能重复进件"); } if(null == shopAuthenticationHftx){ @@ -1216,7 +1252,7 @@ userIdList.add(mgtBasePlatformDto.getUserId()); } else { MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); - mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId()); + mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId()); mgtUserIdByDept = configService.getUserIdByDept(mgtUserIdByDept).getData(); userIdList = mgtUserIdByDept.getUserIdList(); } @@ -1224,8 +1260,20 @@ mgtBasePlatformDto.setUserIdList(userIdList); } } + //数据权限 + List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); + if(null != userIds){ + List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); + if(null != userIdList){ + userIdList.addAll(userIds); + }else{ + userIdList = userIds; + } + mgtBasePlatformDto.setUserIdList(userIdList); + } + //获取基础统计 - MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(); + MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(userIds); plTotalShopTotalVo.setSignTotal(0); List<Long> shopIdList = shopMapper.listShopIdByTotal(mgtBasePlatformDto); if (!shopIdList.isEmpty()) { @@ -1446,17 +1494,37 @@ @Override public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ List<Long> userIdList = new ArrayList<>(); - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIdList = sysUserService.getUserIdsByDept(userId).getData(); +// userIdList.add(userId); +// }else { +// userIdList.add(userId); +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIdList = null; + } + if(dataScopeEmployee.equals("3")){ userIdList = sysUserService.getUserIdsByDept(userId).getData(); userIdList.add(userId); - }else { + } + if(dataScopeEmployee.equals("5")){ userIdList.add(userId); } + StaffShopSimpleTotalVo shopTotal = shopMapper.getStaffSimpleTotal(1,userIdList); StaffShopSimpleTotalVo agencyTotal = shopMapper.getStaffSimpleTotal(2,userIdList); shopTotal.setAgencyTotal(agencyTotal.getShopTotal()); shopTotal.setOpenAgencyTotal(agencyTotal.getOpenShopTotal()); - shopTotal.setCloseAgencyTotal(agencyTotal.getCloseAgencyTotal()); + shopTotal.setCloseAgencyTotal(agencyTotal.getCloseShopTotal()); return shopTotal; } @@ -1659,7 +1727,7 @@ private void applySuccessUpdateShopStatus(Long shopId){ // 更新商户状态为正常 Shop shop = this.getById(shopId); - Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1); + Integer shopStatus = handelShopStatus(null, null, 1); LambdaUpdateWrapper<Shop> updateWrapper = Wrappers.lambdaUpdate(); updateWrapper.eq(Shop::getShopId, shopId) .set(Shop::getShopStatus, shopStatus) @@ -1791,7 +1859,7 @@ ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request); if(StringUtils.isNotBlank(result.getAccount())){ shop.setAccountFlag(1); - shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setShopStatus(handelShopStatus(null , null,shop.getAuthFlag())); this.saveOrUpdate(shop); } } @@ -1850,4 +1918,37 @@ Integer pageSize = merchantBasicdataSettlementDto.getPageSize(); return HuiFuTianXiaUtil.getMerchantBasicdataSettlement(IdUtils.simpleUUID(), huifuId, startTime, endTime, pageNum.toString(), pageSize.toString()); } + + + + /** + * @description + * @author jqs + * @date 2023/8/10 22:53 + * @param cityCodes + * @return List<Long> + */ + @Override + public List<Shop> listShopByCityCode(List<String> cityCodes){ + return shopMapper.listShopByCityCode(cityCodes); + } + + + /** + * 根据员工id获取对应的门店 + * @param userIds + * @return + */ + @Override + public List<Shop> getShopBySysUserIds(List<Long> userIds) { + if(null == userIds || userIds.size() == 0){ + return new ArrayList<>(); + } + QueryWrapper<Shop> queryWrapper = new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1); + if(null != userIds && userIds.size() > 0){ + queryWrapper.in("belong_user_id", userIds); + } + List<Shop> list = this.list(queryWrapper); + return list; + } } -- Gitblit v1.7.1