无关风月
7 天以前 f39e7de8be43eda95560f49982b6cd0345e24404
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -133,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) {
@@ -738,21 +746,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(",")));
            }
        }