package com.shlanbao.tzsc.utils.tools;
|
|
import com.shlanbao.tzsc.base.model.SessionInfo;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpSession;
|
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.Method;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author: sunzhen
|
* @date: 2019/7/31
|
* @time: 18:18
|
* @description: 填充用户信息(创建人、创建时间、修改人、修改时间)工具类
|
*/
|
@SuppressWarnings("all")
|
public class FillUserInfoUtil {
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-07-31 18:24
|
* @param: obj
|
* @param: request
|
* @return: void
|
* @throws:
|
* @description: 从request中获取创建人、创建时间信息通过反射填充到obj对象中
|
*/
|
public static void fillCreateUserInfo(Object obj, HttpServletRequest request){
|
try {
|
//从session中获取到当前登录者的信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
Class<?> clazz = obj.getClass();
|
Method setCreateUserName = clazz.getMethod("setCreateUserName", String.class);
|
Method setCreateUserTime = clazz.getMethod("setCreateUserTime", Date.class);
|
setCreateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setCreateUserTime.invoke(obj,new Date());
|
Method setUpdateUserName = clazz.getMethod("setUpdateUserName", String.class);
|
Method setUpdateUserTime = clazz.getMethod("setUpdateUserTime", Date.class);
|
setUpdateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setUpdateUserTime.invoke(obj,new Date());
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
} catch (NoSuchMethodException e) {
|
e.printStackTrace();
|
} catch (InvocationTargetException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-07-31 18:24
|
* @param: obj
|
* @param: request
|
* @return: void
|
* @throws:
|
* @description: 从request中获取创建人、创建时间信息通过反射填充到obj对象中
|
*/
|
public static void fillCreateUserInfo(Object obj, HttpSession session){
|
try {
|
//从session中获取到当前登录者的信息
|
SessionInfo sessionInfo = (SessionInfo) session.getAttribute("sessionInfo");
|
Class<?> clazz = obj.getClass();
|
Method setCreateUserName = clazz.getMethod("setCreateUserName", String.class);
|
Method setCreateUserTime = clazz.getMethod("setCreateUserTime", Date.class);
|
setCreateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setCreateUserTime.invoke(obj,new Date());
|
Method setUpdateUserName = clazz.getMethod("setUpdateUserName", String.class);
|
Method setUpdateUserTime = clazz.getMethod("setUpdateUserTime", Date.class);
|
setUpdateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setUpdateUserTime.invoke(obj,new Date());
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
} catch (NoSuchMethodException e) {
|
e.printStackTrace();
|
} catch (InvocationTargetException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-07-31 18:24
|
* @param: obj
|
* @param: request
|
* @return: void
|
* @throws:
|
* @description: 从request中获取修改人、修改时间信息通过反射填充到obj对象中
|
*/
|
public static void fillUpdateUserInfo(Object obj, HttpServletRequest request){
|
try {
|
//从session中获取到当前登录者的信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
Class<?> clazz = obj.getClass();
|
Method setUpdateUserName = clazz.getMethod("setUpdateUserName", String.class);
|
Method setUpdateUserTime = clazz.getMethod("setUpdateUserTime", Date.class);
|
setUpdateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setUpdateUserTime.invoke(obj,new Date());
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
} catch (NoSuchMethodException e) {
|
e.printStackTrace();
|
} catch (InvocationTargetException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-07-31 18:24
|
* @param: obj
|
* @param: request
|
* @return: void
|
* @throws:
|
* @description: 从request中获取修改人、修改时间信息通过反射填充到obj对象中
|
*/
|
public static void fillUpdateUserInfo(Object obj, HttpSession session){
|
try {
|
//从session中获取到当前登录者的信息
|
SessionInfo sessionInfo = (SessionInfo) session.getAttribute("sessionInfo");
|
Class<?> clazz = obj.getClass();
|
Method setUpdateUserName = clazz.getMethod("setUpdateUserName", String.class);
|
Method setUpdateUserTime = clazz.getMethod("setUpdateUserTime", Date.class);
|
setUpdateUserName.invoke(obj,sessionInfo.getUser().getName());
|
setUpdateUserTime.invoke(obj,new Date());
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
} catch (NoSuchMethodException e) {
|
e.printStackTrace();
|
} catch (InvocationTargetException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-08-14 9:08
|
* @param: s
|
* @param: t
|
* @return: void
|
* @throws:
|
* @description: 将对象s中的创建与修改信息填充到对象t中
|
*/
|
public static void fillCreateAndUpdateUserInfo(Object s, Object t){
|
try {
|
Class<?> clazzS = s.getClass();
|
Class<?> clazzT = t.getClass();
|
Method getCreateUserName = clazzS.getMethod("getCreateUserName");
|
Method getCreateUserTime = clazzS.getMethod("getCreateUserTime");
|
Method setCreateUserName = clazzT.getMethod("setCreateUserName", String.class);
|
Method setCreateUserTime = clazzT.getMethod("setCreateUserTime", Date.class);
|
setCreateUserName.invoke(t,getCreateUserName.invoke(s));
|
setCreateUserTime.invoke(t,getCreateUserTime.invoke(s));
|
Method getUpdateUserName = clazzS.getMethod("getUpdateUserName");
|
Method getUpdateUserTime = clazzS.getMethod("getUpdateUserTime");
|
Method setUpdateUserName = clazzT.getMethod("setUpdateUserName", String.class);
|
Method setUpdateUserTime = clazzT.getMethod("setUpdateUserTime", Date.class);
|
setUpdateUserName.invoke(t,getUpdateUserName.invoke(s));
|
setUpdateUserTime.invoke(t,getUpdateUserTime.invoke(s));
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
} catch (NoSuchMethodException e) {
|
e.printStackTrace();
|
} catch (InvocationTargetException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* @author: sunzhen
|
* @date: 2019-08-14 9:08
|
* @return: void
|
* @throws:
|
* @description: 将集合query中的创建与修改信息填充到集合rows中
|
*/
|
public static void fillCreateAndUpdateUserInfoByLists(List query, List rows){
|
for (int i=0;i<query.size();i++){
|
FillUserInfoUtil.fillCreateAndUpdateUserInfo(query.get(i),rows.get(i));
|
}
|
}
|
|
}
|