diff --git a/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java b/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java new file mode 100644 index 0000000..84ac6bc --- /dev/null +++ b/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java @@ -0,0 +1,17 @@ +package cn.celess.blog.enmu; + +import com.sun.javaws.jnl.IconDesc; + +/** + * @Author: 小海 + * @Date: 2020-05-25 08:58 + * @Desc: + */ +public enum CommentStatusEnum { + // 正常 + NORMAL(0, "正常"); + + + CommentStatusEnum(int code, String msg) { + } +} diff --git a/src/main/java/cn/celess/blog/enmu/RoleEnum.java b/src/main/java/cn/celess/blog/enmu/RoleEnum.java new file mode 100644 index 0000000..8f399f2 --- /dev/null +++ b/src/main/java/cn/celess/blog/enmu/RoleEnum.java @@ -0,0 +1,23 @@ +package cn.celess.blog.enmu; + +import lombok.Getter; + +/** + * @Author: 小海 + * @Date: 2020-05-24 16:31 + * @Desc: + */ +@Getter +public enum RoleEnum { + // admin 权限 + ADMIN_ROLE("admin"), + // user 权限 + USER_ROLE("user"); + + + private final String roleName; + + RoleEnum(String roleName) { + this.roleName = roleName; + } +} diff --git a/src/main/java/cn/celess/blog/entity/Comment.java b/src/main/java/cn/celess/blog/entity/Comment.java index 90b480f..03ce756 100644 --- a/src/main/java/cn/celess/blog/entity/Comment.java +++ b/src/main/java/cn/celess/blog/entity/Comment.java @@ -14,27 +14,21 @@ public class Comment { private Long id; - /** - * 是评论还是留言 0:评论 其他(1):留言 - */ - private Boolean type; + private int status; - private Long authorID; + private String pagePath; private String content; - private Long articleID; - private Date date; - /** - * 回应着ID 默认为顶级回复 - */ - private String responseId = ""; + private User fromUser; + private User toUser; /** * 评论的父ID */ private Long pid; + private boolean delete; } diff --git a/src/main/java/cn/celess/blog/entity/User.java b/src/main/java/cn/celess/blog/entity/User.java index 7a3d9dd..f912025 100644 --- a/src/main/java/cn/celess/blog/entity/User.java +++ b/src/main/java/cn/celess/blog/entity/User.java @@ -2,6 +2,7 @@ package cn.celess.blog.entity; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Date; @@ -10,6 +11,7 @@ import java.util.Date; * @date : 2019/03/28 14:52 */ @Data +@NoArgsConstructor public class User { private Long id; @@ -18,12 +20,6 @@ public class User { */ private String email; - /** - * 用户唯一标识码 - */ - @JsonIgnore - private String uid; - /** * 密码 */ @@ -46,15 +42,12 @@ public class User { private Date recentlyLandedDate; - /** - * 随机码 用户验证邮箱/找回密码 - * 暂时废弃这一字段 - */ - private String emailVerifyId; - private String role = "user"; - public User() { - } + private int status; + public User(String email, String pwd) { + this.email = email; + this.pwd = pwd; + } } diff --git a/src/main/java/cn/celess/blog/mapper/UserMapper.java b/src/main/java/cn/celess/blog/mapper/UserMapper.java index 6419da4..2b83e76 100644 --- a/src/main/java/cn/celess/blog/mapper/UserMapper.java +++ b/src/main/java/cn/celess/blog/mapper/UserMapper.java @@ -16,13 +16,13 @@ import java.util.List; @Repository public interface UserMapper { - int addUser(String email, String pwd); + int addUser(User user); int updateInfo(String desc, String displayName, long id); int updateAvatarImgUrl(String avatarImgUrl, long id); - int updateLoginTime(String email, Date date); + int updateLoginTime(String email); int updateEmailStatus(String email, boolean status); @@ -50,7 +50,9 @@ public interface UserMapper { int delete(long id); - int setUserRole(Long uid, String role); + int lock(long id); + + int setUserRole(Long id, String role); List findAll(); diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index b9888b8..f1f720a 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -4,68 +4,74 @@ - - + - - - - + + + + - + insert into user(u_email, u_pwd) values (#{email}, #{pwd}) update user set - `u_desc`=#{desc}, - `display_name`=#{displayName} + u_desc=#{desc}, + u_display_name=#{displayName} where u_id=#{id} update user - set `recently_landed_time`=#{date} - where `u_email` = #{email} + set u_recently_landed_time=now() + where u_email = #{email} update user - set `u_avatar`=#{avatarImgUrl} - where `u_id` = #{id} + set u_avatar=#{avatarImgUrl} + where u_id = #{id} update user - set `email_status`=#{status} - where `u_email` = #{email} + set u_email_status=#{status} + where u_email = #{email} update user - set `u_pwd`=#{pwd} - where `u_email` = #{email} + set u_pwd=#{pwd} + where u_email = #{email} update user - set role=#{role} - where u_id = #{uid} + set u_role=#{role} + where u_id = #{id} update user - set `u_email` = #{email}, - `u_pwd` = #{pwd}, - `email_status` = #{emailStatus}, - `u_desc` = #{desc}, - `display_name` = #{displayName}, - `role` = #{role} - where `u_id` = #{id} - - - delete - from user + set u_email = #{email}, + u_pwd = #{pwd}, + u_email_status = #{emailStatus}, + u_desc = #{desc}, + u_display_name = #{displayName}, + u_avatar = #{avatarImgUrl}, + u_role = #{role} where u_id = #{id} - + + + update user + set status= 2 + where u_id = #{id} + + + + update user + set status= 1 + where u_id = #{id} + @@ -107,7 +113,7 @@ where u_email = #{email} @@ -116,7 +122,7 @@ from user diff --git a/src/test/java/cn/celess/blog/mapper/UserMapperTest.java b/src/test/java/cn/celess/blog/mapper/UserMapperTest.java new file mode 100644 index 0000000..0b6e6a3 --- /dev/null +++ b/src/test/java/cn/celess/blog/mapper/UserMapperTest.java @@ -0,0 +1,185 @@ +package cn.celess.blog.mapper; + +import cn.celess.blog.BaseTest; +import cn.celess.blog.enmu.RoleEnum; +import cn.celess.blog.enmu.UserAccountStatusEnum; +import cn.celess.blog.entity.User; +import cn.celess.blog.util.MD5Util; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +import static org.junit.Assert.*; + +public class UserMapperTest extends BaseTest { + + @Autowired + UserMapper userMapper; + + + @Test + public void addUser() { + User user = generateUser(); + assertNotNull(user.getId()); + } + + @Test + public void updateInfo() { + User user = generateUser(); + assertEquals(1, userMapper.updateInfo("ttt", "ttt", user.getId())); + } + + @Test + public void updateAvatarImgUrl() { + User user = generateUser(); + assertEquals(1, userMapper.updateAvatarImgUrl("https://www.celess.cn/example.jpg", user.getId())); + } + + @Test + public void updateLoginTime() { + User user = generateUser(); + assertEquals(1, userMapper.updateLoginTime(user.getEmail())); + } + + @Test + public void updateEmailStatus() { + User user = generateUser(); + assertEquals(1, userMapper.updateEmailStatus(user.getEmail(), true)); + } + + @Test + public void updatePwd() { + User user = generateUser(); + assertEquals(1, userMapper.updatePwd(user.getEmail(), MD5Util.getMD5("12345687654"))); + } + + @Test + public void getPwd() { + User user = generateUser(); + assertEquals(user.getPwd(), userMapper.getPwd(user.getEmail())); + } + + @Test + public void existsByEmail() { + User user = generateUser(); + assertTrue(userMapper.existsByEmail(user.getEmail())); + } + + @Test + public void findByEmail() { + User user = generateUser(); + User byEmail = userMapper.findByEmail(user.getEmail()); + assertNotNull(byEmail); + assertEquals(user.getId(), byEmail.getId()); + } + + @Test + public void findById() { + User user = generateUser(); + User findById = userMapper.findById(user.getId()); + assertNotNull(findById); + assertEquals(user.getEmail(), findById.getEmail()); + } + + @Test + public void getAvatarImgUrlById() { + User user = generateUser(); + assertNull(userMapper.getAvatarImgUrlById(user.getId())); + userMapper.updateAvatarImgUrl("example.cn", user.getId()); + assertEquals("example.cn", userMapper.getAvatarImgUrlById(user.getId())); + + } + + @Test + public void getEmail() { + User user = generateUser(); + assertEquals(user.getEmail(), userMapper.getEmail(user.getId())); + } + + @Test + public void getDisPlayName() { + User user = generateUser(); + assertNull(userMapper.getDisPlayName(user.getId())); + } + + @Test + public void getRoleByEmail() { + User user = generateUser(); + assertEquals(RoleEnum.USER_ROLE.getRoleName(), userMapper.getRoleByEmail(user.getEmail())); + } + + @Test + public void getRoleById() { + User user = generateUser(); + assertEquals(RoleEnum.USER_ROLE.getRoleName(), userMapper.getRoleById(user.getId())); + } + + @Test + public void count() { + generateUser(); + assertTrue(userMapper.count() >= 1); + } + + @Test + public void delete() { + User user = generateUser(); + int delete = userMapper.delete(user.getId()); + assertEquals(1, delete); + User byId = userMapper.findById(user.getId()); + assertEquals(UserAccountStatusEnum.DELETED.getCode(), byId.getStatus()); + } + + @Test + public void lock() { + User user = generateUser(); + int delete = userMapper.lock(user.getId()); + assertEquals(1, delete); + User byId = userMapper.findById(user.getId()); + assertEquals(UserAccountStatusEnum.LOCKED.getCode(), byId.getStatus()); + } + + @Test + public void setUserRole() { + User user = generateUser(); + userMapper.setUserRole(user.getId(), RoleEnum.ADMIN_ROLE.getRoleName()); + + assertEquals(RoleEnum.ADMIN_ROLE.getRoleName(), userMapper.getRoleById(user.getId())); + } + + @Test + public void findAll() { + User user = generateUser(); + List all = userMapper.findAll(); + assertTrue(all.size() >= 1); + } + + @Test + public void update() { + User user = generateUser(); + user.setDesc("aaa"); + user.setDisplayName("bbb"); + user.setEmailStatus(true); + user.setRole(RoleEnum.ADMIN_ROLE.getRoleName()); + user.setAvatarImgUrl("https://celess.cn/examcple.jpg"); + user.setEmail(randomStr(8) + "@celess.cn"); + user.setPwd(MD5Util.getMD5("010100000100000")); + assertEquals(1, userMapper.update(user)); + User byId = userMapper.findById(user.getId()); + assertEquals(user.getDesc(), byId.getDesc()); + assertEquals(user.getDisplayName(), byId.getDisplayName()); + assertEquals(user.getEmailStatus(), byId.getEmailStatus()); + assertEquals(user.getRole(), byId.getRole()); + assertEquals(user.getAvatarImgUrl(), byId.getAvatarImgUrl()); + assertEquals(user.getEmail(), byId.getEmail()); + assertEquals(user.getPwd(), byId.getPwd()); + } + + private User generateUser() { + User user = new User(randomStr(6) + "@celess.cn", MD5Util.getMD5("1234567890")); + userMapper.addUser(user); + User newUser = userMapper.findByEmail(user.getEmail()); + assertEquals(user.getId(), newUser.getId()); + return newUser; + } +} \ No newline at end of file