调整数据库字段,优化部分接口 #1
17
src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java
Normal file
17
src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java
Normal file
@@ -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) {
|
||||
}
|
||||
}
|
||||
23
src/main/java/cn/celess/blog/enmu/RoleEnum.java
Normal file
23
src/main/java/cn/celess/blog/enmu/RoleEnum.java
Normal file
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<User> findAll();
|
||||
|
||||
|
||||
@@ -4,68 +4,74 @@
|
||||
<resultMap id="userResultMap" type="cn.celess.blog.entity.User">
|
||||
<id column="u_id" property="id"/>
|
||||
<result column="u_email" property="email"/>
|
||||
<result column="u_uid" property="uid"/>
|
||||
<result column="u_pwd" property="pwd"/>
|
||||
<result column="email_status" property="emailStatus"/>
|
||||
<result column="u_email_status" property="emailStatus"/>
|
||||
<result column="u_avatar" property="avatarImgUrl"/>
|
||||
<result column="u_desc" property="desc"/>
|
||||
<result column="recently_landed_time" property="recentlyLandedDate"/>
|
||||
<result column="email_verify_id" property="emailVerifyId"/>
|
||||
<result column="display_name" property="displayName"/>
|
||||
<result column="role" property="role"/>
|
||||
<result column="u_recently_landed_time" property="recentlyLandedDate"/>
|
||||
<result column="u_display_name" property="displayName"/>
|
||||
<result column="u_role" property="role"/>
|
||||
<result column="status" property="status"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="addUser">
|
||||
<insert id="addUser" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into user(u_email, u_pwd)
|
||||
values (#{email}, #{pwd})
|
||||
</insert>
|
||||
|
||||
<update id="updateInfo">
|
||||
update user set
|
||||
<if test="desc!=null">`u_desc`=#{desc},</if>
|
||||
<if test="displayName!=null">`display_name`=#{displayName}</if>
|
||||
<if test="desc!=null">u_desc=#{desc},</if>
|
||||
<if test="displayName!=null">u_display_name=#{displayName}</if>
|
||||
where u_id=#{id}
|
||||
</update>
|
||||
<update id="updateLoginTime">
|
||||
update user
|
||||
set `recently_landed_time`=#{date}
|
||||
where `u_email` = #{email}
|
||||
set u_recently_landed_time=now()
|
||||
where u_email = #{email}
|
||||
</update>
|
||||
<update id="updateAvatarImgUrl">
|
||||
update user
|
||||
set `u_avatar`=#{avatarImgUrl}
|
||||
where `u_id` = #{id}
|
||||
set u_avatar=#{avatarImgUrl}
|
||||
where u_id = #{id}
|
||||
</update>
|
||||
<update id="updateEmailStatus">
|
||||
update user
|
||||
set `email_status`=#{status}
|
||||
where `u_email` = #{email}
|
||||
set u_email_status=#{status}
|
||||
where u_email = #{email}
|
||||
</update>
|
||||
<update id="updatePwd">
|
||||
update user
|
||||
set `u_pwd`=#{pwd}
|
||||
where `u_email` = #{email}
|
||||
set u_pwd=#{pwd}
|
||||
where u_email = #{email}
|
||||
</update>
|
||||
<update id="setUserRole">
|
||||
update user
|
||||
set role=#{role}
|
||||
where u_id = #{uid}
|
||||
set u_role=#{role}
|
||||
where u_id = #{id}
|
||||
</update>
|
||||
<update id="update">
|
||||
update user
|
||||
set `u_email` = #{email},
|
||||
`u_pwd` = #{pwd},
|
||||
`email_status` = #{emailStatus},
|
||||
`u_desc` = #{desc},
|
||||
`display_name` = #{displayName},
|
||||
`role` = #{role}
|
||||
where `u_id` = #{id}
|
||||
</update>
|
||||
<delete id="delete">
|
||||
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}
|
||||
</delete>
|
||||
</update>
|
||||
<update id="delete">
|
||||
update user
|
||||
set status= 2
|
||||
where u_id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="lock">
|
||||
update user
|
||||
set status= 1
|
||||
where u_id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="existsByEmail" resultType="java.lang.Boolean">
|
||||
select exists(select * from user where u_email = #{email})
|
||||
@@ -96,7 +102,7 @@
|
||||
</select>
|
||||
|
||||
<select id="getDisPlayName" resultType="java.lang.String">
|
||||
select display_name
|
||||
select u_display_name
|
||||
from user
|
||||
where u_id = #{id}
|
||||
</select>
|
||||
@@ -107,7 +113,7 @@
|
||||
where u_email = #{email}
|
||||
</select>
|
||||
<select id="getRoleByEmail" resultType="java.lang.String">
|
||||
select role
|
||||
select u_role
|
||||
from user
|
||||
where u_email = #{emai}
|
||||
</select>
|
||||
@@ -116,7 +122,7 @@
|
||||
from user
|
||||
</select>
|
||||
<select id="getRoleById" resultType="java.lang.String">
|
||||
select role
|
||||
select u_role
|
||||
from user
|
||||
where u_id = #{id}
|
||||
</select>
|
||||
|
||||
185
src/test/java/cn/celess/blog/mapper/UserMapperTest.java
Normal file
185
src/test/java/cn/celess/blog/mapper/UserMapperTest.java
Normal file
@@ -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<User> 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user