From 04bfc661c0c93066e280295954616ed2d8d41272 Mon Sep 17 00:00:00 2001 From: zhouwentao Date: Fri, 12 Dec 2025 10:43:04 +0800 Subject: [PATCH] updates --- .../YxSchoolGraduateDegreeController.java | 93 ++++++++++++++++--- .../yx/entity/YxSchoolGraduateDegree.java | 2 +- 2 files changed, 79 insertions(+), 16 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolGraduateDegreeController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolGraduateDegreeController.java index abfb517..42feb8a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolGraduateDegreeController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxSchoolGraduateDegreeController.java @@ -2,14 +2,17 @@ package org.jeecg.modules.yx.controller; import java.io.*; import java.util.*; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.yx.dto.YxSchoolDTO; import org.jeecg.modules.yx.entity.*; import org.jeecg.modules.yx.service.IYxSchoolGraduateDegreeService; @@ -25,6 +28,8 @@ import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -43,7 +48,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; @Slf4j public class YxSchoolGraduateDegreeController extends JeecgController { @Autowired - private IYxSchoolGraduateDegreeService yxSchoolMasterDegreeService; + private IYxSchoolGraduateDegreeService yxSchoolGraduateDegreeService; @Autowired private IYxSchoolService yxSchoolService; @Autowired @@ -61,7 +66,7 @@ public class YxSchoolGraduateDegreeController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(yxSchoolGraduateDegree, req.getParameterMap()); Page page = new Page(pageNo, pageSize); - IPage pageList = yxSchoolMasterDegreeService.page(page, queryWrapper); + IPage pageList = yxSchoolGraduateDegreeService.page(page, queryWrapper); return Result.OK(pageList); } @@ -70,10 +75,14 @@ public class YxSchoolGraduateDegreeController extends JeecgController add(@RequestBody YxSchoolGraduateDegree yxSchoolGraduateDegree) { - yxSchoolMasterDegreeService.save(yxSchoolGraduateDegree); + if (StringUtils.isNotBlank(yxSchoolGraduateDegree.getSchoolName())) { + YxSchoolDTO yxSchoolDTO = yxSchoolService.getBySchoolName(yxSchoolGraduateDegree.getSchoolName()); + yxSchoolGraduateDegree.setSchoolId(yxSchoolDTO.getId()); + } + yxSchoolGraduateDegreeService.save(yxSchoolGraduateDegree); return Result.OK("添加成功!"); } @@ -82,10 +91,14 @@ public class YxSchoolGraduateDegreeController extends JeecgController edit(@RequestBody YxSchoolGraduateDegree yxSchoolGraduateDegree) { - yxSchoolMasterDegreeService.updateById(yxSchoolGraduateDegree); + if (StringUtils.isNotBlank(yxSchoolGraduateDegree.getSchoolName())) { + YxSchoolDTO yxSchoolDTO = yxSchoolService.getBySchoolName(yxSchoolGraduateDegree.getSchoolName()); + yxSchoolGraduateDegree.setSchoolId(yxSchoolDTO.getId()); + } + yxSchoolGraduateDegreeService.updateById(yxSchoolGraduateDegree); return Result.OK("编辑成功!"); } @@ -94,10 +107,10 @@ public class YxSchoolGraduateDegreeController extends JeecgController delete(@RequestParam(name = "id", required = true) String id) { - yxSchoolMasterDegreeService.removeById(id); + yxSchoolGraduateDegreeService.removeById(id); return Result.OK("删除成功!"); } @@ -106,10 +119,10 @@ public class YxSchoolGraduateDegreeController extends JeecgController deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - this.yxSchoolMasterDegreeService.removeByIds(Arrays.asList(ids.split(","))); + this.yxSchoolGraduateDegreeService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } @@ -120,7 +133,7 @@ public class YxSchoolGraduateDegreeController extends JeecgController queryById(@RequestParam(name = "id", required = true) String id) { - YxSchoolGraduateDegree yxSchoolGraduateDegree = yxSchoolMasterDegreeService.getById(id); + YxSchoolGraduateDegree yxSchoolGraduateDegree = yxSchoolGraduateDegreeService.getById(id); if (yxSchoolGraduateDegree == null) { return Result.error("未找到对应数据"); } @@ -130,7 +143,7 @@ public class YxSchoolGraduateDegreeController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, YxSchoolGraduateDegree.class); + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + // 获取上传文件对象 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + long start = System.currentTimeMillis(); + int index = 3; + try { + List list = ExcelImportUtil.importExcel(file.getInputStream(), YxSchoolGraduateDegree.class, params); + if(list.isEmpty()){ + return Result.error("为识别到数据!"); + }else if (list.size() > 1000) { + return Result.error("文件数据过多,请分批次1000条上传。"); + } + Set schoolNameSet = list.stream().map(YxSchoolGraduateDegree::getSchoolName).collect(Collectors.toSet()); + List yxSchoolList = yxSchoolService.list(new LambdaQueryWrapper().select(YxSchool::getId).select(YxSchool::getSchoolName).in(YxSchool::getSchoolName, schoolNameSet)); + Map schoolNameIdMap = yxSchoolList.stream().collect(Collectors.toMap(YxSchool::getSchoolName, YxSchool::getId)); + List yxSchoolGraduateDegreeList = yxSchoolGraduateDegreeService.list(new LambdaQueryWrapper().in(YxSchoolGraduateDegree::getSchoolName, schoolNameSet)); + String schoolId = null; + String schoolName = null; + String year = null; + for (YxSchoolGraduateDegree yxSchoolGraduateDegree : list) { + schoolName = yxSchoolGraduateDegree.getSchoolName(); + year = yxSchoolGraduateDegree.getYear(); + schoolId = schoolNameIdMap.get(schoolId); + + yxSchoolGraduateDegree.setSchoolId(schoolId); + } + }catch (Exception e){ + System.out.println("索引:"+index); + String msg = e.getMessage(); + log.error(msg, e); + if (msg != null && msg.indexOf("Duplicate entry") >= 0) { + return Result.error("文件导入失败:有重复数据!"); + } else { + return Result.error("文件导入失败:" + e.getMessage() + ",行:" + index); + } + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.error("文件导入失败!"); +// return super.importExcel(request, response, YxSchoolGraduateDegree.class); } /** @@ -222,7 +285,7 @@ public class YxSchoolGraduateDegreeController extends JeecgController