Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
汪云昊 5 years ago
commit 2898a82ce8

@ -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 io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Hashtable;
import java.util.List; import java.util.List;
/** /**
@ -128,4 +129,6 @@ public interface ITestTransService {
@ApiOperation(value = "属性更新") @ApiOperation(value = "属性更新")
void writePatternParamUpdate(long id,double salary); void writePatternParamUpdate(long id,double salary);
String GetPkWhere(String pkNames, Hashtable ht, String werk);
} }

@ -57,6 +57,9 @@ public class PressureTestController extends CoreBaseController {
@Autowired @Autowired
private ITestTransService testTransService; private ITestTransService testTransService;
@GetMapping("/s-redis-put") @GetMapping("/s-redis-put")
@ApiOperation(value = "redisPut", notes = "redisPut") @ApiOperation(value = "redisPut", notes = "redisPut")
public ResultBean sredisPut(){ 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") @GetMapping("/s-redis-put-test")
@ApiOperation(value = "redisPutTest", notes = "redisPutTest") @ApiOperation(value = "redisPutTest", notes = "redisPutTest")
public ResultBean sredisPutTest(){ public ResultBean sredisPutTest(){

@ -344,5 +344,15 @@ public class SysEnumController extends CoreBaseController {
LocaleUtils.getEnumLocaleResValuesToList(ImppEnumUtil.MESSAGE_SEND_STATUS.values())); 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()));
}
} }

@ -558,6 +558,10 @@ public class SysTaskPlanController extends CoreBaseController {
.addTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName() .addTask(sysTask.getTaskPackage(), sysTask.getTaskClass(), sysTaskPlan.getName()
, sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam()); , sysTaskPlan.getGroupName(), sysTaskCycle.getTaskCycleExps(), sysTaskPlan.getTaskPlanParam());
} }
// 重置状态
sysTaskPlan.setTaskPlanStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
sysTaskPlanService.updateSysTaskPlan(sysTaskPlan);
} }
// 刷新全部缓存 // 刷新全部缓存

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

@ -166,9 +166,7 @@ public class SysUserService implements ISysUserService {
private void checkSessionMode(Integer loginPlatform,Long userId){ private void checkSessionMode(Integer loginPlatform,Long userId){
int sessionMode = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_SESSION_MODE,CommonConstWords.CONFIG_SESSION_MODE_DEFAULT); int sessionMode = RedisCacheTool.getSysConfigIntVal(CommonConstWords.CONFIG_SESSION_MODE,CommonConstWords.CONFIG_SESSION_MODE_DEFAULT);
String redisKey; String redisKey;
if (sessionMode == CommonEnumUtil.SESSION_MODE.DEFAULT.getValue()) { if (sessionMode == CommonEnumUtil.SESSION_MODE.SEIZE.getValue()) {
redisKey = CommonConstWords.SESSION_USER + ":" + loginPlatform + "_" + userId;
} else if (sessionMode == CommonEnumUtil.SESSION_MODE.SEIZE.getValue()) {
redisKey = CommonConstWords.SESSION_USER + ":*_" + userId; redisKey = CommonConstWords.SESSION_USER + ":*_" + userId;
}else { }else {
return; return;

@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService;
import cn.estsh.i3plus.core.apiservice.dao.ITestTransDao; import cn.estsh.i3plus.core.apiservice.dao.ITestTransDao;
import cn.estsh.i3plus.core.apiservice.dao.ITransDaoSec; import cn.estsh.i3plus.core.apiservice.dao.ITransDaoSec;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository; import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository;
@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.LockModeType; import javax.persistence.LockModeType;
import java.util.Hashtable;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
@ -546,4 +548,25 @@ public class TestTransService implements ITestTransService {
testTransUserRepository.updateByPropertiesWithVal("id",id,"salary",salary); testTransUserRepository.updateByPropertiesWithVal("id",id,"salary",salary);
System.out.println("5秒后更新" + u.getName() + "," + u.getSalary()); System.out.println("5秒后更新" + u.getName() + "," + u.getSalary());
} }
@Override
public String GetPkWhere(String pkNames, Hashtable ht, String werk) {
/*if (pkNames!=null && pkNames.trim()=="")
{
return " where 1=0";
}*/
long start = System.currentTimeMillis();
if (StringUtil.isEmpty(pkNames)){
return " where 1=0";
}
String[] PkStrings = pkNames.split(",");
//pkNames.Split(',');
StringBuilder WhereString = new StringBuilder(" where 1=1 and werks='" + werk + "' ");
for (String pkString : PkStrings) {
WhereString.append(" and ").append(pkString).append("='").append(ht.get(pkString.toString())).append("' ");
}
System.out.println(System.currentTimeMillis()-start);
return WhereString.toString();
}
} }

