Commit df85524c by WeiCong

版本继续整合

parent 1860e3a6
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<groupId>cn.com.brilliance</groupId> <groupId>cn.com.brilliance</groupId>
<artifactId>eibs-springmvc-support</artifactId> <artifactId>eibs-springmvc-support</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.0.0</version> <version>1.0.1</version>
<name>eibs-springmvc-support</name> <name>eibs-springmvc-support</name>
<repositories><!-- 代码库 --> <repositories><!-- 代码库 -->
<repository> <repository>
......
package org.sss.presentation.noui.common; package org.sss.presentation.noui.common;
public class Constants { public class Constants {
public final static String PARAMS = "params"; public final static String PARAMS = "params";
public final static String DATA = "data"; public final static String DATA = "data";
public final static String DISPLAY = "display"; public final static String DISPLAY = "display";
public final static String ENCODING = "UTF-8"; public final static String ENCODING = "UTF-8";
public final static String USERNAME = "username"; public final static String USERNAME = "username";
public final static String PASSWORD = "password"; public final static String PASSWORD = "password";
public final static String DNCODE = "dncode"; public final static String DNCODE = "dncode";
public final static String SENDCODE = "sendcode"; public final static String SENDCODE = "sendcode";
public final static String VERIFYCODE = "verifycode"; public final static String VERIFYCODE = "verifycode";
public final static String DISPLAY_FILE_NAME = "fileName"; public final static String DISPLAY_FILE_NAME = "fileName";
public final static String MAPPING_PRE = "_"; public final static String MAPPING_PRE = "_";
public final static String SESSION = "session"; public final static String SESSION = "session";
public final static String BACKGROUND_FLAG = "BackGroundRequest-"; public final static String BACKGROUND_FLAG = "BackGroundRequest-";
public static final String PAGINATION = "pagination"; public final static String APP_FLAG = "AppRequest-";
public static final String PAGINATION_INDEX = "index"; public static final String PAGINATION = "pagination";
public static final String PAGINATION_PAGESIZE = "pageSize"; public static final String PAGINATION_INDEX = "index";
public static final String PAGINATION_TOTAL = "total"; public static final String PAGINATION_PAGESIZE = "pageSize";
} public static final String PAGINATION_TOTAL = "total";
}
package org.sss.presentation.noui.context; package org.sss.presentation.noui.context;
import log.Log; import log.Log;
import log.LogFactory; import log.LogFactory;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.hibernate.SQLQuery;
import org.hibernate.Session; import java.io.ByteArrayOutputStream;
import org.hibernate.Transaction; import java.io.PrintStream;
import org.hibernate.engine.spi.SessionImplementor; import java.util.Optional;
import org.sss.module.hibernate.HibernateUtils; import java.util.stream.Stream;
import org.sss.module.pojo.DatabaseUtils;
public class TxInfo {
import java.io.ByteArrayOutputStream; protected static final Log log = LogFactory.getLog(TxInfo.class);
import java.io.PrintStream;
import java.util.Date; public static ThreadLocal<TxInfo> txInfoHolder = new ThreadLocal<>();
import java.util.Optional;
import java.util.stream.Stream; public String txCode;
public String url;
public class TxInfo { public String target;
protected static final Log log = LogFactory.getLog(TxInfo.class);
public static void putTxInfo(String txCode,String url,String target)
public static ThreadLocal<TxInfo> txInfoHolder = new ThreadLocal<>(); {
TxInfo txInfo = new TxInfo();
public String txCode; txInfo.txCode = txCode;
public String url; txInfo.url = url;
public String target; txInfo.target = target;
txInfoHolder.set(txInfo);
public static void putTxInfo(String txCode,String url,String target) }
{ public static TxInfo getTxInfo()
TxInfo txInfo = new TxInfo(); {
txInfo.txCode = txCode; return txInfoHolder.get();
txInfo.url = url; }
txInfo.target = target; public static void releaseCurrTxInfo()
txInfoHolder.set(txInfo); {
} txInfoHolder.remove();
public static TxInfo getTxInfo() }
{
return txInfoHolder.get(); /**
} * 记录异常信息
public static void releaseCurrTxInfo() * @param e
{ */
txInfoHolder.remove(); public static void recordException(Throwable e) {
} /*TxInfo txInfo = getTxInfo();
Session session = HibernateUtils.openSession(null);
/** long count = DatabaseUtils.executeCounter(((SessionImplementor) session).connection(),"dealog");
* 记录异常信息 String inr = String.format("%08d",count);
* @param e Transaction transaction = session.beginTransaction();
*/ SQLQuery sqlQuery = session.createSQLQuery("insert into dealog(INR,CREDATTIM,SRVCOD,SRVNAM,INIFRM,RTNMSG,LOGLEV) values(?,?,?,?,?,?,?)");
public static void recordException(Throwable e) { sqlQuery.setString(0,inr);
TxInfo txInfo = getTxInfo(); sqlQuery.setTimestamp(1,new Date());
Session session = HibernateUtils.openSession(null); String srvcod = txInfo.url.replace("/_","-");
long count = DatabaseUtils.executeCounter(((SessionImplementor) session).connection(),"dealog"); sqlQuery.setString(2,srvcod);
String inr = String.format("%08d",count); sqlQuery.setString(3,srvcod);
Transaction transaction = session.beginTransaction(); sqlQuery.setString(4,txInfo.txCode);
SQLQuery sqlQuery = session.createSQLQuery("insert into dealog(INR,CREDATTIM,SRVCOD,SRVNAM,INIFRM,RTNMSG,LOGLEV) values(?,?,?,?,?,?,?)"); sqlQuery.setString(5,genMessage(e));
sqlQuery.setString(0,inr); sqlQuery.setString(6,"error");
sqlQuery.setTimestamp(1,new Date()); sqlQuery.executeUpdate();
String srvcod = txInfo.url.replace("/_","-"); transaction.commit();
sqlQuery.setString(2,srvcod); session.close();
sqlQuery.setString(3,srvcod); log.debug("完成异常日志记录");*/
sqlQuery.setString(4,txInfo.txCode); }
sqlQuery.setString(5,genMessage(e)); private static String genMessage(Throwable e)
sqlQuery.setString(6,"error"); {
sqlQuery.executeUpdate(); while(e.getCause() != null)
transaction.commit(); e = e.getCause();
session.close(); ByteArrayOutputStream bos = new ByteArrayOutputStream();
log.debug("完成异常日志记录"); PrintStream ps = new PrintStream(bos);
} e.printStackTrace(ps);
private static String genMessage(Throwable e) String mesg = bos.toString();
{ IOUtils.closeQuietly(ps);
while(e.getCause() != null) IOUtils.closeQuietly(bos);
e = e.getCause(); String[] lines = mesg.split("[\r\n]{1,2}");
ByteArrayOutputStream bos = new ByteArrayOutputStream(); Optional<String> rs = Stream.of(lines).filter(str->{
PrintStream ps = new PrintStream(bos); return str.charAt(0) != '\t' || (str.indexOf("brilliance")>0 || str.indexOf(".noui.")>0);
e.printStackTrace(ps); }).reduce((acc,item)->{
String mesg = bos.toString(); return acc+'\n'+item;
IOUtils.closeQuietly(ps); });
IOUtils.closeQuietly(bos); return rs.get();
String[] lines = mesg.split("[\r\n]{1,2}"); }
Optional<String> rs = Stream.of(lines).filter(str->{ }
return str.charAt(0) != '\t' || (str.indexOf("brilliance")>0 || str.indexOf(".noui.")>0);
}).reduce((acc,item)->{
return acc+'\n'+item;
});
return rs.get();
}
}
...@@ -72,8 +72,10 @@ public abstract class AbstractCommonController { ...@@ -72,8 +72,10 @@ public abstract class AbstractCommonController {
} }
// 设置old sysmod // 设置old sysmod
RedisLoginInfo redisLoginInfo = null; RedisLoginInfo redisLoginInfo = null;
if (!StringUtils.isEmpty(noUiRequest.getUserId())) //开放模式下 if (!StringUtils.isEmpty(noUiRequest.getUserId())){
//开放模式下
redisLoginInfo = (RedisLoginInfo) EhcacheUtils.get(StringUtil.userUniqueId(noUiRequest)); redisLoginInfo = (RedisLoginInfo) EhcacheUtils.get(StringUtil.userUniqueId(noUiRequest));
}
if (redisLoginInfo != null) { if (redisLoginInfo != null) {
NoUiPresentationUtil.setSysmod(context, (byte[]) redisLoginInfo.getSysmod()); NoUiPresentationUtil.setSysmod(context, (byte[]) redisLoginInfo.getSysmod());
context.setRedisLoginInfo(redisLoginInfo); context.setRedisLoginInfo(redisLoginInfo);
......
...@@ -25,6 +25,7 @@ public class ResourceAccessFilter implements Filter { ...@@ -25,6 +25,7 @@ public class ResourceAccessFilter implements Filter {
private static final String _403_JSON = "{\"code\": \"403\", \"msg\": \"Access Forbidden, Unauthorized!\"}"; private static final String _403_JSON = "{\"code\": \"403\", \"msg\": \"Access Forbidden, Unauthorized!\"}";
private static final String _403_HTML = "<html><body><div style='text-align:center'><h1 style='margin-top: 10px;'>Access Forbidden, Unauthorized!</h1></div></body></html>"; private static final String _403_HTML = "<html><body><div style='text-align:center'><h1 style='margin-top: 10px;'>Access Forbidden, Unauthorized!</h1></div></body></html>";
private static final String DSPPTH = "/data/dsp/"; private static final String DSPPTH = "/data/dsp/";
private static final String[] empty_array = new String[0];
public static String[] pdfpth; public static String[] pdfpth;
public static String[] exclude; public static String[] exclude;
...@@ -113,7 +114,6 @@ public class ResourceAccessFilter implements Filter { ...@@ -113,7 +114,6 @@ public class ResourceAccessFilter implements Filter {
} }
private String needPdfsFilter(String uri) { private String needPdfsFilter(String uri) {
for (String pdf : pdfpth) { for (String pdf : pdfpth) {
if (uri.contains(pdf)) { if (uri.contains(pdf)) {
...@@ -175,11 +175,15 @@ public class ResourceAccessFilter implements Filter { ...@@ -175,11 +175,15 @@ public class ResourceAccessFilter implements Filter {
} }
public void init(FilterConfig filterConfig) { public void init(FilterConfig filterConfig) {
if (filterConfig.getInitParameter("pdfpth") != null) { if (!StringUtil.isEmpty(filterConfig.getInitParameter("pdfpth"))) {
pdfpth = filterConfig.getInitParameter("pdfpth").split(";"); pdfpth = filterConfig.getInitParameter("pdfpth").split(";");
} else {
pdfpth = empty_array;
} }
if (!StringUtil.isEmpty(filterConfig.getInitParameter("exclude"))) { if (!StringUtil.isEmpty(filterConfig.getInitParameter("exclude"))) {
exclude = filterConfig.getInitParameter("exclude").split(";"); exclude = filterConfig.getInitParameter("exclude").split(";");
} else {
exclude = empty_array;
} }
} }
......
...@@ -51,6 +51,11 @@ public class TokenInterceptor implements HandlerInterceptor { ...@@ -51,6 +51,11 @@ public class TokenInterceptor implements HandlerInterceptor {
if (token.startsWith(Constants.BACKGROUND_FLAG)) { if (token.startsWith(Constants.BACKGROUND_FLAG)) {
return true; return true;
} }
//服务调用
if (token.startsWith(Constants.APP_FLAG)) {
return true;
}
JwtLogin login = JWT.unsign(token, JwtLogin.class); JwtLogin login = JWT.unsign(token, JwtLogin.class);
if (login == null || (!userId.equals((login.getUserId())))) { if (login == null || (!userId.equals((login.getUserId())))) {
......
...@@ -44,7 +44,7 @@ public class EhcacheUtils { ...@@ -44,7 +44,7 @@ public class EhcacheUtils {
EhCacheCacheManager ehCacheCacheManager = null; EhCacheCacheManager ehCacheCacheManager = null;
try { try {
if (cacheManager == null) { if (cacheManager == null) {
ehCacheCacheManager = SpringContextHolder.getBean(EhCacheCacheManager.class); ehCacheCacheManager = SpringContextHolder.getBean("ehcacheManager");
cacheManager = ehCacheCacheManager.getCacheManager(); cacheManager = ehCacheCacheManager.getCacheManager();
} }
} catch (Exception e) { } catch (Exception e) {
......
...@@ -14,6 +14,15 @@ ...@@ -14,6 +14,15 @@
</property> </property>
</bean> </bean>
<!--cacheManager工厂类,指定ehcache.xml的位置-->
<bean id="ehcacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
</bean>
<!--声明cacheManager-->
<bean id="ehcacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcacheManagerFactory"/>
</bean>
<bean id="springContextHolder" class="org.sss.presentation.noui.util.SpringContextHolder"/> <bean id="springContextHolder" class="org.sss.presentation.noui.util.SpringContextHolder"/>
</beans> </beans>
\ No newline at end of file
...@@ -39,15 +39,7 @@ ...@@ -39,15 +39,7 @@
<property name="rootFilePath" value="" /> <property name="rootFilePath" value="" />
</bean> </bean>
<!--cacheManager工厂类,指定ehcache.xml的位置-->
<bean id="ehcacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
</bean>
<!--声明cacheManager-->
<bean id="ehcacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcacheManagerFactory"/>
</bean>
<mvc:default-servlet-handler /> <mvc:default-servlet-handler />
<mvc:interceptors> <mvc:interceptors>
......
package.base=com.brilliance.eibs.etrade
subpackage.trans=trans
subpackage.module=module
...@@ -82,8 +82,7 @@ ...@@ -82,8 +82,7 @@
</init-param> </init-param>
<init-param> <init-param>
<param-name>exclude</param-name> <param-name>exclude</param-name>
<param-value> <param-value></param-value>
</param-value>
</init-param> </init-param>
</filter> </filter>
<filter-mapping> <filter-mapping>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment