diff --git a/pom.xml b/pom.xml index e368544..b304c61 100644 --- a/pom.xml +++ b/pom.xml @@ -113,11 +113,32 @@ poi-ooxml 5.0.0 - + org.springframework.boot spring-boot-starter-websocket + + + com.aliyun + dysmsapi20170525 + 2.0.24 + + + com.aliyun + alibabacloud-dysmsapi20170525 + 2.0.24 + + + com.aliyun + aliyun-java-sdk-core + 4.5.0 + + + com.aliyun + aliyun-java-sdk-dysmsapi + 1.0.0 + diff --git a/src/main/java/com/xubx/springboot_01demo/Poi/PoiTest.java b/src/main/java/com/xubx/springboot_01demo/Poi/PoiTest.java index 4536339..79d7cbd 100644 --- a/src/main/java/com/xubx/springboot_01demo/Poi/PoiTest.java +++ b/src/main/java/com/xubx/springboot_01demo/Poi/PoiTest.java @@ -8,6 +8,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +//POI操作Excel public class PoiTest { //写入 public static void write() throws Exception{ diff --git a/src/main/java/com/xubx/springboot_01demo/Springboot01DemoApplication.java b/src/main/java/com/xubx/springboot_01demo/Springboot01DemoApplication.java index efd35a9..762c782 100644 --- a/src/main/java/com/xubx/springboot_01demo/Springboot01DemoApplication.java +++ b/src/main/java/com/xubx/springboot_01demo/Springboot01DemoApplication.java @@ -5,11 +5,13 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableScheduling; +import springfox.documentation.swagger2.annotations.EnableSwagger2; @SpringBootApplication @EnableCaching //开启缓存功能 @MapperScan("com.xubx.springboot_01demo.mapper") @EnableScheduling //开启定时任务 +@EnableSwagger2 //开启Swagger2 public class Springboot01DemoApplication { public static void main(String[] args) { diff --git a/src/main/java/com/xubx/springboot_01demo/Task/SMSsend.java b/src/main/java/com/xubx/springboot_01demo/Task/SMSsend.java new file mode 100644 index 0000000..a269c10 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/Task/SMSsend.java @@ -0,0 +1,66 @@ +package com.xubx.springboot_01demo.Task; + + +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.scheduling.annotation.Scheduled; + + +@Component +@Slf4j +public class SMSsend { + //产品名称:云通信短信API产品,开发者无需替换 + static final String product = "Dysmsapi"; + //产品域名,开发者无需替换 + static final String domain = "dysmsapi.aliyuncs.com"; + + // 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找) + static final String accessKeyId = "LTAI5t6wVLcc5R9cpoQVimco"; + static final String accessKeySecret = "zzPnrX4PiuT1MePZDrMK6EOhIK59jw"; + + public static SendSmsResponse sendSms() throws ClientException { + + //可自助调整超时时间 + System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); + System.setProperty("sun.net.client.defaultReadTimeout", "10000"); + + //初始化acsClient,暂不支持region化 + IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); + DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); + IAcsClient acsClient = new DefaultAcsClient(profile); + + //组装请求对象-具体描述见控制台-文档部分内容 + SendSmsRequest request = new SendSmsRequest(); + //必填:待发送手机号 + request.setPhoneNumbers("13774774893"); + //必填:短信签名-可在短信控制台中找到 + request.setSignName("xbx博客"); + //必填:短信模板-可在短信控制台中找到 + request.setTemplateCode("SMS_467395020"); + //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 + request.setTemplateParam("{\"name\":\"李豪\"}"); + + //hint 此处可能会抛出异常,注意catch + SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); + + return sendSmsResponse; + } + + @Scheduled(cron = "0 0 20 * * ?") + public static void main() throws ClientException { + SendSmsResponse sendSms = sendSms(); + + if (sendSms.getCode().equals("OK")) { + System.out.println("短信发送成功...." + sendSms.getCode()); + } else { + System.out.println("短信发送失败...." + sendSms.getCode()); + } + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/Task/Test.java b/src/main/java/com/xubx/springboot_01demo/Task/Test.java index 563a311..988a919 100644 --- a/src/main/java/com/xubx/springboot_01demo/Task/Test.java +++ b/src/main/java/com/xubx/springboot_01demo/Task/Test.java @@ -9,9 +9,9 @@ import java.util.Date; @Component @Slf4j public class Test { -// @Scheduled(cron = "0/5 * * * * ?") + @Scheduled(cron = "0/5 * * * * ?") public void test() { - log.info("定时任务执行:{}", new Date()); + } } diff --git a/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketServer.java b/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketServer.java index fe023c2..6f737ba 100644 --- a/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketServer.java +++ b/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketServer.java @@ -1,6 +1,14 @@ package com.xubx.springboot_01demo.WebSocket; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.xubx.springboot_01demo.dto.SendMesDto; +import com.xubx.springboot_01demo.service.MessagesService; +import com.xubx.springboot_01demo.utils.token.RequestHolder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + +import javax.annotation.Resource; import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; @@ -15,29 +23,49 @@ import java.util.Map; * WebSocket服务 */ @Component -@ServerEndpoint("/ws/{sid}") +@ServerEndpoint("/ws/{username}") +@Slf4j public class WebSocketServer { //存放会话对象 private static Map sessionMap = new HashMap(); + static MessagesService messagesService; + + @Autowired + public void setMessagesService(MessagesService messagesService) { + WebSocketServer.messagesService = messagesService; + } /** * 连接建立成功调用的方法 */ @OnOpen - public void onOpen(Session session, @PathParam("sid") String sid) { - System.out.println("客户端:" + sid + "建立连接"); - sessionMap.put(sid, session); + public void onOpen(Session session, @PathParam("username") String username) { + System.out.println("客户端:" + username + "建立连接"); + sessionMap.put(username, session); } /** - * 收到客户端消息后调用的方法 - * * @param message 客户端发送过来的消息 + * @Description: 收到消息触发事件,这个消息是连接人发送的消息 + * 收到客户端消息后调用的方法 */ @OnMessage - public void onMessage(String message, @PathParam("sid") String sid) { - System.out.println("收到来自客户端:" + sid + "的信息:" + message); + public void onMessage(String message, @PathParam("username") String username) { + ObjectMapper mapper = new ObjectMapper(); + System.out.println("收到来自客户端:" + username + "的信息:" + message); + try { + if (message.equals("closeWebsocket")) { + sessionMap.remove(username); + log.info("客户端:" + username + "断开连接"); + return; + } + SendMesDto sendMesDto = mapper.readValue(message, SendMesDto.class); + sendMessageTo(sendMesDto); + messagesService.sendMessages(sendMesDto); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -45,11 +73,11 @@ public class WebSocketServer { * * @param sid */ - @OnClose - public void onClose(@PathParam("sid") String sid) { - System.out.println("连接断开:" + sid); - sessionMap.remove(sid); - } +// @OnClose +// public void onClose(@PathParam("sid") String sid) { +// System.out.println("连接断开:" + sid); +// sessionMap.remove(sid); +// } /** * 群发 @@ -68,4 +96,13 @@ public class WebSocketServer { } } + public void sendMessageTo(SendMesDto sendMesDto) { + Session session = sessionMap.get(sendMesDto.getRecipient()); + try { + session.getBasicRemote().sendText(new ObjectMapper().writeValueAsString(sendMesDto)); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketTask.java b/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketTask.java index 965fc48..cffe4d6 100644 --- a/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketTask.java +++ b/src/main/java/com/xubx/springboot_01demo/WebSocket/WebSocketTask.java @@ -14,7 +14,7 @@ public class WebSocketTask { /** * 通过WebSocket每隔5秒向客户端发送消息 */ - @Scheduled(cron = "0/5 * * * * ?") +// @Scheduled(cron = "0/5 * * * * ?") public void sendMessageToClient() { webSocketServer.sendToAllClient("这是来自服务端的消息:" + DateTimeFormatter.ofPattern("HH:mm:ss").format(LocalDateTime.now())); } diff --git a/src/main/java/com/xubx/springboot_01demo/configuration/constantConfiguration.java b/src/main/java/com/xubx/springboot_01demo/configuration/constantConfiguration.java new file mode 100644 index 0000000..eebd57a --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/configuration/constantConfiguration.java @@ -0,0 +1,16 @@ +package com.xubx.springboot_01demo.configuration; + +public class constantConfiguration { + //未通过申请 + public static final int Add_Request = 0; + //已接受好友申请 + public static final int Accept_Request = 1; + //消息未读 + public static final int Unread = 0; + //消息已读 + public static final int Read = 1; + //用户不在线 + public static final int Offline = 0; + //用户在线 + public static final int Online = 1; +} diff --git a/src/main/java/com/xubx/springboot_01demo/controller/BlogsController.java b/src/main/java/com/xubx/springboot_01demo/controller/BlogsController.java index cb70964..00ded3a 100644 --- a/src/main/java/com/xubx/springboot_01demo/controller/BlogsController.java +++ b/src/main/java/com/xubx/springboot_01demo/controller/BlogsController.java @@ -16,11 +16,14 @@ import java.util.List; @CrossOrigin //加上CrossOrigin可解决跨域问题 @Slf4j @Api(tags = "博客接口") +@RequestMapping("/blog") public class BlogsController { @Resource BlogService blogService; - //博客展示 + /** + * 获取所有博客 + */ @GetMapping("/getBlogs") @Cacheable(value = "blogs") @ApiOperation("获取所有博客") @@ -28,28 +31,45 @@ public class BlogsController { log.info("博客展示"); return blogService.findAllBlogs(); } - //博客详情 + + /** + * 获取博客详情 + * @param id + * @return + */ @GetMapping("/getBlogDetail") @Cacheable(value = "blogDetail") @ApiOperation("获取博客详情") public Blogs getBlogDetail(@RequestParam("blogId") int id){ return blogService.findByIdBlogs(id); } - //新增博客 + + /** + * 新增博客 + * @param blogs + */ @PostMapping("/addBlog") @CacheEvict(value = "blogs",allEntries = true) @ApiOperation("新增博客") public void addBlog(@RequestBody Blogs blogs){ blogService.addBlogs(blogs); } - //修改博客 + + /** + * 修改博客 + * @param blogs + */ @PostMapping("/updateBlog") @CacheEvict(value = "blogs",allEntries = true) @ApiOperation("修改博客") public void updateBlog(@RequestBody Blogs blogs){ blogService.updateBlogs(blogs); } - //删除博客 + + /** + * 删除博客 + * @param id + */ @GetMapping("/deleteBlog") @CacheEvict(value = "blogs",allEntries = true) @ApiOperation("删除博客") diff --git a/src/main/java/com/xubx/springboot_01demo/controller/CommentController.java b/src/main/java/com/xubx/springboot_01demo/controller/CommentController.java index 512b91c..a1a7cc2 100644 --- a/src/main/java/com/xubx/springboot_01demo/controller/CommentController.java +++ b/src/main/java/com/xubx/springboot_01demo/controller/CommentController.java @@ -1,41 +1,45 @@ package com.xubx.springboot_01demo.controller; import com.xubx.springboot_01demo.pojo.Comment; -import com.xubx.springboot_01demo.pojo.Value; import com.xubx.springboot_01demo.service.CommentService; -import com.xubx.springboot_01demo.utils.api.Result; +import com.xubx.springboot_01demo.vo.CommentVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; @RestController //注解标识这是一个控制器类 @CrossOrigin //加上CrossOrigin可解决跨域问题 @Api(tags = "评论接口") +@RequestMapping("/comment") public class CommentController { @Resource CommentService commentService; - //获取所有评论 + + /** + * 获取所有评论 + * @param article_id + * @return + */ @GetMapping("/getComment") @ApiOperation("获取所有评论") - public List getComment(@RequestParam("blogId") int article_id){ + @Cacheable(value = "comment") + public List getComment(@RequestParam("blogId") int article_id){ return commentService.findAllComment(article_id); } - //新增评论 + + /** + * 新增评论 + * @param comment + */ @PostMapping("/addComment") @ApiOperation("新增评论") + @CacheEvict(value = "comment",allEntries = true) public void addComment(@RequestBody Comment comment){ commentService.addComment(comment); } - @RequestMapping("testbg") - public Result testbg(){ - Value value = new Value(); - value.setValue("sb大黄"); - List list = new ArrayList<>(); - list.add(value); - return Result.ok("widget-text",list); - } } diff --git a/src/main/java/com/xubx/springboot_01demo/controller/MessagesController.java b/src/main/java/com/xubx/springboot_01demo/controller/MessagesController.java new file mode 100644 index 0000000..aa7e75f --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/controller/MessagesController.java @@ -0,0 +1,51 @@ +package com.xubx.springboot_01demo.controller; + +import com.xubx.springboot_01demo.dto.SendMesDto; +import com.xubx.springboot_01demo.service.MessagesService; +import com.xubx.springboot_01demo.utils.api.Result; +import com.xubx.springboot_01demo.utils.token.RequestHolder; +import com.xubx.springboot_01demo.vo.historyMessagesVo; +import io.swagger.annotations.Api; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController //注解标识这是一个控制器类 +@CrossOrigin //加上CrossOrigin可解决跨域问题 +@Api(tags = "聊天接口") +@RequestMapping("/messages") +public class MessagesController { + @Resource + MessagesService messagesService; + + /** + * 发送消息 + * + * @param sendMesDto + * @return + */ + @PostMapping("/sendMessages") + public ResponseEntity> sendMessages(@RequestBody SendMesDto sendMesDto) { + try { + sendMesDto.setSender(RequestHolder.getuserId()); + messagesService.sendMessages(sendMesDto); + Result result = new Result<>(); + result.setCode(200); + result.setMessage("消息发送成功"); + return ResponseEntity.ok(result); + } catch (Exception e) { + Result result = new Result<>(); + result.setCode(400); + result.setMessage("消息发送失败: " + e.getMessage()); + return ResponseEntity.ok(result); + } + } + + @GetMapping("/getMessages") + public Result> getMessages(@RequestParam("recipient") String recipient) { + List messages = messagesService.getMessages(RequestHolder.getuserId(), recipient); + return Result.ok("查询成功", messages); + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/controller/RelationshipController.java b/src/main/java/com/xubx/springboot_01demo/controller/RelationshipController.java new file mode 100644 index 0000000..a81c098 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/controller/RelationshipController.java @@ -0,0 +1,138 @@ +package com.xubx.springboot_01demo.controller; + +import com.xubx.springboot_01demo.dto.RelationshipDto; +import com.xubx.springboot_01demo.pojo.User; +import com.xubx.springboot_01demo.service.RelationshipService; +import com.xubx.springboot_01demo.utils.api.Result; +import com.xubx.springboot_01demo.utils.token.RequestHolder; +import com.xubx.springboot_01demo.vo.UserListVo; +import com.xubx.springboot_01demo.vo.UserVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController //注解标识这是一个控制器类 +@CrossOrigin //加上CrossOrigin可解决跨域问题 +@Api(tags = "用户关系接口") +@RequestMapping("/relationship") +public class RelationshipController { + + @Resource + RelationshipService relationshipService; + + /** + * 查询用户 + * + * @param username + * @return + */ + @ApiOperation("查询用户") + @GetMapping("/queryUser") + public List queryUser(@RequestParam("username") String username) { + return relationshipService.queryUser(username); + } + + /** + * 发送添加请求 + * + * @param username + * @return + */ + @ApiOperation("发送添加请求") + @GetMapping("/addRequest") + public ResponseEntity> requestFriend(@RequestParam("username") String username){ + String userId = RequestHolder.getuserId(); + try { + relationshipService.requestFriend(userId, username); + // 成功返回 + Result result = new Result<>(); + result.setCode(200); + result.setMessage("请求已发送"); + return new ResponseEntity<>(result, HttpStatus.OK); + } catch (Exception e) { + // 处理错误返回 + Result result = new Result<>(); + result.setCode(400); + result.setMessage("请求发送失败: " + e.getMessage()); + return new ResponseEntity<>(result, HttpStatus.BAD_REQUEST); + } + } + + /** + * 接受添加请求 + * + * @param relationshipDto + * @return + */ + @ApiOperation("接受添加请求") + @PostMapping("/acceptRequest") + public ResponseEntity> acceptFriend(@RequestBody RelationshipDto relationshipDto) { + try { + relationshipService.acceptFriend(relationshipDto.getUsername(), relationshipDto.getFriend()); + // 成功返回 + Result result = new Result<>(); + result.setCode(200); + result.setMessage("添加成功"); + return new ResponseEntity<>(result, HttpStatus.OK); + } catch (Exception e) { + // 处理错误返回 + Result result = new Result<>(); + result.setCode(400); + result.setMessage("添加失败: " + e.getMessage()); + return new ResponseEntity<>(result, HttpStatus.BAD_REQUEST); + } + } + + /** + * 拒绝添加请求 + * + * @param relationshipDto + * @return + */ + @ApiOperation("拒绝添加请求") + @PostMapping("/refuseRequest") + public ResponseEntity> refuseFriend(@RequestBody RelationshipDto relationshipDto) { + try { + relationshipService.refuseFriend(relationshipDto.getUsername(), relationshipDto.getFriend()); + // 成功返回 + Result result = new Result<>(); + result.setCode(200); + result.setMessage("拒绝成功"); + return new ResponseEntity<>(result, HttpStatus.OK); + } catch (Exception e) { + // 处理错误返回 + Result result = new Result<>(); + result.setCode(400); + result.setMessage("拒绝失败: " + e.getMessage()); + return new ResponseEntity<>(result, HttpStatus.BAD_REQUEST); + } + } + + /** + * 删除好友 + * + * @param relationshipDto + */ + @ApiOperation("删除好友") + @PostMapping("/removeFriend") + public void removeFriend(@RequestBody RelationshipDto relationshipDto) { + relationshipService.removeFriend(RequestHolder.getuserId(), relationshipDto.getFriend()); + } + + /** + * 获取好友列表 + * @return + */ + @ApiOperation("获取好友列表") + @GetMapping("/getFriends") + public List getFriends() { + return relationshipService.getFriends(RequestHolder.getuserId()); + } + + +} diff --git a/src/main/java/com/xubx/springboot_01demo/controller/UserController.java b/src/main/java/com/xubx/springboot_01demo/controller/UserController.java index 8ebe805..b774b3b 100644 --- a/src/main/java/com/xubx/springboot_01demo/controller/UserController.java +++ b/src/main/java/com/xubx/springboot_01demo/controller/UserController.java @@ -1,43 +1,77 @@ package com.xubx.springboot_01demo.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xubx.springboot_01demo.pojo.Relationship; import com.xubx.springboot_01demo.pojo.User; import com.xubx.springboot_01demo.service.UserService; +import com.xubx.springboot_01demo.utils.api.Result; import com.xubx.springboot_01demo.utils.token.RedisUtil; import com.xubx.springboot_01demo.utils.token.RequestHolder; import com.xubx.springboot_01demo.utils.token.TokenGenerate; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.cache.annotation.Cacheable; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpSession; import java.io.File; import java.io.IOException; +import java.util.List; @RestController //注解标识这是一个控制器类 @CrossOrigin //加上CrossOrigin可解决跨域问题 @Slf4j @Api(tags = "用户接口") +@RequestMapping("/user") public class UserController { @Resource UserService userService; @Resource RedisUtil redisUtil; + // 注入session + @Resource + private HttpSession session; + /** + * 用户注册 + * + * @param user + * @return + */ @PostMapping("/register") @ApiOperation("用户注册") public ResponseEntity register(@RequestBody User user) { - //注册 - if (userService.insertUser(user)) { - return ResponseEntity.ok("注册成功"); + // 输入验证 + if (user.getUsername() == null || user.getUsername().isEmpty()) { + return ResponseEntity.badRequest().body("用户名不能为空"); + } + if (user.getPassword() == null || user.getPassword().isEmpty()) { + return ResponseEntity.badRequest().body("密码不能为空"); + } + try { + if (userService.insertUser(user)) { + return ResponseEntity.status(HttpStatus.CREATED).body("注册成功"); + } else { + return ResponseEntity.status(HttpStatus.CONFLICT).body("用户已经存在"); + } + } catch (Exception e) { + // 异常处理 + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("注册失败,服务器内部错误"); } - return ResponseEntity.ok("用户已经存在"); } + /** + * 用户登录 + * + * @param user + * @return + */ @PostMapping("/login") @ApiOperation("用户登录") public String login(@RequestBody User user) { @@ -45,18 +79,30 @@ public class UserController { //登陆 if (userService.findUserByUsername(user)) { String token = new TokenGenerate().generateToken(user.getUsername()); - redisUtil.addTokens(token); + //将username存入session + session.setAttribute("username", user.getUsername()); + redisUtil.addTokens(user.getUsername(), token); return token; } return "false"; } + /** + * 获取用户名 + * + * @return + */ @GetMapping("/getUsername") @ApiOperation("获取用户名") public String getUserName() { return RequestHolder.getuserId(); } + /** + * 退出登录 + * + * @return + */ @RequestMapping("/uploadAvatar") @ApiOperation("上传头像") public void uploadAvatar(MultipartFile file) throws IOException { @@ -68,36 +114,64 @@ public class UserController { long time = System.currentTimeMillis(); String currentWorkingDirectory = System.getProperty("user.dir"); String relativePath = "/images/avatar/" + time + "." + pType; - String absolutePath = currentWorkingDirectory+"/static" + relativePath; + String absolutePath = currentWorkingDirectory + "/static" + relativePath; file.transferTo(new File(absolutePath)); - System.out.println("导入数据库的路径:" + relativePath); + System.out.println("导入数据库的路径:" + relativePath + "当前用户:" + RequestHolder.getuserId()); userService.addAvatar(relativePath, RequestHolder.getuserId()); } + /** + * 获取头像 + * + * @return + */ @GetMapping("/getAvatar") @ApiOperation("获取头像") - public ResponseEntity getAvatar() { + public String getAvatar() { String path = userService.getAvatar(RequestHolder.getuserId()); System.out.println("发给前端的路径:" + path); - return ResponseEntity.ok(path); + return path; } + /** + * 修改用户名 + * + * @param username + * @return + */ @GetMapping("usernameChange") @ApiOperation("修改用户名") - public ResponseEntity usernameChange(@RequestParam("username") String username){ - if(userService.usernameChange(RequestHolder.getuserId(),username)){ + public ResponseEntity usernameChange(@RequestParam("username") String username) { + if (userService.usernameChange(RequestHolder.getuserId(), username)) { RequestHolder.add(username); return ResponseEntity.ok("修改成功!"); } return ResponseEntity.ok("该用户已存在!"); } + /** + * 修改密码 + * + * @param oldPassword + * @param newPassword + * @return + */ @GetMapping("passwordChange") @ApiOperation("修改密码") - public ResponseEntity passwordChange(@RequestParam("oldPassword") String oldPassword,@RequestParam("newPassword") String newPassword){ - if(userService.passwordChange(RequestHolder.getuserId(),oldPassword,newPassword)){ + public ResponseEntity passwordChange(@RequestParam("oldPassword") String oldPassword, @RequestParam("newPassword") String newPassword) { + if (userService.passwordChange(RequestHolder.getuserId(), oldPassword, newPassword)) { return ResponseEntity.ok("修改成功!"); } return ResponseEntity.ok("原密码输入错误!"); } + + /** + * 查看是否有好友请求 + * + * @return + */ + @GetMapping("/checkFriendRequest") + public JSONObject haveFriendRequest() { + return userService.checkFriendRequest(RequestHolder.getuserId()); + } } diff --git a/src/main/java/com/xubx/springboot_01demo/dto/FriendsDto.java b/src/main/java/com/xubx/springboot_01demo/dto/FriendsDto.java new file mode 100644 index 0000000..aa1a19c --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/dto/FriendsDto.java @@ -0,0 +1,52 @@ +package com.xubx.springboot_01demo.dto; + +public class FriendsDto { + private String FriendName; + private String avatar; + //是否在线 + private String state; + //未读消息数 + private int unread; + + @Override + public String toString() { + return "FriendsDto{" + + "FriendName='" + FriendName + '\'' + + ", avatar='" + avatar + '\'' + + ", state='" + state + '\'' + + ", unread=" + unread + + '}'; + } + + public String getFriendName() { + return FriendName; + } + + public void setFriendName(String friendName) { + FriendName = friendName; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public int getUnread() { + return unread; + } + + public void setUnread(int unread) { + this.unread = unread; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/dto/FriendsRequestDto.java b/src/main/java/com/xubx/springboot_01demo/dto/FriendsRequestDto.java new file mode 100644 index 0000000..42d3d1c --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/dto/FriendsRequestDto.java @@ -0,0 +1,8 @@ +package com.xubx.springboot_01demo.dto; + +/** + * 用于拼接用户头像 + */ +public class FriendsRequestDto { + +} diff --git a/src/main/java/com/xubx/springboot_01demo/dto/RelationshipDto.java b/src/main/java/com/xubx/springboot_01demo/dto/RelationshipDto.java new file mode 100644 index 0000000..da9647c --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/dto/RelationshipDto.java @@ -0,0 +1,35 @@ +package com.xubx.springboot_01demo.dto; + + +/** + * 用于接收前端传来的好友关系 + * @ClassName RelationshipDto + */ +public class RelationshipDto { + private String username; + private String friend; + + @Override + public String toString() { + return "RelationshipDto{" + + "username='" + username + '\'' + + ", friend='" + friend + '\'' + + '}'; + } + + public String getFriend() { + return friend; + } + + public void setFriend(String friend) { + this.friend = friend; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/dto/SendMesDto.java b/src/main/java/com/xubx/springboot_01demo/dto/SendMesDto.java new file mode 100644 index 0000000..0b010a0 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/dto/SendMesDto.java @@ -0,0 +1,45 @@ +package com.xubx.springboot_01demo.dto; + +/** + * @Author xubx + * @Date 2024/06/16 + * @Description 发送消息的数据传输对象 + */ +public class SendMesDto { + private String sender; + private String recipient; + private String content; + + @Override + public String toString() { + return "SendMesDto{" + + "sender='" + sender + '\'' + + ", recient='" + recipient + '\'' + + ", content='" + content + '\'' + + '}'; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public String getRecipient() { + return recipient; + } + + public void setRecipient(String recipient) { + this.recipient = recipient; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/mapper/CommentMapper.java b/src/main/java/com/xubx/springboot_01demo/mapper/CommentMapper.java index 18003b8..08ae0a4 100644 --- a/src/main/java/com/xubx/springboot_01demo/mapper/CommentMapper.java +++ b/src/main/java/com/xubx/springboot_01demo/mapper/CommentMapper.java @@ -1,12 +1,13 @@ package com.xubx.springboot_01demo.mapper; import com.xubx.springboot_01demo.pojo.Comment; +import com.xubx.springboot_01demo.vo.CommentVo; import java.util.List; public interface CommentMapper { //获取该文章的所有评论 - List findAllComment(int article_id); + List findAllComment(int article_id); //新增评论 void addComment(Comment comment); //获取回复评论区 diff --git a/src/main/java/com/xubx/springboot_01demo/mapper/MessagesMapper.java b/src/main/java/com/xubx/springboot_01demo/mapper/MessagesMapper.java new file mode 100644 index 0000000..de7f0c9 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/mapper/MessagesMapper.java @@ -0,0 +1,14 @@ +package com.xubx.springboot_01demo.mapper; + +import com.xubx.springboot_01demo.pojo.Messages; +import com.xubx.springboot_01demo.vo.historyMessagesVo; + +import java.util.List; + +public interface MessagesMapper { + void sendMessages(Messages messages); + + List getMessages(String sender, String recipient); + + void updateState(String sender, String recipient, int state); +} diff --git a/src/main/java/com/xubx/springboot_01demo/mapper/RelationshipMapper.java b/src/main/java/com/xubx/springboot_01demo/mapper/RelationshipMapper.java new file mode 100644 index 0000000..c59d761 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/mapper/RelationshipMapper.java @@ -0,0 +1,22 @@ +package com.xubx.springboot_01demo.mapper; + +import com.xubx.springboot_01demo.pojo.Relationship; +import com.xubx.springboot_01demo.pojo.User; +import com.xubx.springboot_01demo.vo.UserListVo; + +import java.util.List; + +public interface RelationshipMapper { + //1. 查询用户接口 + List findUserByUsername(String currentName,String username); + //2.添加用户接口 + void addFriendRequest(Relationship relationship); + //3.接受添加请求 + void acceptFriendRequest(String username, String friend, int status); + //4.删除好友 + void removeFriend(String username, String friend); + //5.获取好友列表 + List getFriends(String username); + //6.查看是否有好友请求 + List checkFriendRequest(String getuserId); +} diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/Blogs.java b/src/main/java/com/xubx/springboot_01demo/pojo/Blogs.java index 23c7db2..2ccbd29 100644 --- a/src/main/java/com/xubx/springboot_01demo/pojo/Blogs.java +++ b/src/main/java/com/xubx/springboot_01demo/pojo/Blogs.java @@ -3,11 +3,18 @@ package com.xubx.springboot_01demo.pojo; import java.io.Serializable; import java.sql.Timestamp; +/** + * 博客实体类 + */ public class Blogs implements Serializable { private int id; + /**标题*/ private String title; + /**描述*/ private String description; + /**内容*/ private String content; + /**创建时间*/ private Timestamp created; @Override diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/Comment.java b/src/main/java/com/xubx/springboot_01demo/pojo/Comment.java index 05250c3..8ad4d92 100644 --- a/src/main/java/com/xubx/springboot_01demo/pojo/Comment.java +++ b/src/main/java/com/xubx/springboot_01demo/pojo/Comment.java @@ -5,24 +5,25 @@ import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; +/** + * 评论实体类 + */ public class Comment implements Serializable { + /**评论id*/ private int comment_id; + /**文章id*/ private int article_id; + /**评论人*/ private String username; + /**评论内容*/ private String content; + /**父评论id*/ private int parent_id; + /**父评论人*/ private String parent_name; - + /**评论时间*/ private String created; - private String avatar; - public String getAvatar() { - return avatar; - } - - public void setAvatar(String avatar) { - this.avatar = avatar; - } @Override public String toString() { diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/Messages.java b/src/main/java/com/xubx/springboot_01demo/pojo/Messages.java new file mode 100644 index 0000000..1186b0f --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/pojo/Messages.java @@ -0,0 +1,78 @@ +package com.xubx.springboot_01demo.pojo; + +import java.sql.Timestamp; + +public class Messages { + + private int id; + /**发送人*/ + private String sender; + /**接收人*/ + private String recipient; + /**消息内容*/ + private String content; + /**消息状态*/ + private int state; + /**消息时间*/ + private Timestamp created; + + @Override + public String toString() { + return "Messages{" + + "id=" + id + + ", sender='" + sender + '\'' + + ", recipient='" + recipient + '\'' + + ", content='" + content + '\'' + + ", state='" + state + '\'' + + ", time=" + created + + '}'; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public String getRecipient() { + return recipient; + } + + public void setRecipient(String recipient) { + this.recipient = recipient; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public Timestamp getCreated() { + return created; + } + + public void setCreated(Timestamp created) { + this.created = created; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/Relationship.java b/src/main/java/com/xubx/springboot_01demo/pojo/Relationship.java new file mode 100644 index 0000000..8db42ad --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/pojo/Relationship.java @@ -0,0 +1,77 @@ +package com.xubx.springboot_01demo.pojo; + +import java.sql.Timestamp; + +public class Relationship { + private int id; + /**用户名*/ + private String username; + /**好友*/ + private String friend; + /**是否已添加状态*/ + private int status; + /**创建时间*/ + private Timestamp created; + /**发送请求的人*/ + private String initiator; + + @Override + public String toString() { + return "Relationship{" + + "id=" + id + + ", username='" + username + '\'' + + ", friend='" + friend + '\'' + + ", status=" + status + + ", created=" + created + + ", initiator='" + initiator + '\'' + + '}'; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getFriend() { + return friend; + } + + public void setFriend(String friend) { + this.friend = friend; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public Timestamp getCreated() { + return created; + } + + public void setCreated(Timestamp created) { + this.created = created; + } + + public String getInitiator() { + return initiator; + } + + public void setInitiator(String initiator) { + this.initiator = initiator; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/User.java b/src/main/java/com/xubx/springboot_01demo/pojo/User.java index d849a85..efb9ada 100644 --- a/src/main/java/com/xubx/springboot_01demo/pojo/User.java +++ b/src/main/java/com/xubx/springboot_01demo/pojo/User.java @@ -5,20 +5,37 @@ import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; +/** + * 用户实体类 + */ public class User implements Serializable { + private int id; + /** 用户名*/ private String username; + /** 密码*/ private String password; + /** 头像*/ private String avatar; + /** 用户状态*/ + private int state; - public String getAvatar() { - return avatar; + @Override + public String toString() { + return "User{" + + "username='" + username + '\'' + + ", password='" + password + '\'' + + ", avatar='" + avatar + '\'' + + ", state=" + state + + '}'; } - public void setAvatar(String avatar) { - this.avatar = avatar; + public int getId() { + return id; } - + public void setId(int id) { + this.id = id; + } public String getUsername() { return username; @@ -36,12 +53,19 @@ public class User implements Serializable { this.password = password; } - @Override - public String toString() { - return "User{" + - "username='" + username + '\'' + - ", password='" + password + '\'' + - ", avatar='" + avatar + '\'' + - '}'; + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; } } diff --git a/src/main/java/com/xubx/springboot_01demo/pojo/Value.java b/src/main/java/com/xubx/springboot_01demo/pojo/Value.java deleted file mode 100644 index 8082f55..0000000 --- a/src/main/java/com/xubx/springboot_01demo/pojo/Value.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xubx.springboot_01demo.pojo; - -import java.io.Serializable; - -public class Value implements Serializable { - private String value; - - public Value() { - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } -} diff --git a/src/main/java/com/xubx/springboot_01demo/service/CommentService.java b/src/main/java/com/xubx/springboot_01demo/service/CommentService.java index 015381b..fb7bd63 100644 --- a/src/main/java/com/xubx/springboot_01demo/service/CommentService.java +++ b/src/main/java/com/xubx/springboot_01demo/service/CommentService.java @@ -1,13 +1,13 @@ package com.xubx.springboot_01demo.service; import com.xubx.springboot_01demo.pojo.Comment; +import com.xubx.springboot_01demo.vo.CommentVo; import java.util.List; public interface CommentService { //获取所有评论 - List findAllComment(int article_id); + List findAllComment(int article_id); //新增评论 void addComment(Comment comment); - //获取回复评论区 } diff --git a/src/main/java/com/xubx/springboot_01demo/service/MessagesService.java b/src/main/java/com/xubx/springboot_01demo/service/MessagesService.java new file mode 100644 index 0000000..7360ad2 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/service/MessagesService.java @@ -0,0 +1,12 @@ +package com.xubx.springboot_01demo.service; + +import com.xubx.springboot_01demo.dto.SendMesDto; +import com.xubx.springboot_01demo.vo.historyMessagesVo; + +import java.util.List; + +public interface MessagesService { + void sendMessages(SendMesDto sendMesDto); + + List getMessages(String sender, String recipient); +} diff --git a/src/main/java/com/xubx/springboot_01demo/service/RelationshipService.java b/src/main/java/com/xubx/springboot_01demo/service/RelationshipService.java new file mode 100644 index 0000000..0f5b424 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/service/RelationshipService.java @@ -0,0 +1,27 @@ +package com.xubx.springboot_01demo.service; + +import com.xubx.springboot_01demo.pojo.User; +import com.xubx.springboot_01demo.vo.UserListVo; +import com.xubx.springboot_01demo.vo.UserVo; + +import java.util.List; + +public interface RelationshipService { + /**查询用户*/ + List queryUser(String username); + + /**发送添加请求*/ + void requestFriend(String username, String friendName); + + /**接受添加请求*/ + void acceptFriend(String username, String friendName); + + /**拒绝添加请求*/ + void refuseFriend(String username, String friend); + + /**删除好友*/ + void removeFriend(String username, String friendName); + + /**获取好友列表*/ + List getFriends(String username); +} diff --git a/src/main/java/com/xubx/springboot_01demo/service/UserService.java b/src/main/java/com/xubx/springboot_01demo/service/UserService.java index 8f803be..fb9a095 100644 --- a/src/main/java/com/xubx/springboot_01demo/service/UserService.java +++ b/src/main/java/com/xubx/springboot_01demo/service/UserService.java @@ -1,6 +1,11 @@ package com.xubx.springboot_01demo.service; +import com.alibaba.fastjson.JSONObject; +import com.xubx.springboot_01demo.pojo.Relationship; import com.xubx.springboot_01demo.pojo.User; +import com.xubx.springboot_01demo.utils.api.Result; + +import java.util.List; public interface UserService { //登陆判断 @@ -15,4 +20,6 @@ public interface UserService { boolean usernameChange(String usernameNow,String username); //6.修改密码 boolean passwordChange(String username,String oldPassword,String newPassword); + + JSONObject checkFriendRequest(String getuserId); } diff --git a/src/main/java/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.java b/src/main/java/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.java index 224b463..8abb689 100644 --- a/src/main/java/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.java +++ b/src/main/java/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.java @@ -7,6 +7,7 @@ import com.xubx.springboot_01demo.pojo.Comment; import com.xubx.springboot_01demo.service.CommentService; import com.xubx.springboot_01demo.service.UserService; import com.xubx.springboot_01demo.utils.token.RequestHolder; +import com.xubx.springboot_01demo.vo.CommentVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -17,22 +18,17 @@ import java.util.List; public class CommentServiceImpl implements CommentService { @Resource CommentMapper commentMapper; - @Resource - UserService userService; @Override - public List findAllComment(int article_id) { + public List findAllComment(int article_id) { return commentMapper.findAllComment(article_id); } @Override public void addComment(Comment comment) { Comment comment1 = new Comment(); - //对象属性拷贝 BeanUtils.copyProperties(comment,comment1); - comment1.setUsername(RequestHolder.getuserId()); - comment1.setAvatar(userService.getAvatar(RequestHolder.getuserId())); System.out.println(comment1); commentMapper.addComment(comment1); } diff --git a/src/main/java/com/xubx/springboot_01demo/service/impl/MessagesServiceImpl.java b/src/main/java/com/xubx/springboot_01demo/service/impl/MessagesServiceImpl.java new file mode 100644 index 0000000..cfe8bff --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/service/impl/MessagesServiceImpl.java @@ -0,0 +1,36 @@ +package com.xubx.springboot_01demo.service.impl; + +import com.xubx.springboot_01demo.configuration.constantConfiguration; +import com.xubx.springboot_01demo.dto.SendMesDto; +import com.xubx.springboot_01demo.mapper.MessagesMapper; +import com.xubx.springboot_01demo.pojo.Messages; +import com.xubx.springboot_01demo.service.MessagesService; +import com.xubx.springboot_01demo.vo.historyMessagesVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.sql.Timestamp; +import java.util.List; + +@Service +public class MessagesServiceImpl implements MessagesService { + @Resource + MessagesMapper messagesMapper;//@Resource注解表示基于名称注入,如果基于名称注入失败,则会基于类型注入 + + @Override + public void sendMessages(SendMesDto sendMesDto) { + Messages messages = new Messages(); + BeanUtils.copyProperties(sendMesDto, messages);//将sendMesDto的属性复制到messages + messages.setState(constantConfiguration.Unread); + messages.setCreated(new Timestamp(System.currentTimeMillis())); + messagesMapper.sendMessages(messages); + } + + @Override + public List getMessages(String sender, String recipient) { + //查询成功后将state设置为已读 + messagesMapper.updateState(sender, recipient, constantConfiguration.Read); + return messagesMapper.getMessages(sender, recipient); + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/service/impl/RelationshipServiceImpl.java b/src/main/java/com/xubx/springboot_01demo/service/impl/RelationshipServiceImpl.java new file mode 100644 index 0000000..2d52ea0 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/service/impl/RelationshipServiceImpl.java @@ -0,0 +1,108 @@ +package com.xubx.springboot_01demo.service.impl; + +import com.xubx.springboot_01demo.configuration.constantConfiguration; +import com.xubx.springboot_01demo.mapper.RelationshipMapper; +import com.xubx.springboot_01demo.pojo.Relationship; +import com.xubx.springboot_01demo.pojo.User; +import com.xubx.springboot_01demo.service.RelationshipService; +import com.xubx.springboot_01demo.utils.token.RequestHolder; +import com.xubx.springboot_01demo.vo.UserListVo; +import com.xubx.springboot_01demo.vo.UserVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +@Service +public class RelationshipServiceImpl implements RelationshipService { + + @Resource + RelationshipMapper relationshipMapper; + + + /** + * 根据用户名模糊查询用户 + * + * @param username + * @return + */ + @Override + public List queryUser(String username) { + List userDtos = new ArrayList<>(); + //将User转换为UserDto + for(User u : relationshipMapper.findUserByUsername(RequestHolder.getuserId(),username)){ + UserVo userDto = new UserVo(); + //将User的属性复制到UserDto + BeanUtils.copyProperties(u,userDto); + userDtos.add(userDto); + } + return userDtos; + } + + /** + * 发送添加请求 + * + * @param username + * @param friendName + */ + @Override + public void requestFriend(String username, String friendName) { + //设置status为pending + Relationship relationship = new Relationship(); + relationship.setUsername(username); + relationship.setFriend(friendName); + relationship.setStatus(constantConfiguration.Add_Request); + relationship.setCreated(new Timestamp(System.currentTimeMillis())); + relationshipMapper.addFriendRequest(relationship); + } + + /** + * 接受添加请求 + * + * @param username + * @param friend + */ + @Override + public void acceptFriend(String username, String friend) { + //将status改为accepted + relationshipMapper.acceptFriendRequest(username, friend, constantConfiguration.Accept_Request); + + } + + /** + * 拒绝添加请求 + * + * @param username + * @param friend + */ + @Override + public void refuseFriend(String username, String friend) { + //直接删除 + relationshipMapper.removeFriend(username, friend); + } + + /** + * 删除好友 + * + * @param username + * @param friendName + */ + @Override + public void removeFriend(String username, String friendName) { + relationshipMapper.removeFriend(username, friendName); + } + + /** + * 获取好友列表 + * + * @param username + * @return + */ + @Override + public List getFriends(String username) { + //通过用户名查找好友 + return relationshipMapper.getFriends(username); + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/service/impl/UserServiceImpl.java b/src/main/java/com/xubx/springboot_01demo/service/impl/UserServiceImpl.java index 8dd30f0..a637d24 100644 --- a/src/main/java/com/xubx/springboot_01demo/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xubx/springboot_01demo/service/impl/UserServiceImpl.java @@ -1,11 +1,18 @@ package com.xubx.springboot_01demo.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xubx.springboot_01demo.mapper.RelationshipMapper; import com.xubx.springboot_01demo.mapper.UserMapper; +import com.xubx.springboot_01demo.pojo.Relationship; import com.xubx.springboot_01demo.pojo.User; import com.xubx.springboot_01demo.service.UserService; +import com.xubx.springboot_01demo.utils.api.Result; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; import java.util.Objects; //Service进行具体的业务处理 @@ -13,6 +20,8 @@ import java.util.Objects; public class UserServiceImpl implements UserService { @Resource UserMapper userMapper; + @Resource + RelationshipMapper relationshipMapper; //登陆,获取User对象 @Override @@ -24,7 +33,7 @@ public class UserServiceImpl implements UserService { return true; } return false; - } catch (Exception e){ + } catch (Exception e) { System.out.println(e); return false; } @@ -43,8 +52,8 @@ public class UserServiceImpl implements UserService { } @Override - public void addAvatar(String path,String username) { - userMapper.addAvatar(path,username); + public void addAvatar(String path, String username) { + userMapper.addAvatar(path, username); } @Override @@ -53,22 +62,42 @@ public class UserServiceImpl implements UserService { } @Override - public boolean usernameChange(String usernameNow,String username) { + public boolean usernameChange(String usernameNow, String username) { // 检查用户名是否已存在 if (userMapper.findUserByUsername(username) != null) { return false; } - userMapper.usernameChange(usernameNow,username); + userMapper.usernameChange(usernameNow, username); return true; } @Override public boolean passwordChange(String username, String oldPassword, String newPassword) { //检查输入的原密码是否正确 - if(oldPassword.equals(userMapper.getPasswordByname(username))){ - userMapper.passwordChange(username,newPassword); + if (oldPassword.equals(userMapper.getPasswordByname(username))) { + userMapper.passwordChange(username, newPassword); return true; } return false; } + + //查看是否有好友请求 + @Override + public JSONObject checkFriendRequest(String getuserId) { + List relationships = relationshipMapper.checkFriendRequest(getuserId); + JSONArray jsonArray = new JSONArray(); + for (Relationship relationship : relationships) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", relationship.getId()); + jsonObject.put("username", relationship.getUsername()); + jsonObject.put("friend", relationship.getFriend()); + jsonObject.put("created", relationship.getCreated().toString()); + jsonObject.put("initiator", relationship.getInitiator()); + jsonObject.put("avatar", userMapper.getAvatar(relationship.getInitiator())); + jsonArray.add(jsonObject); + } + JSONObject result = new JSONObject(); + result.put("friendRequests", jsonArray); + return result; + } } diff --git a/src/main/java/com/xubx/springboot_01demo/sms/SMSsend.java b/src/main/java/com/xubx/springboot_01demo/sms/SMSsend.java new file mode 100644 index 0000000..d1a92ed --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/sms/SMSsend.java @@ -0,0 +1,60 @@ +package com.xubx.springboot_01demo.sms; + + +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; + +public class SMSsend { + //产品名称:云通信短信API产品,开发者无需替换 + static final String product = "Dysmsapi"; + //产品域名,开发者无需替换 + static final String domain = "dysmsapi.aliyuncs.com"; + + // 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找) + static final String accessKeyId = "LTAI5t6wVLcc5R9cpoQVimco"; + static final String accessKeySecret = "zzPnrX4PiuT1MePZDrMK6EOhIK59jw"; + + public static SendSmsResponse sendSms() throws ClientException { + + //可自助调整超时时间 + System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); + System.setProperty("sun.net.client.defaultReadTimeout", "10000"); + + //初始化acsClient,暂不支持region化 + IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); + DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); + IAcsClient acsClient = new DefaultAcsClient(profile); + + //组装请求对象-具体描述见控制台-文档部分内容 + SendSmsRequest request = new SendSmsRequest(); + //必填:待发送手机号 + request.setPhoneNumbers("13774774893"); + //必填:短信签名-可在短信控制台中找到 + request.setSignName("xbx博客"); + //必填:短信模板-可在短信控制台中找到 + request.setTemplateCode("SMS_467395020"); + //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 + request.setTemplateParam("{\"name\":\"李豪\"}"); + + //hint 此处可能会抛出异常,注意catch + SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); + + return sendSmsResponse; + } + + + public static void main(String[] args) throws ClientException { + SendSmsResponse sendSms = sendSms(); + + if (sendSms.getCode().equals("OK")) { + System.out.println("短信发送成功...." + sendSms.getCode()); + } else { + System.out.println("短信发送失败...." + sendSms.getCode()); + } + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/sms/Sample.java b/src/main/java/com/xubx/springboot_01demo/sms/Sample.java new file mode 100644 index 0000000..4120829 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/sms/Sample.java @@ -0,0 +1,81 @@ +package com.xubx.springboot_01demo.sms; +// This file is auto-generated, don't edit it. Thanks. + +import com.aliyun.auth.credentials.Credential; +import com.aliyun.auth.credentials.provider.StaticCredentialProvider; +import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient; +import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse; +import com.google.gson.Gson; +import darabonba.core.client.ClientOverrideConfiguration; + +import java.util.concurrent.CompletableFuture; +public class Sample { + + public static void main(String[] args) throws Exception { + + // HttpClient Configuration + /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder() + .connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout time, the default is 10 seconds + .responseTimeout(Duration.ofSeconds(10)) // Set the response timeout time, the default is 20 seconds + .maxConnections(128) // Set the connection pool size + .maxIdleTimeOut(Duration.ofSeconds(50)) // Set the connection pool timeout, the default is 30 seconds + // Configure the proxy + .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("", 9001)) + .setCredentials("", "")) + // If it is an https connection, you need to configure the certificate, or ignore the certificate(.ignoreSSL(true)) + .x509TrustManagers(new X509TrustManager[]{}) + .keyManagers(new KeyManager[]{}) + .ignoreSSL(false) + .build();*/ + + // Configure Credentials authentication information, including ak, secret, token + StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder() + // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. + .accessKeyId(System.getenv("LTAI5tEZgzfMnkLdKCRRVnMT")) + .accessKeySecret(System.getenv("51cCqBgSfOkVxVUNdkv56mHR68eKfl")) + //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token + .build()); + + // Configure the Client + AsyncClient client = AsyncClient.builder() + .region("cn-hangzhou") // Region ID + //.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient) + .credentialsProvider(provider) + //.serviceConfiguration(Configuration.create()) // Service-level configuration + // Client-level configuration rewrite, can set Endpoint, Http request parameters, etc. + .overrideConfiguration( + ClientOverrideConfiguration.create() + // Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi + .setEndpointOverride("dysmsapi.aliyuncs.com") + //.setConnectTimeout(Duration.ofSeconds(30)) + ) + .build(); + + // Parameter settings for API request + SendSmsRequest sendSmsRequest = SendSmsRequest.builder() + .signName("xbx博客") + .templateCode("SMS_467565017") + .phoneNumbers("18659472561") +// .templateParam("{\"code\":\"1234\"}") + // Request-level configuration rewrite, can set Http request parameters, etc. + // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders())) + .build(); + + // Asynchronously get the return value of the API request + CompletableFuture response = client.sendSms(sendSmsRequest); + // Synchronously get the return value of the API request + SendSmsResponse resp = response.get(); + System.out.println(new Gson().toJson(resp)); + // Asynchronous processing of return values + /*response.thenAccept(resp -> { + System.out.println(new Gson().toJson(resp)); + }).exceptionally(throwable -> { // Handling exceptions + System.out.println(throwable.getMessage()); + return null; + });*/ + + // Finally, close the client + client.close(); + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/utils/api/Result.java b/src/main/java/com/xubx/springboot_01demo/utils/api/Result.java index 5e4b765..66b04a5 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/api/Result.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/api/Result.java @@ -13,12 +13,22 @@ public class Result { //推送的数据 private ResultData result; - public static Result ok(String chartType, List data) { +// public static Result ok(String chartType, List data) { +// Result r = new Result<>(); +// r.setCode(200); +// r.setMessage(""); +// ResultData resultData = new ResultData<>(); +//// resultData.setChartType(chartType); +//// resultData.setList(data); +// r.setResult(resultData); +// return r; +// } + + public static Result ok( String Message, T data) { Result r = new Result<>(); r.setCode(200); - r.setMessage(""); + r.setMessage(Message); ResultData resultData = new ResultData<>(); - resultData.setChartType(chartType); resultData.setData(data); r.setResult(resultData); return r; @@ -36,7 +46,9 @@ public class Result { @Data class ResultData { // 图表类型 - private String chartType; +// private String chartType; // 数据 - private List data; +// private List List; + //数据 + private T data; } diff --git a/src/main/java/com/xubx/springboot_01demo/utils/token/IntercepterConfig.java b/src/main/java/com/xubx/springboot_01demo/utils/token/IntercepterConfig.java index c85e10a..3814e1b 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/token/IntercepterConfig.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/token/IntercepterConfig.java @@ -21,8 +21,13 @@ public class IntercepterConfig implements WebMvcConfigurer { public void addInterceptors(InterceptorRegistry registry) { //excludePathPatterns用来配置不需要拦截的路径 List excludePath = new ArrayList<>();//List用来保存所有不需要拦截的路径 - excludePath.add("/register"); //注册 - excludePath.add("/login"); //登录 + excludePath.add("/user/register"); //注册 + excludePath.add("/user/login"); //登录 + excludePath.add("/swagger-ui.html");//swagger + excludePath.add("/images/**");//图片 + excludePath.add("/static/**");//图片 + excludePath.add("/webjars/**");//swagger + excludePath.add("/swagger-resources/**");//swagger @@ -30,6 +35,5 @@ public class IntercepterConfig implements WebMvcConfigurer { .addPathPatterns("/**") //指定拦截所有路径 .excludePathPatterns(excludePath);//排除不需要拦截的路径 WebMvcConfigurer.super.addInterceptors(registry); - } } diff --git a/src/main/java/com/xubx/springboot_01demo/utils/token/RedisUtil.java b/src/main/java/com/xubx/springboot_01demo/utils/token/RedisUtil.java index 234a809..6966085 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/token/RedisUtil.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/token/RedisUtil.java @@ -12,13 +12,14 @@ public class RedisUtil { @Resource private RedisTemplate stringRedisTemplate;//这是一个使用redis的API,可以直接用StringRedisTemplate - public void addTokens(String token) {//存入token - System.out.println(token+"打印addTokens"); - ValueOperations valueOperations = stringRedisTemplate.opsForValue(); - valueOperations.set("token", token); + public void addTokens(String username,String token) {//存入token + ValueOperations valueOperations = stringRedisTemplate.opsForValue(); + valueOperations.set(username, token); } - public String getTokens() {//获取token - return stringRedisTemplate.opsForValue().get("token"); + public String getTokens(String token) {//获取token + //根据token获取用户信息 + String username = TokenGenerate.getUsername(token); + return stringRedisTemplate.opsForValue().get(username); } public void delTokens(String username) {//删除token在前端已经进行 diff --git a/src/main/java/com/xubx/springboot_01demo/utils/token/RequestHolder.java b/src/main/java/com/xubx/springboot_01demo/utils/token/RequestHolder.java index fa7632d..efcfdd3 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/token/RequestHolder.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/token/RequestHolder.java @@ -1,5 +1,8 @@ package com.xubx.springboot_01demo.utils.token; +/** + * 用于存储当前用户的id + */ public class RequestHolder { private static final ThreadLocal userHolder = new ThreadLocal<>(); diff --git a/src/main/java/com/xubx/springboot_01demo/utils/token/TokenGenerate.java b/src/main/java/com/xubx/springboot_01demo/utils/token/TokenGenerate.java index 35bc204..c2074b9 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/token/TokenGenerate.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/token/TokenGenerate.java @@ -6,29 +6,36 @@ import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; import java.util.Date; + public class TokenGenerate { - private static final long EXPIRE_TIME= 60*60*1000; - private static final String TOKEN_SECRET="tokenqkj"; //密钥盐 - public String generateToken(String username){ + private static final long EXPIRE_TIME = 60 * 60 * 1000; + private static final String TOKEN_SECRET = "tokenqkj"; //密钥盐 + + public String generateToken(String username) { String token = null; - try{ + try { Date expiresAt = new Date(System.currentTimeMillis() + EXPIRE_TIME); token = JWT.create() .withIssuer("auth0") .withClaim("username", username) .withExpiresAt(expiresAt) .sign(Algorithm.HMAC256(TOKEN_SECRET)); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return token; } + /** * 签名验证 */ - public static boolean verify(String token){ + public static boolean verify(String token) { try { + //去掉token的第一个和最后一个引号 + if (token != null && token.startsWith("\"") && token.endsWith("\"")) { + token = token.substring(1, token.length() - 1); + } JWTVerifier verifier = JWT.require(Algorithm.HMAC256(TOKEN_SECRET)).withIssuer("auth0").build(); DecodedJWT jwt = verifier.verify(token); RequestHolder.add(jwt.getClaim("username").asString()); @@ -37,9 +44,27 @@ public class TokenGenerate { System.out.println("username: " + jwt.getClaim("username").asString()); System.out.println("过期时间: " + jwt.getExpiresAt()); return true; - } catch (Exception e){ - System.out.println("没通过"); + } catch (Exception e) { + System.out.println(e.getMessage()); return false; } } + + /** + * 获取token中的username + */ + public static String getUsername(String token) { + try { + //去掉token的第一个和最后一个引号 + if (token != null && token.startsWith("\"") && token.endsWith("\"")) { + token = token.substring(1, token.length() - 1); + } + JWTVerifier verifier = JWT.require(Algorithm.HMAC256(TOKEN_SECRET)).withIssuer("auth0").build(); + DecodedJWT jwt = verifier.verify(token); + return jwt.getClaim("username").asString(); + } catch (Exception e) { + return null; + } + } + } diff --git a/src/main/java/com/xubx/springboot_01demo/utils/token/TokenInterceptor.java b/src/main/java/com/xubx/springboot_01demo/utils/token/TokenInterceptor.java index 1c1176b..e7d3b02 100644 --- a/src/main/java/com/xubx/springboot_01demo/utils/token/TokenInterceptor.java +++ b/src/main/java/com/xubx/springboot_01demo/utils/token/TokenInterceptor.java @@ -1,14 +1,12 @@ package com.xubx.springboot_01demo.utils.token; -import com.xubx.springboot_01demo.controller.UserController; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.PrintWriter; //token拦截器,对拦截下的接口检查其的token是否符合只有 // 在提供一个有效的token时才能通过验证,否则给出认证失败的响应。 @@ -16,27 +14,34 @@ import java.io.PrintWriter; public class TokenInterceptor implements HandlerInterceptor { @Resource RedisUtil redisUtil; + @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception{ + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //Axios 发起跨域请求前,浏览器也会首先发起 OPTIONS 预检请求。检查服务器是否允许跨域访问。 - if(request.getMethod().equals("OPTIONS")){ + if (request.getMethod().equals("OPTIONS")) { response.setStatus(HttpServletResponse.SC_OK); System.out.println("允许跨域访问"); return true; } - response.setCharacterEncoding("utf-8"); - String token = redisUtil.getTokens(); - if(token != null){ + // 从请求头中获取token + String token = request.getHeader("Authorization"); + // 从redis中获取token + String redisToken = redisUtil.getTokens(token); + // 验证token + if (redisToken != null) { boolean result = TokenGenerate.verify(token); - if(result){ - System.out.println("通过拦截器"); + if (result) { return true; } } response.setCharacterEncoding("UTF-8"); - PrintWriter out = null; response.getWriter().write("认证失败,错误码:50000"); - return false;//原为false + return false; + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { + RequestHolder.remove(); } } diff --git a/src/main/java/com/xubx/springboot_01demo/vo/CommentVo.java b/src/main/java/com/xubx/springboot_01demo/vo/CommentVo.java new file mode 100644 index 0000000..9fd5b99 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/vo/CommentVo.java @@ -0,0 +1,116 @@ +package com.xubx.springboot_01demo.vo; + +import java.io.Serializable; + +public class CommentVo implements Serializable { + /** + * 评论id + */ + private int comment_id; + /** + * 文章id + */ + private int article_id; + /** + * 评论人 + */ + private String username; + /** + * 评论内容 + */ + private String content; + /** + * 父评论id + */ + private int parent_id; + /** + * 父评论人 + */ + private String parent_name; + /** + * 评论时间 + */ + private String created; + /** + * 评论人头像 + */ + private String avatar; + + @Override + public String toString() { + return "CommentVo{" + + "comment_id=" + comment_id + + ", article_id=" + article_id + + ", username='" + username + '\'' + + ", content='" + content + '\'' + + ", parent_id=" + parent_id + + ", parent_name='" + parent_name + '\'' + + ", created='" + created + '\'' + + ", avatar='" + avatar + '\'' + + '}'; + } + + public int getComment_id() { + return comment_id; + } + + public void setComment_id(int comment_id) { + this.comment_id = comment_id; + } + + public int getArticle_id() { + return article_id; + } + + public void setArticle_id(int article_id) { + this.article_id = article_id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getParent_id() { + return parent_id; + } + + public void setParent_id(int parent_id) { + this.parent_id = parent_id; + } + + public String getParent_name() { + return parent_name; + } + + public void setParent_name(String parent_name) { + this.parent_name = parent_name; + } + + public String getCreated() { + return created; + } + + public void setCreated(String created) { + this.created = created; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/vo/UserListVo.java b/src/main/java/com/xubx/springboot_01demo/vo/UserListVo.java new file mode 100644 index 0000000..160943e --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/vo/UserListVo.java @@ -0,0 +1,65 @@ +package com.xubx.springboot_01demo.vo; + +public class UserListVo { + /** + * 用户名 + */ + private String username; + /** + * 头像 + */ + private String avatar; + /** + * 用户状态 + */ + private int state; + + @Override + public String toString() { + return "UserListVo{" + + "username='" + username + '\'' + + ", avatar='" + avatar + '\'' + + ", state=" + state + + ", unreadCount=" + unreadCount + + '}'; + } + + /** + * 未读消息数量 + */ + + private int unreadCount; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public int getUnreadCount() { + return unreadCount; + } + + public void setUnreadCount(int unreadCount) { + this.unreadCount = unreadCount; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/vo/UserVo.java b/src/main/java/com/xubx/springboot_01demo/vo/UserVo.java new file mode 100644 index 0000000..d162060 --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/vo/UserVo.java @@ -0,0 +1,43 @@ +package com.xubx.springboot_01demo.vo; + +/** + *用于屏蔽用户密码 + */ +public class UserVo { + private String username; + private String avatar; + private int state; + + @Override + public String toString() { + return "UserDto{" + + "username='" + username + '\'' + + ", avatr='" + avatar + '\'' + + ", state=" + state + + '}'; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } +} diff --git a/src/main/java/com/xubx/springboot_01demo/vo/historyMessagesVo.java b/src/main/java/com/xubx/springboot_01demo/vo/historyMessagesVo.java new file mode 100644 index 0000000..c163acb --- /dev/null +++ b/src/main/java/com/xubx/springboot_01demo/vo/historyMessagesVo.java @@ -0,0 +1,72 @@ +package com.xubx.springboot_01demo.vo; + +import java.sql.Timestamp; + +public class historyMessagesVo { + private String sender; + private String recipient; + private String content; + private int state; + private Timestamp created; + private String avatar; + + @Override + public String toString() { + return "historyMessages{" + + "sender='" + sender + '\'' + + ", recipient='" + recipient + '\'' + + ", content='" + content + '\'' + + ", state=" + state + + ", created=" + created + + ", avatar='" + avatar + '\'' + + '}'; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public String getRecipient() { + return recipient; + } + + public void setRecipient(String recipient) { + this.recipient = recipient; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public Timestamp getCreated() { + return created; + } + + public void setCreated(Timestamp created) { + this.created = created; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 268d2ea..9bff138 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,16 +1,17 @@ spring.datasource.driverClassName=com.mysql.jdbc.Driver -spring.datasource.url=jdbc:mysql://124.71.135.249:3306/vue +spring.datasource.url=jdbc:mysql://62.234.217.137:3306/vue spring.datasource.username=root -spring.datasource.password=xbx123 -server.port=8081 +spring.datasource.password=nWZpHMb8mNxWE5Xk +server.port=8088 #spring.web.resources.static-locations=classpath:/static/ spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.xubx.springboot_01demo.pojo -spring.redis.host=124.71.135.249 + +spring.redis.host=62.234.217.137 spring.redis.port=6379 -spring.redis.password=123456 +spring.redis.password=LSHCwjr6ZN4hzCxS logging.level.com.xubx.springboot_01demo.mapper= debug #Path???????ant_path_matcher diff --git a/src/main/resources/mapper/CommentMapper.xml b/src/main/resources/mapper/CommentMapper.xml index f30ee8d..d65c6a7 100644 --- a/src/main/resources/mapper/CommentMapper.xml +++ b/src/main/resources/mapper/CommentMapper.xml @@ -2,27 +2,27 @@ - - - + + - - + + - - - - + + + - - + SELECT c.*, r.avatar + FROM comment c + JOIN register r ON c.username = r.username + WHERE c.article_id = #{article_id} - insert into comment (article_id, username, content, parent_id, parent_name, created, avatar) - values (#{article_id}, #{username}, #{content}, #{parent_id}, #{parent_name}, #{created}, #{avatar}) + insert into comment (article_id, username, content, parent_id, parent_name, created) + values (#{article_id}, #{username}, #{content}, #{parent_id}, #{parent_name}, #{created}) \ No newline at end of file diff --git a/src/main/resources/mapper/MessagesMapper.xml b/src/main/resources/mapper/MessagesMapper.xml new file mode 100644 index 0000000..6d194d0 --- /dev/null +++ b/src/main/resources/mapper/MessagesMapper.xml @@ -0,0 +1,30 @@ + + + + + + + insert into messages (sender, recipient, content, state, created) + values (#{sender}, #{recipient}, #{content}, #{state}, #{created}) + + + + + + update messages + set state = #{state} + where sender = #{recipient} and recipient = #{sender} and state = 0; + + \ No newline at end of file diff --git a/src/main/resources/mapper/RelationshipMapper.xml b/src/main/resources/mapper/RelationshipMapper.xml new file mode 100644 index 0000000..9dcb33f --- /dev/null +++ b/src/main/resources/mapper/RelationshipMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + insert into relationship (username, friend, status, created, initiator) + values (#{username}, #{friend}, #{status}, #{created}, #{username}), + (#{friend}, #{username}, #{status}, #{created}, #{username}) + + + + update relationship + set status = #{status} + where (username = #{username} and friend = #{friend}) + OR (username = #{friend} and friend = #{username}) + + + + delete + from relationship + where (username = #{username} and friend = #{friend}) + OR (username = #{friend} and friend = #{username}) + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/images/avatar/1702046433098.jpg b/src/main/resources/static/images/avatar/1702046433098.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702046433098.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702046571256.jpg b/src/main/resources/static/images/avatar/1702046571256.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702046571256.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702046590264.jpg b/src/main/resources/static/images/avatar/1702046590264.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702046590264.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048096580.jpg b/src/main/resources/static/images/avatar/1702048096580.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048096580.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048200694.jpg b/src/main/resources/static/images/avatar/1702048200694.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048200694.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048297320.jpg b/src/main/resources/static/images/avatar/1702048297320.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048297320.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048358950.jpg b/src/main/resources/static/images/avatar/1702048358950.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048358950.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048625931.jpg b/src/main/resources/static/images/avatar/1702048625931.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048625931.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702048689470.jpg b/src/main/resources/static/images/avatar/1702048689470.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702048689470.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049015720.jpg b/src/main/resources/static/images/avatar/1702049015720.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049015720.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049127972.jpg b/src/main/resources/static/images/avatar/1702049127972.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049127972.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049299959.jpg b/src/main/resources/static/images/avatar/1702049299959.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049299959.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049450239.jpg b/src/main/resources/static/images/avatar/1702049450239.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049450239.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049497549.jpg b/src/main/resources/static/images/avatar/1702049497549.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049497549.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049649968.jpg b/src/main/resources/static/images/avatar/1702049649968.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049649968.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049718707.jpg b/src/main/resources/static/images/avatar/1702049718707.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049718707.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702049751705.jpg b/src/main/resources/static/images/avatar/1702049751705.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702049751705.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702050225498.jpg b/src/main/resources/static/images/avatar/1702050225498.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702050225498.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702050831693.jpg b/src/main/resources/static/images/avatar/1702050831693.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702050831693.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702050851941.jpg b/src/main/resources/static/images/avatar/1702050851941.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702050851941.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702050999885.jpg b/src/main/resources/static/images/avatar/1702050999885.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702050999885.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702051366457.jpg b/src/main/resources/static/images/avatar/1702051366457.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702051366457.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702051415172.jpg b/src/main/resources/static/images/avatar/1702051415172.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702051415172.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702051546998.jpg b/src/main/resources/static/images/avatar/1702051546998.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702051546998.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702052071733.jpg b/src/main/resources/static/images/avatar/1702052071733.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702052071733.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702052131732.jpg b/src/main/resources/static/images/avatar/1702052131732.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702052131732.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702052225022.jpg b/src/main/resources/static/images/avatar/1702052225022.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702052225022.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702109658752.jpg b/src/main/resources/static/images/avatar/1702109658752.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702109658752.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702109674321.jpg b/src/main/resources/static/images/avatar/1702109674321.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702109674321.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702109750016.jpg b/src/main/resources/static/images/avatar/1702109750016.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702109750016.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702109782010.jpg b/src/main/resources/static/images/avatar/1702109782010.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702109782010.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110027933.jpg b/src/main/resources/static/images/avatar/1702110027933.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110027933.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110083002.jpg b/src/main/resources/static/images/avatar/1702110083002.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110083002.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110168427.jpg b/src/main/resources/static/images/avatar/1702110168427.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110168427.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110317566.jpg b/src/main/resources/static/images/avatar/1702110317566.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110317566.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110437393.jpg b/src/main/resources/static/images/avatar/1702110437393.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110437393.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110487729.jpg b/src/main/resources/static/images/avatar/1702110487729.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110487729.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702110517816.jpg b/src/main/resources/static/images/avatar/1702110517816.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702110517816.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702111486937.jpg b/src/main/resources/static/images/avatar/1702111486937.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702111486937.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702111610353.jpg b/src/main/resources/static/images/avatar/1702111610353.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702111610353.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702111623826.jpg b/src/main/resources/static/images/avatar/1702111623826.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702111623826.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702111639459.jpg b/src/main/resources/static/images/avatar/1702111639459.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702111639459.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702111853013.jpg b/src/main/resources/static/images/avatar/1702111853013.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702111853013.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702112205411.jpg b/src/main/resources/static/images/avatar/1702112205411.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702112205411.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702113497371.jpg b/src/main/resources/static/images/avatar/1702113497371.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702113497371.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702113525697.jpg b/src/main/resources/static/images/avatar/1702113525697.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702113525697.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702113636472.jpg b/src/main/resources/static/images/avatar/1702113636472.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702113636472.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702114255773.jpg b/src/main/resources/static/images/avatar/1702114255773.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702114255773.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702114326354.jpg b/src/main/resources/static/images/avatar/1702114326354.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702114326354.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702114373653.jpg b/src/main/resources/static/images/avatar/1702114373653.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702114373653.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702114793557.jpg b/src/main/resources/static/images/avatar/1702114793557.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702114793557.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702114974369.jpg b/src/main/resources/static/images/avatar/1702114974369.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702114974369.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702131980964.jpg b/src/main/resources/static/images/avatar/1702131980964.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702131980964.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132164939.jpg b/src/main/resources/static/images/avatar/1702132164939.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702132164939.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132201743.jpg b/src/main/resources/static/images/avatar/1702132201743.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702132201743.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132220764.jpg b/src/main/resources/static/images/avatar/1702132220764.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702132220764.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132342054.jpg b/src/main/resources/static/images/avatar/1702132342054.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702132342054.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132479898.jpg b/src/main/resources/static/images/avatar/1702132479898.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702132479898.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702132554173.jpg b/src/main/resources/static/images/avatar/1702132554173.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702132554173.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133008943.jpg b/src/main/resources/static/images/avatar/1702133008943.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133008943.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133030967.jpg b/src/main/resources/static/images/avatar/1702133030967.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133030967.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133121487.jpg b/src/main/resources/static/images/avatar/1702133121487.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133121487.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133135862.jpg b/src/main/resources/static/images/avatar/1702133135862.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133135862.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133310563.jpg b/src/main/resources/static/images/avatar/1702133310563.jpg deleted file mode 100644 index 3c0c7f5..0000000 Binary files a/src/main/resources/static/images/avatar/1702133310563.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133514465.jpg b/src/main/resources/static/images/avatar/1702133514465.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702133514465.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133604208.jpg b/src/main/resources/static/images/avatar/1702133604208.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133604208.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133616492.jpg b/src/main/resources/static/images/avatar/1702133616492.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133616492.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133695941.jpg b/src/main/resources/static/images/avatar/1702133695941.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702133695941.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702133761140.jpg b/src/main/resources/static/images/avatar/1702133761140.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702133761140.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702134474785.jpg b/src/main/resources/static/images/avatar/1702134474785.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/src/main/resources/static/images/avatar/1702134474785.jpg and /dev/null differ diff --git a/src/main/resources/static/images/avatar/1702134779310.jpg b/src/main/resources/static/images/avatar/1702134779310.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/src/main/resources/static/images/avatar/1702134779310.jpg and /dev/null differ diff --git a/src/test/java/OpenAIApiClient.java b/src/test/java/OpenAIApiClient.java new file mode 100644 index 0000000..2f29f53 --- /dev/null +++ b/src/test/java/OpenAIApiClient.java @@ -0,0 +1,64 @@ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.http.client.HttpResponseException; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.junit.jupiter.api.Test; + +import java.io.IOException; + +public class OpenAIApiClient { + private static final String API_SECRET_KEY = "sk-zk2d680be7e83c1da760dcddc8243116dbd6678335384787"; + private static final String BASE_URL = "https://api.zhizengzeng.com/v1/chat/completions"; + + @Test + public void test() { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // Construct the request body + JSONObject content = new JSONObject(); + content.put("type", "text"); + content.put("text", "What’s in this image?"); + + JSONObject imageContent = new JSONObject(); + imageContent.put("type", "image_url"); + JSONObject imageUrl = new JSONObject(); + imageUrl.put("url", "http://124.71.135.249:8081/images/avatar/1718618415826.jpg"); + imageContent.put("image_url", imageUrl); + + JSONObject message = new JSONObject(); + message.put("role", "user"); + message.put("content", new JSONObject[]{content, imageContent}); + + JSONObject requestBodyJson = new JSONObject(); + requestBodyJson.put("model", "gpt-4o"); + requestBodyJson.put("messages", new JSONObject[]{message}); + requestBodyJson.put("max_tokens", 300); + + StringEntity requestEntity = new StringEntity(requestBodyJson.toJSONString(), ContentType.APPLICATION_JSON); + + HttpPost httpPost = new HttpPost(BASE_URL); + httpPost.setHeader("Authorization", "Bearer " + API_SECRET_KEY); + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setEntity(requestEntity); + + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { +// if (response.getCode() != 200) { +// throw new HttpResponseException(response.getCode(), "Unexpected response status"); +// } + + // Parse the JSON response + String responseBody = new String(response.getEntity().getContent().readAllBytes()); + JSONObject jsonResponse = JSON.parseObject(responseBody); + + // Print the response + System.out.println(jsonResponse.toJSONString(true)); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/src/test/java/httpClient.java b/src/test/java/httpClient.java index 9608bf8..ed43a53 100644 --- a/src/test/java/httpClient.java +++ b/src/test/java/httpClient.java @@ -5,6 +5,9 @@ import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; diff --git a/src/test/java/test.java b/src/test/java/test.java new file mode 100644 index 0000000..2c5e45d --- /dev/null +++ b/src/test/java/test.java @@ -0,0 +1,34 @@ +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.xubx.springboot_01demo.utils.token.RequestHolder; +import org.junit.jupiter.api.Test; + +public class test { + public static boolean verify(String token) { + try { + //去掉token的第一个和最后一个引号 + if (token != null && token.startsWith("\"") && token.endsWith("\"")) { + token = token.substring(1, token.length() - 1); + } + JWTVerifier verifier = JWT.require(Algorithm.HMAC256("tokenqkj")).withIssuer("auth0").build(); + DecodedJWT jwt = verifier.verify(token); + RequestHolder.add(jwt.getClaim("username").asString()); + System.out.println("认证通过:"); + System.out.println("issuer: " + jwt.getIssuer()); + System.out.println("username: " + jwt.getClaim("username").asString()); + System.out.println("过期时间: " + jwt.getExpiresAt()); + return true; + } catch (Exception e) { + System.out.println(e.getMessage()); + return false; + } + } + @Test + public void test1(){ + verify("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRoMCIsImV4cCI6MTcxODk1MzMxMiwidXNlcm5hbWUiOiIxMjM0In0.x_P_0vm7fBStK7feBWrFhfDFBZYXTOpDpvayztj0MNE"); + } + + +} diff --git a/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar b/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar deleted file mode 100644 index d04e41e..0000000 Binary files a/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar and /dev/null differ diff --git a/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar.original b/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar.original deleted file mode 100644 index b1ace0a..0000000 Binary files a/target/Springboot_01Demo-0.0.1-SNAPSHOT.jar.original and /dev/null differ diff --git a/target/classes/application.properties b/target/classes/application.properties deleted file mode 100644 index 268d2ea..0000000 --- a/target/classes/application.properties +++ /dev/null @@ -1,17 +0,0 @@ -spring.datasource.driverClassName=com.mysql.jdbc.Driver -spring.datasource.url=jdbc:mysql://124.71.135.249:3306/vue -spring.datasource.username=root -spring.datasource.password=xbx123 -server.port=8081 -#spring.web.resources.static-locations=classpath:/static/ -spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ -mybatis.mapper-locations=classpath:mapper/*.xml -mybatis.type-aliases-package=com.xubx.springboot_01demo.pojo - -spring.redis.host=124.71.135.249 -spring.redis.port=6379 -spring.redis.password=123456 - -logging.level.com.xubx.springboot_01demo.mapper= debug -#Path???????ant_path_matcher -spring.mvc.pathmatch.matching-strategy=ant_path_matcher diff --git a/target/classes/banner.txt b/target/classes/banner.txt deleted file mode 100644 index 6055ee2..0000000 --- a/target/classes/banner.txt +++ /dev/null @@ -1,12 +0,0 @@ -${AnsiColor.BRIGHT_WHITE} - __ __ _ _ _ ____ - \ \ / / | | | \ | | _ \ - \ V /_ _| |____ _| \| | |_) | - > <| | | | '_ \ \/ / . ` | _ < - / . \ |_| | |_) > <| |\ | |_) | - /_/ \_\__,_|_.__/_/\_\_| \_|____/ - - - -${AnsiColor.BRIGHT_RED} -${AnsiColor.BLACK} diff --git a/target/classes/com/xubx/springboot_01demo/Springboot01DemoApplication.class b/target/classes/com/xubx/springboot_01demo/Springboot01DemoApplication.class deleted file mode 100644 index 2fd5265..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/Springboot01DemoApplication.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/Task/Test.class b/target/classes/com/xubx/springboot_01demo/Task/Test.class deleted file mode 100644 index 8c06c2f..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/Task/Test.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/configuration/SwaggerConfiguration.class b/target/classes/com/xubx/springboot_01demo/configuration/SwaggerConfiguration.class deleted file mode 100644 index e3baa44..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/configuration/SwaggerConfiguration.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/controller/BlogsController.class b/target/classes/com/xubx/springboot_01demo/controller/BlogsController.class deleted file mode 100644 index 22bf0f5..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/controller/BlogsController.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/controller/CommentController.class b/target/classes/com/xubx/springboot_01demo/controller/CommentController.class deleted file mode 100644 index 0dd7ed0..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/controller/CommentController.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/controller/UserController.class b/target/classes/com/xubx/springboot_01demo/controller/UserController.class deleted file mode 100644 index c3440f4..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/controller/UserController.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/mapper/BlogsMapper.class b/target/classes/com/xubx/springboot_01demo/mapper/BlogsMapper.class deleted file mode 100644 index b48dfd8..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/mapper/BlogsMapper.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/mapper/CommentMapper.class b/target/classes/com/xubx/springboot_01demo/mapper/CommentMapper.class deleted file mode 100644 index 7cc8872..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/mapper/CommentMapper.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/mapper/UserMapper.class b/target/classes/com/xubx/springboot_01demo/mapper/UserMapper.class deleted file mode 100644 index 6372826..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/mapper/UserMapper.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/pojo/Blogs.class b/target/classes/com/xubx/springboot_01demo/pojo/Blogs.class deleted file mode 100644 index 9d0a0ff..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/pojo/Blogs.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/pojo/Comment.class b/target/classes/com/xubx/springboot_01demo/pojo/Comment.class deleted file mode 100644 index c534357..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/pojo/Comment.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/pojo/User.class b/target/classes/com/xubx/springboot_01demo/pojo/User.class deleted file mode 100644 index cc0b74d..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/pojo/User.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/pojo/Value.class b/target/classes/com/xubx/springboot_01demo/pojo/Value.class deleted file mode 100644 index d00b230..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/pojo/Value.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/BlogService.class b/target/classes/com/xubx/springboot_01demo/service/BlogService.class deleted file mode 100644 index 9217ae9..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/BlogService.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/CommentService.class b/target/classes/com/xubx/springboot_01demo/service/CommentService.class deleted file mode 100644 index 544e652..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/CommentService.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/UserService.class b/target/classes/com/xubx/springboot_01demo/service/UserService.class deleted file mode 100644 index ec63a6e..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/UserService.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/impl/BlogsServiceImpl.class b/target/classes/com/xubx/springboot_01demo/service/impl/BlogsServiceImpl.class deleted file mode 100644 index de9d75e..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/impl/BlogsServiceImpl.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.class b/target/classes/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.class deleted file mode 100644 index f484c98..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/impl/CommentServiceImpl.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/service/impl/UserServiceImpl.class b/target/classes/com/xubx/springboot_01demo/service/impl/UserServiceImpl.class deleted file mode 100644 index 83582e1..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/service/impl/UserServiceImpl.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/api/Result.class b/target/classes/com/xubx/springboot_01demo/utils/api/Result.class deleted file mode 100644 index 45cad28..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/api/Result.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/api/ResultData.class b/target/classes/com/xubx/springboot_01demo/utils/api/ResultData.class deleted file mode 100644 index 685ae2f..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/api/ResultData.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/token/IntercepterConfig.class b/target/classes/com/xubx/springboot_01demo/utils/token/IntercepterConfig.class deleted file mode 100644 index 7e0bf7a..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/token/IntercepterConfig.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/token/RedisUtil.class b/target/classes/com/xubx/springboot_01demo/utils/token/RedisUtil.class deleted file mode 100644 index a666396..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/token/RedisUtil.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/token/RequestHolder.class b/target/classes/com/xubx/springboot_01demo/utils/token/RequestHolder.class deleted file mode 100644 index a0686a0..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/token/RequestHolder.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/token/TokenGenerate.class b/target/classes/com/xubx/springboot_01demo/utils/token/TokenGenerate.class deleted file mode 100644 index e0683b5..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/token/TokenGenerate.class and /dev/null differ diff --git a/target/classes/com/xubx/springboot_01demo/utils/token/TokenInterceptor.class b/target/classes/com/xubx/springboot_01demo/utils/token/TokenInterceptor.class deleted file mode 100644 index a3b8e77..0000000 Binary files a/target/classes/com/xubx/springboot_01demo/utils/token/TokenInterceptor.class and /dev/null differ diff --git a/target/classes/mapper/BlogsMapper.xml b/target/classes/mapper/BlogsMapper.xml deleted file mode 100644 index 8f45712..0000000 --- a/target/classes/mapper/BlogsMapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - insert into blog (title, description, content, created) - values (#{title}, #{description}, #{content}, #{created}) - - - - - update blog - set title = #{title}, - description = #{description}, - content = #{content} - where id = #{id} - - - - - delete from blog where id = #{id} - - \ No newline at end of file diff --git a/target/classes/mapper/CommentMapper.xml b/target/classes/mapper/CommentMapper.xml deleted file mode 100644 index 18df0b1..0000000 --- a/target/classes/mapper/CommentMapper.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - insert into comment (article_id, username, content, parent_id, parent_name, created) - values (#{article_id}, #{username}, #{content}, #{parent_id}, #{parent_name}, #{created}) - - - \ No newline at end of file diff --git a/target/classes/mapper/UserMapper.xml b/target/classes/mapper/UserMapper.xml deleted file mode 100644 index 9ed79f7..0000000 --- a/target/classes/mapper/UserMapper.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - insert into register(username, password) values(#{username}, #{password}) - - - - UPDATE register - SET avatar = #{path} - WHERE username = #{username}; - - - - - - UPDATE register - SET username = #{username} - WHERE username = #{usernameNow} - - - - UPDATE register - SET password = #{newPassword} - WHERE username = #{username} - - - - \ No newline at end of file diff --git a/target/classes/static/images/avatar/1702046433098.jpg b/target/classes/static/images/avatar/1702046433098.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702046433098.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702046571256.jpg b/target/classes/static/images/avatar/1702046571256.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702046571256.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702046590264.jpg b/target/classes/static/images/avatar/1702046590264.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702046590264.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048096580.jpg b/target/classes/static/images/avatar/1702048096580.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048096580.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048200694.jpg b/target/classes/static/images/avatar/1702048200694.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048200694.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048297320.jpg b/target/classes/static/images/avatar/1702048297320.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048297320.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048358950.jpg b/target/classes/static/images/avatar/1702048358950.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048358950.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048625931.jpg b/target/classes/static/images/avatar/1702048625931.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048625931.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702048689470.jpg b/target/classes/static/images/avatar/1702048689470.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702048689470.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049015720.jpg b/target/classes/static/images/avatar/1702049015720.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049015720.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049127972.jpg b/target/classes/static/images/avatar/1702049127972.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049127972.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049299959.jpg b/target/classes/static/images/avatar/1702049299959.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049299959.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049450239.jpg b/target/classes/static/images/avatar/1702049450239.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049450239.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049497549.jpg b/target/classes/static/images/avatar/1702049497549.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049497549.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049649968.jpg b/target/classes/static/images/avatar/1702049649968.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049649968.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049718707.jpg b/target/classes/static/images/avatar/1702049718707.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049718707.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702049751705.jpg b/target/classes/static/images/avatar/1702049751705.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702049751705.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702050225498.jpg b/target/classes/static/images/avatar/1702050225498.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702050225498.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702050831693.jpg b/target/classes/static/images/avatar/1702050831693.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702050831693.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702050851941.jpg b/target/classes/static/images/avatar/1702050851941.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702050851941.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702050999885.jpg b/target/classes/static/images/avatar/1702050999885.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702050999885.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702051366457.jpg b/target/classes/static/images/avatar/1702051366457.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702051366457.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702051415172.jpg b/target/classes/static/images/avatar/1702051415172.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702051415172.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702051546998.jpg b/target/classes/static/images/avatar/1702051546998.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702051546998.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702052071733.jpg b/target/classes/static/images/avatar/1702052071733.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702052071733.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702052131732.jpg b/target/classes/static/images/avatar/1702052131732.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702052131732.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702052225022.jpg b/target/classes/static/images/avatar/1702052225022.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702052225022.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702109658752.jpg b/target/classes/static/images/avatar/1702109658752.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702109658752.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702109674321.jpg b/target/classes/static/images/avatar/1702109674321.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702109674321.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702109750016.jpg b/target/classes/static/images/avatar/1702109750016.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702109750016.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702109782010.jpg b/target/classes/static/images/avatar/1702109782010.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702109782010.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110027933.jpg b/target/classes/static/images/avatar/1702110027933.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110027933.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110083002.jpg b/target/classes/static/images/avatar/1702110083002.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110083002.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110168427.jpg b/target/classes/static/images/avatar/1702110168427.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110168427.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110317566.jpg b/target/classes/static/images/avatar/1702110317566.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110317566.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110437393.jpg b/target/classes/static/images/avatar/1702110437393.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110437393.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110487729.jpg b/target/classes/static/images/avatar/1702110487729.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110487729.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702110517816.jpg b/target/classes/static/images/avatar/1702110517816.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702110517816.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702111486937.jpg b/target/classes/static/images/avatar/1702111486937.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702111486937.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702111610353.jpg b/target/classes/static/images/avatar/1702111610353.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702111610353.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702111623826.jpg b/target/classes/static/images/avatar/1702111623826.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702111623826.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702111639459.jpg b/target/classes/static/images/avatar/1702111639459.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702111639459.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702111853013.jpg b/target/classes/static/images/avatar/1702111853013.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702111853013.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702112205411.jpg b/target/classes/static/images/avatar/1702112205411.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702112205411.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702113497371.jpg b/target/classes/static/images/avatar/1702113497371.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702113497371.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702113525697.jpg b/target/classes/static/images/avatar/1702113525697.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702113525697.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702113636472.jpg b/target/classes/static/images/avatar/1702113636472.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702113636472.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702114255773.jpg b/target/classes/static/images/avatar/1702114255773.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702114255773.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702114326354.jpg b/target/classes/static/images/avatar/1702114326354.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702114326354.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702114373653.jpg b/target/classes/static/images/avatar/1702114373653.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702114373653.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702114793557.jpg b/target/classes/static/images/avatar/1702114793557.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702114793557.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702114974369.jpg b/target/classes/static/images/avatar/1702114974369.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702114974369.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702131980964.jpg b/target/classes/static/images/avatar/1702131980964.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702131980964.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132164939.jpg b/target/classes/static/images/avatar/1702132164939.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702132164939.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132201743.jpg b/target/classes/static/images/avatar/1702132201743.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702132201743.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132220764.jpg b/target/classes/static/images/avatar/1702132220764.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702132220764.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132342054.jpg b/target/classes/static/images/avatar/1702132342054.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702132342054.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132479898.jpg b/target/classes/static/images/avatar/1702132479898.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702132479898.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702132554173.jpg b/target/classes/static/images/avatar/1702132554173.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702132554173.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133008943.jpg b/target/classes/static/images/avatar/1702133008943.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133008943.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133030967.jpg b/target/classes/static/images/avatar/1702133030967.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133030967.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133121487.jpg b/target/classes/static/images/avatar/1702133121487.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133121487.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133135862.jpg b/target/classes/static/images/avatar/1702133135862.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133135862.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133310563.jpg b/target/classes/static/images/avatar/1702133310563.jpg deleted file mode 100644 index 3c0c7f5..0000000 Binary files a/target/classes/static/images/avatar/1702133310563.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133514465.jpg b/target/classes/static/images/avatar/1702133514465.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702133514465.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133604208.jpg b/target/classes/static/images/avatar/1702133604208.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133604208.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133616492.jpg b/target/classes/static/images/avatar/1702133616492.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133616492.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133695941.jpg b/target/classes/static/images/avatar/1702133695941.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702133695941.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702133761140.jpg b/target/classes/static/images/avatar/1702133761140.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702133761140.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702134474785.jpg b/target/classes/static/images/avatar/1702134474785.jpg deleted file mode 100644 index ff975b4..0000000 Binary files a/target/classes/static/images/avatar/1702134474785.jpg and /dev/null differ diff --git a/target/classes/static/images/avatar/1702134779310.jpg b/target/classes/static/images/avatar/1702134779310.jpg deleted file mode 100644 index ab74661..0000000 Binary files a/target/classes/static/images/avatar/1702134779310.jpg and /dev/null differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties deleted file mode 100644 index 7d0cc03..0000000 --- a/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=Springboot_01Demo -groupId=com.xubx -version=0.0.1-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index ae0916f..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,24 +0,0 @@ -com\xubx\springboot_01demo\service\CommentService.class -com\xubx\springboot_01demo\utils\api\ResultData.class -com\xubx\springboot_01demo\utils\token\IntercepterConfig.class -com\xubx\springboot_01demo\mapper\BlogsMapper.class -com\xubx\springboot_01demo\pojo\Blogs.class -com\xubx\springboot_01demo\pojo\Value.class -com\xubx\springboot_01demo\mapper\UserMapper.class -com\xubx\springboot_01demo\service\UserService.class -com\xubx\springboot_01demo\controller\UserController.class -com\xubx\springboot_01demo\pojo\User.class -com\xubx\springboot_01demo\service\BlogService.class -com\xubx\springboot_01demo\controller\BlogsController.class -com\xubx\springboot_01demo\utils\test.class -com\xubx\springboot_01demo\service\impl\CommentServiceImpl.class -com\xubx\springboot_01demo\utils\api\Result.class -com\xubx\springboot_01demo\utils\token\RedisUtil.class -com\xubx\springboot_01demo\service\impl\BlogsServiceImpl.class -com\xubx\springboot_01demo\utils\token\TokenGenerate.class -com\xubx\springboot_01demo\controller\CommentController.class -com\xubx\springboot_01demo\mapper\CommentMapper.class -com\xubx\springboot_01demo\Springboot01DemoApplication.class -com\xubx\springboot_01demo\service\impl\UserServiceImpl.class -com\xubx\springboot_01demo\pojo\Comment.class -com\xubx\springboot_01demo\utils\token\TokenInterceptor.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 515367d..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,23 +0,0 @@ -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\impl\CommentServiceImpl.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\pojo\Value.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\token\TokenInterceptor.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\mapper\CommentMapper.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\pojo\Blogs.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\controller\BlogsController.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\controller\UserController.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\BlogService.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\CommentService.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\api\Result.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\token\TokenGenerate.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\pojo\User.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\token\IntercepterConfig.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\mapper\BlogsMapper.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\token\RedisUtil.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\controller\CommentController.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\Springboot01DemoApplication.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\mapper\UserMapper.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\impl\UserServiceImpl.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\utils\test.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\pojo\Comment.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\impl\BlogsServiceImpl.java -C:\Users\Xubx\IdeaProjects\Spring过程\Springboot_01Demo\src\main\java\com\xubx\springboot_01demo\service\UserService.java diff --git a/target/test-classes/httpClient.class b/target/test-classes/httpClient.class deleted file mode 100644 index 07c133f..0000000 Binary files a/target/test-classes/httpClient.class and /dev/null differ