@ -47,17 +47,15 @@ public final class BarcodeParseUtil {
String[] barcodeKey = barcodeRule.getBarcodeRule().split(barcodeRule.getBarcodeSeparator()); String[] barcodeKey = barcodeRule.getBarcodeRule().split(barcodeRule.getBarcodeSeparator());
String[] barcodeValue = barcode.split(barcodeRule.getBarcodeSeparator()); String[] barcodeValue = barcode.split(barcodeRule.getBarcodeSeparator());
// 避免出现长度不相等
int size = barcodeKey.length;
if (barcodeKey.length != barcodeValue.length) { if (barcodeKey.length != barcodeValue.length) {
throw ImppExceptionBuilder.newInstance() size = Math.min(barcodeKey.length,barcodeValue.length);
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("条码与规则不匹配!")
.build();
} }
// 匹配条码数据 // 匹配条码数据
HashMap<String, String> barcodeMap = new HashMap<>(); HashMap<String, String> barcodeMap = new HashMap<>();
for (int i = 0; i < barcodeKey.length; i++) { for (int i = 0; i < size; i++) {
barcodeMap.put(barcodeKey[i], barcodeValue[i]); barcodeMap.put(barcodeKey[i], barcodeValue[i]);
} }
return barcodeMap; return barcodeMap;

@ -25,8 +25,8 @@ public class NoSqlPack {
*/ */
public static ElasticSearchPack packElasticSearchPack(BaseBean bean){ public static ElasticSearchPack packElasticSearchPack(BaseBean bean){
ElasticSearchPack result = null; ElasticSearchPack result = null;
if(StringUtils.isNotBlank(bean.getCreateDatetime())){ if(StringUtils.isNotBlank(bean.getCreateDateTimeStart())){
result = ElasticSearchPack.imppBuild(TimeTool.parseDate(bean.getCreateDatetime()),bean.getClass()); result = ElasticSearchPack.imppBuild(TimeTool.parseDate(bean.getCreateDateTimeStart()),bean.getClass());
}else{ }else{
result = ElasticSearchPack.imppBuild(bean.getClass()); result = ElasticSearchPack.imppBuild(bean.getClass());
} }
@ -166,8 +166,8 @@ public class NoSqlPack {
ElasticSearchPack result = packElasticSearchPack(bean); ElasticSearchPack result = packElasticSearchPack(bean);
result.andKeywordEquals("id",bean.getId()); result.andKeywordEquals("id",bean.getId());
result.andTextLike("name",bean.getName()); result.andStringLike("name",bean.getName());
result.andStringEquals("groupName",bean.getGroupName()); result.andStringLike("groupName",bean.getGroupName());
result.andStringEquals("schedulerServerIp",bean.getSchedulerServerIp()); result.andStringEquals("schedulerServerIp",bean.getSchedulerServerIp());
result.andKeywordDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd()); result.andKeywordDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());

@ -205,7 +205,7 @@ public class SysUserPasswordUtil {
* @param content * @param content
*/ */
private void checkPasswordSpecial(String content) { private void checkPasswordSpecial(String content) {
boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_NUMBER, CommonEnumUtil.TRUE_OR_FALSE.FALSE); boolean isUppercaseEnglish = RedisCacheTool.getSysConfigBooleanVal(CommonConstWords.CONFIG_PWD_EXIST_SPECIAL_CHAR, CommonEnumUtil.TRUE_OR_FALSE.FALSE);
if (StringUtils.isNotBlank(content) && isUppercaseEnglish) { if (StringUtils.isNotBlank(content) && isUppercaseEnglish) {
char[] chars = content.toCharArray(); char[] chars = content.toCharArray();
@ -300,7 +300,7 @@ public class SysUserPasswordUtil {
private void checkPasswordRepeat(String content) { private void checkPasswordRepeat(String content) {
String regulars = RedisCacheTool.getSysConfigStrVal(CommonConstWords.CONFIG_PWD_REPEAT_REGULARS); String regulars = RedisCacheTool.getSysConfigStrVal(CommonConstWords.CONFIG_PWD_REPEAT_REGULARS);
if (StringUtils.isNotBlank(regulars) && regulars.indexOf(",") != -1) { if (StringUtils.isNotBlank(regulars) && regulars.contains(",")) {
String[] split = regulars.split(","); String[] split = regulars.split(",");
try { try {

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

Loading…
Cancel
Save