rk
17 小时以前 095210f9149c73e6e00d997b39fd6c44a65e4d38
server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -57,8 +57,11 @@
        if(Objects.isNull(category)
        || Objects.isNull(category.getType())
        || Objects.isNull(category.getName())
        || StringUtils.isBlank(category.getDetail())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        // type=2(寄存说明)detail不必填,其他类型必填
        if (!Constants.equalsInteger(category.getType(), Constants.TWO) && StringUtils.isBlank(category.getDetail())) {
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        validateByType(category);
@@ -100,8 +103,11 @@
                || Objects.isNull(category.getId())
                || Objects.isNull(category.getType())
                || Objects.isNull(category.getName())
                || StringUtils.isBlank(category.getDetail())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        // type=2(寄存说明)detail不必填,其他类型必填
        if (!Constants.equalsInteger(category.getType(), Constants.TWO) && StringUtils.isBlank(category.getDetail())) {
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        validateByType(category);
@@ -139,8 +145,8 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(StringUtils.isNotBlank(category.getIcon())){
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.CATEGORY_FILES).getCode();
            String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_FILES).getCode();
            category.setIconFull(path + category.getIcon());
        }
        return category;
@@ -208,8 +214,8 @@
        queryWrapper.orderByAsc(Category::getSortnum);
        PageData<Category> result =PageData.from(categoryMapper.selectJoinPage(page, Category.class,queryWrapper));
        if(result!=null && result.getRecords()!=null){
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.CATEGORY_FILES).getCode();
            String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_FILES).getCode();
            for(Category cate : result.getRecords()){
                try {
                    if(StringUtils.isNotBlank(cate.getIcon())){
@@ -236,11 +242,36 @@
                .orderByAsc(Category::getSortnum)
        );
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(categoryList)){
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.CATEGORY_FILES).getCode();
            String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_FILES).getCode();
            // 收集非空的 relationId 批量查询
            java.util.Set<Integer> relationIds = new java.util.HashSet<>();
            for (Category category : categoryList) {
                if (category.getRelationId() != null) {
                    relationIds.add(category.getRelationId());
                }
            }
            java.util.Map<Integer, String> relationNameMap = new java.util.HashMap<>();
            java.util.Map<Integer, String> relationOtherFieldMap = new java.util.HashMap<>();
            java.util.Map<Integer, String> relationRemarkMap = new java.util.HashMap<>();
            if (!relationIds.isEmpty()) {
                categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                        .in(Category::getId, relationIds)
                        .eq(Category::getDeleted, Constants.ZERO))
                        .forEach(c -> {
                            relationNameMap.put(c.getId(), c.getName());
                            relationOtherFieldMap.put(c.getId(), c.getOtherField());
                            relationRemarkMap.put(c.getId(), c.getRemark());
                        });
            }
            for (Category category:categoryList) {
                if(StringUtils.isNotBlank(category.getIcon())){
                    category.setIconFull(path + category.getIcon());
                }
                if (category.getRelationId() != null) {
                    category.setRelationName(relationNameMap.get(category.getRelationId()));
                    category.setRelationOtherField(relationOtherFieldMap.get(category.getRelationId()));
                    category.setRelationRemark(relationRemarkMap.get(category.getRelationId()));
                }
            }
        }
@@ -275,8 +306,8 @@
                .orderByAsc(Category::getSortnum));
        // 3. 拼接图标全路径
        if (!CollectionUtils.isEmpty(sizeList)) {
            String path = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.RESOURCE_PATH).getCode()
                    + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.CATEGORY_FILES).getCode();
            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                    + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_FILES).getCode();
            for (Category cate : sizeList) {
                if (StringUtils.isNotBlank(cate.getIcon())) {
                    cate.setIconFull(path + cate.getIcon());