|
@@ -1,132 +1,129 @@
|
|
package cn.com.qmth.stmms.ms.log;
|
|
package cn.com.qmth.stmms.ms.log;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
|
-import javax.servlet.http.HttpSession;
|
|
|
|
-
|
|
|
|
-import cn.com.qmth.stmms.ms.accesscontrol.config.LoginConfig;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.user.AbstractUser;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.user.Admin;
|
|
|
|
-
|
|
|
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.MarkLog;
|
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
|
|
|
|
+import cn.com.qmth.stmms.ms.core.repository.MarkLogRepo;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import org.aspectj.lang.JoinPoint;
|
|
import org.aspectj.lang.JoinPoint;
|
|
import org.aspectj.lang.annotation.AfterReturning;
|
|
import org.aspectj.lang.annotation.AfterReturning;
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
import org.aspectj.lang.annotation.Pointcut;
|
|
import org.aspectj.lang.annotation.Pointcut;
|
|
|
|
+import org.aspectj.lang.reflect.MethodSignature;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
-import org.springframework.util.StringUtils;
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.MarkLog;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.MarkStage;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.Paper;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.task.MarkTask;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.MarkLogRepo;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.MarkUserRepo;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import javax.servlet.http.HttpSession;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
- *
|
|
|
|
- * @Description: 操作记录
|
|
|
|
- * @author ting.yin
|
|
|
|
- * @date 2016年10月24日
|
|
|
|
|
|
+ * @Description: 纪检审查aop
|
|
|
|
+ * @Param:
|
|
|
|
+ * @return:
|
|
|
|
+ * @Author: wangliang
|
|
|
|
+ * @Date: 2019/10/19
|
|
*/
|
|
*/
|
|
@Aspect
|
|
@Aspect
|
|
@Component
|
|
@Component
|
|
public class MarkLogAop {
|
|
public class MarkLogAop {
|
|
|
|
|
|
- private static Logger logger = LoggerFactory.getLogger(MarkLogAop.class);
|
|
|
|
|
|
+ private static Logger LOGGER = LoggerFactory.getLogger(MarkLogAop.class);
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private MarkLogRepo markLogRepo;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- private MarkUserRepo markUserRepo;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- private PaperRepo paperRepo;
|
|
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private LoginConfig loginConfig;
|
|
|
|
|
|
+ private MarkLogRepo markLogRepo;
|
|
|
|
+
|
|
|
|
+// @Autowired
|
|
|
|
+// private MarkUserRepo markUserRepo;
|
|
|
|
+//
|
|
|
|
+// @Autowired
|
|
|
|
+// private PaperRepo paperRepo;
|
|
|
|
+//
|
|
|
|
+// @Autowired
|
|
|
|
+// private LoginConfig loginConfig;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 评卷员切入点
|
|
|
|
|
|
+ * 分档切入点
|
|
*/
|
|
*/
|
|
- @Pointcut("execution(* cn.com.qmth.stmms.ms.marking.api.MarkTaskApi.marking(..))")
|
|
|
|
- public void getTask() {
|
|
|
|
- }
|
|
|
|
|
|
+ @Pointcut("execution(* cn.com.qmth.stmms.ms.marking.api.MarkTaskApi.marking(..))")
|
|
|
|
+ public void getMarkAspect() {
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 评卷员切入方法
|
|
* 评卷员切入方法
|
|
|
|
+ *
|
|
* @param joinPoint
|
|
* @param joinPoint
|
|
*/
|
|
*/
|
|
- @AfterReturning(pointcut = "getTask()")
|
|
|
|
- public void afterMarkPoint(JoinPoint joinPoint) {
|
|
|
|
-// MarkTask markTask = (MarkTask) joinPoint.getArgs()[0];
|
|
|
|
-// MarkUser markUser = markUserRepo.findOne(markTask.getMarkerId());
|
|
|
|
-// MarkLog markLog = new MarkLog(markTask.getWorkId(),
|
|
|
|
-// markTask.getStage(),
|
|
|
|
-// markUser.getLoginName(),
|
|
|
|
-// markUser.getName(),
|
|
|
|
-// markTask.getPaper().getExamNumber(),
|
|
|
|
-// markTask.getPaper().getSecretNumber(),
|
|
|
|
-// markTask.getResult());
|
|
|
|
-// markLogRepo.save(markLog);
|
|
|
|
-// String info = markUser.getLoginName() + ":" + markUser.getName() + ":" + markTask.getSubject() +
|
|
|
|
-// ":" + markTask.getPaper().getId() + ":" + markTask.getResult();
|
|
|
|
-// logger.info(info);
|
|
|
|
- }
|
|
|
|
|
|
+ @AfterReturning(value = "getMarkAspect()", returning = "result")
|
|
|
|
+ public void afterReturnMarkPoint(JoinPoint joinPoint, Object result) throws Exception {
|
|
|
|
+ String className = joinPoint.getSignature().getDeclaringTypeName();
|
|
|
|
+ String methodName = joinPoint.getSignature().getName();
|
|
|
|
+ LOGGER.info("mark aspect afterReturnMarkPoint path:{}", className + "." + methodName);
|
|
|
|
+ ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
|
+ HttpServletRequest request = attributes.getRequest();
|
|
|
|
+ HttpSession session = request.getSession();
|
|
|
|
+ String token = (String) session.getAttribute("token");
|
|
|
|
+ if (Objects.isNull(token)) {
|
|
|
|
+ throw new Exception("请先登录");
|
|
|
|
+ }
|
|
|
|
+ MarkUser markUser = (MarkUser) session.getAttribute("markUser");
|
|
|
|
+ LOGGER.info("markUser:{}", JSONObject.toJSONString(markUser));
|
|
|
|
+ Object[] args = joinPoint.getArgs(); // 参数值
|
|
|
|
+ String[] argNames = ((MethodSignature) joinPoint.getSignature()).getParameterNames();//参数名
|
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(args.toString());
|
|
|
|
+ LOGGER.info("args:{},argNames:{}", jsonObject, JSONObject.toJSONString(argNames));
|
|
|
|
+ MarkLog markLog = new MarkLog();
|
|
|
|
+ markLogRepo.save(markLog);
|
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
|
|
|
|
|
- @Pointcut("execution(* cn.com.qmth.stmms.ms.marking.api.PaperApi.marking(..))")
|
|
|
|
- public void getPaper() {
|
|
|
|
- }
|
|
|
|
|
|
+ /**
|
|
|
|
|
|
- @AfterReturning(pointcut = "getPaper()")
|
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
|
- public void afterLevelMarkPaperPoint(JoinPoint joinPoint) {
|
|
|
|
- Paper paper = (Paper) joinPoint.getArgs()[0];
|
|
|
|
- HashMap<String,String> body = (HashMap<String, String>) joinPoint.getArgs()[1];
|
|
|
|
- String level = body.get("level");
|
|
|
|
- HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
|
|
|
|
- .getRequestAttributes()).getRequest();
|
|
|
|
- HttpSession session = request.getSession();
|
|
|
|
- String token = (String) session.getAttribute("token");
|
|
|
|
- if (!StringUtils.isEmpty(token)) {
|
|
|
|
- String loginName = token.substring(14);
|
|
|
|
- AbstractUser user = null;
|
|
|
|
- if(loginConfig.getLoginName().equals(loginName)){
|
|
|
|
- user = new Admin(loginConfig.getLoginName(),loginConfig.getPassword());
|
|
|
|
- user.setName("系统管理员");
|
|
|
|
- }
|
|
|
|
- else{
|
|
|
|
- user = markUserRepo.findByLoginName(loginName);
|
|
|
|
- }
|
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(),
|
|
|
|
- MarkStage.LEVEL,
|
|
|
|
- user.getLoginName(),
|
|
|
|
- user.getName(),
|
|
|
|
- paper.getExamNumber(),
|
|
|
|
- paper.getSecretNumber(),
|
|
|
|
- level);
|
|
|
|
- markLogRepo.save(markLog);
|
|
|
|
- }else{
|
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(),
|
|
|
|
- MarkStage.LEVEL,
|
|
|
|
- null,
|
|
|
|
- "科组长",
|
|
|
|
- paper.getExamNumber(),
|
|
|
|
- paper.getSecretNumber(),
|
|
|
|
- level);
|
|
|
|
- markLogRepo.save(markLog);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- **/
|
|
|
|
|
|
+ @Pointcut("execution(* cn.com.qmth.stmms.ms.marking.api.PaperApi.marking(..))")
|
|
|
|
+ public void getPaper() {
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @AfterReturning(pointcut = "getPaper()")
|
|
|
|
+ @SuppressWarnings("unchecked") public void afterLevelMarkPaperPoint(JoinPoint joinPoint) {
|
|
|
|
+ Paper paper = (Paper) joinPoint.getArgs()[0];
|
|
|
|
+ HashMap<String,String> body = (HashMap<String, String>) joinPoint.getArgs()[1];
|
|
|
|
+ String level = body.get("level");
|
|
|
|
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
|
|
|
|
+ .getRequestAttributes()).getRequest();
|
|
|
|
+ HttpSession session = request.getSession();
|
|
|
|
+ String token = (String) session.getAttribute("token");
|
|
|
|
+ if (!StringUtils.isEmpty(token)) {
|
|
|
|
+ String loginName = token.substring(14);
|
|
|
|
+ AbstractUser user = null;
|
|
|
|
+ if(loginConfig.getLoginName().equals(loginName)){
|
|
|
|
+ user = new Admin(loginConfig.getLoginName(),loginConfig.getPassword());
|
|
|
|
+ user.setName("系统管理员");
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ user = markUserRepo.findByLoginName(loginName);
|
|
|
|
+ }
|
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(),
|
|
|
|
+ MarkStage.LEVEL,
|
|
|
|
+ user.getLoginName(),
|
|
|
|
+ user.getName(),
|
|
|
|
+ paper.getExamNumber(),
|
|
|
|
+ paper.getSecretNumber(),
|
|
|
|
+ level);
|
|
|
|
+ markLogRepo.save(markLog);
|
|
|
|
+ }else{
|
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(),
|
|
|
|
+ MarkStage.LEVEL,
|
|
|
|
+ null,
|
|
|
|
+ "科组长",
|
|
|
|
+ paper.getExamNumber(),
|
|
|
|
+ paper.getSecretNumber(),
|
|
|
|
+ level);
|
|
|
|
+ markLogRepo.save(markLog);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ **/
|
|
|
|
|
|
}
|
|
}
|