Browse Source

Merge branch 'dev' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev

xiaof 4 years ago
parent
commit
5114683d0c

+ 3 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java

@@ -14,7 +14,7 @@ import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
 import com.qmth.distributed.print.business.service.BasicCardRuleService;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.distributed.print.business.service.CommonService;
-import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -48,7 +48,7 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     public IPage<CardRuleDto> list(Boolean enable, String name, Long createTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<CardRuleDto> page = new Page<>(pageNumber, pageSize);
-        IPage<CardRuleDto> cardRuleDtoIPage = this.baseMapper.listPage(page, schoolId, enable, name, createTime);
+        IPage<CardRuleDto> cardRuleDtoIPage = this.baseMapper.listPage(page, schoolId, enable, ConvertUtil.translateSpecificSign(name), createTime);
         if (cardRuleDtoIPage.getRecords().size() > 0) {
             cardRuleDtoIPage.getRecords().forEach(m -> {
                 //查询适用学院
@@ -65,7 +65,7 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
         QueryWrapper<BasicCardRule> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(BasicCardRule::getSchoolId, schoolId).eq(BasicCardRule::getEnable, true);
         if (StringUtils.isNotBlank(param)) {
-            queryWrapper.lambda().like(BasicCardRule::getName, param);
+            queryWrapper.lambda().like(BasicCardRule::getName, ConvertUtil.translateSpecificSign(param));
         }
         Set<Long> orgIds = commonService.listSubOrgIds(null);
         return this.baseMapper.list(schoolId, param, orgIds);

+ 3 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCourseServiceImpl.java

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.CourseInfoDto;
 import com.qmth.distributed.print.business.entity.BasicCourse;
 import com.qmth.distributed.print.business.entity.ExamTask;
-import com.qmth.distributed.print.business.entity.SysUser;
 import com.qmth.distributed.print.business.mapper.BasicCourseMapper;
 import com.qmth.distributed.print.business.service.BasicCourseService;
 import com.qmth.distributed.print.business.service.ExamDetailCourseService;
@@ -49,7 +48,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         code = ConvertUtil.translateSpecificSign(code);
         name = ConvertUtil.translateSpecificSign(name);
         Page<BasicCourse> page = new Page<>(pageNumber, pageSize);
-        IPage<BasicCourse> courseIPage = this.baseMapper.listPage(page, schoolId, code, name);
+        IPage<BasicCourse> courseIPage = this.baseMapper.listPage(page, schoolId, ConvertUtil.translateSpecificSign(code), ConvertUtil.translateSpecificSign(name));
         return courseIPage;
     }
 
@@ -60,7 +59,8 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId);
             if (StringUtils.isNotBlank(param)) {
-                queryWrapper.lambda().and(i -> i.like(BasicCourse::getCode, param).or().like(BasicCourse::getName, param));
+                queryWrapper.lambda().and(i -> i.like(BasicCourse::getCode, ConvertUtil.translateSpecificSign(param))
+                        .or().like(BasicCourse::getName, ConvertUtil.translateSpecificSign(param)));
             }
             return this.list(queryWrapper);
         } else {

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.distributed.print.business.enums.MakeMethodEnum;
 import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.BasicTemplateMapper;
 import com.qmth.distributed.print.business.service.*;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -54,7 +55,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Page<TemplateDto> page = new Page<>(pageNumber, pageSize);
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        IPage<TemplateDto> templateDtoIPage = this.baseMapper.listPage(page, schoolId, enable, type, name, startTime, endTime);
+        IPage<TemplateDto> templateDtoIPage = this.baseMapper.listPage(page, schoolId, enable, type, ConvertUtil.translateSpecificSign(name), startTime, endTime);
         if (templateDtoIPage.getRecords().size() > 0) {
             templateDtoIPage.getRecords().forEach(m -> {
                 //查询适用学院

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java

@@ -8,6 +8,7 @@ import com.qmth.distributed.print.business.entity.ExamDetailCourse;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamDetailCourseMapper;
 import com.qmth.distributed.print.business.service.ExamDetailCourseService;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -54,12 +55,12 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
 
     @Override
     public List<BasicCourse> listCoursesByPrintPlanId(String param, Long printPlanId) {
-        return this.baseMapper.listCoursesByPrintPlanId(param, printPlanId);
+        return this.baseMapper.listCoursesByPrintPlanId(ConvertUtil.translateSpecificSign(param), printPlanId);
     }
 
     @Override
     public List<String> listPaperNumberByPrintPlanId(String param, Long printPlanId) {
-        return this.baseMapper.listPaperNumberByPrintPlanId(param, printPlanId);
+        return this.baseMapper.listPaperNumberByPrintPlanId(ConvertUtil.translateSpecificSign(param), printPlanId);
     }
 
     @Override

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -271,7 +271,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public IPage<ExaminationDetailResult> findExaminationDetail(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String studentParams, int pageNumber, int pageSize) {
         Set<Long> orgIds = commonService.listSubOrgIds(null);
-        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, studentParams, orgIds);
+        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, ConvertUtil.translateSpecificSign(studentParams), orgIds);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -287,7 +287,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId);
         if (StringUtils.isNotBlank(param)) {
-            queryWrapper.lambda().like(ExamDetail::getExamPlace, param);
+            queryWrapper.lambda().like(ExamDetail::getExamPlace, ConvertUtil.translateSpecificSign(param));
         }
         if (printPlanId != null) {
             queryWrapper.lambda().like(ExamDetail::getPrintPlanId, printPlanId);
@@ -303,7 +303,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId);
         if (StringUtils.isNotBlank(param)) {
-            queryWrapper.lambda().like(ExamDetail::getExamRoom, param);
+            queryWrapper.lambda().like(ExamDetail::getExamRoom, ConvertUtil.translateSpecificSign(param));
         }
         if (printPlanId != null) {
             queryWrapper.lambda().like(ExamDetail::getPrintPlanId, printPlanId);
@@ -666,7 +666,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public IPage<ClientExamStudentDto> listStudent(Long schoolId, Long examDetailId, String ticketNumber, String studentName, String courseCode, Integer pageNumber, Integer pageSize) {
         Page<ClientExamStudentDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ClientExamStudentDto> examStudentDtoIPage = this.baseMapper.listClientExamStudentPage(page, schoolId, examDetailId, ticketNumber, studentName, courseCode);
+        IPage<ClientExamStudentDto> examStudentDtoIPage = this.baseMapper.listClientExamStudentPage(page, schoolId, examDetailId, ConvertUtil.translateSpecificSign(ticketNumber), ConvertUtil.translateSpecificSign(studentName), courseCode);
         return examStudentDtoIPage;
     }
 

+ 5 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -15,6 +15,7 @@ import com.qmth.distributed.print.business.enums.*;
 import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import com.qmth.distributed.print.business.util.ExcelUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.business.util.excel.ExcelError;
@@ -125,7 +126,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             queryWrapperExamTask.lambda().eq(ExamTask::getSchoolId, schoolId);
             List<String> list = new ArrayList<>();
             if (StringUtils.isNotBlank(param)) {
-                queryWrapperExamTask.lambda().and(i -> i.like(ExamTask::getCourseCode, param).or().like(ExamTask::getCourseName, param));
+                queryWrapperExamTask.lambda().and(i -> i.like(ExamTask::getCourseCode, ConvertUtil.translateSpecificSign(param)).or().like(ExamTask::getCourseName, ConvertUtil.translateSpecificSign(param)));
             }
             List<ExamTask> examTasks = this.list(queryWrapperExamTask);
             if (examTasks != null && examTasks.size() > 0) {
@@ -137,7 +138,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             queryWrapperExamDetailCourse.lambda().eq(ExamDetailCourse::getSchoolId, schoolId);
             List<String> list2 = new ArrayList<>();
             if (StringUtils.isNotBlank(param)) {
-                queryWrapperExamDetailCourse.lambda().and(i -> i.like(ExamDetailCourse::getCourseCode, param).or().like(ExamDetailCourse::getCourseName, param));
+                queryWrapperExamDetailCourse.lambda().and(i -> i.like(ExamDetailCourse::getCourseCode, ConvertUtil.translateSpecificSign(param))
+                        .or().like(ExamDetailCourse::getCourseName, ConvertUtil.translateSpecificSign(param)));
             }
             List<ExamDetailCourse> ExamDetailCourses = examDetailCourseService.list(queryWrapperExamDetailCourse);
             if (ExamDetailCourses != null && ExamDetailCourses.size() > 0) {
@@ -153,7 +155,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Override
     public List<BlurryUserDto> listUser(String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listUser(schoolId, param);
+        return this.baseMapper.listUser(schoolId, ConvertUtil.translateSpecificSign(param));
     }
 
     @Override

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysRoleServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.distributed.print.business.service.CacheService;
 import com.qmth.distributed.print.business.service.SysRolePrivilegeService;
 import com.qmth.distributed.print.business.service.SysRoleService;
 import com.qmth.distributed.print.business.service.SysUserRoleService;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -49,8 +50,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     public IPage<SysRole> list(String name, Boolean enable, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<SysRole> page = new Page<>(pageNumber, pageSize);
-        IPage<SysRole> roleIPage = this.baseMapper.listPage(page, schoolId, name, enable);
-        return roleIPage;
+        return this.baseMapper.listPage(page, schoolId, ConvertUtil.translateSpecificSign(name), enable);
     }
 
     @Transactional

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.distributed.print.business.enums.FieldUniqueEnum;
 import com.qmth.distributed.print.business.enums.RoleTypeEnum;
 import com.qmth.distributed.print.business.mapper.SysUserMapper;
 import com.qmth.distributed.print.business.service.*;
+import com.qmth.distributed.print.business.util.ConvertUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.common.util.ResultUtil;
@@ -74,7 +75,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 
         Page<UserDto> page = new Page<>(pageNumber, pageSize);
-        IPage<UserDto> userDtoIPage = this.baseMapper.listPage(page, schoolId, loginName, roleId, enable);
+        IPage<UserDto> userDtoIPage = this.baseMapper.listPage(page, schoolId, ConvertUtil.translateSpecificSign(loginName), roleId, enable);
         if (userDtoIPage.getRecords().size() > 0) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色
@@ -225,7 +226,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public IPage<UserDto> listCustomer(String realName, Boolean enable, Integer pageNumber, Integer pageSize) {
         Page<UserDto> page = new Page<>(pageNumber, pageSize);
-        IPage<UserDto> userDtoIPage = this.baseMapper.listCustomerPage(page, realName, enable);
+        IPage<UserDto> userDtoIPage = this.baseMapper.listCustomerPage(page, ConvertUtil.translateSpecificSign(realName), enable);
         if (userDtoIPage.getRecords().size() > 0) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色

+ 21 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -17,6 +17,7 @@ import com.qmth.distributed.print.business.service.CommonService;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
+import com.qmth.distributed.print.common.util.JacksonUtil;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,6 +28,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 /**
@@ -457,33 +459,38 @@ public class CreatePdfUtil {
      */
     public BasicAttachment mergePdf(BasicExamRule basicExamRule, TBTask tbTask, ExamDetail examDetail, Long userId, Long schoolId, List<PdfDto>... list) throws IOException {
         StringJoiner stringJoiner = new StringJoiner("").add(SystemConstant.PDF_TEMP_FILES_DIR).add(File.separator);
-        List<PdfDto> mergePdfList = new ArrayList<>();
+        List<PdfDto> mergePdfA3List = new ArrayList<>();
         List<PdfDto> mergePdfA4List = new ArrayList<>();
-        int pageA3Count = 0;
-        int pageA4Count = 0;
+//        AtomicInteger pageA4Count = new AtomicInteger(0);
+        AtomicInteger pageA3Count = new AtomicInteger(0);
         for (int i = 0; i < list.length; i++) {
             if (list[i].size() > 0 && list[i].get(0).getPageSize() == PageSizeEnum.A4) {
-                pageA4Count = pageA4Count + list[i].stream().mapToInt(PdfDto::getPageCount).sum();
+//                pageA4Count.addAndGet(list[i].stream().mapToInt(PdfDto::getPageCount).sum());
                 mergePdfA4List.addAll(list[i]);
             } else if (list[i].size() > 0 && list[i].get(0).getPageSize() == PageSizeEnum.A3) {
-                pageA3Count = pageA3Count + list[i].stream().mapToInt(PdfDto::getPageCount).sum();
-                mergePdfList.addAll(list[i]);
+                pageA3Count.addAndGet(list[i].stream().mapToInt(PdfDto::getPageCount).sum());
+                mergePdfA3List.addAll(list[i]);
             }
         }
-        List<String> pathList = mergePdfList.stream().map(PdfDto::getPath).collect(Collectors.toList());
-        String dirName = PdfUtil.mergePdf(pathList.toArray(new String[mergePdfList.size()]), null);
+        List<String> pathA4List = mergePdfA4List.stream().map(PdfDto::getPath).collect(Collectors.toList());
+        List<String> pathA3List = mergePdfA3List.stream().map(PdfDto::getPath).collect(Collectors.toList());
+        String dirNameA4 = PdfUtil.mergePdf(pathA4List.toArray(new String[mergePdfA4List.size()]), null);
+        String dirNameA3 = PdfUtil.mergePdf(pathA3List.toArray(new String[mergePdfA3List.size()]), null);
         // oss上只认"/",windows生成的路径分隔符全部替换为"/"
-        dirName = dirName.replaceAll("\\\\", "/");
-        File localPdfFile = new File(stringJoiner.toString() + File.separator + dirName);
-        BasicAttachment basicAttachment = basicAttachmentService.saveAttachmentPdf(dirName, userId);
+        dirNameA4 = dirNameA4.replaceAll("\\\\", "/");
+        dirNameA3 = dirNameA3.replaceAll("\\\\", "/");
+        File localA4PdfFile = new File(stringJoiner.toString() + File.separator + dirNameA4);
+        File localA3PdfFile = new File(stringJoiner.toString() + File.separator + dirNameA3);
+        BasicAttachment basicAttachment = basicAttachmentService.saveAttachmentPdf(dirNameA3, userId);
         tbTask.setImportFileName(basicAttachment.getName());
         tbTask.setImportFilePath(basicAttachment.getPath());
         examDetail.setAttachmentId(basicAttachment.getId());
-        examDetail.setPagesA3(pageA3Count);
-        examDetail.setPagesA4(pageA4Count);
+        examDetail.setPagesA3(PdfUtil.getPdfPages(localA3PdfFile));
+        examDetail.setPagesA4(PdfUtil.getPdfPages(localA4PdfFile));
+        log.info("pageA3Count:{},examDetail:{}", pageA3Count.get(), JacksonUtil.parseJson(examDetail));
         examDetail.setStatus(PrintMethodEnum.AUTO == basicExamRule.getPrintMethod() ? ExamDetailStatusEnum.WAITING : ExamDetailStatusEnum.READY);
         detailService.saveOrUpdate(examDetail);
-        ossUtil.ossUpload(dirName, localPdfFile, DigestUtils.md5Hex(new FileInputStream(localPdfFile)));
+        ossUtil.ossUpload(dirNameA3, localA3PdfFile, DigestUtils.md5Hex(new FileInputStream(localA3PdfFile)));
 //        localPdfFile.delete();
 //        for (PdfDto pdfDto : mergePdfList) {
 //            new File(pdfDto.getPath()).delete();

+ 3 - 3
distributed-print-common/src/main/java/com/qmth/distributed/print/common/contant/SystemConstant.java

@@ -125,9 +125,9 @@ public class SystemConstant {
      * 线程池配置
      */
     public static final String THREAD_POOL_NAME = "arbitrateThreadPool";
-    public static final int THREAD_POOL_CORE_POOL_SIZE = 10;
-    public static final int THREAD_POOL_MAX_POOL_SIZE = 40;
-    public static final int THREAD_POOL_KEEP_ALIVE_SECONDS = 60;
+    public static final int THREAD_POOL_CORE_POOL_SIZE = 5;
+    public static final int THREAD_POOL_MAX_POOL_SIZE = 100;
+    public static final int THREAD_POOL_KEEP_ALIVE_SECONDS = 10;
     public static final int THREAD_POOL_QUEUE_CAPACITY = 500;
 
     /**

+ 1 - 2
distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java

@@ -100,8 +100,7 @@ public class ServiceTest {
     public void like(){
         QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
         String name = "_";
-        name = ConvertUtil.translateSpecificSign(name);
-        queryWrapper.lambda().like(BasicCourse::getName,name);
+        queryWrapper.lambda().like(BasicCourse::getName,ConvertUtil.translateSpecificSign(name));
         List<BasicCourse> basicCourseList = basicCourseService.list(queryWrapper);
         System.out.println(JSON.toJSONString(basicCourseList));
     }