From 1442f149019ee0590389abd7a88a79c4d9b59034 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 27 五月 2025 18:23:34 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java |  100 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 65 insertions(+), 35 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 b6ba3d3..0470a9d 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
@@ -22,10 +22,7 @@
 import com.ruoyi.admin.utils.util.HttpRequester;
 import com.ruoyi.admin.utils.util.HttpRespons;
 import com.ruoyi.admin.utils.util.Md5_Sign;
-import com.ruoyi.admin.vo.InfoDto;
-import com.ruoyi.admin.vo.MoneyRecentQuery;
-import com.ruoyi.admin.vo.PayDto;
-import com.ruoyi.admin.vo.RencentBalance;
+import com.ruoyi.admin.vo.*;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.GlobalException;
@@ -136,8 +133,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) {
@@ -402,7 +407,7 @@
 
 
         TFranchiseeBalanceChange tFranchiseeBalanceChange = new TFranchiseeBalanceChange();
-        tFranchiseeBalanceChange.setAmount(money);
+        tFranchiseeBalanceChange.setAmount(money.multiply(new BigDecimal("0.9972")).setScale(2,BigDecimal.ROUND_DOWN));
         tFranchiseeBalanceChange.setIs_pay(0);
         tFranchiseeBalanceChange.setFranchiseeName(byId.getName());
         tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId()));
@@ -440,6 +445,13 @@
     private TokenService tokenService;
     @Resource
     private NativePayService nativePayService;
+
+    public static void main(String[] args) {
+        BigDecimal money = new BigDecimal(2);
+
+
+        System.err.println(money.multiply(new BigDecimal("0.9972")).setScale(2,BigDecimal.ROUND_DOWN));
+    }
 
     @ApiOperation(value = "扫码支付",tags = {"后台2.0-加盟商列表余额"})
     @PostMapping(value = "/code/buy")
@@ -497,7 +509,7 @@
 //                com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse prepay = nativePayService.prepay(prepayRequest);
             //预支付成功,创建预支付订单
             TFranchiseeBalanceChange tFranchiseeBalanceChange = new TFranchiseeBalanceChange();
-            tFranchiseeBalanceChange.setAmount(money);
+            tFranchiseeBalanceChange.setAmount(money.multiply(new BigDecimal("0.9972")).setScale(2,BigDecimal.ROUND_DOWN));
             tFranchiseeBalanceChange.setIs_pay(0);
             tFranchiseeBalanceChange.setFranchiseeName(byId.getName());
             tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId()));
@@ -579,7 +591,7 @@
 //                com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse prepay = nativePayService.prepay(prepayRequest);
             //预支付成功,创建预支付订单
             TFranchiseeBalanceChange tFranchiseeBalanceChange = new TFranchiseeBalanceChange();
-            tFranchiseeBalanceChange.setAmount(money);
+            tFranchiseeBalanceChange.setAmount(money.multiply(new BigDecimal("0.9972")).setScale(2,BigDecimal.ROUND_DOWN));
             tFranchiseeBalanceChange.setIs_pay(0);
             tFranchiseeBalanceChange.setFranchiseeName(byId.getName());
             tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId()));
@@ -630,6 +642,7 @@
         System.err.println("======回调开始"+r2_OrderNo);
         System.err.println("请求"+request.getParameterMap());
         Map<String, String[]> parameterMap = request.getParameterMap();
+        // 2.0新增充值费率
         String r6Status = request.getParameter("r6_Status");
         if (org.springframework.util.StringUtils.hasLength(r6Status)){
             if (r6Status.equals("101")){
@@ -722,37 +735,54 @@
     /**
      * 加盟商信息分页列表
      *
-     * @param pageNum  页码
-     * @param pageSize 每页显示条数
      */
     @RequiresPermissions("franchisee_list")
     @ApiOperation(value = "加盟商信息分页查询列表", tags = {"后台-加盟商管理"})
-    @GetMapping(value = "/page")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "加盟商名称", name = "name", dataType = "String"),
-            @ApiImplicitParam(value = "管理员", name = "head", dataType = "String"),
-            @ApiImplicitParam(value = "手机号码", name = "phone", dataType = "String"),
-            @ApiImplicitParam(value = "管辖城市", name = "city", dataType = "String"),
-            @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
-            @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
-    })
-    public R<IPage<Franchisee>> queryPageList(String name, String head, String phone, String city,
-                                              @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
-                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+    @PostMapping(value = "/page")
+    public R<IPage<Franchisee>> queryPageList(@RequestBody FranchiseeListDTO dto) {
         LambdaQueryChainWrapper<Franchisee> wrapper = franchiseeService.lambdaQuery();
-        wrapper = StringUtils.isNotBlank(name) ? wrapper.like(Franchisee::getName, name) : wrapper;
-        wrapper = StringUtils.isNotBlank(head) ? wrapper.like(Franchisee::getHead, head) : wrapper;
-        wrapper = StringUtils.isNotBlank(phone) ? wrapper.like(Franchisee::getHeadPhone, phone) : wrapper;
-        wrapper = StringUtils.isNotBlank(city) ? wrapper.like(Franchisee::getCity, city) : wrapper;
-        Page<Franchisee> page = wrapper.eq(Franchisee::getIsDelete, 0)
-                .orderByDesc(Franchisee::getCreateTime).page(Page.of(pageNum, pageSize));
-        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(",")));
+        wrapper = StringUtils.isNotBlank(dto.getName()) ? wrapper.like(Franchisee::getName, dto.getName()) : wrapper;
+        wrapper = StringUtils.isNotBlank(dto.getHead()) ? wrapper.like(Franchisee::getHead, dto.getHead()) : wrapper;
+        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(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)
+//                    );
+//                });
+//            }
+//        }
+
+
+
+
+        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(",")));
+            }
 
 
         }

--
Gitblit v1.7.1