mitao
2024-04-19 604d00f67ddcf25a9d079ceddd1c668b2a4e5288
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
@@ -28,12 +29,12 @@
import com.ruoyi.system.handler.CustomerHandler;
import com.ruoyi.system.handler.SelectedSheetWriteHandler;
import com.ruoyi.system.mapper.TbBasicDataMapper;
import com.ruoyi.system.mapper.TbFieldCategoryMapper;
import com.ruoyi.system.mapper.TbFieldMapper;
import com.ruoyi.system.query.FieldQuery;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TbBasicDataConfigService;
import com.ruoyi.system.service.TbBasicDataFieldService;
import com.ruoyi.system.service.TbFieldCategoryService;
import com.ruoyi.system.service.TbFieldService;
import com.ruoyi.system.utils.FieldBuildUtil;
import com.ruoyi.system.vo.BasicDataFieldVO;
@@ -68,7 +69,7 @@
public class TbFieldServiceImpl extends ServiceImpl<TbFieldMapper, TbField> implements
        TbFieldService {
    private final TbFieldCategoryService tbFieldCategoryService;
    private final TbFieldCategoryMapper tbFieldCategoryMapper;
    private final TbBasicDataConfigService tbBasicDataConfigService;
    private final TbBasicDataMapper tbBasicDataMapper;
    private final TbBasicDataFieldService tbBasicDataFieldService;
@@ -89,14 +90,15 @@
            }
        }
        TbField tbField = BeanUtils.copyBean(dto, TbField.class);
        TbFieldCategory category1 = tbFieldCategoryService.getById(dto.getLevelOneCategoryId());
        TbFieldCategory category1 = tbFieldCategoryMapper.selectById(dto.getLevelOneCategoryId());
        tbField.setLevelOneCategory(category1.getFieldCategoryName());
        if (StringUtils.isNotNull(dto.getLevelTwoCategoryId())) {
            TbFieldCategory category2 = tbFieldCategoryService.getById(dto.getLevelTwoCategoryId());
            TbFieldCategory category2 = tbFieldCategoryMapper.selectById(
                    dto.getLevelTwoCategoryId());
            tbField.setLevelTwoCategory(category2.getFieldCategoryName());
        }
        if (StringUtils.isNotNull(dto.getLevelThreeCategoryId())) {
            TbFieldCategory category3 = tbFieldCategoryService.getById(
            TbFieldCategory category3 = tbFieldCategoryMapper.selectById(
                    dto.getLevelThreeCategoryId());
            tbField.setLevelThreeCategory(category3.getFieldCategoryName());
        }
@@ -157,7 +159,64 @@
        if (CollUtils.isEmpty(page.getRecords())) {
            return PageDTO.empty(page);
        }
        List<TbField> collect = page.getRecords().stream().peek(item -> {
            if (StringUtils.isBlank(item.getLevelTwoCategory())) {
                item.setLevelTwoCategory("无");
                item.setLevelThreeCategory("无");
            } else {
                item.setLevelThreeCategory("无");
            }
        }).collect(Collectors.toList());
        page.setRecords(collect);
        return PageDTO.of(page, FieldVO.class);
    }
    @Override
    public PageDTO<FieldVO> queryShowPage(FieldQuery query) {
        Page<TbField> page = this.lambdaQuery()
                .select(TbField::getId, TbField::getFieldName, TbField::getLevelOneCategory,
                        TbField::getLevelTwoCategory, TbField::getLevelThreeCategory)
                .like(StringUtils.isNotEmpty(query.getFieldName()), TbField::getFieldName,
                        query.getFieldName())
                .like(StringUtils.isNotEmpty(query.getLevelOneCategory()),
                        TbField::getLevelOneCategory, query.getLevelOneCategory())
                .like(StringUtils.isNotEmpty(query.getLevelTwoCategory()),
                        TbField::getLevelTwoCategory, query.getLevelTwoCategory())
                .like(StringUtils.isNotEmpty(query.getLevelThreeCategory()),
                        TbField::getLevelThreeCategory, query.getLevelThreeCategory())
                .eq(TbField::getStatus, ShowStatusEnum.SHOW)
                .eq(StringUtils.isNotNull(query.getFieldType()), TbField::getFieldType,
                        query.getFieldType())
                .eq(TbField::getFieldType, FieldTypeEnum.NUMBER)
                .orderByDesc(TbField::getCreateTime)
                .page(new Page<>(query.getPageNum(), query.getPageSize()));
        if (CollUtils.isEmpty(page.getRecords())) {
            return PageDTO.empty(page);
        }
        List<TbField> collect = page.getRecords().stream().peek(item -> {
            if (StringUtils.isBlank(item.getLevelTwoCategory())) {
                item.setLevelTwoCategory("无");
                item.setLevelThreeCategory("无");
            } else {
                item.setLevelThreeCategory("无");
            }
        }).collect(Collectors.toList());
        page.setRecords(collect);
        return PageDTO.of(page, FieldVO.class);
    }
    @Override
    public List<FieldVO> listFields(String type) {
        FieldTypeEnum fieldTypeEnum;
        try {
            fieldTypeEnum = FieldTypeEnum.getEnumByDesc(type);
        } catch (IllegalArgumentException e) {
            throw new ServiceException("非法参数");
        }
        List<TbField> list = this.list(
                Wrappers.<TbField>lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW)
                        .eq(Objects.nonNull(fieldTypeEnum), TbField::getFieldType, fieldTypeEnum));
        return BeanUtils.copyList(list, FieldVO.class);
    }
    @Override
@@ -184,7 +243,7 @@
    }
    @Override
    public void update(FieldUpdateDTO dto) {
    public void editField(FieldUpdateDTO dto) {
        TbField field = this.getById(dto.getId());
        if (Objects.isNull(field)) {
            throw new ServiceException("参数异常");