From a0bcee3aa22b79f592c44cdb3dcdbd681490f265 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 15 一月 2024 10:34:31 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java | 270 ++++++++++++----------------------------------------- 1 files changed, 63 insertions(+), 207 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java index f0e7adc..1c04c30 100644 --- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.*; import com.smartor.mapper.SvyLibTopicoptionMapper; +import lombok.extern.slf4j.Slf4j; import org.apache.catalina.User; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -16,6 +17,7 @@ import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.smartor.mapper.SvyLibTopicMapper; @@ -29,6 +31,7 @@ * @author ruoyi * @date 2023-03-03 */ +@Slf4j @Service public class SvyLibTopicServiceImpl implements ISvyLibTopicService { @Autowired @@ -56,7 +59,25 @@ */ @Override public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) { - return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic); + //娣诲姞棰樼洰 + + List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic); + //鑾峰彇棰樼洰閫夐」 + + for (int j = 0; j < svyLibTopics.size(); j++) { + log.info("闂id涓猴細{}", svyLibTopics.get(j).getSvyTopicId()); + if (StringUtils.isNotEmpty(svyLibTopics.get(j).getTopictype()) && svyLibTopics.get(j).getTopictype().equals("3") || svyLibTopics.get(j).getTopicid() == null) { + //浣滅瓟棰橈紝涓嶉渶瑕侀�夐」 + continue; + } else { + SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption(); + svyLibTopicoption.setTopicid(svyLibTopics.get(j).getTopicid()); + List<SvyLibTopicoption> svyLibTopicoptions = svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption); + //灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑 + svyLibTopics.get(j).setSvyLibTopicoptions(svyLibTopicoptions); + } + } + return svyLibTopics; } /** @@ -69,6 +90,42 @@ public int insertSvyLibTopic(SvyLibTopic svyLibTopic) { svyLibTopic.setCreateTime(DateUtils.getNowDate()); return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public Integer saveOrUpdateTopic(SvyLibTopic svyLibTopic) { + Integer i = null; + + //瀵归鐩繘琛屽鐞� + if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 1) { + //鏂板 + i = svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); + } else if (svyLibTopic.getIsoperation() != null && svyLibTopic.getIsoperation() == 2) { + //淇敼 + i = svyLibTopicMapper.updateSvyLibTopic(svyLibTopic); + } + + //瀵归鐩�夐」杩涜澶勭悊 + if (CollectionUtils.isNotEmpty(svyLibTopic.getSvyLibTopicoptions())) { + for (SvyLibTopicoption svyLibTopicoption : svyLibTopic.getSvyLibTopicoptions()) { + if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 1) { + //鏂板 + svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); + svyLibTopicoption.setCreateTime(new Date()); + svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); + } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 2) { + //淇敼 + svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); + svyLibTopicoption.setUpdateTime(new Date()); + svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption); + } else if (svyLibTopicoption.getIsoperation() != null && svyLibTopicoption.getIsoperation() == 3) { + //鍒犻櫎 + svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionid(svyLibTopicoption.getOptionid()); + } + } + } + return i; } /** @@ -91,7 +148,11 @@ */ @Override public int deleteSvyLibTopicByTopicids(Long[] topicids) { - return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids); + Integer i = null; + for (Long topicid : topicids) { + i = svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid); + } + return i; } /** @@ -103,211 +164,6 @@ @Override public int deleteSvyLibTopicByTopicid(Long topicid) { return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid); - } - - /** - * 鎵归噺瀵煎叆闂棶棰樼洰 - * - * @param multipartFile - * @return - */ - @Override - @Transactional - public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile) { - List<SvyLibTopicRes> svyLibTopicErrors = new ArrayList<>(); - - try { - Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream()); - Sheet sheet = workbook.getSheetAt(0); - - //闂嵎棰樼洰瀵硅薄 - SvyLibTopic svyLibTopic = new SvyLibTopic(); - - - for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) { - SvyLibTopicRes svyLibTopicRes = new SvyLibTopicRes(); - - Row row = sheet.getRow(i); - //濡傛灉琛屼负绌猴紝杩涜涓嬩竴娆″惊鐜� - if (ObjectUtils.isEmpty(row.getCell(0)) && ObjectUtils.isEmpty(row.getCell(1)) && ObjectUtils.isEmpty(row.getCell(2))) { - continue; - } - //鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰� - svyLibTopicRes.setTopic(row.getCell(0).toString()); - if (ObjectUtils.isEmpty(row.getCell(0)) || StringUtils.isEmpty(row.getCell(0).toString())) { - svyLibTopicRes.setRemark("棰樼洰涓虹┖,"); - } else { - //鍒ゆ柇涓�涓嬭棰樻槸鍚﹀凡缁忓湪琛ㄩ噷鍑虹幇 - SvyLibTopic svyLibTopic1 = new SvyLibTopic(); - svyLibTopic1.setTopic(row.getCell(0).toString()); - List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic1); - if (svyLibTopics.size() > 0) { - //宸茬粡瀛樺湪浜嗭紝灏变笉瀛樹簡 - continue; - } - } - svyLibTopicRes.setTag(row.getCell(1).toString()); - if (ObjectUtils.isEmpty(row.getCell(1)) || StringUtils.isEmpty(row.getCell(1).toString())) { - svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "绫诲埆涓虹┖,"); - } - svyLibTopicRes.setTopictype(row.getCell(2).toString()); - if (ObjectUtils.isEmpty(row.getCell(2)) || StringUtils.isEmpty(row.getCell(2).toString())) { - svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "棰樼洰绫诲瀷涓虹┖,"); - } - if (ObjectUtils.isNotEmpty(row.getCell(3))) { - svyLibTopicRes.setAnswer(row.getCell(3).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(4))) { - svyLibTopicRes.setOptionA(row.getCell(4).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(5))) { - svyLibTopicRes.setOptionB(row.getCell(5).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(6))) { - svyLibTopicRes.setOptionC(row.getCell(6).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(7))) { - svyLibTopicRes.setOptionD(row.getCell(7).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(8))) { - svyLibTopicRes.setScore(row.getCell(8).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(9))) { - svyLibTopicRes.setScore(row.getCell(9).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(10))) { - svyLibTopicRes.setScore(row.getCell(10).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(11))) { - svyLibTopicRes.setScore(row.getCell(11).toString()); - } - if (ObjectUtils.isNotEmpty(row.getCell(12))) { - svyLibTopicRes.setScore(row.getCell(12).toString()); - } - if (StringUtils.isNotEmpty(svyLibTopicRes.getRemark())) { - //璇存槑璇ヨ鏁版嵁鏈夐棶棰� - svyLibTopicErrors.add(svyLibTopicRes); - continue; - } - - //鏁版嵁娌℃湁闂锛屽紑濮嬫彃琛� - svyLibTopic.setTopic(row.getCell(0).toString()); - if (row.getCell(2).toString().equals("鍗曢��")) { - svyLibTopic.setTopictype(1L); - } else if (row.getCell(2).toString().equals("澶氶��")) { - svyLibTopic.setTopictype(2L); - } else { - svyLibTopic.setTopictype(3L); - } - svyLibTopic.setTopiccode(UUID.randomUUID().toString().replace("-", "")); - //棰樼洰绫诲埆 - svyLibTopic.setTag(row.getCell(1).toString()); - svyLibTopic.setCreateBy(user.getUserName()); - svyLibTopic.setOrgid(user.getDeptId().toString()); - svyLibTopic.setUpdateBy(user.getUserName()); - svyLibTopic.setUpdateTime(new Date()); - svyLibTopic.setCreateTime(new Date()); - svyLibTopic.setDelFlag("0"); - //鏂板棰樼洰琛� - svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); - - //鏂板棰樼洰閫夐」琛� - SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption(); - svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); - svyLibTopicoption.setTopictype(svyLibTopic.getTopictype()); - svyLibTopicoption.setOptioncode(UUID.randomUUID().toString().replace("-", "")); - svyLibTopicoption.setCreateBy(user.getUserName()); - svyLibTopicoption.setCreateTime(new Date()); - svyLibTopicoption.setUpdateBy(user.getUserName()); - svyLibTopicoption.setUpdateTime(new Date()); - svyLibTopicoption.setDelFlag("0"); - if (svyLibTopicoption.getTopictype() == 3) { - //瑙g瓟棰橈紝涓嶉渶瑕佸啀璁剧疆閫夐」 - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } else { - if (ObjectUtils.isNotEmpty(row.getCell(4))) { - if (StringUtils.isNotEmpty(row.getCell(4).toString())) { - svyLibTopicoption.setOptioncode("A"); - svyLibTopicoption.setOptioncontent(row.getCell(4).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(5))) { - if (StringUtils.isNotEmpty(row.getCell(5).toString())) { - svyLibTopicoption.setOptioncode("B"); - svyLibTopicoption.setOptioncontent(row.getCell(5).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(6))) { - if (StringUtils.isNotEmpty(row.getCell(6).toString())) { - svyLibTopicoption.setOptioncode("C"); - svyLibTopicoption.setOptioncontent(row.getCell(6).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(7))) { - if (StringUtils.isNotEmpty(row.getCell(7).toString())) { - svyLibTopicoption.setOptioncode("D"); - svyLibTopicoption.setOptioncontent(row.getCell(7).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(8))) { - if (StringUtils.isNotEmpty(row.getCell(8).toString())) { - svyLibTopicoption.setOptioncode("E"); - svyLibTopicoption.setOptioncontent(row.getCell(8).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(9))) { - if (StringUtils.isNotEmpty(row.getCell(9).toString())) { - svyLibTopicoption.setOptioncode("F"); - svyLibTopicoption.setOptioncontent(row.getCell(9).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(10))) { - if (StringUtils.isNotEmpty(row.getCell(10).toString())) { - svyLibTopicoption.setOptioncode("G"); - svyLibTopicoption.setOptioncontent(row.getCell(10).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - if (ObjectUtils.isNotEmpty(row.getCell(11))) { - if (StringUtils.isNotEmpty(row.getCell(11).toString())) { - svyLibTopicoption.setOptioncode("H"); - svyLibTopicoption.setOptioncontent(row.getCell(11).toString()); - svyLibTopicoption.setOptionid(null); - svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); - } - } - } - } - if (CollectionUtils.isNotEmpty(svyLibTopicErrors)) { - return svyLibTopicErrors; - } - - } catch (Exception e) { - e.printStackTrace(); - } - - return null; - } - - @Override - public SvyLibTopicRes showTopic(SvyTopicReq svyTopicReq) { - List<SvyLibTopicAndOptionRes> svyLibTopicAndOptionRes = svyLibTopicMapper.showTopic(svyTopicReq); - Map<Long, List<SvyLibTopicAndOptionRes>> groupByAge = svyLibTopicAndOptionRes.stream().collect(Collectors.groupingBy(SvyLibTopicAndOptionRes::getTopicid)); - - return null; } -- Gitblit v1.9.3