From 733d41578c7c3373413af614367caffc26ea7485 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Thu, 4 Apr 2019 18:58:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=8A=9F=E8=83=BD=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BC=98=E5=8C=96=20=E6=96=87=E4=BB=B6=E5=BE=AE?= =?UTF-8?q?=E6=9C=8D=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96=20=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=A1=AB=E5=85=85=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysToolService.java | 14 ++++ .../controller/base/WhiteController.java | 76 ++++++++++++++++++++-- .../serviceimpl/busi/SysToolService.java | 34 +++++++--- .../serviceimpl/busi/TestAutoFillData.java | 54 +++++++++++++++ .../serviceimpl/busi/TestExcelPermission.java | 11 +--- 5 files changed, 167 insertions(+), 22 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestAutoFillData.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java index 96447a9..0e4712d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysToolService.java @@ -24,6 +24,20 @@ public interface ISysToolService { SysTool insertSysTool(SysTool tool); /** + * 保存硬件 + * @param tool + */ + @ApiOperation(value = "保存硬件信息") + SysTool saveSysTool(SysTool tool); + + /** + * 保存硬件 + * @param tool + */ + @ApiOperation(value = "保存硬件信息") + SysTool insertTestSysTool(SysTool tool,Boolean autoFill); + + /** * 修改硬件 * @param tool */ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 101cc9e..ec608e9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -4,17 +4,22 @@ import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.*; import cn.estsh.i3plus.platform.common.tool.ServletRequestTool; +import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; +import cn.estsh.i3plus.pojo.platform.bean.SysFile; import cn.estsh.i3plus.pojo.platform.bean.SysLogUserLogin; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -24,10 +29,7 @@ import org.apache.shiro.authc.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -63,6 +65,15 @@ public class WhiteController extends CoreBaseController { @Autowired private ISystemInitService systemInitService; + @Autowired + private ISysFileService sysFileService; + + @Autowired + private ISysDictionaryService dictionaryService; + + @Autowired + private FastDFSClient dfsClient; + @Resource(name="redisRes") private ImppRedis redisRes; @@ -215,4 +226,61 @@ public class WhiteController extends CoreBaseController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @PostMapping(value = "/sys-file/insert") + @ApiOperation(value = "新增文件资源", notes = "新增文件资源") + public ResultBean insertSysFile(@RequestBody SysFile sysFile){ + try { + // 条件验证 + ValidatorBean.beginValid(sysFile) + .notNull("dfsFileName", sysFile.getDfsFileName()) + .notNull("dfsGroupName", sysFile.getDfsGroupName()) + .notNull("fileSoftType", sysFile.getFileSoftType()) + .notNull("fileOriginalName", sysFile.getFileOriginalName()); + + // 文件类型验证 + SysDictionary dictionary = dictionaryService.getSysDictionaryByParentCodeAndCode(BaseConstWords.DICTIONARY_FILE_TYPE, + StringTool.getStringFileSuffix(sysFile.getFileOriginalName(), false)); + if(dictionary == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode()) + .setErrorDetail("文件格式不支持") + .setErrorSolution("请到字典管理中添加文件类型") + .build(); + } + + // 初始化数据 + sysFile.setFileTypeId(dictionary.getId()); + sysFile.setFileTypeName(dictionary.getName()); + + sysFile = sysFileService.insertSysFile(sysFile); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** + * 根据文件代码查询文件信息 + * @param fileCode 文件代码 + * @return 处理结果 + */ + @GetMapping("/sys-file/get-file-code/{code}") + @ApiOperation(value = "根据文件代码查询文件信息") + public ResultBean getSysFileByFileCode(@PathVariable("code") String fileCode) { + try { + // 条件验证 + ValidatorBean.checkNotNull(fileCode, "文件代码不能为空"); + SysFile sysFile = sysFileService.getSysFileByFileCode(fileCode); + + return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java index 66dcc19..077fec0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java @@ -12,6 +12,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysToolRepository; import cn.estsh.i3plus.pojo.platform.repository.SysToolTypeRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.util.ValidatorBean; +import com.alibaba.fastjson.JSON; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -46,18 +47,35 @@ public class SysToolService implements ISysToolService { @ApiOperation(value = "新增硬件信息") public SysTool insertSysTool(SysTool tool) { // 查询硬件类型名称 - //todo 压测关闭校验提高处理速度 -// LOGGER.info("硬件类型 TOOL_TYPE :{}", tool); -// SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); -// ValidatorBean.checkNotNull(toolType); -// -// tool.setToolTypeNameRdd(toolType.getName()); -// -// LOGGER.info("硬件 TOOL tool:{}",tool); + LOGGER.info("硬件类型 TOOL_TYPE :{}", tool); + SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); + ValidatorBean.checkNotNull(toolType); + + tool.setToolTypeNameRdd(toolType.getName()); + + LOGGER.info("硬件 TOOL tool:{}",tool); return toolRDao.insert(tool); } @Override + public SysTool saveSysTool(SysTool tool) { + return toolRDao.save(tool); + } + + @Override + public SysTool insertTestSysTool(SysTool tool, Boolean autoFill) { + SysTool temp; + if(autoFill == null){ + temp = toolRDao.insert(tool); + } else if (autoFill) { + temp = toolRDao.insert(tool, autoFill); + } else { + temp = toolRDao.insert(tool, autoFill); + } + return temp; + } + + @Override @ApiOperation(value = "删除硬件信息",notes = "根据 ID 删除硬件信息") public int deleteSysToolById(Long id) { LOGGER.info("硬件 TOOL id:{}",id); diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestAutoFillData.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestAutoFillData.java new file mode 100644 index 0000000..fa8316a --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestAutoFillData.java @@ -0,0 +1,54 @@ +package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService; +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.platform.bean.SysTool; +import cn.estsh.i3plus.pojo.platform.repository.SysToolRepository; +import com.alibaba.fastjson.JSON; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.annotation.Transient; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-04-04 16:53 + * @Modify: + **/ +public class TestAutoFillData extends TestBase { + + @Autowired + private ISysToolService sysToolService; + + @Autowired + private SysToolRepository sysToolRepository; + + @Test + @Transient + public void testAutoFillDataInsert(){ + SysTool sysTool = new SysTool(); + // 自动注入默认值 + System.out.println(JSON.toJSONString(sysTool)); + sysTool = sysToolService.insertTestSysTool(sysTool, true); + System.out.println(JSON.toJSONString(sysTool)); + + // 不注入默认值 + sysTool = new SysTool(); + System.out.println(JSON.toJSONString(sysTool)); + sysTool = sysToolService.insertTestSysTool(sysTool, false); + System.out.println(JSON.toJSONString(sysTool)); + + // 默认insert不显示设置 + sysTool = new SysTool(); + System.out.println(JSON.toJSONString(sysTool)); + sysTool = sysToolService.insertTestSysTool(sysTool,null); + System.out.println(JSON.toJSONString(sysTool)); + } + + public void testAutoFilDataSave(){ + SysTool sysTool = new SysTool(); + sysToolService.saveSysTool(sysTool); + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java index 55718e7..221660d 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java @@ -3,23 +3,14 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.repository.*; -import com.alibaba.fastjson.JSON; -import io.swagger.models.auth.In; import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.jdom2.Document; -import org.jdom2.JDOMException; -import org.jdom2.input.SAXBuilder; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import java.io.File; -import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -27,7 +18,7 @@ import java.util.List; /** * 系统数据初始化 */ -public class TestExcelPermission extends TestBase { +public class TestExcelPermission extends cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase { //public class TestExcelPermission { public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelPermission.class);