From 2ed6444f45d227e2acc6de65c3e8b582440fb83a Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期四, 06 三月 2025 09:20:40 +0800 Subject: [PATCH] 迭代版本:2.28 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 143 insertions(+), 16 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java index 91516e9..ac1f16a 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java @@ -15,6 +15,7 @@ import com.ruoyi.common.security.utils.MD5Generator; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.feignClient.OrderClient; +import com.ruoyi.order.vo.OrderSaleNum; import com.ruoyi.order.vo.VerifiableShopVo; import com.ruoyi.other.api.domain.*; import com.ruoyi.other.mapper.ShopMapper; @@ -175,7 +176,7 @@ user.setObjectId(shopId); user.setAppUserId(appUser.getId()); String s = MD5Generator.generateMD5(phone.substring(5)); - user.setPassword(SecurityUtils.encryptPassword(s)); + user.setPassword(s); user.setCreateTime(new Date()); Long userId = sysUserClient.saveShopUser(user).getData(); @@ -209,7 +210,7 @@ @ApiOperation(value = "门店详情", tags = {"管理后台-门店管理"}) public R<Shop> getDetailById(@RequestParam("id") Integer id){ Shop shop = shopService.getById(id); - if (shop.getPid()==0){ + if (null != shop.getPid() && shop.getPid()==0){ shop.setPid(null); } return R.ok(shop); @@ -503,7 +504,8 @@ userShop.setRoleType(1); List<UserShop> data = userShopClient.getUserShop(userShop).getData(); SysUser userData = sysUserClient.getSysUser(data.get(0).getUserId()).getData(); - userData.setPassword(userData.getPhonenumber().substring(5)); + String s = MD5Generator.generateMD5(userData.getPhonenumber().substring(5)); + userData.setPassword(s); sysUserClient.resetPassword(userData); } return R.ok(); @@ -676,8 +678,17 @@ @PostMapping("/getShopIdByName") public R<Set<Integer>> getShopIdByName(@RequestParam("shopName") String shopName){ List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>() - .like(Shop::getName, shopName)); + .like(Shop::getName, shopName) + .eq(Shop::getDelFlag, 0)); return R.ok(list.stream().map(Shop::getId).collect(Collectors.toSet())); + } + + @PostMapping("/getManagerByManagerName") + public R<Set<Long>> getManagerByManagerName(@RequestParam("managerName") String managerName){ + List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>() + .like(Shop::getShopManager, managerName) + .eq(Shop::getDelFlag, 0)); + return R.ok(list.stream().map(Shop::getAppUserId).collect(Collectors.toSet())); } /** @@ -687,14 +698,35 @@ @ApiOperation(value = "门店统计", tags = {"管理后台-首页统计"}) public R<ShopStatistics> shopStatistics(@ApiParam("门店id") Integer shopId) { ShopStatistics shopStatistics = shopMapper.getShopStatistics(shopId); - if(null == shopId){ - shopId = 0; + List<Integer> shopIds; + + shopIds = shopService.list(new LambdaQueryWrapper<Shop>() + .eq(Shop::getDelFlag, 0) + .eq(shopId !=null,Shop::getId, shopId)) + .stream() + .map(Shop::getId) + .collect(Collectors.toList()); + + + if (CollectionUtils.isEmpty(shopIds)){ + shopStatistics.setTotalOrder(0); + shopStatistics.setServiceOrder(0); + shopStatistics.setGoodsOrder(0); + }else { + OrderSaleNum serviceOrderSaleNum = new OrderSaleNum(); + serviceOrderSaleNum.setShopIds(shopIds); + serviceOrderSaleNum.setType(1); + Integer serviceOrder = orderClient.getShopSaleNumByShopIds(serviceOrderSaleNum).getData(); + + OrderSaleNum goodsOrderSaleNum = new OrderSaleNum(); + goodsOrderSaleNum.setShopIds(shopIds); + goodsOrderSaleNum.setType(2); + Integer goodsOrder = orderClient.getShopSaleNumByShopIds(goodsOrderSaleNum).getData(); + + shopStatistics.setTotalOrder(serviceOrder + goodsOrder); + shopStatistics.setServiceOrder(serviceOrder); + shopStatistics.setGoodsOrder(goodsOrder); } - Integer serviceOrder = orderClient.getShopSaleNum(shopId, 1).getData(); - Integer goodsOrder = orderClient.getShopSaleNum(shopId, 2).getData(); - shopStatistics.setTotalOrder(serviceOrder + goodsOrder); - shopStatistics.setServiceOrder(serviceOrder); - shopStatistics.setGoodsOrder(goodsOrder); return R.ok(shopStatistics); } @@ -785,6 +817,21 @@ return R.ok(); } + @PostMapping("/saveWithdrawalAppletAccount") + @ApiOperation(value = "保存提现账户", tags = {"小程序-个人中心-门店管理-门店钱包"}) + public R saveWithdrawalAppletAccount(@RequestBody SaveWithdrawalAccount saveWithdrawalAccount){ + + Shop shop = shopService.getById(saveWithdrawalAccount.getShopId()); + if(null != shop){ + shop.setReceiverAccountNoEnc(saveWithdrawalAccount.getReceiverAccountNoEnc()); + shop.setReceiverNameEnc(saveWithdrawalAccount.getReceiverNameEnc()); + shop.setReceiverAccountType(saveWithdrawalAccount.getReceiverAccountType()); + shop.setReceiverBankChannelNo(saveWithdrawalAccount.getReceiverBankChannelNo()); + shopService.updateById(shop); + } + return R.ok(); + } + /** * 获取所有门店 @@ -810,6 +857,21 @@ } + @ResponseBody + @GetMapping("/verifyAppletConfiguration") + @ApiOperation(value = "判断是否有提现账户", tags = {"门店后台-财务管理-提现明细","小程序-个人中心-门店管理-门店钱包"}) + public R verifyAppletConfiguration(Integer shopId){ + Shop shop = shopService.getById(shopId); + if(StringUtils.hasLength(shop.getReceiverAccountNoEnc())){ + return R.ok(true); + } + return R.ok(false); + } + + + + + @ResponseBody @GetMapping("/getBankSerialNumber") @@ -822,19 +884,84 @@ @GetMapping("/getShopStatistics") - public R<Map<String, BigDecimal> > getShopStatistics(){ - List<Shop> shopList = shopService.list(); + public R<Map<String, BigDecimal> > getShopStatistics(@RequestParam("shopId") Integer shopId){ + LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1); + if(null != shopId && 0 != shopId){ + queryWrapper.eq(Shop::getId, shopId); + } + List<Shop> shopList = shopService.list(queryWrapper); BigDecimal serverGiveawayMoney = BigDecimal.ZERO; - BigDecimal lowerLevelGiveawayMoney = BigDecimal.ZERO; + BigDecimal giveawayMoney = BigDecimal.ZERO; for (Shop shop : shopList) { serverGiveawayMoney = serverGiveawayMoney.add(shop.getServerGiveawayMoney()); - lowerLevelGiveawayMoney = lowerLevelGiveawayMoney.add(shop.getLowerLevelGiveawayMoney()); + giveawayMoney = giveawayMoney.add(shop.getGiveawayMoney()); } Map<String, BigDecimal> map = new HashMap<>(); map.put("serverGiveawayMoney", serverGiveawayMoney); - map.put("lowerLevelGiveawayMoney", lowerLevelGiveawayMoney); + map.put("giveawayMoney", giveawayMoney); return R.ok(map); } + /** + * 获取指定用户的服务商 + * @return + */ + @GetMapping("/getServiceProvider") + public R<Shop> getServiceProvider(@RequestParam("appUserId") Long appUserId){ + //向上找获取第一个开店的门店 + List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1)); + AppUser appUser = appUserClient.getAppUserById(appUserId); + //上级集合,防止循环关联 + Set<Long> pid = new HashSet<>(); + Shop shop = getSuperiorStore(appUser, list, 1, 1, pid); + return R.ok(shop); + } + + + + public Shop getSuperiorStore(AppUser appUser, List<Shop> list, Integer hierarchy, Integer num, Set<Long> pid){ + if(null == appUser.getInviteUserId()){ + return null; + } + if(pid.contains(appUser.getInviteUserId())){ + return null; + } + AppUser appUser1 = appUserClient.getAppUserById(appUser.getInviteUserId()); + if(null != appUser1){ + Optional<Shop> first = list.stream().filter(shop -> shop.getAppUserId().equals(appUser1.getId())).findFirst(); + if(first.isPresent()){ + if(hierarchy.equals(num)){ + return first.get(); + } + num++; + } + } + return getSuperiorStore(appUser1, list, hierarchy, num, pid); + } + + + + + + + + + + + /** + * 获取指定用户的高级服务商 + * @return + */ + @GetMapping("/getSuperiorServiceProvider") + public R<Shop> getSuperiorServiceProvider(@RequestParam("appUserId") Long appUserId){ + //向上找获取第一个开店的门店 + List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1)); + AppUser appUser = appUserClient.getAppUserById(appUserId); + //上级集合,防止循环关联 + Set<Long> pid = new HashSet<>(); + Shop shop = getSuperiorStore(appUser, list, 2, 1, pid); + return R.ok(shop); + } + } -- Gitblit v1.7.1