diff --git a/aurora-springboot/src/main/java/com/aurora/aspect/OperationLogAspect.java b/aurora-springboot/src/main/java/com/aurora/aspect/OperationLogAspect.java index e19d11c..51857ca 100644 --- a/aurora-springboot/src/main/java/com/aurora/aspect/OperationLogAspect.java +++ b/aurora-springboot/src/main/java/com/aurora/aspect/OperationLogAspect.java @@ -18,6 +18,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; @@ -80,7 +81,13 @@ public class OperationLogAspect { // 请求方法 operationLog.setOptMethod(methodName); // 请求参数 - operationLog.setRequestParam(JSON.toJSONString(joinPoint.getArgs())); + if (joinPoint.getArgs().length > 0) { + if (joinPoint.getArgs()[0] instanceof MultipartFile) { + operationLog.setRequestParam("file"); + } else { + operationLog.setRequestParam(JSON.toJSONString(joinPoint.getArgs())); + } + } // 返回结果 operationLog.setResponseData(JSON.toJSONString(keys)); // 请求用户ID diff --git a/aurora-springboot/src/main/java/com/aurora/constant/OptTypeConst.java b/aurora-springboot/src/main/java/com/aurora/constant/OptTypeConst.java index 060ad07..4939c4c 100644 --- a/aurora-springboot/src/main/java/com/aurora/constant/OptTypeConst.java +++ b/aurora-springboot/src/main/java/com/aurora/constant/OptTypeConst.java @@ -31,4 +31,9 @@ public class OptTypeConst { */ public static final String UPLOAD = "上传"; + /** + * 导出操作 + */ + public static final String EXPORT = "导出"; + } diff --git a/aurora-springboot/src/main/java/com/aurora/controller/ArticleController.java b/aurora-springboot/src/main/java/com/aurora/controller/ArticleController.java index 5774bbb..13eec50 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/ArticleController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/ArticleController.java @@ -113,6 +113,7 @@ public class ArticleController { return Result.ok(); } + @OptLog(optType = UPLOAD) @ApiOperation("上传文章图片") @ApiImplicitParam(name = "file", value = "文章图片", required = true, dataType = "MultipartFile") @PostMapping("/admin/articles/images") @@ -127,6 +128,7 @@ public class ArticleController { return Result.ok(articleService.getArticleByIdAdmin(articleId)); } + @OptLog(optType = UPLOAD) @ApiOperation(value = "导入文章") @PostMapping("/admin/articles/import") public Result importArticles(MultipartFile file, @RequestParam(required = false) String type) { @@ -134,6 +136,7 @@ public class ArticleController { return Result.ok(); } + @OptLog(optType = EXPORT) @ApiOperation(value = "导出文章") @ApiImplicitParam(name = "articleIdList", value = "文章id", required = true, dataType = "List") @PostMapping("/admin/articles/export") diff --git a/aurora-springboot/src/main/java/com/aurora/controller/AuroraInfoController.java b/aurora-springboot/src/main/java/com/aurora/controller/AuroraInfoController.java index 2a38cc0..26a2c7a 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/AuroraInfoController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/AuroraInfoController.java @@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import static com.aurora.constant.OptTypeConst.UPDATE; +import static com.aurora.constant.OptTypeConst.UPLOAD; @Api(tags = "aurora信息") @RestController @@ -79,6 +80,7 @@ public class AuroraInfoController { return Result.ok(); } + @OptLog(optType = UPLOAD) @ApiOperation(value = "上传博客配置图片") @ApiImplicitParam(name = "file", value = "图片", required = true, dataType = "MultipartFile") @PostMapping("/admin/config/images") diff --git a/aurora-springboot/src/main/java/com/aurora/controller/BizExceptionController.java b/aurora-springboot/src/main/java/com/aurora/controller/BizExceptionController.java index 750ff6c..e6d1718 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/BizExceptionController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/BizExceptionController.java @@ -9,6 +9,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +/** + * 用于处理过滤其中的异常(目前用不到) + */ @Api(tags = "异常处理模块") @RestController public class BizExceptionController { diff --git a/aurora-springboot/src/main/java/com/aurora/controller/ExceptionLogController.java b/aurora-springboot/src/main/java/com/aurora/controller/ExceptionLogController.java index 47cefb3..9b39e57 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/ExceptionLogController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/ExceptionLogController.java @@ -1,5 +1,6 @@ package com.aurora.controller; +import com.aurora.annotation.OptLog; import com.aurora.model.dto.ExceptionLogDTO; import com.aurora.service.ExceptionLogService; import com.aurora.model.vo.ConditionVO; @@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.aurora.constant.OptTypeConst.DELETE; + @Api(tags = "异常日志模块") @RestController public class ExceptionLogController { @@ -28,6 +31,7 @@ public class ExceptionLogController { return Result.ok(exceptionLogService.listExceptionLogs(conditionVO)); } + @OptLog(optType = DELETE) @ApiOperation(value = "删除异常日志") @DeleteMapping("/admin/exception/logs") public Result deleteExceptionLogs(@RequestBody List exceptionLogIds) { diff --git a/aurora-springboot/src/main/java/com/aurora/controller/OperationLogController.java b/aurora-springboot/src/main/java/com/aurora/controller/OperationLogController.java index b2cbfd5..74209f3 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/OperationLogController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/OperationLogController.java @@ -1,5 +1,6 @@ package com.aurora.controller; +import com.aurora.annotation.OptLog; import com.aurora.model.dto.OperationLogDTO; import com.aurora.service.OperationLogService; import com.aurora.model.vo.ConditionVO; @@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.aurora.constant.OptTypeConst.DELETE; + @Api(tags = "操作日志模块") @RestController public class OperationLogController { @@ -28,6 +31,7 @@ public class OperationLogController { return Result.ok(operationLogService.listOperationLogs(conditionVO)); } + @OptLog(optType = DELETE) @ApiOperation(value = "删除操作日志") @DeleteMapping("/admin/operation/logs") public Result deleteOperationLogs(@RequestBody List operationLogIds) { diff --git a/aurora-springboot/src/main/java/com/aurora/controller/PhotoAlbumController.java b/aurora-springboot/src/main/java/com/aurora/controller/PhotoAlbumController.java index 606ab5e..6dfedc1 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/PhotoAlbumController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/PhotoAlbumController.java @@ -21,8 +21,7 @@ import javax.validation.Valid; import java.util.List; -import static com.aurora.constant.OptTypeConst.DELETE; -import static com.aurora.constant.OptTypeConst.SAVE_OR_UPDATE; +import static com.aurora.constant.OptTypeConst.*; /** * @author 花未眠 @@ -38,9 +37,10 @@ public class PhotoAlbumController { private PhotoAlbumService photoAlbumService; + @OptLog(optType = UPLOAD) @ApiOperation(value = "上传相册封面") @ApiImplicitParam(name = "file", value = "相册封面", required = true, dataType = "MultipartFile") - @PostMapping("/admin/photos/albums/cover") + @PostMapping("/admin/photos/albums/upload") public Result savePhotoAlbumCover(MultipartFile file) { return Result.ok(uploadStrategyContext.executeUploadStrategy(file, FilePathEnum.PHOTO.getPath())); } diff --git a/aurora-springboot/src/main/java/com/aurora/controller/PhotoController.java b/aurora-springboot/src/main/java/com/aurora/controller/PhotoController.java index 542b547..e16b9e9 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/PhotoController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/PhotoController.java @@ -1,14 +1,18 @@ package com.aurora.controller; import com.aurora.annotation.OptLog; +import com.aurora.enums.FilePathEnum; import com.aurora.model.dto.PhotoAdminDTO; import com.aurora.model.dto.PhotoDTO; import com.aurora.service.PhotoService; import com.aurora.model.vo.*; +import com.aurora.strategy.context.UploadStrategyContext; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.util.List; @@ -26,6 +30,16 @@ public class PhotoController { @Autowired private PhotoService photoService; + @Autowired + private UploadStrategyContext uploadStrategyContext; + + @OptLog(optType = UPLOAD) + @ApiOperation(value = "上传照片") + @ApiImplicitParam(name = "file", value = "照片", required = true, dataType = "MultipartFile") + @PostMapping("/admin/photos/upload") + public Result savePhotoAlbumCover(MultipartFile file) { + return Result.ok(uploadStrategyContext.executeUploadStrategy(file, FilePathEnum.PHOTO.getPath())); + } @ApiOperation(value = "根据相册id获取照片列表") @GetMapping("/admin/photos") @@ -33,7 +47,6 @@ public class PhotoController { return Result.ok(photoService.listPhotos(conditionVO)); } - @OptLog(optType = UPDATE) @ApiOperation(value = "更新照片信息") @PutMapping("/admin/photos") @@ -50,7 +63,6 @@ public class PhotoController { return Result.ok(); } - @OptLog(optType = UPDATE) @ApiOperation(value = "移动照片相册") @PutMapping("/admin/photos/album") @@ -70,8 +82,8 @@ public class PhotoController { @OptLog(optType = DELETE) @ApiOperation(value = "删除照片") @DeleteMapping("/admin/photos") - public Result deletePhotos(@RequestBody List photoIdList) { - photoService.deletePhotos(photoIdList); + public Result deletePhotos(@RequestBody List photoIds) { + photoService.deletePhotos(photoIds); return Result.ok(); } diff --git a/aurora-springboot/src/main/java/com/aurora/controller/TalkController.java b/aurora-springboot/src/main/java/com/aurora/controller/TalkController.java index 7eb7d03..008bf6f 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/TalkController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/TalkController.java @@ -1,5 +1,6 @@ package com.aurora.controller; +import com.aurora.annotation.OptLog; import com.aurora.model.dto.TalkAdminDTO; import com.aurora.model.dto.TalkDTO; import com.aurora.enums.FilePathEnum; @@ -19,6 +20,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.util.List; +import static com.aurora.constant.OptTypeConst.*; + @Api(tags = "说说模块") @RestController public class TalkController { @@ -42,6 +45,7 @@ public class TalkController { return Result.ok(talkService.getTalkById(talkId)); } + @OptLog(optType = UPLOAD) @ApiOperation(value = "上传说说图片") @ApiImplicitParam(name = "file", value = "说说图片", required = true, dataType = "MultipartFile") @PostMapping("/admin/talks/images") @@ -49,6 +53,7 @@ public class TalkController { return Result.ok(uploadStrategyContext.executeUploadStrategy(file, FilePathEnum.TALK.getPath())); } + @OptLog(optType = SAVE_OR_UPDATE) @ApiOperation(value = "保存或修改说说") @PostMapping("/admin/talks") public Result saveOrUpdateTalk(@Valid @RequestBody TalkVO talkVO) { @@ -56,6 +61,7 @@ public class TalkController { return Result.ok(); } + @OptLog(optType = DELETE) @ApiOperation(value = "删除说说") @DeleteMapping("/admin/talks") public Result deleteTalks(@RequestBody List talkIds) { diff --git a/aurora-springboot/src/main/java/com/aurora/controller/UserAuthController.java b/aurora-springboot/src/main/java/com/aurora/controller/UserAuthController.java index f2a1fc0..3043c6d 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/UserAuthController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/UserAuthController.java @@ -2,6 +2,7 @@ package com.aurora.controller; import com.aurora.annotation.AccessLimit; +import com.aurora.annotation.OptLog; import com.aurora.model.dto.UserAdminDTO; import com.aurora.model.dto.UserAreaDTO; import com.aurora.model.dto.UserInfoDTO; @@ -17,6 +18,9 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import static com.aurora.constant.OptTypeConst.SAVE; +import static com.aurora.constant.OptTypeConst.UPDATE; + @Api(tags = "用户账号模块") @RestController public class UserAuthController { @@ -52,6 +56,7 @@ public class UserAuthController { return Result.ok(); } + @OptLog(optType = UPDATE) @ApiOperation(value = "修改密码") @PutMapping("/users/password") public Result updatePassword(@Valid @RequestBody UserVO user) { @@ -59,6 +64,7 @@ public class UserAuthController { return Result.ok(); } + @OptLog(optType = UPDATE) @ApiOperation(value = "修改管理员密码") @PutMapping("/admin/users/password") public Result updateAdminPassword(@Valid @RequestBody PasswordVO passwordVO) { diff --git a/aurora-springboot/src/main/java/com/aurora/controller/UserInfoController.java b/aurora-springboot/src/main/java/com/aurora/controller/UserInfoController.java index 7295aa1..daca982 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/UserInfoController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/UserInfoController.java @@ -14,6 +14,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import static com.aurora.constant.OptTypeConst.DELETE; import static com.aurora.constant.OptTypeConst.UPDATE; @Api(tags = "用户信息模块") @@ -23,6 +24,7 @@ public class UserInfoController { @Autowired private UserInfoService userInfoService; + @OptLog(optType = UPDATE) @ApiOperation("更新用户信息") @PutMapping("/users/info") public Result updateUserInfo(@Valid @RequestBody UserInfoVO userInfoVO) { @@ -30,6 +32,7 @@ public class UserInfoController { return Result.ok(); } + @OptLog(optType = UPDATE) @ApiOperation("更新用户头像") @ApiImplicitParam(name = "file", value = "用户头像", required = true, dataType = "MultipartFile") @PostMapping("/users/avatar") @@ -37,6 +40,7 @@ public class UserInfoController { return Result.ok(userInfoService.updateUserAvatar(file)); } + @OptLog(optType = UPDATE) @ApiOperation("绑定用户邮箱") @PutMapping("/users/email") public Result saveUserEmail(@Valid @RequestBody EmailVO emailVO) { @@ -44,6 +48,7 @@ public class UserInfoController { return Result.ok(); } + @OptLog(optType = UPDATE) @ApiOperation("修改用户的订阅状态") @PutMapping("/users/subscribe") public Result updateUserSubscribe(@RequestBody SubscribeVO subscribeVO) { @@ -73,6 +78,7 @@ public class UserInfoController { return Result.ok(userInfoService.listOnlineUsers(conditionVO)); } + @OptLog(optType = DELETE) @ApiOperation(value = "下线用户") @DeleteMapping("/admin/users/{userInfoId}/online") public Result removeOnlineUser(@PathVariable("userInfoId") Integer userInfoId) { diff --git a/aurora-springboot/src/main/java/com/aurora/service/impl/PhotoServiceImpl.java b/aurora-springboot/src/main/java/com/aurora/service/impl/PhotoServiceImpl.java index 4b7e033..bbcc070 100644 --- a/aurora-springboot/src/main/java/com/aurora/service/impl/PhotoServiceImpl.java +++ b/aurora-springboot/src/main/java/com/aurora/service/impl/PhotoServiceImpl.java @@ -129,8 +129,8 @@ public class PhotoServiceImpl extends ServiceImpl implements @Transactional(rollbackFor = Exception.class) @Override - public void deletePhotos(List photoIdList) { - photoMapper.deleteBatchIds(photoIdList); + public void deletePhotos(List photoIds) { + photoMapper.deleteBatchIds(photoIds); } @Override diff --git a/aurora-vue/aurora-admin/src/views/album/Album.vue b/aurora-vue/aurora-admin/src/views/album/Album.vue index 8bab79d..b556ce0 100644 --- a/aurora-vue/aurora-admin/src/views/album/Album.vue +++ b/aurora-vue/aurora-admin/src/views/album/Album.vue @@ -73,7 +73,7 @@ drag :headers="headers" :before-upload="beforeUpload" - action="/api/admin/photos/albums/cover" + action="/api/admin/photos/albums/upload" multiple :on-success="uploadCover"> diff --git a/aurora-vue/aurora-admin/src/views/album/Photo.vue b/aurora-vue/aurora-admin/src/views/album/Photo.vue index 471862c..1f2cfbe 100644 --- a/aurora-vue/aurora-admin/src/views/album/Photo.vue +++ b/aurora-vue/aurora-admin/src/views/album/Photo.vue @@ -102,7 +102,7 @@