|
@@ -7,9 +7,12 @@
|
|
|
|
|
|
package cn.com.qmth.examcloud.core.print.service.impl;
|
|
package cn.com.qmth.examcloud.core.print.service.impl;
|
|
|
|
|
|
|
|
+import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
import cn.com.qmth.examcloud.core.print.common.jpa.SearchBuilder;
|
|
import cn.com.qmth.examcloud.core.print.common.jpa.SearchBuilder;
|
|
import cn.com.qmth.examcloud.core.print.common.jpa.SpecUtils;
|
|
import cn.com.qmth.examcloud.core.print.common.jpa.SpecUtils;
|
|
|
|
+import cn.com.qmth.examcloud.core.print.common.utils.Check;
|
|
import cn.com.qmth.examcloud.core.print.entity.PrintingTemplate;
|
|
import cn.com.qmth.examcloud.core.print.entity.PrintingTemplate;
|
|
|
|
+import cn.com.qmth.examcloud.core.print.enums.TemplateType;
|
|
import cn.com.qmth.examcloud.core.print.repository.PrintingTemplateRepository;
|
|
import cn.com.qmth.examcloud.core.print.repository.PrintingTemplateRepository;
|
|
import cn.com.qmth.examcloud.core.print.service.PrintingTemplateService;
|
|
import cn.com.qmth.examcloud.core.print.service.PrintingTemplateService;
|
|
import cn.com.qmth.examcloud.core.print.service.bean.printingtemplate.PrintingTemplateConvert;
|
|
import cn.com.qmth.examcloud.core.print.service.bean.printingtemplate.PrintingTemplateConvert;
|
|
@@ -20,6 +23,8 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
+import static cn.com.qmth.examcloud.core.print.common.Constants.PRT_CODE_500;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @author: fengdesheng
|
|
* @author: fengdesheng
|
|
* @since: 2018/10/30
|
|
* @since: 2018/10/30
|
|
@@ -41,7 +46,39 @@ public class PrintingTemplateServiceImpl implements PrintingTemplateService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public PrintingTemplateInfo getPrintingTemplateById(Long id) {
|
|
public PrintingTemplateInfo getPrintingTemplateById(Long id) {
|
|
- return null;
|
|
|
|
|
|
+ PrintingTemplate template = printingTemplateRepository.findOne(id);
|
|
|
|
+ if (template == null) {
|
|
|
|
+ throw new StatusException(PRT_CODE_500, "当前模板信息不存在!");
|
|
|
|
+ }
|
|
|
|
+ return PrintingTemplateConvert.of(template);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void savePrintingTemplate(PrintingTemplateInfo info) {
|
|
|
|
+ Check.isNull(info, "模板信息不能为空!");
|
|
|
|
+ Check.isNull(info.getOrgId(), "学校ID不能为空!");
|
|
|
|
+ Check.isNull(info.getExamId(), "考试ID不能为空!");
|
|
|
|
+ Check.isNull(info.getTemplateType(), "模板类型不能为空!");
|
|
|
|
+ Check.isFalse(TemplateType.isExist(info.getTemplateType()), "模板类型不正确!");
|
|
|
|
+ Check.isNull(info.getFileUrl(), "模板文件地址不能为空!");
|
|
|
|
+
|
|
|
|
+ SearchBuilder searches = new SearchBuilder()
|
|
|
|
+ .eq("orgId", info.getOrgId())
|
|
|
|
+ .eq("examId", info.getExamId())
|
|
|
|
+ .eq("templateType", info.getTemplateType());
|
|
|
|
+ Specification<PrintingTemplate> spec = SpecUtils.buildSearchers(PrintingTemplate.class, searches.build());
|
|
|
|
+
|
|
|
|
+ //某学校考试下一种模板类型只有一条记录
|
|
|
|
+ PrintingTemplate template = printingTemplateRepository.findOne(spec);
|
|
|
|
+ if (template != null) {
|
|
|
|
+ //存在记录时,则修改
|
|
|
|
+ info.setFileName(info.getFileName());
|
|
|
|
+ info.setFileUrl(info.getFileUrl());
|
|
|
|
+ printingTemplateRepository.save(template);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ //否则,新增记录
|
|
|
|
+ printingTemplateRepository.save(PrintingTemplateConvert.of(info));
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|