feat:用户定制化配置功能

yun-zuoyi
汪云昊 5 years ago
parent 8ba9b4d71f
commit 2b74cbf226

@ -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<SysUserCustomizeConfig> {
/**
*
* @param sysUserCustomizeConfig
* @return
*/
boolean checkSysUserCustomizeConfigOnly(SysUserCustomizeConfig sysUserCustomizeConfig);
/**
*
* @param sysUserCustomizeConfig
* @return
*/
SysUserCustomizeConfig getSysUserCustomizeConfigByCondition(SysUserCustomizeConfig sysUserCustomizeConfig);
}

@ -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);
}

@ -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(){

@ -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()));
}
}

@ -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<SysUserCustomizeConfig> {
@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);
}
}
}

@ -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<SysUserCustomizeConfig> 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));
}
}

@ -22,7 +22,7 @@
<!-- 应用日志文件-->
<RollingRandomAccessFile name="log_file"
fileName="${logFileRootPath}/${project.name}.log"
append="false" immediateFlush="false" bufferedIO="true" bufferSize="8192"
append="false" immediateFlush="true" bufferedIO="true" bufferSize="8192"
filePattern="${logFileRootPath}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="${file_pattern}"/>
@ -49,8 +49,8 @@
<!-- 应用调度日志文件-->
<ImppLog4j2File name="log_schedule_file"
filePath="${logFileRootPath}/schedule/"
append="false" immediateFlush="false" bufferedIO="true" bufferSize="8192"
filePattern="${logFileRootPath}/$${date:yyyy-MM}/task-name-%d{yyyy-MM-dd}-%i.log">
append="false" immediateFlush="true" bufferedIO="true" bufferSize="8192"
filePattern="${logFileRootPath}/schedule/$${date:yyyy-MM}/task-name-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="${file_pattern}"/>
<Filters>
@ -66,7 +66,7 @@
<!-- 定时删除 -->
<DefaultRolloverStrategy>
<Delete basePath="${logFileRootPath}" maxDepth="2">
<IfFileName glob="**/${project.name}-Schedule**.log">
<IfFileName glob="**/schedule/**.log">
<IfLastModified age="7d"/>
</IfFileName>
</Delete>

Loading…
Cancel
Save