升级依赖版本,合并test分支代码

yun-zuoyi
nies 3 years ago
commit 724fada6fa

@ -0,0 +1,29 @@
package cn.estsh.i3plus.core.apiservice.configuration;
import cn.estsh.i3plus.core.apiservice.filter.CookieFrameFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class FilterConfig {
@Autowired
private CookieFrameFilter cookieFrameFilter;
@Bean
public FilterRegistrationBean requestFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(cookieFrameFilter);
registration.setName("cookieFrameFilter");
registration.setOrder(1);
List<String> urlPatterns = new ArrayList<>();
urlPatterns.add("/*");
registration.setUrlPatterns(urlPatterns);
return registration;
}
}

@ -514,6 +514,39 @@ public class WhiteController extends CoreBaseController {
} }
} }
/**
*
*
*
* @param languageCode
* @return
*/
@GetMapping(value = "/find-indexpage-language-resource")
@ApiOperation(value = "获取首页所需的翻译资源")
public ResultBean findInexPageResourceByLanguageCode(String languageCode) {
try {
ValidatorBean.checkNotNull(languageCode, "语言代码不能为空");
if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("语言不存在")
.build();
}
Map<String, Object> indexMap = new HashMap<>();
indexMap.put("记住密码", redisRes.getHash(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":1", "记住密码"));
indexMap.put("自动登录", redisRes.getHash(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":1", "自动登录"));
indexMap.put("登录", redisRes.getHash(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":1", "登录"));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(indexMap);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/sys-locale-resource/query") @PostMapping(value = "/sys-locale-resource/query")
@ApiOperation(value = "按条件查询资源") @ApiOperation(value = "按条件查询资源")
public ResultBean findSysLocaleResource(@RequestBody CloudPagerModel<SysLocaleResource> pagerModel) { public ResultBean findSysLocaleResource(@RequestBody CloudPagerModel<SysLocaleResource> pagerModel) {
@ -935,6 +968,8 @@ public class WhiteController extends CoreBaseController {
@PostMapping(value = "/user/insert") @PostMapping(value = "/user/insert")
@ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息") @ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息")
public ResultBean insertUserDetailModel(@RequestBody UserDetailModel model) { public ResultBean insertUserDetailModel(@RequestBody UserDetailModel model) {
//设置【密码】和【确认密码】一致
model.setPassword(model.getUserLoginPassword());
return personnelController.insertUserDetailModel(model); return personnelController.insertUserDetailModel(model);
} }
@ -1077,6 +1112,7 @@ public class WhiteController extends CoreBaseController {
/** /**
* fastJosn * fastJosn
*
* @return * @return
*/ */
@GetMapping(value = "/fastjson") @GetMapping(value = "/fastjson")
@ -1106,12 +1142,12 @@ public class WhiteController extends CoreBaseController {
} }
private static final Long ACCESS_TOKEN_EXPIRE_TIME = 7080L; private static final Long ACCESS_TOKEN_EXPIRE_TIME = 7080L;
private static final String ACCESS_TOKEN_KEY = "ding_talk:access_token"; private static final String ACCESS_TOKEN_KEY = "ding_talk:access_token";
/** /**
* *
*
* @param dingSendBatchRequestModel * @param dingSendBatchRequestModel
* @return * @return
*/ */
@ -1146,8 +1182,10 @@ public class WhiteController extends CoreBaseController {
* *
*/ */
private final int MAX_DINGROBOT_SEND_NUM = 1000; private final int MAX_DINGROBOT_SEND_NUM = 1000;
/** /**
* *
*
* @param dingSendBatchRequestModel * @param dingSendBatchRequestModel
* @return * @return
*/ */

@ -36,6 +36,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -101,6 +102,10 @@ public class PersonnelController extends CoreBaseController {
@ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息") @ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息")
public ResultBean insertUserDetailModel(UserDetailModel model) { public ResultBean insertUserDetailModel(UserDetailModel model) {
try { try {
ResultBean validateResult = validatePassword(model);
if (validateResult != null && !validateResult.isSuccess()) {
return validateResult;
}
startMultiService(); startMultiService();
licenseClickService.checkLicenseNumberUser(); licenseClickService.checkLicenseNumberUser();
@ -193,6 +198,27 @@ public class PersonnelController extends CoreBaseController {
} }
/** /**
*
* @param model
* @return
*/
private ResultBean validatePassword(UserDetailModel model) {
if(ObjectUtils.isEmpty(model)){
return ResultBean.fail("用户信息不能为空");
}
if(StringUtils.isBlank(model.getPassword())){
return ResultBean.fail("密码不能为空");
}
if(StringUtils.isBlank(model.getUserLoginPassword())){
return ResultBean.fail("确认密码不能为空");
}
if(!model.getPassword().equals(model.getUserLoginPassword())){
return ResultBean.fail("密码和确认密码不相同,请检查密码和确认密码");
}
return ResultBean.success();
}
/**
* *
* *
* @param model * @param model

@ -696,4 +696,35 @@ public class SysLocaleResourceController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} }
} }
@GetMapping(value = "/find-web-resource-by-language-code")
@ApiOperation(value = "根据语言代码查询web端翻译资源")
public ResultBean findSysLocaleResourceByLanguageCode(String languageCode) {
try {
startMultiService();
ValidatorBean.checkNotNull(languageCode, "语言代码不能为空");
if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("语言不存在")
.build();
}
// 从缓存获取语言信息
Map<Object, Object> resourceMap =
redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode);
if (resourceMap == null || resourceMap.size() == 0) {
systemInitService.putAndLoadSysLocaleLanguage();
resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resourceMap);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
} }

@ -0,0 +1,45 @@
package cn.estsh.i3plus.core.apiservice.filter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Description: X-Frame-Options
* @Param:
* @return:
* @Date:
*/
@Component
public class CookieFrameFilter implements Filter {
public static final Logger LOGGER = LoggerFactory.getLogger(CookieFrameFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
LOGGER.info("CookieFrameFilter Init...");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
// 点击劫持问题
resp.addHeader("X-Frame-Options", "SAMEORIGIN");
resp.addHeader("Content-Security-Policy", "frame-ancestors 'self'");
// 防止基于 MIME 类型混淆的攻击
resp.addHeader("X-Content-Type-Options", "nosniff");
// xss 保护
resp.addHeader("X-XSS-Protection", "1; mode=block");
chain.doFilter(req, resp);
}
@Override
public void destroy() {
LOGGER.info("CookieFrameFilter Destory.");
}
}

@ -217,6 +217,9 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
if (CollectionUtils.isNotEmpty(refs)) { if (CollectionUtils.isNotEmpty(refs)) {
refRoleMenuRDao.saveAll(refs); refRoleMenuRDao.saveAll(refs);
//更新角色
ConvertBean.serviceModelUpdate(role,AuthUtil.getSessionUser().getUserName());
roleRDao.update(role);
} }
} }
} }

@ -985,6 +985,10 @@ public class SysUserService implements ISysUserService {
public SysUser validatePasswordByLoginNameAndReturnUser(String loginName, String password) { public SysUser validatePasswordByLoginNameAndReturnUser(String loginName, String password) {
SysUser userDb = getSysUserByLoginName(loginName); SysUser userDb = getSysUserByLoginName(loginName);
ValidatorBean.checkNotNull(userDb, "不存在的用户信息"); ValidatorBean.checkNotNull(userDb, "不存在的用户信息");
//由于数据库的字符集不区分大小写,所以需要根据用户名查询出来后再次比对
if (!userDb.getUserLoginName().equals(loginName)){
throw new IncorrectCredentialsException("用户名或密码错误");
}
if (userDb.getUserLoginPasswordId() == null || userDb.getUserLoginPasswordId() <= 0) { if (userDb.getUserLoginPasswordId() == null || userDb.getUserLoginPasswordId() <= 0) {
if (!userDb.getUserLoginPassword().equals(SysUserPasswordUtil.encoder(password))) { if (!userDb.getUserLoginPassword().equals(SysUserPasswordUtil.encoder(password))) {
throw new IncorrectCredentialsException("用户密码错误"); throw new IncorrectCredentialsException("用户密码错误");

@ -361,7 +361,6 @@
<artifactId>elasticsearch</artifactId> <artifactId>elasticsearch</artifactId>
<version>7.5.1</version> <version>7.5.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>

Loading…
Cancel
Save