From 2b74cbf2263aa9a1bd09e2155bbb1bc854c0f1d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Tue, 11 Aug 2020 11:43:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=94=A8=E6=88=B7=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=8C=96=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/ISysUserCustomizeConfigService.java | 29 +++++ .../core/api/iservice/busi/ITestTransService.java | 3 + .../controller/base/PressureTestController.java | 29 +++++ .../controller/busi/SysEnumController.java | 12 ++- .../busi/SysUserCustomizeConfigController.java | 118 +++++++++++++++++++++ .../busi/SysUserCustomizeConfigService.java | 39 +++++++ .../src/main/resources/log4j2-spring.xml | 8 +- 7 files changed, 233 insertions(+), 5 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserCustomizeConfigService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserCustomizeConfigController.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserCustomizeConfigService.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserCustomizeConfigService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserCustomizeConfigService.java new file mode 100644 index 0000000..cfe0f7c --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserCustomizeConfigService.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SysUserCustomizeConfig; +import cn.estsh.impp.framework.base.service.ICrudService; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-08-10 15:35 + * @Modify: + **/ +public interface ISysUserCustomizeConfigService extends ICrudService { + + /** + * 校验客户定制化配置是否唯一 + * @param sysUserCustomizeConfig + * @return + */ + boolean checkSysUserCustomizeConfigOnly(SysUserCustomizeConfig sysUserCustomizeConfig); + + /** + * 按条件查询指定的用户定制化配置 + * @param sysUserCustomizeConfig + * @return + */ + SysUserCustomizeConfig getSysUserCustomizeConfigByCondition(SysUserCustomizeConfig sysUserCustomizeConfig); + +} diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java index 472c7f0..b3cc88d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; import io.swagger.annotations.ApiOperation; import org.springframework.transaction.annotation.Transactional; +import java.util.Hashtable; import java.util.List; /** @@ -128,4 +129,6 @@ public interface ITestTransService { @ApiOperation(value = "属性更新") void writePatternParamUpdate(long id,double salary); + + String GetPkWhere(String pkNames, Hashtable ht, String werk); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java index b2888c2..c892a93 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java @@ -57,6 +57,9 @@ public class PressureTestController extends CoreBaseController { @Autowired private ITestTransService testTransService; + + + @GetMapping("/s-redis-put") @ApiOperation(value = "redisPut", notes = "redisPut") public ResultBean sredisPut(){ @@ -70,6 +73,32 @@ public class PressureTestController extends CoreBaseController { } } + @GetMapping("/test-aspect") + @ApiOperation(value = "testAspect", notes = "testAspect") + public ResultBean testAspect(){ + try { + String pkNames ="ShippingTime,Factory_code,unit,serialNumber,PartNo,car_no,Vin,erp_warehous,QuantityPerCar,FC"; + Hashtable hashtable= new Hashtable(); + hashtable.put("ShippingTime","2020-08-06 22:08:48"); + hashtable.put("Factory_code","2320"); + hashtable.put("unit","EA"); + hashtable.put("serialNumber","110B01C20862308"); + hashtable.put("PartNo","34D881021CBWQo"); + hashtable.put("car_no","100344"); + hashtable.put("Vin","LSVN54BR6LN100344"); + hashtable.put("erp_warehous","6001"); + hashtable.put("QuantityPerCar","1"); + hashtable.put("FC",""); + + testTransService.GetPkWhere(pkNames,hashtable,"1"); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + @GetMapping("/s-redis-put-test") @ApiOperation(value = "redisPutTest", notes = "redisPutTest") public ResultBean sredisPutTest(){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java index fa55177..df015ac 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java @@ -344,5 +344,15 @@ public class SysEnumController extends CoreBaseController { LocaleUtils.getEnumLocaleResValuesToList(ImppEnumUtil.MESSAGE_SEND_STATUS.values())); } - + /** + * 用户定制化配置类型 + * + * @return 处理结果 + */ + @GetMapping("/user-customize-config-type") + @ApiOperation(value = "用户定制化配置类型", notes = "用户定制化配置类型") + public ResultBean getUserCustomizeConfigType() { + return new ResultBean(true, "操作成功", + LocaleUtils.getEnumLocaleResValuesToList(ImppEnumUtil.USER_CUSTOMIZE_CONFIG_TYPE.values())); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserCustomizeConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserCustomizeConfigController.java new file mode 100644 index 0000000..5c9bd30 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserCustomizeConfigController.java @@ -0,0 +1,118 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysUserCustomizeConfigService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysUserCustomizeConfig; +import cn.estsh.impp.framework.base.controller.CrudBaseController; +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.util.ImppRedis; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Description : 用户定制化配置 + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-08-10 15:37 + * @Modify: + **/ +@RestController +@Api(tags = "用户定制化配置") +@RequestMapping(PlatformConstWords.BASE_URL + "/sys-user-customize-config") +public class SysUserCustomizeConfigController extends CrudBaseController { + + @Autowired + private ISysUserCustomizeConfigService sysUserCustomizeConfigService; + + @Resource(name = CommonConstWords.IMPP_REDIS_CORE) + private ImppRedis redisCore; + + /** + * 保存前端表格显示列信息 + * + * @param customizeConfig 用户定制化配置 + * @return 处理结果 + */ + @PostMapping("/save/web-table-show-col") + @ApiOperation(value = "保存前端表格显示列信息", notes = "保存前端表格显示列信息") + public ResultBean saveSysUserCustomizeConfig(SysUserCustomizeConfig customizeConfig) { + try { + ValidatorBean.beginValid(customizeConfig) + .notNull("configKey", customizeConfig.getConfigKey()) + .notNull("configValue", customizeConfig.getConfigValue()); + + customizeConfig.setUserId(AuthUtil.getSessionUser().getUserId()); + customizeConfig.setCustomizeConfigType(ImppEnumUtil.USER_CUSTOMIZE_CONFIG_TYPE.WEB_TABLE_SHOW_COL.getValue()); + + // 唯一校验 + if (!sysUserCustomizeConfigService.checkSysUserCustomizeConfigOnly(customizeConfig)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("用户定制化配置已存在") + .build(); + } + + // 保存配置数据 + sysUserCustomizeConfigService.insert(customizeConfig); + + // 清理缓存 + redisCore.deleteKey(customizeConfig.getRedisKey(CommonConstWords.REDIS_PREFIX_USER_CUSTOMIZE_CONFIG)); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** + * 查询前端表格显示列信息 + * + * @param tableCode 表格编码 + * @return 处理结果 + */ + @GetMapping("/get/web-table-show-col") + @ApiOperation(value = "查询前端表格显示列信息", notes = "查询前端表格显示列信息") + public ResultBean getWebTableShowColCustomizeConfigByKey(String tableCode) { + try { + ValidatorBean.checkNotNull(tableCode, "表格code不能为空"); + + SysUserCustomizeConfig customizeConfig = new SysUserCustomizeConfig(); + customizeConfig.setUserId(AuthUtil.getSessionUser().getUserId()); + customizeConfig.setCustomizeConfigType(ImppEnumUtil.USER_CUSTOMIZE_CONFIG_TYPE.WEB_TABLE_SHOW_COL.getValue()); + customizeConfig.setConfigKey(tableCode); + + String redisKey = customizeConfig.getRedisKey(CommonConstWords.REDIS_PREFIX_USER_CUSTOMIZE_CONFIG); + if (redisCore.hasKey(redisKey)) { + customizeConfig = (SysUserCustomizeConfig) redisCore.getObject(redisKey); + } else { + customizeConfig = sysUserCustomizeConfigService.getSysUserCustomizeConfigByCondition(customizeConfig); + redisCore.putObject(redisKey, customizeConfig); + } + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(customizeConfig); + } 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/SysUserCustomizeConfigService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserCustomizeConfigService.java new file mode 100644 index 0000000..25aae3b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserCustomizeConfigService.java @@ -0,0 +1,39 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysUserCustomizeConfigService; +import cn.estsh.i3plus.pojo.platform.bean.SysUserCustomizeConfig; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; +import cn.estsh.impp.framework.base.service.CrudService; +import org.springframework.stereotype.Service; + +/** + * @Description : 用户定制化配置服务 + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-08-10 15:36 + * @Modify: + **/ +@Service +public class SysUserCustomizeConfigService extends CrudService implements ISysUserCustomizeConfigService { + /** + * 校验客户定制化配置是否唯一 + * + * @param sysUserCustomizeConfig + * @return + */ + @Override + public boolean checkSysUserCustomizeConfigOnly(SysUserCustomizeConfig sysUserCustomizeConfig) { + return !getRepository().isExitByHql(CoreHqlPack.packHqlSysUserCustomizeConfigOnly(sysUserCustomizeConfig)); + } + + /** + * 按条件查询指定的用户定制化配置 + * + * @param sysUserCustomizeConfig + * @return + */ + @Override + public SysUserCustomizeConfig getSysUserCustomizeConfigByCondition(SysUserCustomizeConfig sysUserCustomizeConfig) { + return getRepository().getByProperty(CoreHqlPack.packHqlSysUserCustomizeConfigOnly(sysUserCustomizeConfig)); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml index 69eaf67..e80dd41 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml +++ b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml @@ -22,7 +22,7 @@ @@ -49,8 +49,8 @@ + append="false" immediateFlush="true" bufferedIO="true" bufferSize="8192" + filePattern="${logFileRootPath}/schedule/$${date:yyyy-MM}/task-name-%d{yyyy-MM-dd}-%i.log"> @@ -66,7 +66,7 @@ - +