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

yun-zuoyi
wei.peng 6 years ago
commit d425d1259c

@ -76,6 +76,13 @@ public interface ISysFileService {
SysFile uploadFile(Object file) throws Exception; SysFile uploadFile(Object file) throws Exception;
/** /**
* ,
* @param file
*/
@ApiOperation(value = "上传文件资源",notes = "上传文件资源")
SysFile uploadFile(Object file,SysFile sysFile) throws Exception;
/**
* *
* @param fileCode * @param fileCode
* @return * @return

@ -25,7 +25,7 @@ public interface ISysUserService {
* @return * @return
*/ */
@ApiOperation(value = "账号登录",notes = "普通账号登录功能") @ApiOperation(value = "账号登录",notes = "普通账号登录功能")
SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException; SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException;
/** /**
* *

@ -4,6 +4,7 @@ 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.base.ISystemLoginService;
import cn.estsh.i3plus.core.api.iservice.busi.*; import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.CookieTool;
import cn.estsh.i3plus.platform.common.tool.ServletRequestTool; import cn.estsh.i3plus.platform.common.tool.ServletRequestTool;
import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
@ -23,6 +24,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.*; import org.apache.shiro.authc.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -32,6 +34,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -116,20 +119,22 @@ public class WhiteController extends CoreBaseController {
LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode);
ResultBean result = null; ResultBean result = null;
this.startMultiService();
try { try {
ValidatorBean.checkNotNull(loginName,"用户名不能为空"); ValidatorBean.checkNotNull(loginName,"用户名不能为空");
ValidatorBean.checkNotNull(loginPwd,"密码不能为空"); ValidatorBean.checkNotNull(loginPwd,"密码不能为空");
ValidatorBean.checkNotNull(languageCode,"语言不能为空"); ValidatorBean.checkNotNull(languageCode,"语言不能为空");
logout(); logout();
SessionUser user = userService.queryUserLogin(loginName.trim(),loginPwd.trim(),languageCode);
SessionUser user = userService.queryUserLogin(loginName.trim(), loginPwd.trim(), languageCode, getLoginPlatform().getValue());
String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId(); String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId();
redisCore.deleteKey(redisKey); redisCore.deleteKey(redisKey);
LOGGER.info("会员登陆:{}",user); LOGGER.info("会员登陆:{}",user);
AuthUtil.setSessionObject("languageCode",languageCode); // Session 信息分装
AuthUtil.setSessionObject(CommonConstWords.SESSION_LOGIN_LANGUAGE_CODE,languageCode);
AuthUtil.setSessionObject(CommonConstWords.SESSION_LOGIN_PLATFORM, getLoginPlatform().getValue());
result = new ResultBean(true, AuthUtil.getSession().getId().toString(), AuthUtil.getSessionUser()); result = new ResultBean(true, AuthUtil.getSession().getId().toString(), AuthUtil.getSessionUser());
result.setUrl("/"); result.setUrl("/");
@ -320,4 +325,38 @@ public class WhiteController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} }
} }
/**
* @return
*/
@GetMapping("/sys-login-platform")
@ApiOperation(value = "登录标识", notes = "登录标识")
public ResultBean getSysloginPlatforml() {
return new ResultBean(true, "操作成功",
Arrays.asList(CommonEnumUtil.LOG_LOGIN_PLATFORM.values()));
}
/**
*
* @return
*/
private CommonEnumUtil.LOG_LOGIN_PLATFORM getLoginPlatform(){
String value = CookieTool.getCookieValue(request, CommonConstWords.SESSION_LOGIN_PLATFORM);
if(StringUtils.isBlank(value)){
value = CommonEnumUtil.LOG_LOGIN_PLATFORM.PC_IMPP_CORE.getValue() + "";
}else{
try {
Integer.parseInt(value);
}catch (Exception e){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode())
.setErrorDetail("平台登录标识转换错误")
.setErrorSolution("请重新操作")
.build();
}
}
CommonEnumUtil.LOG_LOGIN_PLATFORM platform = CommonEnumUtil.LOG_LOGIN_PLATFORM.valueOf(Integer.parseInt(value));
return platform == null ? CommonEnumUtil.LOG_LOGIN_PLATFORM.PC_IMPP_CORE : platform;
}
} }

@ -296,13 +296,5 @@ public class SysEnumController extends CoreBaseController {
return new ResultBean(true, "操作成功", list); return new ResultBean(true, "操作成功", list);
} }
/**
* @return
*/
@GetMapping("/sys-login-platform")
@ApiOperation(value = "数学表达式", notes = "数学表达式")
public ResultBean getSysloginPlatforml() {
return new ResultBean(true, "操作成功",
Arrays.asList(CommonEnumUtil.LOG_LOGIN_PLATFORM.values()));
}
} }

@ -18,6 +18,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -224,7 +225,44 @@ public class SysFileController extends CoreBaseController{
} }
SysFile fileDb = sysFileService.uploadFile(file); SysFile fileDb = sysFileService.uploadFile(file);
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* fastdfs
* @param file
* @return
*/
@PostMapping("/upload-fastdfs")
@ApiOperation(value = "文件上传至fastdfs并保存数据", notes = "文件上传至fastdfs并保存数据")
public ResultBean<SysFile> singleFileUpload(@RequestParam("file") MultipartFile file, SysFile sysFile) {
try {
startMultiService();
if(file.isEmpty()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要上传的文件。")
.build();
}
boolean checkFileN = dictionaryService.checkFileName(file.getOriginalFilename());
if(!checkFileN){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode())
.setErrorDetail("文件格式不支持")
.setErrorSolution("请到字典管理中添加文件类型")
.build();
}
SysFile fileDb = sysFileService.uploadFile(file,sysFile);
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb); return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb);
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);

