diff --git a/src/main/java/com/dd/admin/business/api/ApiController.java b/src/main/java/com/dd/admin/business/api/ApiController.java index 533c618..605f587 100644 --- a/src/main/java/com/dd/admin/business/api/ApiController.java +++ b/src/main/java/com/dd/admin/business/api/ApiController.java @@ -65,22 +65,7 @@ public class ApiController { } - @ApiOperation(value = "创建笔记") - @ApiOperationSupport(order = 1) - @PostMapping("/api/addNote") - @OperLog(operModule = "创建笔记",operType = OperType.ADD,operDesc = "创建笔记") - public ResultBean addNote(@RequestBody NoteDto noteDto) { - Note note = BeanUtil.copyProperties(noteDto, Note.class); - if(CollectionUtil.isNotEmpty(noteDto.getImgs())){ - note.setFirstPicture(noteDto.getImgs().get(0)); - } - note.setAuthorName(RandomXiaohongshuAuthorName.generateAuthorName()); - note.setAuthorAvatar("http://8.146.211.120:8080/upload/avatar/avatar ("+ StringUtil.createCode(1) +").jpg"); - note.setIpAddress(IPUtils.getIpAddr(request)); // 请求IP - note.setIpRealAddress(AddressUtils.getRealAddress(note.getIpAddress())); - noteService.save(note); - return ResultBean.success(); - } + } diff --git a/src/main/java/com/dd/admin/business/api/AuthApi.java b/src/main/java/com/dd/admin/business/api/AuthApi.java index 9bbbbe2..45bdea8 100644 --- a/src/main/java/com/dd/admin/business/api/AuthApi.java +++ b/src/main/java/com/dd/admin/business/api/AuthApi.java @@ -1,26 +1,88 @@ package com.dd.admin.business.api; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import com.dd.admin.business.author.entity.Author; import com.dd.admin.business.author.service.AuthorService; +import com.dd.admin.business.file.entity.File; +import com.dd.admin.business.file.service.FileService; +import com.dd.admin.business.note.domain.NoteDto; +import com.dd.admin.business.note.entity.Note; +import com.dd.admin.business.note.service.NoteService; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.dd.admin.business.noteImg.service.NoteImgService; import com.dd.admin.common.aop.operationLog.aop.OperLog; import com.dd.admin.common.aop.operationLog.aop.OperType; import com.dd.admin.common.model.result.ResultBean; +import com.dd.admin.common.utils.AddressUtils; +import com.dd.admin.common.utils.IPUtils; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + @RestController public class AuthApi { @Autowired AuthorService authorService; + @Autowired + HttpServletRequest request; + @Autowired + NoteService noteService; + @Autowired + FileService fileService; + @Autowired + NoteImgService noteImgService; @ApiOperation(value = "获取博主信息") @ApiOperationSupport(order = 1) @GetMapping("/api/auth/getMine") @OperLog(operModule = "获取博主信息",operType = OperType.QUERY,operDesc = "获取博主信息") public ResultBean getMine() { + String authorId = String.valueOf(request.getAttribute("authorId")); + Author author = authorService.getById(authorId); + return ResultBean.success(author); + } + + + @ApiOperation(value = "创建笔记") + @ApiOperationSupport(order = 1) + @PostMapping("/api/auth/addNote") + @OperLog(operModule = "创建笔记",operType = OperType.ADD,operDesc = "创建笔记") + public ResultBean addNote(@RequestBody NoteDto noteDto) { + String authorId = String.valueOf(request.getAttribute("authorId")); + Author author = authorService.getById(authorId); + + Note note = BeanUtil.copyProperties(noteDto, Note.class); + note.setAuthorId(author.getAuthorId()); + note.setAuthorName(author.getAuthorName()); + note.setAuthorAvatar(author.getAvatarUrl()); + note.setIpAddress(IPUtils.getIpAddr(request)); // 请求IP + note.setIpRealAddress(AddressUtils.getRealAddress(note.getIpAddress())); + noteService.save(note); + + List imgs = noteDto.getImgs(); + List noteImgList = new ArrayList<>(); + for(int i=0;i getMine() { + String token = request.getHeader("token"); + return ResultBean.success(token); + } + @ApiOperation(value = "验证码登陆") @ApiOperationSupport(order = 1) @PostMapping("/api/checkCode") diff --git a/src/main/java/com/dd/admin/business/author/service/impl/AuthorServiceImpl.java b/src/main/java/com/dd/admin/business/author/service/impl/AuthorServiceImpl.java index 9799e74..e5776f7 100644 --- a/src/main/java/com/dd/admin/business/author/service/impl/AuthorServiceImpl.java +++ b/src/main/java/com/dd/admin/business/author/service/impl/AuthorServiceImpl.java @@ -59,7 +59,7 @@ public class AuthorServiceImpl extends ServiceImpl impleme author.setPhoneNumber(phoneNumber); //随机生成昵称 author.setAuthorName(RandomXiaohongshuAuthorName.generateAuthorName()); - author.setAuthorNo(StringUtil.getDateStringNow() + StringUtil.createCode(4)); + author.setAuthorNo(StringUtil.getNumberForPK() + StringUtil.createCode(2)); author.setDescription("我是" + author.getAuthorName()); //生成随机头像因为没有点击上传所有没有头像id author.setAvatarUrl("http://8.146.211.120:8080/upload/avatar/avatar ("+ StringUtil.createCode(1) +").jpg"); diff --git a/src/main/java/com/dd/admin/business/file/service/FileService.java b/src/main/java/com/dd/admin/business/file/service/FileService.java index 75d83a8..cc0c234 100644 --- a/src/main/java/com/dd/admin/business/file/service/FileService.java +++ b/src/main/java/com/dd/admin/business/file/service/FileService.java @@ -25,6 +25,9 @@ public interface FileService extends IService { //文件-列表 List selectFileList(FileDto fileDto); + //文件-列表 + File selectFileByFileId(String fileId); + //文件-上传 public FileVo uploadFile(MultipartFile file, String fileSavePath); diff --git a/src/main/java/com/dd/admin/business/file/service/impl/FileServiceImpl.java b/src/main/java/com/dd/admin/business/file/service/impl/FileServiceImpl.java index 4ec544b..0de8e49 100644 --- a/src/main/java/com/dd/admin/business/file/service/impl/FileServiceImpl.java +++ b/src/main/java/com/dd/admin/business/file/service/impl/FileServiceImpl.java @@ -46,6 +46,11 @@ public class FileServiceImpl extends ServiceImpl implements Fi return baseMapper.selectFileList(fileDto); } + @Override + public File selectFileByFileId(String fileId) { + return getById(fileId); + } + public String getSysUploadPath(){ java.io.File filepath = new java.io.File(uploadPath); //该目录不存在 则创建 diff --git a/src/main/java/com/dd/admin/business/noteImg/controller/NoteImgController.java b/src/main/java/com/dd/admin/business/noteImg/controller/NoteImgController.java new file mode 100644 index 0000000..79f2de5 --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/controller/NoteImgController.java @@ -0,0 +1,88 @@ +package com.dd.admin.business.noteImg.controller; + +import cn.hutool.core.bean.BeanUtil; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.dd.admin.common.model.UpdateGroup; +import com.dd.admin.common.model.result.ResultBean; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotBlank; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.dd.admin.business.noteImg.domain.NoteImgVo; +import com.dd.admin.business.noteImg.domain.NoteImgDto; +import com.dd.admin.business.noteImg.service.NoteImgService; + +import java.util.List; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 笔记包含的图片 前端控制器 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Api(tags = "笔记包含的图片") +@RestController +public class NoteImgController { + + @Autowired + NoteImgService noteImgService; + + @ApiOperation(value = "笔记包含的图片-分页列表") + @ApiOperationSupport(order = 1) + @GetMapping("/admin/noteImg/page") + public ResultBean> page(NoteImgDto noteImgDto) { + IPage pageInfo = noteImgService.selectNoteImgPage(noteImgDto); + return ResultBean.success(pageInfo); + } + + @ApiOperation(value = "笔记包含的图片-列表") + @ApiOperationSupport(order = 2) + @GetMapping("/admin/noteImg/list") + public ResultBean> list(NoteImgDto noteImgDto) { + List list = noteImgService.selectNoteImgList(noteImgDto); + return ResultBean.success(list); + } + + @ApiOperation(value = "笔记包含的图片-添加") + @ApiOperationSupport(order = 3) + @PostMapping("/admin/noteImg/add") + public ResultBean add(@RequestBody @Validated NoteImgDto noteImgDto) { + NoteImg noteImg = BeanUtil.copyProperties(noteImgDto, NoteImg.class); + noteImgService.save(noteImg); + return ResultBean.success(noteImg); + } + + @ApiOperation(value = "笔记包含的图片-查询") + @ApiOperationSupport(order = 4) + @GetMapping("/admin/noteImg/{noteImgId}") + public ResultBean get(@PathVariable @NotBlank String noteImgId) { + NoteImg noteImg = noteImgService.getById(noteImgId); + NoteImgVo noteImgVo = BeanUtil.copyProperties(noteImg,NoteImgVo.class); + return ResultBean.success(noteImgVo); + } + + @ApiOperation(value = "笔记包含的图片-修改") + @ApiOperationSupport(order = 5) + @PostMapping("/admin/noteImg/update") + public ResultBean update(@RequestBody @Validated(UpdateGroup.class) NoteImgDto noteImgDto) { + NoteImg noteImg = BeanUtil.copyProperties(noteImgDto, NoteImg.class); + noteImgService.updateById(noteImg); + return ResultBean.success(noteImg); + } + + @ApiOperation(value = "笔记包含的图片-删除") + @ApiOperationSupport(order = 6) + @GetMapping("/admin/noteImg/delete/{noteImgId}") + public ResultBean delete(@PathVariable @NotBlank String noteImgId) { + Boolean b = noteImgService.removeById(noteImgId); + return ResultBean.success(b); + } +} diff --git a/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgDto.java b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgDto.java new file mode 100644 index 0000000..6a45172 --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgDto.java @@ -0,0 +1,58 @@ +package com.dd.admin.business.noteImg.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; +import com.dd.admin.common.model.UpdateGroup; + + +/** + *

+ * 笔记包含的图片返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Data +@ApiModel(value="笔记包含的图片接收对象") +public class NoteImgDto { + + + @ApiModelProperty(value = "关联id") + @NotBlank(message = "笔记包含的图片id不能为空",groups = UpdateGroup.class) + private String noteImgId; + + @ApiModelProperty(value = "图片上传的文件id") + private String imgId; + + @ApiModelProperty(value = "相应的笔记id") + private String noteId; + + @ApiModelProperty(value = "图片排序") + private Integer imgSort; + + @ApiModelProperty(value = "作者ID") + private String authorId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "图片地址") + private String imgUrl; + + +} diff --git a/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java new file mode 100644 index 0000000..4bafc4c --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java @@ -0,0 +1,54 @@ +package com.dd.admin.business.noteImg.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 笔记包含的图片返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Data +@ApiModel(value="笔记包含的图片返回对象") +public class NoteImgVo { + + + @ApiModelProperty(value = "关联id") + private String noteImgId; + + @ApiModelProperty(value = "图片上传的文件id") + private String imgId; + + @ApiModelProperty(value = "相应的笔记id") + private String noteId; + + @ApiModelProperty(value = "图片排序") + private Integer imgSort; + + @ApiModelProperty(value = "作者ID") + private String authorId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "图片地址") + private String imgUrl; + + +} diff --git a/src/main/java/com/dd/admin/business/noteImg/entity/NoteImg.java b/src/main/java/com/dd/admin/business/noteImg/entity/NoteImg.java new file mode 100644 index 0000000..622ee2a --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/entity/NoteImg.java @@ -0,0 +1,65 @@ +package com.dd.admin.business.noteImg.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 笔记包含的图片 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("business_note_img") +@ApiModel(value="NoteImg对象", description="笔记包含的图片") +public class NoteImg implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "关联id") + @TableId(value = "NOTE_IMG_ID", type = IdType.ASSIGN_UUID) + private String noteImgId; + + @ApiModelProperty(value = "图片上传的文件id") + @TableField("IMG_ID") + private String imgId; + + @ApiModelProperty(value = "相应的笔记id") + @TableField("NOTE_ID") + private String noteId; + + @ApiModelProperty(value = "图片排序") + @TableField("IMG_SORT") + private Integer imgSort; + + @ApiModelProperty(value = "作者ID") + @TableField("AUTHOR_ID") + private String authorId; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @TableField(value = "UPDATE_TIME", fill = FieldFill.UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "图片地址") + @TableField("IMG_URL") + private String imgUrl; + + +} diff --git a/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java b/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java new file mode 100644 index 0000000..763bf0d --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java @@ -0,0 +1,28 @@ +package com.dd.admin.business.noteImg.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dd.admin.business.noteImg.domain.NoteImgVo; +import com.dd.admin.business.noteImg.domain.NoteImgDto; + +import java.util.List; + +/** + *

+ * 笔记包含的图片 Mapper 接口 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Mapper +public interface NoteImgMapper extends BaseMapper { + + IPage selectNoteImgPage(Page page, @Param("noteImgDto") NoteImgDto noteImgDto); + + List selectNoteImgList(@Param("noteImgDto") NoteImgDto noteImgDto); +} diff --git a/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml b/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml new file mode 100644 index 0000000..16fc185 --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + NOTE_IMG_ID, IMG_ID, NOTE_ID, IMG_SORT, AUTHOR_ID, CREATE_TIME, UPDATE_TIME, IMG_URL + + + + + + diff --git a/src/main/java/com/dd/admin/business/noteImg/service/NoteImgService.java b/src/main/java/com/dd/admin/business/noteImg/service/NoteImgService.java new file mode 100644 index 0000000..adf0385 --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/service/NoteImgService.java @@ -0,0 +1,26 @@ +package com.dd.admin.business.noteImg.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.baomidou.mybatisplus.extension.service.IService; +import com.dd.admin.business.noteImg.domain.NoteImgVo; +import com.dd.admin.business.noteImg.domain.NoteImgDto; +import java.util.List; + +/** + *

+ * 笔记包含的图片 服务类 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +public interface NoteImgService extends IService { + + //笔记包含的图片-分页列表 + IPage selectNoteImgPage(NoteImgDto noteImgDto); + + //笔记包含的图片-列表 + List selectNoteImgList(NoteImgDto noteImgDto); + +} diff --git a/src/main/java/com/dd/admin/business/noteImg/service/impl/NoteImgServiceImpl.java b/src/main/java/com/dd/admin/business/noteImg/service/impl/NoteImgServiceImpl.java new file mode 100644 index 0000000..2e477b2 --- /dev/null +++ b/src/main/java/com/dd/admin/business/noteImg/service/impl/NoteImgServiceImpl.java @@ -0,0 +1,36 @@ +package com.dd.admin.business.noteImg.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.common.model.PageFactory; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.dd.admin.business.noteImg.mapper.NoteImgMapper; +import com.dd.admin.business.noteImg.service.NoteImgService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.dd.admin.business.noteImg.domain.NoteImgVo; +import com.dd.admin.business.noteImg.domain.NoteImgDto; +import java.util.List; + +/** + *

+ * 笔记包含的图片 服务实现类 + *

+ * + * @author 727869402@qq.com + * @since 2024-12-23 + */ +@Service +public class NoteImgServiceImpl extends ServiceImpl implements NoteImgService { + + @Override + public IPage selectNoteImgPage(NoteImgDto noteImgDto) { + Page page = PageFactory.defaultPage(); + return baseMapper.selectNoteImgPage(page,noteImgDto); + } + + @Override + public List selectNoteImgList(NoteImgDto noteImgDto) { + return baseMapper.selectNoteImgList(noteImgDto); + } +} diff --git a/src/main/java/com/dd/admin/common/config/GolbalConfig.java b/src/main/java/com/dd/admin/common/config/GolbalConfig.java index fa533db..675baa2 100644 --- a/src/main/java/com/dd/admin/common/config/GolbalConfig.java +++ b/src/main/java/com/dd/admin/common/config/GolbalConfig.java @@ -2,22 +2,14 @@ package com.dd.admin.common.config; import com.dd.admin.common.security.interceptor.ApiInterceptor; import com.dd.admin.common.utils.ToolUtil; -import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.http.MediaType; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; - /** * web 配置 @@ -61,10 +53,13 @@ public class GolbalConfig implements WebMvcConfigurer { } + @Autowired + private ApiInterceptor apiInterceptor; + // 注册拦截器的方法 @Override public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(new ApiInterceptor()) + registry.addInterceptor(apiInterceptor) .addPathPatterns("/api/auth/**"); // 拦截/api下所有请求路径 } diff --git a/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java b/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java index d46c3a7..f46dd9b 100644 --- a/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java +++ b/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java @@ -4,29 +4,52 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.util.StrUtil; +import com.dd.admin.business.author.entity.Author; +import com.dd.admin.business.author.service.AuthorService; import com.dd.admin.common.exception.ApiException; +import com.dd.admin.common.security.jwt.JwtTokenUtil; import com.dd.admin.common.security.jwt.service.JwtUserDetailsService; import com.dd.admin.common.utils.RedisUtil; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jws; import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @Component public class ApiInterceptor implements HandlerInterceptor { + @Autowired + private JwtTokenUtil jwtTokenUtil; + + @Autowired + private AuthorService authorService; + + @Autowired + HttpServletRequest httpServletRequest; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - String token = request.getHeader("Authorization"); + // 预请求过滤 + if(RequestMethod.OPTIONS.name().equals(request.getMethod())) { + return true; + } + String token = request.getHeader("token"); if (StrUtil.isBlank(token)) { throw new ApiException("请登录后访问"); } + //解析token + System.out.println(token); + String authorId = jwtTokenUtil.getUsernameFromToken(token); + request.setAttribute("authorId",authorId); +// Author author = authorService.getById(authorId); +// request.setAttribute("author",author); return true; } } diff --git a/src/main/java/com/dd/admin/common/utils/StringUtil.java b/src/main/java/com/dd/admin/common/utils/StringUtil.java index a8bd4e3..1640782 100644 --- a/src/main/java/com/dd/admin/common/utils/StringUtil.java +++ b/src/main/java/com/dd/admin/common/utils/StringUtil.java @@ -26,7 +26,7 @@ public class StringUtil { public static String getNumberForPK(){ String id=""; - SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmm"); + SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd"); String temp = sf.format(new Date()); id=temp; return id;