From 2fdcf5dbfda67ca89dd8931a90b5ac8990b13a27 Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Mon, 4 Dec 2023 12:27:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B4=A6=E5=8F=B7=E6=B3=A8?= =?UTF-8?q?=E9=94=80=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat/controller/IndexController.java | 10 ++++-- .../chat/controller/LoginController.java | 6 +--- .../chat/dao/{Login.java => UserDao.java} | 16 ++++++---- .../java/com/example/chat/dao/UserMapper.java | 5 +-- .../com/example/chat/dao/chat/ChatMapper.java | 2 +- .../example/chat/dao/chat/ChatMessage.java | 6 +++- .../com/example/chat/dao/chat/MapperTest.java | 2 +- .../com/example/chat/service/ChatIndex.java | 32 +++++++++++++++++++ src/main/resources/mapper/MessageMapper.xml | 8 ++++- .../{LoginMapper.xml => UserMapper.xml} | 7 ++-- 10 files changed, 73 insertions(+), 21 deletions(-) rename src/main/java/com/example/chat/dao/{Login.java => UserDao.java} (79%) create mode 100644 src/main/java/com/example/chat/service/ChatIndex.java rename src/main/resources/mapper/{LoginMapper.xml => UserMapper.xml} (88%) diff --git a/src/main/java/com/example/chat/controller/IndexController.java b/src/main/java/com/example/chat/controller/IndexController.java index 33c4ebd..1b8be8d 100644 --- a/src/main/java/com/example/chat/controller/IndexController.java +++ b/src/main/java/com/example/chat/controller/IndexController.java @@ -1,5 +1,6 @@ package com.example.chat.controller; +import com.example.chat.service.ChatIndex; import com.example.chat.service.HeadOss; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -15,9 +16,14 @@ public class IndexController { @Resource HeadOss headOss; - - @RequestMapping("/chat/modifyHead") + @Resource + ChatIndex chatIndex; + @RequestMapping("/index/modifyHead") public void modifyHead(@RequestParam("file")MultipartFile file, @RequestParam("username") String username) { headOss.ModifyHead(username,file); } + @GetMapping("/index/deleteUser") + public void deleteUser(@RequestParam("account")String account){ + chatIndex.deleteUser(account); + } } diff --git a/src/main/java/com/example/chat/controller/LoginController.java b/src/main/java/com/example/chat/controller/LoginController.java index c0377c4..674708e 100644 --- a/src/main/java/com/example/chat/controller/LoginController.java +++ b/src/main/java/com/example/chat/controller/LoginController.java @@ -1,16 +1,12 @@ package com.example.chat.controller; -import com.example.chat.ChatApplication; import com.example.chat.dao.UserMapper; -import com.example.chat.dao.chat.ChatMapper; import com.example.chat.entity.Email; import com.example.chat.entity.Result; import com.example.chat.entity.User; -import com.example.chat.entity.chat.Message; import com.example.chat.service.CodeCheck; import com.example.chat.service.LoginService; import com.example.chat.service.mail.MailUtil; -import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -68,6 +64,6 @@ public class LoginController { @PostMapping("/getHead") public User getHead(@RequestBody User user) throws IOException { - return userMapper.getHead(user.getAccount()); + return userMapper.getUserByAccount(user.getAccount()); } } diff --git a/src/main/java/com/example/chat/dao/Login.java b/src/main/java/com/example/chat/dao/UserDao.java similarity index 79% rename from src/main/java/com/example/chat/dao/Login.java rename to src/main/java/com/example/chat/dao/UserDao.java index 923b838..18fcbe7 100644 --- a/src/main/java/com/example/chat/dao/Login.java +++ b/src/main/java/com/example/chat/dao/UserDao.java @@ -3,14 +3,13 @@ package com.example.chat.dao; import com.example.chat.entity.User; import com.example.chat.dao.mybatis.MybatisSingleton; import org.apache.ibatis.session.SqlSession; -import org.junit.Test; import org.springframework.stereotype.Repository; import java.io.IOException; @Repository -public class Login implements UserMapper { +public class UserDao implements UserMapper { @Override public void addUser(User user) throws IOException { @@ -21,8 +20,11 @@ public class Login implements UserMapper { } @Override - public void delUser(User user) { - + public void delUser(User user) throws IOException { + SqlSession sqlSession=MybatisSingleton.getSqlSessionFactory().openSession(); + sqlSession.delete("dao.Login.deleteUser",user); + sqlSession.commit(); + sqlSession.close(); } @Override @@ -55,12 +57,14 @@ public class Login implements UserMapper { } @Override - public User getHead(String account) throws IOException { + public User getUserByAccount(String account) throws IOException { SqlSession sqlSession=MybatisSingleton.getSqlSessionFactory().openSession(); - User user=sqlSession.selectOne("dao.Login.getHead",account); + User user=sqlSession.selectOne("dao.Login.getUserByAccount",account); sqlSession.close(); return user; } + + } diff --git a/src/main/java/com/example/chat/dao/UserMapper.java b/src/main/java/com/example/chat/dao/UserMapper.java index c9bb28c..6a71e5c 100644 --- a/src/main/java/com/example/chat/dao/UserMapper.java +++ b/src/main/java/com/example/chat/dao/UserMapper.java @@ -8,7 +8,7 @@ import java.io.IOException; public interface UserMapper { public abstract void addUser(User user) throws IOException; - public abstract void delUser(User user); + public abstract void delUser(User user) throws IOException; public abstract void updateUser(User oldUser,User newUser); @@ -16,6 +16,7 @@ public interface UserMapper { public abstract User emailCheck(User user) throws IOException; public abstract void modifyHead(String Pic,String username) throws IOException; - public abstract User getHead(String account)throws IOException; + public abstract User getUserByAccount(String account)throws IOException; + } diff --git a/src/main/java/com/example/chat/dao/chat/ChatMapper.java b/src/main/java/com/example/chat/dao/chat/ChatMapper.java index 814a3ef..7b6b853 100644 --- a/src/main/java/com/example/chat/dao/chat/ChatMapper.java +++ b/src/main/java/com/example/chat/dao/chat/ChatMapper.java @@ -10,7 +10,7 @@ import java.util.List; public interface ChatMapper { public abstract void addMessage(Message message) throws IOException; - public abstract void deleteMessage(); + public abstract void deleteMessage(String str) throws IOException; public abstract List getMessage() throws IOException; diff --git a/src/main/java/com/example/chat/dao/chat/ChatMessage.java b/src/main/java/com/example/chat/dao/chat/ChatMessage.java index 4700d6f..2a8cedc 100644 --- a/src/main/java/com/example/chat/dao/chat/ChatMessage.java +++ b/src/main/java/com/example/chat/dao/chat/ChatMessage.java @@ -37,7 +37,11 @@ public class ChatMessage implements ChatMapper { } @Override - public void deleteMessage() { + public void deleteMessage(String nickname) throws IOException { + SqlSession sqlSession=MybatisSingleton.getSqlSessionFactory().openSession(); + sqlSession.update("dao.chat.Message.updateUser",nickname); + sqlSession.commit(); + sqlSession.close(); } } diff --git a/src/main/java/com/example/chat/dao/chat/MapperTest.java b/src/main/java/com/example/chat/dao/chat/MapperTest.java index c0528ef..448bff9 100644 --- a/src/main/java/com/example/chat/dao/chat/MapperTest.java +++ b/src/main/java/com/example/chat/dao/chat/MapperTest.java @@ -18,7 +18,7 @@ public class MapperTest { @Resource(name = "chatMessage") ChatMapper mapper; - @Resource(name = "login") + @Resource(name = "userDao") UserMapper userMapper; diff --git a/src/main/java/com/example/chat/service/ChatIndex.java b/src/main/java/com/example/chat/service/ChatIndex.java new file mode 100644 index 0000000..4c86c71 --- /dev/null +++ b/src/main/java/com/example/chat/service/ChatIndex.java @@ -0,0 +1,32 @@ +package com.example.chat.service; + +import com.example.chat.dao.UserMapper; +import com.example.chat.dao.chat.ChatMapper; +import com.example.chat.entity.User; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.IOException; + +@Slf4j +@Service +public class ChatIndex { + + @Resource + UserMapper userMapper; + @Resource + ChatMapper chatMapper; + + public void deleteUser(String account) { + User user = new User(); + user.setAccount(account); + try { + userMapper.delUser(user); + user = userMapper.getUserByAccount(account); + chatMapper.deleteMessage(user.getUsername());//修改用户的聊天记录的头像与昵称 + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/resources/mapper/MessageMapper.xml b/src/main/resources/mapper/MessageMapper.xml index 72f4517..5951ed8 100644 --- a/src/main/resources/mapper/MessageMapper.xml +++ b/src/main/resources/mapper/MessageMapper.xml @@ -13,7 +13,13 @@ update message - set and pic = #{pic} + set pic = #{pic} + where nickname = #{nickname} + + + + update message + set nickname='用户已注销' and pic = 'http://www.oss.coollh.cn/delete.jpg' where nickname = #{nickname} diff --git a/src/main/resources/mapper/LoginMapper.xml b/src/main/resources/mapper/UserMapper.xml similarity index 88% rename from src/main/resources/mapper/LoginMapper.xml rename to src/main/resources/mapper/UserMapper.xml index f987615..5fbb3e2 100644 --- a/src/main/resources/mapper/LoginMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -16,7 +16,7 @@ insert into user(account, password, username, email, pic) values (#{account}, #{password}, #{username}, #{email}, #{pic}); - + delete from user where account = #{account}; @@ -31,9 +31,12 @@ set pic=#{pic} where account = #{account} - select * from user where account = #{account} + + +