移除.iml文件的版本控制

yun-zuoyi
wei.peng 7 years ago
commit 8647054744

1
.gitignore vendored

@ -10,3 +10,4 @@ gen
target
.jar
.class
.md

@ -25,6 +25,12 @@
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-mes</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

@ -1,6 +1,6 @@
package cn.estsh.i3plus.core.api.iservice.base;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;

@ -1,23 +1,20 @@
package cn.estsh.i3plus.core.api.iservice.busi;
package cn.estsh.i3plus.core.api.iservice.base;
import cn.estsh.i3plus.core.api.token.AdminToken;
import cn.estsh.i3plus.core.api.token.SaAdminToken;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.pojo.model.common.Pager;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import java.util.List;
/**
* @Description :
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-11 16:59
* @Modify:
**/
public interface ISystemUserService {
public interface ISystemLoginService {
SessionUser queryUserLogin(String loginName, String s, String languageCode);

@ -0,0 +1,15 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.Department;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-24 11:16
* @Modify :
**/
public interface ICoreTreeService {
Department getDepartmentTreeByParentId(long depParentId);
}

@ -1,9 +1,9 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.model.common.Pager;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -16,7 +16,7 @@ import java.util.List;
**/
public interface ISystemResourceService {
SysLocaleLanguage saveSysLocaleLanguage(SysLocaleLanguage lang);
SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage lang);
SysLocaleLanguage updateSysLocaleLanguage(SysLocaleLanguage lang);
@ -24,15 +24,17 @@ public interface ISystemResourceService {
List<SysLocaleLanguage> listSysLocaleLanguage(SysLocaleLanguage lang);
List<SysLocaleLanguage> listSysLocaleLanguageByPager(SysLocaleLanguage lang,Pager pager);
ListPager<SysLocaleLanguage> listSysLocaleLanguageByPager(SysLocaleLanguage lang, Pager pager);
SysLocaleResource saveSysLocaleResource(SysLocaleResource res);
SysLocaleResource insertSysLocaleResource(SysLocaleResource res);
SysLocaleResource updateSysLocaleResource(SysLocaleResource res);
void deleteSysLocaleResourceById(long id);
List<SysLocaleResource> listSysLocaleResourceByPager(SysLocaleResource res,Pager pager);
void deleteSysLocaleResourceByIds(String[] ids);
ListPager<SysLocaleResource> listSysLocaleResourceByPager(SysLocaleResource res,Pager pager);
List<SysLocaleResource> listSysLocaleResource(SysLocaleResource res);

@ -1,15 +0,0 @@
package cn.estsh.i3plus.core.api.token;
/**
* @Description : token
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:00
* @Modify:
**/
public class AdminToken extends BaseToken {
public AdminToken(String loginName, String loginPwd, String languageCode) {
super(loginName, loginPwd, languageCode);
}
}

@ -1,59 +0,0 @@
package cn.estsh.i3plus.core.api.token;
import org.apache.shiro.authc.AuthenticationToken;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:00
* @Modify:
**/
public class BaseToken implements AuthenticationToken {
private String loginName;
private String loginPwd;
private String languageCode;
public BaseToken(String loginName, String loginPwd, String languageCode) {
this.loginName = loginName;
this.loginPwd = loginPwd;
this.languageCode = languageCode;
}
//身份
@Override
public Object getPrincipal() {
return this.loginName;
}
//验证
@Override
public Object getCredentials() {
return this.loginPwd;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getLoginPwd() {
return loginPwd;
}
public void setLoginPwd(String loginPwd) {
this.loginPwd = loginPwd;
}
public String getLanguageCode() {
return languageCode;
}
public void setLanguageCode(String languageCode) {
this.languageCode = languageCode;
}
}

@ -1,15 +0,0 @@
package cn.estsh.i3plus.core.api.token;
/**
* @Description : token
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:00
* @Modify:
**/
public class SaAdminToken extends BaseToken {
public SaAdminToken(String loginName, String loginPwd, String languageCode) {
super(loginName, loginPwd, languageCode);
}
}

@ -1,15 +0,0 @@
package cn.estsh.i3plus.core.api.token;
/**
* @Description : token
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:00
* @Modify:
**/
public class UserToken extends BaseToken {
public UserToken(String loginName, String loginPwd, String languageCode) {
super(loginName, loginPwd, languageCode);
}
}

@ -14,6 +14,12 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-model</artifactId>
</dependency>
<!-- api调用 -->
<dependency>
<groupId>i3plus.core</groupId>
@ -60,6 +66,10 @@
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
@ -72,6 +82,12 @@
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-mes</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

@ -1,106 +0,0 @@
package cn.estsh.i3plus.core.apiservice.auth;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 13:21
* @Modify:
**/
public class AuthUtil {
public static final Logger LOGGER = LoggerFactory.getLogger(AuthUtil.class);
/**
*
*/
@Resource(name="redisSession")
private ImppRedis redisSession;
//登陆,保存会话对象
public static SessionUser login(AuthenticationToken token){
Subject subject = SecurityUtils.getSubject();
subject.login(token);
SessionUser sessionUser = (SessionUser) subject.getPrincipal();
//使用了redis此处不需要防止
if(sessionUser != null){
//userType为CommonEnumUtil.USER_TYPE.xxx.getCode()
setSessionUser(sessionUser);
}
return sessionUser;
}
/**
* 退
*/
public static void logout(){
Session session = SecurityUtils.getSubject().getSession(false);
if(session != null) {
session.removeAttribute(CommonConstWords.SESSION_USER);
session.touch();
session.stop();
}
}
/**
*
* @param user
* @return
*/
public static void setSessionUser(SessionUser user){
SecurityUtils.getSubject().getSession(true).setAttribute(CommonConstWords.SESSION_USER,user);
}
/**
*
* @return
*/
public static SessionUser getSessionUser(){
Session session = SecurityUtils.getSubject().getSession(false);
if(session != null){
return (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
}else{
return null;
}
}
/**
*
* @param key
* @param obj
* @return
*/
public static void setSessionObject(String key,Object obj){
SecurityUtils.getSubject().getSession(true).setAttribute(key,obj);
}
/**
*
* @param key
* @return
*/
public static Object getSessionAttribute(String key){
Session session = SecurityUtils.getSubject().getSession(false);
if(session != null){
return (Object) session.getAttribute(key);
}else{
return null;
}
}
}

@ -0,0 +1,200 @@
package cn.estsh.i3plus.core.apiservice.auth;
import cn.estsh.i3plus.core.apiservice.auth.realm.AdminAuthRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.DefaultModularRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.SaAuthRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.UserAuthRealm;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.impp.framework.boot.auth.filter.AdminFilter;
import cn.estsh.impp.framework.boot.auth.filter.SaAdminFilter;
import cn.estsh.impp.framework.boot.auth.filter.UserFilter;
import cn.estsh.impp.framework.boot.configuration.RedisConfig;
import org.apache.shiro.authc.pam.ModularRealmAuthenticator;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.realm.Realm;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
import javax.servlet.Filter;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @Description : shiro
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:25
* @Modify:
**/
@Configuration
@AutoConfigureAfter(RedisConfig.class) //2类配置延后加载
public class ShiroAuthConfiguration {
public static final Logger LOGGER = LoggerFactory.getLogger(ShiroAuthConfiguration.class);
@Value("${filter.shiro.admin.loginuri}")
private String adminLoginUri;
@Value("${filter.shiro.admin.filteruri}")
private String adminFilterUri;
@Value("${filter.shiro.saadmin.loginuri}")
private String saAdminLoginUri;
@Value("${filter.shiro.saadmin.filteruri}")
private String saAdminFilterUri;
@Value("${filter.shiro.user.loginuri}")
private String userLoginUri;
@Value("${filter.shiro.user.filteruri}")
private String userFilterUri;
//平台控制缓存
@Resource(name = "imppSessionEhCacheManager")
private CacheManager getEhCacheManage;
//平台控制会话
@Resource(name = "imppSessionManager")
private DefaultWebSessionManager getSessionManage;
@Bean
public AdminAuthRealm adminAuthRealm(){
return new AdminAuthRealm();
}
@Bean
public SaAuthRealm saAuthRealm(){
return new SaAuthRealm();
}
@Bean
public UserAuthRealm userAuthRealm(){
return new UserAuthRealm();
}
public Map<String,Realm> supportRealmMap(){
//支持的授权规则
Map<String,Realm> realms = new HashMap();
realms.put(CommonEnumUtil.USER_TYPE.USER.getCode(),userAuthRealm());
realms.put(CommonEnumUtil.USER_TYPE.ADMIN.getCode(),adminAuthRealm());
realms.put(CommonEnumUtil.USER_TYPE.SA.getCode(),saAuthRealm());
return realms;
}
@Bean
public ModularRealmAuthenticator modularRealmAuthenticator(){
return new DefaultModularRealm(supportRealmMap());
}
@Bean
public SecurityManager securityManager(){
LOGGER.info("【app-shiro-加载securityManager】");
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setAuthenticator(modularRealmAuthenticator());
securityManager.setRealms(supportRealmMap().values());
securityManager.setCacheManager(getEhCacheManage); //缓存管理
securityManager.setSessionManager(getSessionManage); //会话管理
//securityManager.setRememberMeManager(getRememberManager());
return securityManager;
}
@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
factoryBean.setSecurityManager(securityManager);
Map<String, Filter> filterMap = new HashMap();
filterMap.put("user_filter", new UserFilter());
filterMap.put("admin_filter", new AdminFilter());
filterMap.put("saadmin_filter", new SaAdminFilter());
factoryBean.setFilters(filterMap);
Map<String, String> filterChain = new LinkedHashMap();
//不需要过滤的路径,直接通过
filterChain.put(userLoginUri, "anon");
filterChain.put(adminLoginUri, "anon");
filterChain.put(saAdminLoginUri, "anon");
//需要过滤的路径
filterChain.put(userFilterUri, "user_filter");
filterChain.put(adminFilterUri, "admin_filter");
filterChain.put(saAdminFilterUri, "saadmin_filter");
factoryBean.setFilterChainDefinitionMap(filterChain);
LOGGER.info("【app-shiro授权过滤】加载完成...");
return factoryBean;
}
/** 缓存等配置在impp平台中设置 **/
// /**
// * 缓存管理
// * @return
// */
// @Bean(name = "ehCacheManager")
// public CacheManager getEhCacheManage() {
// LOGGER.info("【shiro-加载缓存cacheManager】");
// EhCacheManager em = new EhCacheManager();
// em.setCacheManagerConfigFile("classpath:cache_session.xml");
// return em;
// }
//
// @Bean(name = "sessionManager")
// public DefaultWebSessionManager getSessionManage() {
// LOGGER.info("【shiro-加载sessionManager】");
// DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
// sessionManager.setSessionValidationScheduler(getExecutorServiceSessionValidationScheduler());
// sessionManager.setSessionValidationSchedulerEnabled(true);
// sessionManager.setDeleteInvalidSessions(true);
// sessionManager.setSessionIdCookieEnabled(true);
// sessionManager.setSessionIdCookie(getSessionIdCookie());
// sessionManager.setSessionDAO(getShiroSessionRedisDaoImpl());
// sessionManager.setGlobalSessionTimeout(30 * 60 * 1000); //30分钟有效期(以sessionDao中的有效时间为准)
//
// // 可以添加session 创建、删除的监听器
// return sessionManager;
// }
//
// @Bean
// public ShiroSessionRedisDaoImpl getShiroSessionRedisDaoImpl(){
// LOGGER.info("【shiro-加载缓存redisSessionManager】");
// ShiroSessionRedisDaoImpl shiroSessionRedisDao = new ShiroSessionRedisDaoImpl();
//
// LOGGER.info("【shiro-加载缓存cacheManager】");
// shiroSessionRedisDao.setLocalCacheManager(getEhCacheManage() );
// return shiroSessionRedisDao;
// }
//
// /**
// * 授权验证监听任务
// * @return
// */
// @Bean(name = "sessionValidationScheduler")
// public ExecutorServiceSessionValidationScheduler getExecutorServiceSessionValidationScheduler() {
// LOGGER.info("【shiro-加载sessionValidationScheduler】");
// ExecutorServiceSessionValidationScheduler scheduler = new ExecutorServiceSessionValidationScheduler();
// scheduler.setInterval(3 * 60 * 1000); //每3分钟执行一次验证
// return scheduler;
// }
//
// @Bean(name = "sessionIdCookie")
// public SimpleCookie getSessionIdCookie() {
// LOGGER.info("【shiro-加载sessionIdCookie】");
// SimpleCookie cookie = new SimpleCookie("sid");
// cookie.setHttpOnly(true);
// cookie.setMaxAge(-1);
//
// return cookie;
// }
}

@ -1,151 +0,0 @@
package cn.estsh.i3plus.core.apiservice.auth;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.cache.Cache;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.UnknownSessionException;
import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
/**
* @Description : redisshiro
* @Reference : 使ehcacheredis
*
* @Author : alwaysfrin
* @CreateDate : 2018-10-16 10:28
* @Modify:
**/
public class ShiroSessionRedisDaoImpl extends EnterpriseCacheSessionDAO {
public static final Logger LOGGER = LoggerFactory.getLogger(ShiroSessionRedisDaoImpl.class);
public static final int EXPIRE_TIME = 30 * 60; //会话保存时间 单位秒
public static final String LOCAL_SESSION_CACHE = "redis-shiro-session-cache";
/**
*
*/
@Resource(name="redisSession")
private ImppRedis redisSession;
//本地缓存
private Cache localCache;
private CacheManager localCacheManager;
public void setLocalCacheManager(CacheManager localCacheManager) {
this.localCacheManager = localCacheManager;
this.localCache = localCacheManager.getCache(LOCAL_SESSION_CACHE);
}
@Override
public void update(Session session) throws UnknownSessionException {
LOGGER.info("【更新缓存 : {}】{}",session,session.getId());
this.saveSession(session);
}
private void saveSession(Session session) {
if (session == null) {
LOGGER.error("【要存入的session为空】");
}else {
//LOGGER.info("【保存session至redis,id:{}】{}",session.getId(),session);
//设置会话过期时间
redisSession.putObject(session.getId().toString(),session,EXPIRE_TIME);
//放入本地缓存
localCache.put(session.getId(),session);
LOGGER.info("【保存session至redis,id:{}】{}",session.getId(),session);
}
}
@Override
protected Session getCachedSession(Serializable sessionId) {
//先从本地获取若本地没有再从redis中获取
Session s = (Session) localCache.get(sessionId);
if(s == null) {
s = (Session) redisSession.getObject(sessionId.toString());
LOGGER.info("【本地缓存不存在redis获取{}】{}", sessionId, s);
if(s != null) {
//放入本地缓存
localCache.put(sessionId, s);
LOGGER.info("【放入本地缓存:{}】{}", sessionId, s);
}
}else{
//LOGGER.info("【本地缓存获取:{}】{}", sessionId, s);
}
return s;
}
@Override
public void delete(Session session) {
if (session == null) {
}else {
LOGGER.error("【删除session-redis{}】",session.getId());
//redis删除
redisSession.deleteKey(session.getId().toString());
//本地缓存删除
localCache.remove(session.getId());
}
}
@Override
protected Serializable doCreate(Session session) {
LOGGER.info("【doCreate并保存{}】",session);
Serializable sessionId = this.generateSessionId(session);
this.assignSessionId(session, sessionId);
this.saveSession(session);
return sessionId;
}
@Override
protected Session doReadSession(Serializable sessionId) {
Session session = null;
if(sessionId != null) {
//先从本地缓存读取
Object obj = localCache.get(sessionId);
if(obj == null) {
LOGGER.info("【doReadSession-本地缓存不存在不存在:{}】", sessionId);
obj = redisSession.getObject(sessionId.toString());
if (obj == null) {
LOGGER.info("【doReadSession不存在{}】", sessionId);
} else {
LOGGER.info("【doReadSession{}】", sessionId);
session = (Session) obj;
}
}else{
LOGGER.info("【doReadSession-本地缓存获取:{}】", sessionId);
session = (Session) obj;
}
}
return session;
}
/**
* sessions
*/
@Override
public Collection<Session> getActiveSessions() {
Set<Session> sessions = new HashSet<>();
Set<String> keys = redisSession.getKeysSet("*");
LOGGER.info("【所有活动的key{}】",keys.size());
for(String key:keys){
sessions.add((Session)redisSession.getObject(key));
}
return sessions;
}
}

@ -1,71 +0,0 @@
package cn.estsh.i3plus.core.apiservice.auth.filter;
import cn.estsh.i3plus.core.apiservice.auth.AuthUtil;
import cn.estsh.i3plus.core.apiservice.configuration.ShiroAuthConfiguration;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.web.filter.AccessControlFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 19:17
* @Modify:
**/
public class AdminFilter extends AccessControlFilter {
public static final Logger LOGGER = LoggerFactory.getLogger(AdminFilter.class);
@Override
protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
SessionUser sessionUser = AuthUtil.getSessionUser();
if(sessionUser != null && CommonEnumUtil.USER_TYPE.ADMIN.getCode().equals(sessionUser.getUserType())){
return true;
}else{
return false;
}
}
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
if (response instanceof HttpServletResponse) {
HttpServletResponse httpServletResponse = (HttpServletResponse)response;
httpServletResponse.setHeader("Content-Type", "application/json;charset=UTF-8");
httpServletResponse.setContentType("application/json;charset=UTF-8");
PrintWriter out = null;
try {
ResultBean result = new ResultBean();
result.setSuccess(false);
result.setErrorMsg("未登录");
result.setCode("need-login");
result.setUrl(ShiroAuthConfiguration.ADMIN_LOGIN_URI);
out = response.getWriter();
out.print(JSONObject.toJSONString(result));
out.flush();
} catch (IOException var11) {
LOGGER.error(var11.getMessage(), var11);
} finally {
if (out != null) {
out.close();
}
}
}
return false;
}
}

@ -1,71 +0,0 @@
package cn.estsh.i3plus.core.apiservice.auth.filter;
import cn.estsh.i3plus.core.apiservice.auth.AuthUtil;
import cn.estsh.i3plus.core.apiservice.configuration.ShiroAuthConfiguration;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.web.filter.AccessControlFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 19:17
* @Modify:
**/
public class SaAdminFilter extends AccessControlFilter {
public static final Logger LOGGER = LoggerFactory.getLogger(SaAdminFilter.class);
@Override
protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
SessionUser sessionUser = AuthUtil.getSessionUser();
if(sessionUser != null && CommonEnumUtil.USER_TYPE.SA.getCode().equals(sessionUser.getUserType())){
return true;
}else{
return false;
}
}
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
if (response instanceof HttpServletResponse) {
HttpServletResponse httpServletResponse = (HttpServletResponse)response;
httpServletResponse.setHeader("Content-Type", "application/json;charset=UTF-8");
httpServletResponse.setContentType("application/json;charset=UTF-8");
PrintWriter out = null;
try {
ResultBean result = new ResultBean();
result.setSuccess(false);
result.setErrorMsg("未登录");
result.setCode("need-login");
result.setUrl(ShiroAuthConfiguration.SAADMIN_LOGIN_URI);
out = response.getWriter();
out.print(JSONObject.toJSONString(result));
out.flush();
} catch (IOException var11) {
LOGGER.error(var11.getMessage(), var11);
} finally {
if (out != null) {
out.close();
}
}
}
return false;
}
}

