From 3044a637a15e09d50ad733fd482c6e64e90df2f9 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 25 六月 2025 17:46:18 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java | 100 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 87 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java index 69932a4..003d70a 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java @@ -29,6 +29,7 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.wechat.pay.contrib.apache.httpclient.auth.PrivateKeySigner; import com.wechat.pay.contrib.apache.httpclient.util.PemUtil; import com.wechat.pay.java.core.exception.MalformedMessageException; @@ -133,8 +134,16 @@ franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(name) ? franchiseeLambdaQueryWrapper.like(Franchisee::getName, name) : franchiseeLambdaQueryWrapper; franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(head) ? franchiseeLambdaQueryWrapper.like(Franchisee::getHead, head) : franchiseeLambdaQueryWrapper; franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(phone) ? franchiseeLambdaQueryWrapper.like(Franchisee::getHeadPhone, phone) : franchiseeLambdaQueryWrapper; - franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(city) ? franchiseeLambdaQueryWrapper.like(Franchisee::getCity, city) : franchiseeLambdaQueryWrapper; - List<Franchisee> list = franchiseeService.list(franchiseeLambdaQueryWrapper); + if (org.springframework.util.StringUtils.hasLength(city)){ + String[] cityCodes = city.split(","); + franchiseeLambdaQueryWrapper.and(e->{ + List<String> list = Arrays.asList(cityCodes); + e.like(Franchisee::getCityCode,list.get(0)); + for (int i = 1; i < list.size(); i++) { + e.or().like(Franchisee::getCityCode,list.get(i)); + } + }); + } List<Franchisee> list = franchiseeService.list(franchiseeLambdaQueryWrapper); List<Integer> collect = list.stream().map(Franchisee::getId).collect(Collectors.toList()); if (collect.isEmpty())collect.add(-1); for (Franchisee franchisee : list) { @@ -738,21 +747,43 @@ wrapper = StringUtils.isNotBlank(dto.getPhone()) ? wrapper.like(Franchisee::getHeadPhone, dto.getPhone()) : wrapper; if (org.springframework.util.StringUtils.hasLength(dto.getCity())){ String[] cityCodes = dto.getCity().split(","); - wrapper.and(wrapperLike -> { - Arrays.stream(cityCodes) - .forEach(code -> wrapperLike.like(Franchisee::getCityCode, code)); + wrapper.and(e->{ + List<String> list = Arrays.asList(cityCodes); + e.like(Franchisee::getCityCode,list.get(0)); + for (int i = 1; i < list.size(); i++) { + e.or().like(Franchisee::getCityCode,list.get(i)); + } }); } +// if (StringUtils.isNotBlank(dto.getCity())) { +// String[] cityCodes = Arrays.stream(dto.getCity().split(",")) +// .map(String::trim) +// .filter(StringUtils::isNotBlank) +// .distinct() +// .toArray(String[]::new); +// +// if (cityCodes.length > 0) { +// wrapper.and(andWrapper -> { +// Arrays.stream(cityCodes).forEach(code -> +// andWrapper.or() +// .apply("CONCAT(',', city_code, ',') LIKE CONCAT('%,', {0}, ',%')", code) +// ); +// }); +// } +// } - Page<Franchisee> page = wrapper.eq(Franchisee::getIsDelete, 0) - .orderByDesc(Franchisee::getCreateTime).page(Page.of(dto.getPageNum(), dto.getPageSize())); + + + + wrapper.eq(Franchisee::getIsDelete, 0).orderByDesc(Franchisee::getCreateTime); + Page<Franchisee> page = wrapper.page(Page.of(dto.getPageNum(), dto.getPageSize())); for (Franchisee record : page.getRecords()) { - if (record.getSiteIds()!=null){ - String[] split = record.getSiteIds().split(","); - List<Site> list = siteService.lambdaQuery().in(Site::getId, split).list(); - //用 , 拼接 - record.setSiteStr(list.stream().map(Site::getSiteName).collect(Collectors.joining(","))); - } + if (record.getSiteIds()!=null){ + String[] split = record.getSiteIds().split(","); + List<Site> list = siteService.lambdaQuery().in(Site::getId, split).list(); + //用 , 拼接 + record.setSiteStr(list.stream().map(Site::getSiteName).collect(Collectors.joining(","))); + } } @@ -1030,4 +1061,47 @@ return franchiseeService.updateBatchById(list) ? R.ok() : R.fail(); } + /** + * 设置加盟商操作密码 + * + */ + @ApiOperation(value = "设置加盟商操作密码【202506】", tags = {"后台-加盟商管理"}) + @PutMapping(value = "/setPayPassword") + public R<String> setPayPassword(@RequestParam(value = "payPassword") String payPassword) { + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserService.getById(userid); + if(Objects.isNull(sysUser.getFranchiseeId())){ + return R.fail("加盟商信息不存在!"); + } + Franchisee franchisee = franchiseeService.getById(sysUser.getFranchiseeId()); + franchisee.setPayPassword(SecurityUtils.encryptPassword(payPassword)); + return franchiseeService.updateById(franchisee) ? R.ok() : R.fail(); + } + + /** + * 设置加盟商操作密码 + * + */ + @ApiOperation(value = "加盟商余额扣除撤回【202506】", tags = {"后台-加盟商管理"}) + @PutMapping(value = "/balanceWithdraw") + public R<String> balanceWithdraw(@RequestParam(value = "id") Integer id, + @RequestParam(value = "payPassword") String payPassword) { + + TFranchiseeBalanceChange balanceChange = balanceChangeService.getById(id); + + Franchisee franchisee = franchiseeService.getById(balanceChange.getFranchiseeId()); + + if(!SecurityUtils.matchesPassword(payPassword, franchisee.getPayPassword())){ + return R.fail("密码错误!"); + } + + franchisee.setBalance(franchisee.getBalance().add(balanceChange.getAmount())); + franchiseeService.updateById(franchisee); + + // 删除操作记录 + balanceChangeService.removeById(id); + + return R.ok(); + } + } -- Gitblit v1.7.1