yonge 4 年 前
コミット
e4c7a0e8b2

+ 5 - 0
cms/pom.xml

@@ -62,6 +62,11 @@
 			<groupId>com.ym</groupId>
 			<artifactId>mec-client-api</artifactId>
 		</dependency>
+		
+		<dependency>
+			<groupId>com.yonge.log</groupId>
+			<artifactId>audit-log</artifactId>
+		</dependency>
 	</dependencies>
 	
 	<build>

+ 1 - 1
cms/src/main/java/com/ym/mec/cms/CmsServerApplication.java

@@ -17,7 +17,7 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 @EnableDiscoveryClient
 @EnableFeignClients("com.ym.mec")
 @MapperScan("com.ym.mec.cms.dal.dao")
-@ComponentScan(basePackages = { "com.ym.mec.cms", "com.ym.mec.im", "com.ym.mec.auth", "com.ym.mec.common.config", "com.ym.mec.common.security" })
+@ComponentScan(basePackages = { "com.ym.mec.cms", "com.ym.mec.im", "com.ym.mec.auth", "com.ym.mec.common.config", "com.ym.mec.common.security", "com.yonge.log" })
 @Configuration
 @EnableSwagger2Doc
 public class CmsServerApplication {

+ 11 - 0
cms/src/main/java/com/ym/mec/cms/config/WebMvcConfig.java

@@ -3,18 +3,24 @@ package com.ym.mec.cms.config;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
+import com.ym.mec.cms.interceptor.OperationLogInterceptor;
 import com.ym.mec.common.config.EnumConverterFactory;
 import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
+	
+	@Autowired
+	private OperationLogInterceptor operationLogInterceptor;
 
 	/**
 	 * 枚举类的转换器 addConverterFactory
@@ -24,6 +30,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		registry.addConverterFactory(new EnumConverterFactory());
 	}
 	
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
+	}
+
 	@Bean
     public HttpMessageConverters fastJsonHttpMessageConverters(){
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();

+ 3 - 0
cms/src/main/java/com/ym/mec/cms/controller/HelpCenterCatalogController.java

@@ -20,6 +20,7 @@ import com.ym.mec.cms.dal.entity.HelpCenterCatalog;
 import com.ym.mec.cms.service.HelpCenterCatalogService;
 import com.ym.mec.cms.service.HelpCenterContentService;
 import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
 
 @RestController
 @RequestMapping("helpCenterCatalog")
@@ -52,6 +53,7 @@ public class HelpCenterCatalogController extends BaseController {
 
 	@ApiOperation("修改分类")
 	@PostMapping(value = "modify", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@AuditLogAnnotation(operateName = "帮助中心分类修改",interfaceURL = "helpCenterCatalog/modify")
 	public Object modifyHelpCatalog(HelpCenterCatalog helpCatalog) {
 		if (helpCatalog == null)
 			return failed("参数输入有误");
@@ -70,6 +72,7 @@ public class HelpCenterCatalogController extends BaseController {
 	@ApiOperation("删除分类")
 	@PostMapping(value = "delete", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 	@ApiImplicitParam(name = "id", value = "分类编号", required = true, dataType = "Integer", paramType = "path")
+	@AuditLogAnnotation(operateName = "帮助中心分类删除",interfaceURL = "helpCenterCatalog/delete")
 	public Object delHelpCatalog(Integer id) {
 		if (id == null || id <= 0)
 			return failed("ID解析失败");

+ 3 - 0
cms/src/main/java/com/ym/mec/cms/controller/HelpCenterContentControlller.java

@@ -20,6 +20,7 @@ import com.ym.mec.cms.service.HelpCenterCatalogService;
 import com.ym.mec.cms.service.HelpCenterContentService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.PageInfo;
+import com.yonge.log.model.AuditLogAnnotation;
 
 @RestController
 @RequestMapping("helpCenterContent")
@@ -54,6 +55,7 @@ public class HelpCenterContentControlller extends BaseController {
 
 	@ApiOperation("修改帮助中心内容")
 	@PostMapping(value = "modify", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@AuditLogAnnotation(operateName = "帮助中心内容修改",interfaceURL = "helpCenterContent/modify")
 	public Object modifyHelpContent(HelpCenterContent helpContent) {
 		if (helpContent == null) {
 			return failed("参数输入有误");
@@ -80,6 +82,7 @@ public class HelpCenterContentControlller extends BaseController {
 	@ApiOperation("删除帮助中心内容")
 	@PostMapping(value = "delete", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 	@ApiImplicitParam(name = "id", value = "编号", required = true, dataType = "Integer", paramType = "path")
+	@AuditLogAnnotation(operateName = "帮助中心内容删除",interfaceURL = "helpCenterContent/delete")
 	public Object delHelpContent(Integer id) {
 		if (id == null || id <= 0)
 			return failed("ID解析失败");

+ 4 - 0
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -25,6 +25,7 @@ import com.ym.mec.cms.dal.entity.SysNewsInformation;
 import com.ym.mec.cms.service.SysNewsInformationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.util.collection.MapUtil;
+import com.yonge.log.model.AuditLogAnnotation;
 
 @RestController
 @RequestMapping("news")
@@ -74,12 +75,14 @@ public class NewsController extends BaseController {
 
 	@ApiOperation("新增资讯")
 	@PostMapping(value = "/add", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@AuditLogAnnotation(operateName = "资讯新增",interfaceURL = "news/add")
 	public Object add(SysNewsInformation newsInfo) {
 		return succeed(sysNewsInformationService.insert(newsInfo));
 	}
 
 	@ApiOperation("更新资讯")
 	@PostMapping(value = "/update", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@AuditLogAnnotation(operateName = "资讯更新",interfaceURL = "news/update")
 	public Object update(SysNewsInformation newsInfo) {
 		Date date = new Date();
 		newsInfo.setUpdateTime(date);
@@ -89,6 +92,7 @@ public class NewsController extends BaseController {
 
 	@ApiOperation("删除")
 	@PostMapping(value = "/del/{id}", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@AuditLogAnnotation(operateName = "资讯删除",interfaceURL = "news/del")
 	public Object add(@PathVariable("id") Long id) {
 		return succeed(sysNewsInformationService.deleteWithLogical(id));
 	}

+ 2 - 2
cms/src/main/java/com/ym/mec/cms/controller/TaskController.java

@@ -13,13 +13,13 @@ import com.ym.mec.common.controller.BaseController;
 
 @RequestMapping("task")
 @RestController
-@Api(tags = "资讯服务")
+@Api(tags = "资讯定时任务服务")
 public class TaskController extends BaseController {
 
 	@Autowired
 	private SysNewsInformationService sysNewsInformationService;
 
-	@ApiOperation(value = "查询奖品组列表")
+	@ApiOperation(value = "更新资讯发布状态")
 	@GetMapping("/updateStatus")
 	public void updateStatus(){
 		sysNewsInformationService.autoUpdateStatus();

+ 33 - 0
cms/src/main/java/com/ym/mec/cms/interceptor/OperationLogInterceptor.java

@@ -0,0 +1,33 @@
+package com.ym.mec.cms.interceptor;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.yonge.log.interceptor.AuditLogInterceptor;
+
+@Component
+public class OperationLogInterceptor extends AuditLogInterceptor {
+
+	@Autowired
+	@Lazy
+	private SysUserFeignService sysUserFeignService;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException, IOException {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser != null) {
+			setUsername(sysUser.getRealName());
+		}
+		return true;
+	}
+
+}