@ -1,75 +0,0 @@
package cn.estsh.i3plus.core.apiservice.auth.filter;
import cn.estsh.i3plus.core.apiservice.auth.AuthUtil;
import cn.estsh.i3plus.core.apiservice.configuration.ShiroAuthConfiguration;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.web.filter.AccessControlFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 19:17
* @Modify:
**/
public class UserFilter extends AccessControlFilter {
public static final Logger LOGGER = LoggerFactory.getLogger(UserFilter.class);
@Override
protected boolean isAccessAllowed(ServletRequest servletRequest, ServletResponse response, Object mappedValue) throws Exception {
SessionUser sessionUser = AuthUtil.getSessionUser();
if (sessionUser != null) {
LOGGER.info("===用户已登陆==={}",sessionUser);
return true;
} else {
LOGGER.info("===用户未登陆==={}",sessionUser);
return false;
}
}
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
if (response instanceof HttpServletResponse) {
LOGGER.info("===请求拒绝===请求路径:{}",((HttpServletRequest)request).getRequestURL());
HttpServletResponse httpServletResponse = (HttpServletResponse)response;
httpServletResponse.setHeader("Content-Type", "application/json;charset=UTF-8");
httpServletResponse.setContentType("application/json;charset=UTF-8");
PrintWriter out = null;
try {
ResultBean result = new ResultBean();
result.setSuccess(false);
result.setErrorMsg("未登录");
result.setCode("need-login");
result.setUrl(ShiroAuthConfiguration.USER_LOGIN_URI);
out = response.getWriter();
out.print(JSONObject.toJSONString(result));
out.flush();
} catch (IOException var11) {
LOGGER.error(var11.getMessage(), var11);
} finally {
if (out != null) {
out.close();
}
}
}
return false;
}
}

@ -1,9 +1,7 @@
package cn.estsh.i3plus.core.apiservice.auth.realm;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemUserService;
import cn.estsh.i3plus.core.api.token.AdminToken;
import cn.estsh.i3plus.core.api.token.SaAdminToken;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
@ -28,7 +26,7 @@ public class AdminAuthRealm extends AuthorizingRealm {
public static final Logger LOGGER = LoggerFactory.getLogger(AdminAuthRealm.class);
@Autowired
private ISystemUserService systemUserService;
private ISystemLoginService systemLoginService;
public AdminAuthRealm(){
//添加支持的token
@ -45,7 +43,7 @@ public class AdminAuthRealm extends AuthorizingRealm {
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
//管理员令牌
SessionUser sessionUser = systemUserService.queryCheckAdminLogin((AdminToken) authenticationToken);
SessionUser sessionUser = systemLoginService.queryCheckAdminLogin((AdminToken) authenticationToken);
LOGGER.info("管理员令牌验证:{}",sessionUser);
return new SimpleAuthenticationInfo(sessionUser,((AdminToken) authenticationToken).getLoginPwd(),this.getName());
}

@ -1,10 +1,10 @@
package cn.estsh.i3plus.core.apiservice.auth.realm;
import cn.estsh.i3plus.core.api.token.AdminToken;
import cn.estsh.i3plus.core.api.token.SaAdminToken;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;

@ -1,8 +1,7 @@
package cn.estsh.i3plus.core.apiservice.auth.realm;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemUserService;
import cn.estsh.i3plus.core.api.token.SaAdminToken;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
@ -27,7 +26,7 @@ public class SaAuthRealm extends AuthorizingRealm {
public static final Logger LOGGER = LoggerFactory.getLogger(SaAuthRealm.class);
@Autowired
private ISystemUserService systemUserService;
private ISystemLoginService systemLoginService;
public SaAuthRealm(){
//添加支持的token
@ -44,7 +43,7 @@ public class SaAuthRealm extends AuthorizingRealm {
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
//管理员令牌
SessionUser sessionUser = systemUserService.queryCheckSaAdminLogin((SaAdminToken) authenticationToken);
SessionUser sessionUser = systemLoginService.queryCheckSaAdminLogin((SaAdminToken) authenticationToken);
LOGGER.info("超级管理员令牌验证:{}",sessionUser);
return new SimpleAuthenticationInfo(sessionUser,((SaAdminToken) authenticationToken).getLoginPwd(),this.getName());
}

@ -1,7 +1,7 @@
package cn.estsh.i3plus.core.apiservice.auth.realm;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemUserService;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
@ -17,7 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description :
* @Reference :
* @Reference :-
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 14:04
* @Modify:
@ -26,7 +26,7 @@ public class UserAuthRealm extends AuthorizingRealm {
public static final Logger LOGGER = LoggerFactory.getLogger(UserAuthRealm.class);
@Autowired
private ISystemUserService systemUserService;
private ISystemLoginService systemLoginService;
public UserAuthRealm(){
//添加支持的token
@ -43,7 +43,7 @@ public class UserAuthRealm extends AuthorizingRealm {
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
//管理员令牌
SessionUser sessionUser = systemUserService.queryCheckUserLogin((UserToken) authenticationToken);
SessionUser sessionUser = systemLoginService.queryCheckUserLogin((UserToken) authenticationToken);
LOGGER.info("{}-用户令牌验证:{}",this.getName(),sessionUser);
return new SimpleAuthenticationInfo(sessionUser,((UserToken) authenticationToken).getLoginPwd(),this.getName());
}

@ -1,230 +0,0 @@
package cn.estsh.i3plus.core.apiservice.configuration;
import cn.estsh.i3plus.core.apiservice.auth.ShiroSessionRedisDaoImpl;
import cn.estsh.i3plus.core.apiservice.auth.filter.AdminFilter;
import cn.estsh.i3plus.core.apiservice.auth.filter.SaAdminFilter;
import cn.estsh.i3plus.core.apiservice.auth.filter.UserFilter;
import cn.estsh.i3plus.core.apiservice.auth.realm.AdminAuthRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.DefaultModularRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.SaAuthRealm;
import cn.estsh.i3plus.core.apiservice.auth.realm.UserAuthRealm;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.impp.framework.boot.configuration.RedisConfig;
import org.apache.shiro.authc.pam.ModularRealmAuthenticator;
import org.apache.shiro.cache.Cache;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.realm.Realm;
import org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.CookieRememberMeManager;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.web.servlet.SimpleCookie;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.core.annotation.Order;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.servlet.Filter;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @Description : shiro
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:25
* @Modify:
**/
@Configuration
@AutoConfigureAfter(RedisConfig.class) //2类配置延后加载
public class ShiroAuthConfiguration {
public static final Logger LOGGER = LoggerFactory.getLogger(ShiroAuthConfiguration.class);
//三种登陆请求
public static String USER_LOGIN_URI = "/login";
public static String USER_FILTER_URI = "/operate/*";
public static String ADMIN_LOGIN_URI = "/adlogin";
public static String ADMIN_FILTER_URI = "/adoerate/*";
public static String SAADMIN_LOGIN_URI = "/salogin";
public static String SAADMIN_FILTER_URI = "/saoerate/*";
@Bean
public AdminAuthRealm adminAuthRealm(){
return new AdminAuthRealm();
}
@Bean
public SaAuthRealm saAuthRealm(){
return new SaAuthRealm();
}
@Bean
public UserAuthRealm userAuthRealm(){
return new UserAuthRealm();
}
public Map<String,Realm> supportRealmMap(){
//支持的授权规则
Map<String,Realm> realms = new HashMap();
realms.put(CommonEnumUtil.USER_TYPE.USER.getCode(),userAuthRealm());
realms.put(CommonEnumUtil.USER_TYPE.ADMIN.getCode(),adminAuthRealm());
realms.put(CommonEnumUtil.USER_TYPE.SA.getCode(),saAuthRealm());
return realms;
}
@Bean
public ModularRealmAuthenticator modularRealmAuthenticator(){
return new DefaultModularRealm(supportRealmMap());
}
@Bean
//@DependsOn("redisUtil")
public SecurityManager securityManager(){
LOGGER.info("【shiro-加载securityManager】");
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setAuthenticator(modularRealmAuthenticator());
securityManager.setRealms(supportRealmMap().values());
securityManager.setCacheManager(getEhCacheManage()); //缓存管理
securityManager.setSessionManager(getSessionManage()); //会话管理
//securityManager.setRememberMeManager(getRememberManager());
return securityManager;
}
/*@Bean
public CookieRememberMeManager getRememberManager(){
//rememberme cookie加密的密钥 建议每个项目都不一样 默认AES算法 密钥长度128 256 512 位),通过以下代码可以获取
//KeyGenerator keygen = KeyGenerator.getInstance("AES");
//SecretKey deskey = keygen.generateKey();
//System.out.println(Base64.encodeToString(deskey.getEncoded()));
CookieRememberMeManager meManager = new CookieRememberMeManager();
meManager.setCipherKey(Base64.decode("+vCeyY0qiyO1NdpOX9zX7w=="));
meManager.setCookie(rememberMeCookie());
return meManager;
}
*//**
* CipherKey
*//*
public static void main(String[] args){
KeyGenerator keygen = null;
try {
keygen = KeyGenerator.getInstance("AES");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
SecretKey deskey = keygen.generateKey();
System.out.println(Base64.encodeToString(deskey.getEncoded()));
}
@Bean
public SimpleCookie rememberMeCookie(){
//这个参数是cookie的名称对应前端的checkbox的name = rememberMe
SimpleCookie simpleCookie = new SimpleCookie("impp_remember_me");
//如果httyOnly设置为true则客户端不会暴露给客户端脚本代码使用HttpOnly cookie有助于减少某些类型的跨站点脚本攻击
simpleCookie.setHttpOnly(true);
//记住我cookie生效时间,默认30天 ,单位秒60 * 60 * 24 * 30
simpleCookie.setMaxAge(259200);
return simpleCookie;
}*/
@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
factoryBean.setSecurityManager(securityManager);
Map<String, Filter> filterMap = new HashMap();
filterMap.put("user_filter", new UserFilter());
filterMap.put("admin_filter", new AdminFilter());
filterMap.put("saadmin_filter", new SaAdminFilter());
factoryBean.setFilters(filterMap);
Map<String, String> filterChain = new LinkedHashMap();
//不需要过滤的路径,直接通过
filterChain.put(USER_LOGIN_URI, "anon");
filterChain.put(ADMIN_LOGIN_URI, "anon");
filterChain.put(SAADMIN_LOGIN_URI, "anon");
//需要过滤的路径
filterChain.put(USER_FILTER_URI, "user_filter");
filterChain.put(ADMIN_FILTER_URI, "admin_filter");
filterChain.put(SAADMIN_FILTER_URI, "saadmin_filter");
factoryBean.setFilterChainDefinitionMap(filterChain);
LOGGER.info("【shiro过滤】加载完成...");
return factoryBean;
}
/**
*
* @return
*/
@Bean(name = "ehCacheManager")
public CacheManager getEhCacheManage() {
LOGGER.info("【shiro-加载缓存cacheManager】");
EhCacheManager em = new EhCacheManager();
em.setCacheManagerConfigFile("classpath:cache_session.xml");
return em;
}
@Bean(name = "sessionManager")
public DefaultWebSessionManager getSessionManage() {
LOGGER.info("【shiro-加载sessionManager】");
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setSessionValidationScheduler(getExecutorServiceSessionValidationScheduler());
sessionManager.setSessionValidationSchedulerEnabled(true);
sessionManager.setDeleteInvalidSessions(true);
sessionManager.setSessionIdCookieEnabled(true);
sessionManager.setSessionIdCookie(getSessionIdCookie());
sessionManager.setSessionDAO(getShiroSessionRedisDaoImpl());
sessionManager.setGlobalSessionTimeout(30 * 60 * 1000); //30分钟有效期(以sessionDao中的有效时间为准)
// 可以添加session 创建、删除的监听器
return sessionManager;
}
@Bean
public ShiroSessionRedisDaoImpl getShiroSessionRedisDaoImpl(){
LOGGER.info("【shiro-加载缓存redisSessionManager】");
ShiroSessionRedisDaoImpl shiroSessionRedisDao = new ShiroSessionRedisDaoImpl();
LOGGER.info("【shiro-加载缓存cacheManager】");
shiroSessionRedisDao.setLocalCacheManager(getEhCacheManage() );
return shiroSessionRedisDao;
}
/**
*
* @return
*/
@Bean(name = "sessionValidationScheduler")
public ExecutorServiceSessionValidationScheduler getExecutorServiceSessionValidationScheduler() {
LOGGER.info("【shiro-加载sessionValidationScheduler】");
ExecutorServiceSessionValidationScheduler scheduler = new ExecutorServiceSessionValidationScheduler();
scheduler.setInterval(3 * 60 * 1000); //每3分钟执行一次验证
return scheduler;
}
@Bean(name = "sessionIdCookie")
public SimpleCookie getSessionIdCookie() {
LOGGER.info("【shiro-加载sessionIdCookie】");
SimpleCookie cookie = new SimpleCookie("sid");
cookie.setHttpOnly(true);
cookie.setMaxAge(-1);
return cookie;
}
}

@ -0,0 +1,67 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.Department;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
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.exception.ImppExceptionEnum;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Locale;
/**
* @Description : demo
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-09-26 10:34
* @Modify:
**/
@RestController
@RequestMapping("/core/tree")
@Api(description="系统服务demo")
public class CoreTreeController {
private static final Logger LOGGER = LoggerFactory.getLogger(CoreTreeController.class);
@Autowired
private ICoreTreeService coreTreeService;
@GetMapping(value="/department")
@ApiOperation(value="查询部门树",notes="通过部门主键获取部门树,-1为根节点")
public ResultBean listDepartmentTree(long depParentId) {
try {
Department department = coreTreeService.getDepartmentTreeByParentId(depParentId);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(department);
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -1,12 +1,10 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemUserService;
import cn.estsh.i3plus.core.apiservice.auth.AuthUtil;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import io.swagger.annotations.Api;
@ -14,13 +12,10 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
/**
* @Description :
@ -34,11 +29,11 @@ import java.security.NoSuchAlgorithmException;
public class DemoAuthController {
public static final Logger LOGGER = LoggerFactory.getLogger(DemoAuthController.class);
@Autowired
private ISystemUserService systemUserService;
private ISystemLoginService systemLoginService;
/**
*
*/
@Resource(name="redisUtil")
@Resource(name="redisCore")
private ImppRedis imppRedis;
@GetMapping(value="/login")
@ -46,7 +41,7 @@ public class DemoAuthController {
public ResultBean login(String loginName,String loginPwd,String languageCode){
LOGGER.info("用户登陆:{},{},{}",loginName,loginPwd,languageCode);
try {
SessionUser sUser = systemUserService.queryUserLogin(loginName,loginPwd,languageCode);
SessionUser sUser = systemLoginService.queryUserLogin(loginName,loginPwd,languageCode);
LOGGER.info("会员登陆:{}",sUser);
AuthUtil.setSessionObject("languageCode",languageCode);
@ -97,7 +92,7 @@ public class DemoAuthController {
LOGGER.info("管理员登陆:{},{},{}",loginName,loginPwd,languageCode);
try {
systemUserService.queryAdminLogin(loginName,EncryptTool.hexMD5(loginPwd),languageCode);
systemLoginService.queryAdminLogin(loginName,EncryptTool.hexMD5(loginPwd),languageCode);
return new ResultBean(true,"");
} catch (Exception e) {

@ -1,16 +1,11 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueue;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.impp.framework.base.BaseImppException;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.quartz.TaskInfo;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import com.rabbitmq.client.Channel;
import io.swagger.annotations.Api;
@ -21,15 +16,11 @@ import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeoutException;
@ -49,8 +40,8 @@ public class DemoRestController {
/**
*
*/
@Resource(name="redisUtil")
private ImppRedis imppRedis;
@Resource(name="redisCore")
private ImppRedis redisCore;
/**
* rabbitMQ
@ -70,8 +61,8 @@ public class DemoRestController {
@ApiOperation(value="缓存",notes="放入数据")
public ResultBean putCache(){
//放入缓存
imppRedis.putObject("machineFactory",new MachineFactory("111","nnnn"));
imppRedis.putObject("wms","123123123");
redisCore.putObject("machineFactory",new MachineFactory("111","nnnn"));
redisCore.putObject("wms","123123123");
return new ResultBean(true,"已放入缓存");
}
@ -79,9 +70,9 @@ public class DemoRestController {
@GetMapping(value="/get-cache")
@ApiOperation(value="缓存",notes="获取数据")
public ResultBean getCache(){
MachineFactory mf = (MachineFactory) imppRedis.getObject("machineFactory");
MachineFactory mf = (MachineFactory) redisCore.getObject("machineFactory");
System.out.println("1===== " + mf);
System.out.println("2===== " + imppRedis.getObject("wms"));
System.out.println("2===== " + redisCore.getObject("wms"));
return new ResultBean(true,mf);
}

@ -1,27 +1,18 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueue;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.quartz.ScheduleTool;
import cn.estsh.impp.framework.boot.quartz.TaskInfo;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import com.rabbitmq.client.Channel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeoutException;
/**
* @Description :

@ -1,42 +1,42 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueue;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import com.rabbitmq.client.Channel;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.Locale;
import java.util.concurrent.TimeoutException;
/**
* @Description :
* @Description : demo
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-09-26 10:34
* @Modify:
**/
@RestController
@RequestMapping("/demo-system")
@RequestMapping("/demo-system-service")
@Api(description="系统服务demo")
public class DemoSystemController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoSystemController.class);
@ -44,8 +44,8 @@ public class DemoSystemController {
/**
*
*/
@Resource(name="redisUtil")
private ImppRedis imppRedis;
@Resource(name="redisCore")
private ImppRedis redisCore;
/**
* rabbitMQ
@ -56,41 +56,160 @@ public class DemoSystemController {
@Autowired
private ISystemResourceService systemResourceService;
@PutMapping(value="/addlanguage")
@ApiOperation(value="添加语言")
public ResultBean addlanguage(SysLocaleLanguage lang) {
systemResourceService.saveSysLocaleLanguage(lang);
return new ResultBean(true,"操作成功");
@PutMapping(value="/language/insert")
@ApiOperation(value="添加语言",notes = "添加系统语言,可用于国际化")
public ResultBean insertLanguage(SysLocaleLanguage lang) {
try {
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
//条件验证
ValidatorBean.beginValid(lang)
.notNull("languageName",lang.getLanguageName())
.notNull("languageCode",lang.getLanguageCode());
//新增初始化
ConvertBean.modelInitialize(lang,user);
systemResourceService.insertSysLocaleLanguage(lang);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow()).build();
}catch(Exception e){
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PutMapping(value="/listlang")
@ApiOperation(value="查询语言")
public ResultBean listlang(SysLocaleLanguage lang) {
return new ResultBean(true,"操作成功",systemResourceService.listSysLocaleLanguage(lang));
@PutMapping(value="/language/update")
@ApiOperation(value="修改语言",notes = "修改系统语言,可用于国际化")
public ResultBean updateLanguage(SysLocaleLanguage lang) {
try {
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
//条件验证
ValidatorBean.beginValid(lang)
.notNull("languageName",lang.getLanguageName())
.notNull("languageCode",lang.getLanguageCode());
//修改条件
ConvertBean.modelUpdate(lang,user);
systemResourceService.updateSysLocaleLanguage(lang);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow()).build();
}catch(Exception e){
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PutMapping(value="/addres")
@ApiOperation(value="添加资源")
public ResultBean addres(SysLocaleResource res) {
systemResourceService.saveSysLocaleResource(res);
return new ResultBean(true,"操作成功");
@PutMapping(value="/language/query")
@ApiOperation(value="查询语言",notes = "添加系统语言,可用于国际化")
public ResultBean queryLanguage(SysLocaleLanguage lang,Pager pager) {
try {
ListPager listPager = systemResourceService.listSysLocaleLanguageByPager(lang,pager);
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PutMapping(value="/resource/insert")
@ApiOperation(value="添加资源",notes = "添加系统语言,可用于国际化")
public ResultBean insertResource(SysLocaleResource res) {
try {
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
//条件验证
ValidatorBean.beginValid(res)
.notNull("resourceKey",res.getResourceKey())
.notNull("resourceValue",res.getResourceValue());
@PutMapping(value="/listres")
@ApiOperation(value="查询资源")
public ResultBean listres(SysLocaleResource res) {
return new ResultBean(true,"操作成功",systemResourceService.listSysLocaleResource(res));
//新增初始化
ConvertBean.modelInitialize(res,user);
systemResourceService.insertSysLocaleResource(res);
return ResultBean.success("操作成功")
.setResultObject(res)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@PutMapping(value="/resource/query")
@ApiOperation(value="查询资源",notes = "分页查询系统资源")
public ResultBean queryResource(SysLocaleResource res,Pager pager) {
try{
ListPager listPager = systemResourceService.listSysLocaleResourceByPager(res,pager);
return ResultBean.success("操作成功")
.setListPager(listPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@GetMapping(value="/getlocaleresource")
@GetMapping(value="/locale-resource/get")
@ApiOperation(value="语言资源匹配",notes="资源配置文件及国际化")
public ResultBean getlocaleresource(int resourceType,String langCode,String resKey) {
public ResultBean getLocaleResource(int resourceType,String langCode,String resKey) {
try {
ValidatorBean.checkNotZero(resourceType,"请选择资源类型。");
ValidatorBean.checkNotNull(langCode,"请输入语言编码");
ValidatorBean.checkNotNull(resKey,"请输入资源编码");
Locale locale = LocaleContextHolder.getLocale();
System.out.println("当前语言:"+locale.getLanguage() + ",国家:" + locale.getCountry());
LOGGER.info("当前语言:" + locale.getLanguage() + ",国家:" + locale.getCountry());
SysLocaleResource res = systemResourceService.getSysLocaleResourceByLanguage(resourceType,langCode,resKey);
System.out.println("获取的资源:" + res);
SysLocaleResource res = systemResourceService.getSysLocaleResourceByLanguage(resourceType, langCode, resKey);
LOGGER.info("获取的资源:" + res);
return new ResultBean(true,"操作成功",res);
return ResultBean.success("保存成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(res);
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
@DeleteMapping (value="/locale-resource/delete")
@ApiOperation(value="删除资源",notes="批量删除资源")
public ResultBean deleteLocaleResource(String[] resourceIds) {
try {
if(resourceIds.length == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的资源。")
.build();
}
systemResourceService.deleteSysLocaleResourceByIds(resourceIds);
return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -1,8 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.base.IDataSimpleService;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;

@ -1,7 +1,7 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.IDataMoreService;
import cn.estsh.i3plus.pojo.model.busi.ResultBean;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.i3plus.pojo.wms.bean.FactoryStore;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@ -1,6 +1,6 @@
package cn.estsh.i3plus.core.apiservice.dao;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;

@ -2,16 +2,14 @@ package cn.estsh.i3plus.core.apiservice.listener;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.core.apiservice.util.ConstWords;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.impp.framework.boot.configuration.SwaggerConfig;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.event.ContextRefreshedEvent;
import javax.annotation.Resource;
@ -31,8 +29,8 @@ public class SysResourceBindleListener implements ApplicationListener<ContextRef
@Autowired
public ISystemResourceService systemResourceService;
@Resource(name="redisUtil")
private ImppRedis imppRedis;
@Resource(name="redisCore")
private ImppRedis redisCore;
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
@ -112,10 +110,10 @@ public class SysResourceBindleListener implements ApplicationListener<ContextRef
langMsgMap.put(lang.getLanguageCode(),resMap);
}
imppRedis.putHashMap(ConstWords.PLAT_MODULE_PREX,langModoleMap);
imppRedis.putHashMap(ConstWords.PLAT_MODULE_METHOD_PREX,langMethodMap);
imppRedis.putHashMap(ConstWords.PLAT_MODULE_BUTTON_PREX,langBtnMap);
imppRedis.putHashMap(ConstWords.LANGUAGE_CONVERT_PREX,langMsgMap);
redisCore.putHashMap(ConstWords.PLAT_MODULE_PREX,langModoleMap);
redisCore.putHashMap(ConstWords.PLAT_MODULE_METHOD_PREX,langMethodMap);
redisCore.putHashMap(ConstWords.PLAT_MODULE_BUTTON_PREX,langBtnMap);
redisCore.putHashMap(ConstWords.LANGUAGE_CONVERT_PREX,langMsgMap);
LOGGER.info("【资源配置文件已全部加载】");
}

@ -29,25 +29,25 @@ public class I3CoreQueue {
@Bean
public Queue getStrQueue() {
LOGGER.info("【DEMO_STR_QUEUE队列】");
//LOGGER.info("【DEMO_STR_QUEUE队列】");
return new Queue(DEMO_STR_QUEUE);
}
@Bean
public Queue getObjQueue() throws Exception {
LOGGER.info("【DEMO_OBJ_QUEUE队列】");
//LOGGER.info("【DEMO_OBJ_QUEUE队列】");
return new Queue(DEMO_OBJ_QUEUE);
}
@Bean
public Queue getHandleQueue() throws Exception {
LOGGER.info("【DEMO_HANDLE_QUEUE队列】");
//LOGGER.info("【DEMO_HANDLE_QUEUE队列】");
return new Queue(DEMO_HANDLE_QUEUE);
}
@Bean
public Queue getReturnQueue() throws Exception {
LOGGER.info("【DEMO_RETURN_QUEUE队列】");
//LOGGER.info("【DEMO_RETURN_QUEUE队列】");
return new Queue(DEMO_RETURN_QUEUE);
}

@ -3,7 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.base.IDataSimpleService;
import cn.estsh.i3plus.core.apiservice.dao.IMachineFactoryDao;
import cn.estsh.i3plus.platform.common.idtool.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.factory.bean.MachineFactory;
import cn.estsh.i3plus.pojo.mes.MachineFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

@ -1,35 +1,31 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemUserService;
import cn.estsh.i3plus.core.api.token.AdminToken;
import cn.estsh.i3plus.core.api.token.SaAdminToken;
import cn.estsh.i3plus.core.api.token.UserToken;
import cn.estsh.i3plus.core.apiservice.auth.AuthUtil;
import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.websocket.Session;
/**
* @Description :
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 17:18
* @Modify:
**/
@Service
public class SystemUserService implements ISystemUserService {
private static final Logger LOGGER = LoggerFactory.getLogger(SystemUserService.class);
public class SystemLoginService implements ISystemLoginService {
private static final Logger LOGGER = LoggerFactory.getLogger(SystemLoginService.class);
@Autowired
private SysUserRepository sysUserRDao;

@ -0,0 +1,27 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.pojo.platform.bean.Department;
import cn.estsh.i3plus.pojo.platform.repository.DepartmentRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @Date : 2018-10-24 11:17
* @Modify :
**/
@Service
public class CoreTreeServiceImpl implements ICoreTreeService {
@Autowired
private DepartmentRepository departmentDao
@Override
public Department getDepartmentTreeByParentId(long depParentId) {
Department dep = new Department();
return dep;
}
}

@ -1,15 +1,16 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.model.common.Pager;
import cn.estsh.i3plus.pojo.model.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@ -32,7 +33,7 @@ public class SystemResourceService implements ISystemResourceService {
private SysLocaleResourceRepository sysLocaleResourceRDao;
@Override
public SysLocaleLanguage saveSysLocaleLanguage(SysLocaleLanguage lang) {
public SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage lang) {
return sysLocaleLanguageRDao.insert(lang);
}
@ -58,21 +59,19 @@ public class SystemResourceService implements ISystemResourceService {
}
@Override
public List<SysLocaleLanguage> listSysLocaleLanguageByPager(SysLocaleLanguage lang, Pager pager) {
public ListPager<SysLocaleLanguage> listSysLocaleLanguageByPager(SysLocaleLanguage lang, Pager pager) {
if(lang == null) {
pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.listCount());
return sysLocaleLanguageRDao.listPager(pager);
return new ListPager(sysLocaleLanguageRDao.listPager(pager),pager);
}else {
String[] params = new String[]{"languageCode", "languageName", "isDefault"};
Object[] values = new Object[]{lang.getLanguageCode(), lang.getLanguageName(), lang.getIsDefault()};
pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.findByPropertyCount(params,values));
return sysLocaleLanguageRDao.findByPropertyPage(params,values,"order by id asc",pager);
String hqlPack = CoreHqlPack.packHqlSysLocaleLanguage(lang);
pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysLocaleLanguageRDao.findByHqlWherePage(hqlPack + lang.getOrderByParam(),pager),pager);
}
}
@Override
public SysLocaleResource saveSysLocaleResource(SysLocaleResource res) {
public SysLocaleResource insertSysLocaleResource(SysLocaleResource res) {
return sysLocaleResourceRDao.insert(res);
}
@ -87,17 +86,24 @@ public class SystemResourceService implements ISystemResourceService {
}
@Override
public List<SysLocaleResource> listSysLocaleResourceByPager(SysLocaleResource res, Pager pager) {
public void deleteSysLocaleResourceByIds(String[] ids){
for(String idStr : ids){
sysLocaleResourceRDao.deleteById(Long.parseLong(idStr));
}
}
@Override
public ListPager<SysLocaleResource> listSysLocaleResourceByPager(SysLocaleResource res, Pager pager) {
if(res == null){
//不传入实体对象,查询所有
int count = sysLocaleResourceRDao.listCount();
pager = PagerHelper.getPager(pager,count);
return sysLocaleResourceRDao.listPager(pager);
return new ListPager(sysLocaleResourceRDao.listPager(pager),pager);
}else {
String[] params = new String[]{"resourceType", "languageCode", "resourceKey", "resourceValue", "isSystem", "isDefault"};
Object[] values = new Object[]{res.getResourceType(), res.getLanguageCode(), res.getResourceKey(), res.getResourceValue(), res.getIsSystem(), res.getIsDefault()};
pager = PagerHelper.getPager(pager,sysLocaleResourceRDao.findByPropertyCount(params,values));
return sysLocaleResourceRDao.findByPropertyPage(params,values,"order by id asc", pager);
//生成hql查询语句
String hqlPack = CoreHqlPack.packHqlSysLocaleResource(res);
pager = PagerHelper.getPager(pager,sysLocaleResourceRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysLocaleResourceRDao.findByHqlWherePage(hqlPack + res.orderBy(), pager),pager);
}
}

@ -1,3 +1,17 @@
#用户登陆路径
filter.shiro.user.loginuri = /login
#系统管理员登陆路径
filter.shiro.admin.loginuri = /salogin
#运维人员登陆路径
filter.shiro.saadmin.loginuri = /salogin
#用户授权过滤路径
filter.shiro.user.filteruri = /operate/*
#用户授权过滤路径
filter.shiro.admin.filteruri = /adoperate/*
#用户授权过滤路径
filter.shiro.saadmin.filteruri = /saoperate/*
################ 主数据源 ################
# mysql
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver

@ -1,7 +1,7 @@
#项目名称
spring.application.name=${project.name}
#项目端口
server.port=8080
server.port=8081
#使用配置
spring.profiles.active=dev

@ -0,0 +1,15 @@
______ _____ _______ _____ _ _ _____ ____ _____ _
| ____|/ ____|__ __/ ____| | | | |_ _|___ \| __ \| |
| |__ | (___ | | | (___ | |__| | | | __) | |__) | |_ _ ___
| __| \___ \ | | \___ \| __ | | | |__ <| ___/| | | | / __|
| |____ ____) | | | ____) | | | | _ _| |_ ___) | | | | |_| \__ \
|______|_____/ |_| |_____/|_| |_| (_)_____|____/|_| |_|\__,_|___/
_____ __ __ _____ _____ _ _ __
|_ _| \/ | __ \| __ \| | | | / _|
| | | \ / | |__) | |__) | | __ _| |_| |_ ___ _ __ _ __ ___
| | | |\/| | ___/| ___/| |/ _` | __| _/ _ \| '__| '_ ` _ \
_| |_| | | | | | | | | (_| | |_| || (_) | | | | | | | |
|_____|_| |_|_| |_| |_|\__,_|\__|_| \___/|_| |_| |_| |_|
------------------------------------------------------------------->>>
::::: CORE of i3plus Impp framework :::: v1.0.0.Build
------------------------------------------------------------------->>> >>>

@ -2,7 +2,8 @@
<configuration status="WARN">
<!--全局参数-->
<Properties>
<Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n</Property>
<!-- %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n -->
<Property name="pattern">[%-5p] %d{yyyy-MM-dd HH:mm:ss-SSS} %l:%m%n</Property>
</Properties>
<Loggers>
<Root level="${log4j2.level}">

@ -47,11 +47,6 @@
<!-- 外部对象模型 -->
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-factory</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-wms</artifactId>
<version>${project.version}</version>
</dependency>
@ -66,6 +61,12 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-model</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 内部依赖声明 -->
<dependency>
<groupId>i3plus.core</groupId>
@ -109,6 +110,11 @@
<artifactId>shiro-spring</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.4.0</version>
</dependency>
<!-- json -->
<dependency>

Loading…
Cancel
Save