From 92b586e7d47167421f6500be641734acebeacd79 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 15 三月 2024 20:39:30 +0800 Subject: [PATCH] 分类管理、字段管理接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 118 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java index 89e2c66..521952d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbFieldServiceImpl.java @@ -1,10 +1,33 @@ package com.ruoyi.system.service.impl; +import cn.hutool.json.JSONArray; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageDTO; +import com.ruoyi.common.enums.FieldInputTypeEnum; +import com.ruoyi.common.enums.FieldTypeEnum; +import com.ruoyi.common.utils.BeanUtils; +import com.ruoyi.common.utils.CollUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.TbBasicDataConfig; import com.ruoyi.system.domain.TbField; +import com.ruoyi.system.domain.TbFieldCategory; +import com.ruoyi.system.dto.FieldDTO; +import com.ruoyi.system.dto.ShowHideDTO; import com.ruoyi.system.mapper.TbFieldMapper; +import com.ruoyi.system.query.FieldQuery; +import com.ruoyi.system.service.TbBasicDataConfigService; +import com.ruoyi.system.service.TbFieldCategoryService; import com.ruoyi.system.service.TbFieldService; +import com.ruoyi.system.vo.FieldVO; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -14,7 +37,102 @@ * @author mitao * @since 2024-03-13 */ +@Slf4j @Service +@RequiredArgsConstructor public class TbFieldServiceImpl extends ServiceImpl<TbFieldMapper, TbField> implements TbFieldService { + private final TbFieldCategoryService tbFieldCategoryService; + private final TbBasicDataConfigService tbBasicDataConfigService; + @Override + public void add(FieldDTO dto) { + //参数校验 + Integer fieldType = dto.getFieldType(); + //1:数字 2:文本 3:百分比 + if (FieldTypeEnum.TEXT.getCode().equals(fieldType)) { + if (StringUtils.isNull(dto.getTextInputType())) { + throw new RuntimeException("输入类型不能为空"); + } else if (FieldInputTypeEnum.FIXED_CONTENT.getCode().equals(dto.getTextInputType()) && StringUtils.isBlank(dto.getTextContent())) { + throw new RuntimeException("内容设置不能为空"); + } + } + TbField tbField = BeanUtils.copyBean(dto, TbField.class); + TbFieldCategory category1 = tbFieldCategoryService.getById(dto.getLevelOneCategoryId()); + tbField.setLevelOneCategory(category1.getFieldCategoryName()); + if (StringUtils.isNotNull(dto.getLevelTwoCategoryId())) { + TbFieldCategory category2 = tbFieldCategoryService.getById(dto.getLevelTwoCategoryId()); + tbField.setLevelTwoCategory(category2.getFieldCategoryName()); + } + if (StringUtils.isNotNull(dto.getLevelThreeCategoryId())) { + TbFieldCategory category3 = tbFieldCategoryService.getById(dto.getLevelThreeCategoryId()); + tbField.setLevelThreeCategory(category3.getFieldCategoryName()); + } + this.save(tbField); + } + + @Override + public void showHide(ShowHideDTO dto) { + TbField field = this.getById(dto.getId()); + if (StringUtils.isNull(field)) { + throw new RuntimeException("非法参数"); + } + //隐藏字段 + this.lambdaUpdate().set(TbField::getStatus, dto.getStatus()).eq(TbField::getId, dto.getId()).update(); + //隐藏基础数据 TODO + tbBasicDataConfigService.lambdaUpdate().eq(TbBasicDataConfig::getFieldId, dto.getId()).set(TbBasicDataConfig::getStatus, dto.getStatus()).update(); + } + + @Override + public PageDTO<FieldVO> queryPage(FieldQuery query) { + Page<TbField> page = this.lambdaQuery() + .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(StringUtils.isNotNull(query.getStatus()), TbField::getStatus, query.getStatus()) + .eq(StringUtils.isNotNull(query.getFieldType()), TbField::getFieldType, query.getFieldType()) + .orderByDesc(TbField::getCreateTime) + .page(new Page<>(query.getPageNum(), query.getPageSize())); + if (CollUtils.isEmpty(page.getRecords())) { + return PageDTO.empty(page); + } + return PageDTO.of(page, FieldVO.class); + } + + @Override + public List<String> influencedData(Integer id) { + List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getFieldId, id).list(); + if (CollUtils.isEmpty(list)) { + return CollUtils.emptyList(); + } + return list.stream().map(TbBasicDataConfig::getTypeName).collect(Collectors.toList()); + } + + public static void main(String[] args) { + String string = "蓝色_10,红色_20,绿色_30"; + String[] split = string.split(","); + for (String s : split) { + String[] split1 = s.split("_"); + System.out.println(split1[1]); + } + //百分比1_百分比2:得分 + String string1 = "10_20:50,20_30:50,30_40:60"; + CalculateDTO calculateDTO = new CalculateDTO(); + calculateDTO.setKey("10_20"); + calculateDTO.setValue("20"); + CalculateDTO calculateDTO1 = new CalculateDTO(); + calculateDTO1.setKey("20_30"); + calculateDTO1.setValue("30"); + List<CalculateDTO> list = new ArrayList<>(); + list.add(calculateDTO); + list.add(calculateDTO1); + JSONArray objects = new JSONArray(list); + String jsonString = objects.toJSONString(2); + System.err.println(jsonString); + } } +@Data +class CalculateDTO{ + private String key; + private String value; +} \ No newline at end of file -- Gitblit v1.7.1