From 93af1c6ffb9ae0e894689ad3a37b548e57d54cff Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期四, 11 三月 2021 19:10:07 +0800 Subject: [PATCH] 有注释的测评系统业务代码 --- src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 74 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java index 2b71524..5ec5010 100644 --- a/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java +++ b/src/main/java/com/ots/project/exam/service/impl/TReportTemplateServiceImpl.java @@ -1,4 +1,5 @@ package com.ots.project.exam.service.impl; + import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.DateUtils; import com.ots.common.utils.StringUtils; @@ -18,25 +19,42 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; + import java.io.IOException; import java.util.*; import java.util.stream.Collectors; +/** + * 鎶ュ憡妯℃澘閰嶇疆Service涓氬姟灞傚鐞� + * + * @author ots + * @date 2020-03-24 + */ @Service public class TReportTemplateServiceImpl implements ITReportTemplateService { @Autowired private TReportTemplateMapper tReportTemplateMapper; + @Autowired private ISysUserExtendService sysUserExtendService; + @Autowired private ISysUserPaperService userPaperService; + @Autowired private ITExamPaperService paperService; - + + /** + * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆 + * + * @param id 鎶ュ憡妯℃澘閰嶇疆ID + * @return 鎶ュ憡妯℃澘閰嶇疆 + */ @Override public TReportTemplate selectTReportTemplateById(Long id) { return tReportTemplateMapper.selectTReportTemplateById(id); } + @Override public String selectTReportTemplateFilePath(TReportTemplate tReportTemplate) { TReportTemplate tReportTemplateResult = tReportTemplateMapper.selectTReportTemplate(tReportTemplate); @@ -45,17 +63,26 @@ } return ""; } - + + /** + * 鏌ヨ鎶ュ憡妯℃澘閰嶇疆鍒楄〃 + * + * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 + * @return 鎶ュ憡妯℃澘閰嶇疆 + */ @Override public List<TReportTemplate> selectTReportTemplateList(TReportTemplate tReportTemplate) { return tReportTemplateMapper.selectTReportTemplateList(tReportTemplate); } + @Override public List<TReportTemplate> getReportTemplates(User user) { return getReportTemplates(user, null); } + @Override public List<TReportTemplate> getReportTemplates(User user, Long prodId) { + if (Objects.nonNull(prodId)) { TExamPaper tExamPaper = paperService.selectTExamPaperById(prodId); String reportTemplateId = tExamPaper.getReportTemplateId(); @@ -65,14 +92,17 @@ item.setReportType(value); return item; }).collect(Collectors.toList()); - + + //鍙栫敤鎴锋巿鏉冨拰浜у搧鍖呴厤缃殑浜ら泦 if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); - + //鏌ヨ浜у搧鍖呮巿鏉冨垎閰嶇殑鎶ュ憡妯℃澘 SysUserPaper sysUserPaper = new SysUserPaper(); sysUserPaper.setUserId(user.getUserId()); sysUserPaper.setProdId(prodId); + List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); + List<TReportTemplate> templates = new ArrayList<>(); for (SysUserPaper paper : sysUserPapers) { String rid = paper.getReportTemplateId(); @@ -81,6 +111,7 @@ } templates.addAll(selectTReportTemplates(rid)); } + List<Long> collect = ret.stream().map(pp -> pp.getId()).collect(Collectors.toList()); List<TReportTemplate> resultTemplateList = new ArrayList<>(); for (TReportTemplate template : templates) { @@ -94,7 +125,7 @@ ArrayList::new ) ); - + //鏍规嵁浼佷笟鐢ㄦ埛閰嶇疆鐨勬敮鎸佽瑷�绫诲瀷杩囨护 if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { List<String> langTypes = Arrays.asList(sysUserExtend.getLangType().split(",")); tReportTemplates = tReportTemplates.stream().filter(f -> langTypes.contains(f.getLangType())).collect(Collectors.toList()); @@ -108,6 +139,7 @@ } return ret; } + if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { TReportTemplate template = new TReportTemplate(); List<TReportTemplate> tReportTemplates = tReportTemplateMapper.selectTReportTemplateList(template); @@ -118,12 +150,14 @@ }).collect(Collectors.toList()); return ret; } - + + //鏌ヨ浜у搧鍖呮巿鏉冨垎閰嶇殑鎶ュ憡妯℃澘 SysUserPaper sysUserPaper = new SysUserPaper(); if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { sysUserPaper.setUserId(user.getUserId()); } List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); + List<TReportTemplate> templates = new ArrayList<>(); for (SysUserPaper paper : sysUserPapers) { String reportTemplateId = paper.getReportTemplateId(); @@ -132,15 +166,16 @@ } templates.addAll(selectTReportTemplates(reportTemplateId)); } - + //瀵硅薄鍘婚噸 +// List<TReportTemplate> tReportTemplates = templates.stream().distinct().collect(Collectors.toList()); List<TReportTemplate> tReportTemplates = templates.stream().collect(Collectors.collectingAndThen (Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(t -> t.getLocation()))), ArrayList::new ) ); - + //鏍规嵁浼佷笟鐢ㄦ埛閰嶇疆鐨勬敮鎸佽瑷�绫诲瀷杩囨护 if (Objects.equals(UserTypeEnum.ENT_USER.getUserType(), user.getUserType())) { SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { @@ -153,8 +188,10 @@ item.setReportType(value); return item; }).collect(Collectors.toList()); + return result; } + @Override public List<TReportTemplate> selectTReportTemplates(String ids) { if (Objects.isNull(ids)) { @@ -162,7 +199,14 @@ } return tReportTemplateMapper.selectTReportTemplates(Convert.toStrArray(ids)); } - + + + /** + * 鏂板鎶ュ憡妯℃澘閰嶇疆 + * + * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 + * @return 缁撴灉 + */ @Override public int insertTReportTemplate(TReportTemplate tReportTemplate) { tReportTemplate.setCreateTime(DateUtils.getNowDate()); @@ -177,7 +221,13 @@ } return tReportTemplateMapper.insertTReportTemplate(tReportTemplate); } - + + /** + * 淇敼鎶ュ憡妯℃澘閰嶇疆 + * + * @param tReportTemplate 鎶ュ憡妯℃澘閰嶇疆 + * @return 缁撴灉 + */ @Override public int updateTReportTemplate(TReportTemplate tReportTemplate) { tReportTemplate.setUpdateTime(DateUtils.getNowDate()); @@ -193,12 +243,24 @@ } return tReportTemplateMapper.updateTReportTemplate(tReportTemplate); } - + + /** + * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆瀵硅薄 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ @Override public int deleteTReportTemplateByIds(String ids) { return tReportTemplateMapper.deleteTReportTemplateByIds(Convert.toStrArray(ids)); } - + + /** + * 鍒犻櫎鎶ュ憡妯℃澘閰嶇疆淇℃伅 + * + * @param id 鎶ュ憡妯℃澘閰嶇疆ID + * @return 缁撴灉 + */ public int deleteTReportTemplateById(Long id) { return tReportTemplateMapper.deleteTReportTemplateById(id); } -- Gitblit v1.9.1