@ -69,7 +69,7 @@ public class SystemLoginService implements ISystemLoginService {
SysUser user = getUserLoginInfo(userToken.getLoginName(),userToken.getLoginPwd()); SysUser user = getUserLoginInfo(userToken.getLoginName(),userToken.getLoginPwd());
LOGGER.info("【验证用户checkUserLogin】{}",user); LOGGER.info("【验证用户checkUserLogin】{}",user);
//用户单地登录 //用户单地登录
// AuthUtil.checkLoginOnly(userToken.getLoginName()); AuthUtil.checkLoginOnly(userToken);
return packSessionUser(user,CommonEnumUtil.USER_TYPE.USER.getCode(),userToken.getLanguageCode()); return packSessionUser(user,CommonEnumUtil.USER_TYPE.USER.getCode(),userToken.getLanguageCode());
} }

@ -15,6 +15,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import com.mchange.lang.IntegerUtils;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -61,7 +62,7 @@ public class SysFileServiceImpl implements ISysFileService {
} }
} }
return sysFileRDao.insert(sysFile); return sysFileRDao.save(sysFile);
} }
@Override @Override
@ -127,18 +128,49 @@ public class SysFileServiceImpl implements ISysFileService {
@Override @Override
@ApiOperation(value = "上传文件资源", notes = "上传文件资源") @ApiOperation(value = "上传文件资源", notes = "上传文件资源")
public SysFile uploadFile(Object file) throws Exception { public SysFile uploadFile(Object file) throws Exception {
SysFile sysFile = uploadFastDfs(file, null);
return insertSysFile(sysFile);
}
@Override
@ApiOperation(value = "上传文件资源", notes = "上传文件资源")
public SysFile uploadFile(Object file,SysFile sysFile) throws Exception {
sysFile = uploadFastDfs(file, sysFile);
return insertSysFile(sysFile);
}
/**
* fastdfs
* @param file
* @param sysFile
* @return
* @throws Exception
*/
private SysFile uploadFastDfs(Object file,SysFile sysFile) throws Exception {
if(sysFile == null){
sysFile = new SysFile();
}
// 设置文件默认所属模块
if(sysFile.getFileSoftTypeVal() == 0){
sysFile.setFileSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
}
FastDFSFile fastDFSFile; FastDFSFile fastDFSFile;
SysFile uploadFile;
// 判断参数类型 // 判断参数类型
if (file instanceof File) { if (file instanceof File) {
fastDFSFile = new FastDFSFile((( File ) file).getName(), FileTool.file2Byte((( File ) file).getPath()), fastDFSFile = new FastDFSFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()),
StringTool.getStringFileSuffix((( File ) file).getName(), true)); StringTool.getStringFileSuffix(((File) file).getName(), true));
uploadFile = dfsClient.upload(fastDFSFile, sysFile.getFileSoftTypeVal());
} else { } else {
fastDFSFile = dfsClient.saveFile(( MultipartFile ) file); uploadFile = dfsClient.saveFile((MultipartFile) file, sysFile.getFileSoftTypeVal());
} }
SysFile sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue()); uploadFile.setId(sysFile.getId());
// 设置文件代码
uploadFile.setFileCode(sysFile.getFileCode());
return insertSysFile(sysFile); return uploadFile;
} }
@Override @Override

@ -9,6 +9,7 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
@ -23,10 +24,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.ListUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.CredentialsException; import org.apache.shiro.authc.CredentialsException;
@ -40,6 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
/** /**
* @Description : * @Description :
* @Reference : * @Reference :
@ -103,10 +103,10 @@ public class SysUserService implements ISysUserService {
@Override @Override
@ApiOperation(value = "用户登录", notes = "用户登录功能实现") @ApiOperation(value = "用户登录", notes = "用户登录功能实现")
@Transactional(propagation = Propagation.REQUIRED) @Transactional(propagation = Propagation.REQUIRED)
public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { public SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException {
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
UserToken token = new UserToken(loginName,password,languageCode); UserToken token = new UserToken(loginName,password,languageCode,loginPlatform);
SessionUser sessionUser = AuthUtil.login(token); SessionUser sessionUser = AuthUtil.login(token);
SysUser user = this.getSysUserByLoginName(loginName); SysUser user = this.getSysUserByLoginName(loginName);
@ -116,6 +116,7 @@ public class SysUserService implements ISysUserService {
packSessionUser(sessionUser, user, user.getUserType(), languageCode); packSessionUser(sessionUser, user, user.getUserType(), languageCode);
AuthUtil.setSessionUser(sessionUser); AuthUtil.setSessionUser(sessionUser);
refreshUserLoginInformation(user.getId()); refreshUserLoginInformation(user.getId());
return sessionUser; return sessionUser;
} }

@ -190,7 +190,7 @@ public class MailUtil {
try { try {
a[i] = new InternetAddress(add[i]); a[i] = new InternetAddress(add[i]);
} catch (AddressException ex) { } catch (AddressException ex) {
ex.printStackTrace(); LOGGER.error("邮箱地址错误!",ex.getMessage());
} }
} }
return a; return a;

Loading…
Cancel
Save