From 653cbd6bc42565dbdcc7fdbe652874738b1908df Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期二, 25 七月 2023 15:32:34 +0800 Subject: [PATCH] LIMS管理系统框架-开发7-25标准库修改前 --- laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 1 deletions(-) diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java index 0f03757..f7882e9 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java @@ -1,10 +1,17 @@ package com.yuanchu.limslaboratory.service.impl; -import com.yuanchu.limslaboratory.entity.Classify; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.yuanchu.limslaboratory.pojo.Classify; import com.yuanchu.limslaboratory.mapper.ClassifyMapper; import com.yuanchu.limslaboratory.service.ClassifyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * <p> @@ -17,4 +24,75 @@ @Service public class ClassifyServiceImpl extends ServiceImpl<ClassifyMapper, Classify> implements ClassifyService { + @Resource + private ClassifyMapper classifyMapper; + + @Override + public Integer addClassifyInformation(Classify classify) { + if (ObjectUtils.isEmpty(classify.getFatherName())){ + classify.setFatherName(classify.getSonName()); + classify.setSonName(null); + LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Classify::getFatherName, classify.getFatherName()); + wrapper.isNull(Classify::getSonName); + wrapper.eq(Classify::getState, 1); + Classify classify1 = classifyMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(classify1)){ + return classifyMapper.insert(classify); + } + return 2; + } + LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Classify::getFatherName, classify.getFatherName()); + wrapper.eq(Classify::getSonName, classify.getSonName()); + wrapper.eq(Classify::getState, 1); + Classify classify1 = classifyMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(classify1)){ + return classifyMapper.insert(classify); + } else { + return 3; + } + } + + @Override + public List<Map<String, Object>> getListClassifyInformation(String classifyName) { + LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>(); + if (!ObjectUtils.isEmpty(classifyName)){ + wrapper.like(Classify::getFatherName, classifyName); + } + wrapper.groupBy(Classify::getFatherName); + wrapper.select(Classify::getId, Classify::getFatherName); + List<Map<String, Object>> maps = classifyMapper.selectMaps(wrapper); + for (Map<String, Object> map : maps){ + LambdaQueryWrapper<Classify> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Classify::getFatherName, map.get("father_name")); + wrapper1.isNotNull(Classify::getSonName); + wrapper1.select(Classify::getId, Classify::getSonName); + List<Map<String, Object>> maps1 = classifyMapper.selectMaps(wrapper1); + if (!ObjectUtils.isEmpty(maps1)){ + map.put("children", maps1); + map.remove("id"); + } else { + map.put("children", null); + } + } + return maps; + } + + @Override + public Boolean deleteClassifyInformation(String classifyId) { + LambdaUpdateWrapper<Classify> wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Classify::getId, classifyId); + wrapper.set(Classify::getState, 0); + int isDeleteSuccess = classifyMapper.update(new Classify(), wrapper); + return isDeleteSuccess > 0; + } + + @Override + public Boolean updateClassifyInformation(Classify classify) { + LambdaUpdateWrapper<Classify> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Classify::getId, classify.getId()); + int isUpdateClassifySuccess = classifyMapper.update(classify, updateWrapper); + return isUpdateClassifySuccess > 0; + } } -- Gitblit v1.9.3