Browse Source

feat:接口调用日志

Joburgess 4 years ago
parent
commit
d935deefde

+ 14 - 0
mec-common/audit-log/src/main/java/com/yonge/log/dal/model/AuditLog.java

@@ -28,6 +28,20 @@ public class AuditLog implements Serializable {
 
 	private String userIp;
 
+	private String token;
+
+	public static long getSerialVersionUID() {
+		return serialVersionUID;
+	}
+
+	public String getToken() {
+		return token;
+	}
+
+	public void setToken(String token) {
+		this.token = token;
+	}
+
 	public String getId() {
 		return id;
 	}

+ 12 - 1
mec-common/audit-log/src/main/java/com/yonge/log/interceptor/AuditLogInterceptor.java

@@ -5,13 +5,16 @@ import java.nio.charset.Charset;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
@@ -29,6 +32,9 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 	@Autowired
 	private AuditLogService auditLogService;
 
+	@Value("${spring.application.name}")
+	private String clientName;
+
 	private String username;
 
 	private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -48,7 +54,12 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 		if (anno != null) {
 			AuditLog auditLog = new AuditLog();
 			auditLog.setOperateName(anno.operateName());
-			auditLog.setInterfaceUrl(anno.interfaceURL());
+			if(StringUtils.isNotBlank(anno.interfaceURL())){
+				auditLog.setInterfaceUrl(anno.interfaceURL());
+			}else{
+				auditLog.setInterfaceUrl(request.getRequestURI());
+			}
+			auditLog.setToken(request.getHeader("Authorization"));
 			auditLog.setUserIp(WebUtil.getRemoteIp(request));
 
 			Map<String, Object> params = WebUtil.getParameterMap(request);

+ 1 - 1
mec-common/audit-log/src/main/java/com/yonge/log/model/AuditLogAnnotation.java

@@ -11,6 +11,6 @@ public @interface AuditLogAnnotation {
 
 	String operateName();
 
-	String interfaceURL();
+	String interfaceURL() default "";
 
 }

+ 5 - 0
mec-student/pom.xml

@@ -57,6 +57,11 @@
 			<groupId>com.ym</groupId>
 			<artifactId>mec-biz</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>com.yonge.log</groupId>
+			<artifactId>audit-log</artifactId>
+		</dependency>
     </dependencies>
 	<build>
 		<plugins>

+ 2 - 0
mec-student/src/main/java/com/ym/mec/student/controller/ExtracurricularExercisesReplyController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
 import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +55,7 @@ public class ExtracurricularExercisesReplyController extends BaseController {
 
     @ApiOperation(value = "提交课外训练作业")
     @GetMapping("/submitExtraExercise")
+    @AuditLogAnnotation(operateName = "提交课外训练作业")
     public HttpResponseResult submitExtraExercise(ExtracurricularExercisesReply extracurricularExercisesReply){
         extracurricularExercisesReplyService.submitExtraExercise(extracurricularExercisesReply);
         return succeed();

+ 5 - 0
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -21,6 +21,7 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.http.HttpUtil;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -144,6 +145,7 @@ public class PracticeGroupController extends BaseController {
 
     @ApiOperation("陪练课预约")
     @PostMapping(value = "/practiceApply")
+    @AuditLogAnnotation(operateName = "陪练课预约")
     public Object practiceApply(PracticeGroup practiceGroup){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -204,6 +206,7 @@ public class PracticeGroupController extends BaseController {
 
     @ApiOperation("陪练课购买")
     @PostMapping(value = "/buyPracticeGroup")
+    @AuditLogAnnotation(operateName = "陪练课购买")
     public HttpResponseResult buyPracticeGroup(@RequestBody PracticeGroupBuyDto practiceGroupBuyParams){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -234,6 +237,7 @@ public class PracticeGroupController extends BaseController {
 
     @ApiOperation("重新支付")
     @PostMapping(value = "/repay")
+    @AuditLogAnnotation(operateName = "重新支付")
     public HttpResponseResult repay(Integer groupId, boolean useBalancePayment) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -336,6 +340,7 @@ public class PracticeGroupController extends BaseController {
 
     @ApiOperation("取消待支付的订单")
     @PostMapping(value = "/cancelWaitPayOrder")
+    @AuditLogAnnotation(operateName = "取消待支付的订单")
     public HttpResponseResult cancelWaitPayOrder(Integer groupId){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {

+ 4 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java

@@ -12,6 +12,7 @@ import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,7 @@ public class StudentCourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "提交作业")
     @PostMapping(value = "/add",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @AuditLogAnnotation(operateName = "提交作业")
     public Object add(@RequestBody StudentCourseHomework studentCourseHomework){
         studentCourseHomeworkService.add(studentCourseHomework);
         return succeed();
@@ -48,6 +50,7 @@ public class StudentCourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "重新提交")
     @PostMapping(value = "/update",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @AuditLogAnnotation(operateName = "重新提交")
     public Object update(@RequestBody StudentCourseHomework studentCourseHomework){
         studentCourseHomework.setStatus(YesOrNoEnum.YES);
         studentCourseHomework.setId(studentCourseHomework.getCourseHomeworkId());
@@ -58,6 +61,7 @@ public class StudentCourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "重新提交-公用")
     @PostMapping(value = "/updatePublic",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @AuditLogAnnotation(operateName = "重新提交-公用")
     public Object updatePublic(@RequestBody StudentCourseHomework studentCourseHomework){
         if(!studentCourseHomework.isExtra()){
             studentCourseHomework.setStatus(YesOrNoEnum.YES);

+ 2 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkReplyController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.service.ExtracurricularExercisesMessageService;
 import com.ym.mec.biz.service.StudentCourseHomeworkReplyService;
 import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -65,6 +66,7 @@ public class StudentCourseHomeworkReplyController extends BaseController {
 
     @ApiOperation(value = "新增回复-公用")
     @PostMapping("/addPublic")
+    @AuditLogAnnotation(operateName = "新增回复-公用")
     public Object addPublic(@RequestBody StudentCourseHomeworkReply studentCourseHomeworkReply) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {

+ 2 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseScheduleController.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -63,6 +64,7 @@ public class StudentCourseScheduleController extends BaseController {
 
 	@ApiOperation(value = "请假")
 	@PostMapping("/leave")
+	@AuditLogAnnotation(operateName = "请假")
 	public Object leave(Long courseScheduleId, String reason) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (user == null) {

+ 3 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentVipGroupController.java

@@ -15,6 +15,7 @@ import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,6 +95,7 @@ public class StudentVipGroupController extends BaseController {
 
     @ApiOperation(value = "vip课购买")
     @PostMapping("/buyVipGroup")
+    @AuditLogAnnotation(operateName = "vip课购买")
     public Object buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (null == sysUser) {
@@ -116,6 +118,7 @@ public class StudentVipGroupController extends BaseController {
 
     @ApiOperation(value = "vip课退课")
     @PostMapping("/applyRefund")
+    @AuditLogAnnotation(operateName = "vip课退课")
 	public Object applyRefund(Long vipGroupId) {
 		vipGroupService.applyRefund(vipGroupId);
 		return succeed();

+ 5 - 0
mec-teacher/pom.xml

@@ -60,6 +60,11 @@
 			<groupId>com.ym</groupId>
 			<artifactId>mec-biz</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>com.yonge.log</groupId>
+			<artifactId>audit-log</artifactId>
+		</dependency>
     </dependencies>
 	<build>
 		<plugins>

+ 2 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +44,7 @@ public class CourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "布置课堂作业")
     @GetMapping("/addCourseHomework")
+    @AuditLogAnnotation(operateName = "布置课堂作业")
     public HttpResponseResult addCourseHomework(CourseHomework courseHomework){
         courseHomeworkService.addCourseHomework(courseHomework);
         return succeed();

+ 3 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.biz.service.TeacherAttendanceService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,7 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "新增教师签到")
     @PostMapping("/add")
+    @AuditLogAnnotation(operateName = "新增教师签到")
     public Object add(@RequestBody TeacherSignOutDto teacherSignOutDto) {
         return succeed(teacherAttendanceService.addTeacherAttendanceRecord(teacherSignOutDto));
     }
@@ -54,6 +56,7 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "点名")
     @PostMapping("/addStudentAttendances")
+    @AuditLogAnnotation(operateName = "点名")
     public Object addStudentAttendances(@RequestBody StudentAttendanceDto studentAttendanceInfo){
         return succeed(studentAttendanceService.addStudentAttendances(studentAttendanceInfo));
     }

+ 2 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java

@@ -15,6 +15,7 @@ import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.date.DateUtil;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -50,6 +51,7 @@ public class TeacherVipGroupController extends BaseController {
 
 	@ApiOperation("vip课申请")
 	@PostMapping("/vipGroupApply")
+	@AuditLogAnnotation(operateName = "vip课申请")
 	public Object vipGroupApply(@RequestBody VipGroupApplyDto vipGroupApplyDto) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (Objects.isNull(user)) {

+ 2 - 0
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -21,6 +21,7 @@ import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -140,6 +141,7 @@ public class VipGroupManageController extends BaseController {
     @ApiOperation(value = "全查询")
     @GetMapping("/queryAll")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/queryAll')")
+    @AuditLogAnnotation(operateName = "全查询")
     public Object queryAll(VipGroupQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {