diff --git a/src/main/java/cn/celess/blog/controller/Other.java b/src/main/java/cn/celess/blog/controller/Other.java index e4473ed..8f18ea5 100644 --- a/src/main/java/cn/celess/blog/controller/Other.java +++ b/src/main/java/cn/celess/blog/controller/Other.java @@ -55,7 +55,6 @@ public class Other { Map countMap = new HashMap<>(); countMap.put("articleCount", countService.getArticleCount()); countMap.put("commentCount", countService.getCommentCount()); - countMap.put("leaveMsgCount", countService.getLeaveMessageCount()); countMap.put("categoryCount", countService.getCategoriesCount()); countMap.put("tagCount", countService.getTagsCount()); countMap.put("visitorCount", countService.getVisitorCount()); diff --git a/src/main/java/cn/celess/blog/service/UserService.java b/src/main/java/cn/celess/blog/service/UserService.java index 36ca86b..492ffdf 100644 --- a/src/main/java/cn/celess/blog/service/UserService.java +++ b/src/main/java/cn/celess/blog/service/UserService.java @@ -1,6 +1,7 @@ package cn.celess.blog.service; import cn.celess.blog.entity.User; +import cn.celess.blog.entity.model.PageData; import cn.celess.blog.entity.model.UserModel; import cn.celess.blog.entity.request.LoginReq; import cn.celess.blog.entity.request.UserReq; @@ -42,14 +43,6 @@ public interface UserService { */ Object logout(); - /** - * 获取用户头像的链接 - * - * @param id 用户id - * @return 头像链接 - */ - String getAvatarImg(long id); - /** * 更新用户数据 * @@ -83,14 +76,6 @@ public interface UserService { */ String getUserRoleByEmail(String email); - /** - * 通过邮箱获取用户的信息 - * - * @param email 用户邮箱 - * @return 用户信息 - */ - User getUserInfoByEmail(String email); - /** * 获取邮箱是否注册过 * @@ -99,14 +84,6 @@ public interface UserService { */ boolean isExistOfEmail(String email); - /** - * 获取用户的name 优先返回displayName 否则返回email - * - * @param id 用户id - * @return name - */ - String getNameById(long id); - /** * 发送重置密码邮件 * @@ -157,7 +134,7 @@ public interface UserService { * @param page 数据页 * @return 分页数据 */ - PageInfo getUserList(Integer page, Integer count); + PageData getUserList(Integer page, Integer count); /** * 更改用户信息 @@ -177,10 +154,10 @@ public interface UserService { /** * 设置密码 - * @param pwd - * @param newPwd - * @param confirmPwd - * @return + * @param pwd pwd + * @param newPwd newPwd + * @param confirmPwd confirmPwd + * @return UserModel */ UserModel setPwd(String pwd, String newPwd, String confirmPwd); } diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/UserServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/UserServiceImpl.java index ecbbe73..02cabb6 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/UserServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/UserServiceImpl.java @@ -1,7 +1,9 @@ package cn.celess.blog.service.serviceimpl; import cn.celess.blog.enmu.ResponseEnum; +import cn.celess.blog.enmu.RoleEnum; import cn.celess.blog.entity.User; +import cn.celess.blog.entity.model.PageData; import cn.celess.blog.entity.model.QiniuResponse; import cn.celess.blog.entity.model.UserModel; import cn.celess.blog.entity.request.LoginReq; @@ -26,7 +28,6 @@ import javax.servlet.http.HttpServletRequest; import java.beans.Transient; import java.io.InputStream; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -74,7 +75,8 @@ public class UserServiceImpl implements UserService { if (userMapper.existsByEmail(email)) { throw new MyException(ResponseEnum.USERNAME_HAS_EXIST); } - boolean b = userMapper.addUser(email, MD5Util.getMD5(password)) == 1; + User user = new User(email, MD5Util.getMD5(password)); + boolean b = userMapper.addUser(user) == 1; if (b) { String verifyId = UUID.randomUUID().toString().replaceAll("-", ""); redisUtil.setEx(email + "-verify", verifyId, 2, TimeUnit.DAYS); @@ -116,7 +118,7 @@ public class UserServiceImpl implements UserService { } if (user.getPwd().equals(MD5Util.getMD5(loginReq.getPassword()))) { logger.info("====> {} 进行权限认证 状态:登录成功 <====", loginReq.getEmail()); - userMapper.updateLoginTime(loginReq.getEmail(), new Date()); + userMapper.updateLoginTime(loginReq.getEmail()); redisUtil.delete(loginReq.getEmail() + "-passwordWrongTime"); // redis 标记 redisUserUtil.set(user, loginReq.getIsRememberMe()); @@ -137,7 +139,7 @@ public class UserServiceImpl implements UserService { redisUtil.setEx(loginReq.getEmail() + "-passwordWrongTime", count + "", 2, TimeUnit.HOURS); throw new MyException(ResponseEnum.LOGIN_FAILURE); } - UserModel trans = trans(user); + UserModel trans = ModalTrans.user(user); trans.setToken(token); return trans; @@ -164,7 +166,7 @@ public class UserServiceImpl implements UserService { userMapper.updateInfo(desc, displayName, user.getId()); redisUserUtil.set(user); - return trans(user); + return ModalTrans.user(user); } @Override @@ -176,20 +178,6 @@ public class UserServiceImpl implements UserService { return role; } - @Override - public User getUserInfoByEmail(String email) { - User user = userMapper.findByEmail(email); - if (user == null) { - throw new MyException(ResponseEnum.USER_NOT_EXIST); - } - return user; - } - - @Override - public String getAvatarImg(long id) { - return userMapper.getAvatarImgUrlById(id); - } - @Override public Object updateUserAavatarImg(InputStream is, String mime) { User user = redisUserUtil.get(); @@ -203,7 +191,7 @@ public class UserServiceImpl implements UserService { @Override public UserModel getUserInfoBySession() { User user = redisUserUtil.get(); - return trans(user); + return ModalTrans.user(user); } @Override @@ -211,18 +199,6 @@ public class UserServiceImpl implements UserService { return userMapper.existsByEmail(email); } - @Override - public String getNameById(long id) { - String name = userMapper.getDisPlayName(id); - if (name == null) { - name = userMapper.getEmail(id); - if (name == null) { - throw new MyException(ResponseEnum.USER_NOT_EXIST); - } - } - return name; - } - /** * 找回密码 */ @@ -254,7 +230,6 @@ public class UserServiceImpl implements UserService { return "发送成功!"; } - //TODO @Override public Object sendVerifyEmail(String email) { if (!RegexUtil.emailMatch(email)) { @@ -366,14 +341,12 @@ public class UserServiceImpl implements UserService { } @Override - public PageInfo getUserList(Integer page, Integer count) { + public PageData getUserList(Integer page, Integer count) { PageHelper.startPage(page, count); List all = userMapper.findAll(); - PageInfo pageInfo = PageInfo.of(all); List modelList = new ArrayList<>(); - all.forEach(user -> modelList.add(trans(user))); - pageInfo.setList(modelList); - return pageInfo; + all.forEach(user -> modelList.add(ModalTrans.user(user))); + return new PageData(PageInfo.of(all), modelList); } @Override @@ -402,8 +375,7 @@ public class UserServiceImpl implements UserService { user.setPwd(MD5Util.getMD5(userReq.getPwd())); } if (userReq.getRole() != null) { - // TODO:用enum存放角色分类 - if ("user".equals(userReq.getRole()) || "admin".equals(userReq.getRole())) { + if (RoleEnum.USER_ROLE.getRoleName().equals(userReq.getRole()) || RoleEnum.ADMIN_ROLE.getRoleName().equals(userReq.getRole())) { user.setRole(userReq.getRole()); } else { throw new MyException(ResponseEnum.PARAMETERS_ERROR); @@ -413,7 +385,6 @@ public class UserServiceImpl implements UserService { if (!RegexUtil.emailMatch(userReq.getEmail())) { throw new MyException(ResponseEnum.PARAMETERS_EMAIL_ERROR); } - // TODO :: 邮件提醒 user.setEmail(userReq.getEmail()); } // 数据写入 @@ -425,7 +396,7 @@ public class UserServiceImpl implements UserService { redisUserUtil.set(user); } logger.info("修改了用户 [id={}] 的用户的资料", userReq.getId()); - return trans(user); + return ModalTrans.user(user); } @Override @@ -444,19 +415,6 @@ public class UserServiceImpl implements UserService { throw new MyException(ResponseEnum.PWD_NOT_SAME); } userMapper.updatePwd(user.getEmail(), MD5Util.getMD5(newPwd)); - return trans(userMapper.findByEmail(user.getEmail())); - } - - private UserModel trans(User u) { - UserModel user = new UserModel(); - user.setId(u.getId()); - user.setAvatarImgUrl(u.getAvatarImgUrl() == null ? null : "http://cdn.celess.cn/" + u.getAvatarImgUrl()); - user.setEmail(u.getEmail()); - user.setDesc(u.getDesc()); - user.setDisplayName(u.getDisplayName() == null ? u.getEmail() : u.getDisplayName()); - user.setEmailStatus(u.getEmailStatus()); - user.setRecentlyLandedDate(DateFormatUtil.get(u.getRecentlyLandedDate())); - user.setRole(u.getRole()); - return user; + return ModalTrans.user(userMapper.findByEmail(user.getEmail())); } } diff --git a/src/main/java/cn/celess/blog/util/ModalTrans.java b/src/main/java/cn/celess/blog/util/ModalTrans.java index c77e15a..a5cbdd8 100644 --- a/src/main/java/cn/celess/blog/util/ModalTrans.java +++ b/src/main/java/cn/celess/blog/util/ModalTrans.java @@ -40,6 +40,11 @@ public class ModalTrans { public static UserModel user(User user) { UserModel userModel = new UserModel(); BeanUtils.copyProperties(user, userModel); + userModel.setAvatarImgUrl(user.getAvatarImgUrl() == null || user.getAvatarImgUrl().length() == 0 ? + null : + "http://cdn.celess.cn/" + user.getAvatarImgUrl()); + userModel.setDisplayName(user.getDisplayName() == null ? user.getEmail() : user.getDisplayName()); + userModel.setRecentlyLandedDate(DateFormatUtil.get(user.getRecentlyLandedDate())); return userModel; } diff --git a/src/test/java/cn/celess/blog/controller/UserControllerTest.java b/src/test/java/cn/celess/blog/controller/UserControllerTest.java index c4eb7f2..1691c3a 100644 --- a/src/test/java/cn/celess/blog/controller/UserControllerTest.java +++ b/src/test/java/cn/celess/blog/controller/UserControllerTest.java @@ -2,12 +2,12 @@ package cn.celess.blog.controller; import cn.celess.blog.BaseTest; import cn.celess.blog.entity.User; +import cn.celess.blog.entity.model.PageData; import cn.celess.blog.entity.model.UserModel; import cn.celess.blog.entity.request.LoginReq; import cn.celess.blog.entity.request.UserReq; import cn.celess.blog.mapper.UserMapper; import cn.celess.blog.util.MD5Util; -import com.github.pagehelper.PageInfo; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.junit.Test; @@ -50,8 +50,7 @@ public class UserControllerTest extends BaseTest { @Test public void registration() { - // 自行手动测试! - // TODO : + // ignore } @Test @@ -136,7 +135,8 @@ public class UserControllerTest extends BaseTest { String s = UUID.randomUUID().toString(); String email = s.substring(s.length() - 4) + "@celess.cn"; String pwd = MD5Util.getMD5("123456789"); - int i1 = userMapper.addUser(email, pwd); + User user = new User(email, pwd); + int i1 = userMapper.addUser(user); if (i1 == 0) { continue; } @@ -177,7 +177,8 @@ public class UserControllerTest extends BaseTest { public void updateInfoByAdmin() throws Exception { UserReq userReq = new UserReq(); String email = UUID.randomUUID().toString().substring(0, 4) + "@celess.cn"; - userMapper.addUser(email, MD5Util.getMD5("123456789")); + User user = new User(email, MD5Util.getMD5("123456789")); + userMapper.addUser(user); User userByDb = userMapper.findByEmail(email); userReq.setId(userByDb.getId()); userReq.setPwd(UUID.randomUUID().toString().replaceAll("-", "").substring(0, 10)); @@ -194,12 +195,12 @@ public class UserControllerTest extends BaseTest { .andDo(result -> { JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); assertEquals(SUCCESS.getCode(), object.getInt(Code)); - UserModel user = (UserModel) JSONObject.toBean(object.getJSONObject(Result), UserModel.class); - assertEquals(userReq.getId(), user.getId()); - assertEquals(userReq.getRole(), user.getRole()); - assertEquals(userReq.getEmail(), user.getEmail()); - assertEquals(userReq.getDesc(), user.getDesc()); - assertEquals(userReq.getDisplayName(), user.getDisplayName()); + UserModel userModel = (UserModel) JSONObject.toBean(object.getJSONObject(Result), UserModel.class); + assertEquals(userReq.getId(), userModel.getId()); + assertEquals(userReq.getRole(), userModel.getRole()); + assertEquals(userReq.getEmail(), userModel.getEmail()); + assertEquals(userReq.getDesc(), userModel.getDesc()); + assertEquals(userReq.getDisplayName(), userModel.getDisplayName()); }); } @@ -217,14 +218,12 @@ public class UserControllerTest extends BaseTest { assertNotNull(object.getJSONObject(Result)); // 判断pageInfo是否包装完全 JSONObject resultJson = JSONObject.fromObject(object.getJSONObject(Result)); - PageInfo pageInfo = (PageInfo) JSONObject.toBean(resultJson, PageInfo.class); - assertNotEquals(0, pageInfo.getTotal()); - assertNotEquals(0, pageInfo.getStartRow()); - assertNotEquals(0, pageInfo.getEndRow()); - assertEquals(1, pageInfo.getPageNum()); - assertEquals(10, pageInfo.getPageSize()); + PageData pageData = (PageData) JSONObject.toBean(resultJson, PageData.class); + assertNotEquals(0, pageData.getTotal()); + assertEquals(1, pageData.getPageNum()); + assertEquals(10, pageData.getPageSize()); // 内容完整 - for (Object user : pageInfo.getList()) { + for (Object user : pageData.getList()) { UserModel u = (UserModel) JSONObject.toBean(JSONObject.fromObject(user), UserModel.class); assertNotNull(u.getId()); assertNotNull(u.getEmail()); @@ -254,7 +253,7 @@ public class UserControllerTest extends BaseTest { @Test public void setPwd() throws Exception { String email = UUID.randomUUID().toString().substring(0, 4) + "@celess.cn"; - assertEquals(1, userMapper.addUser(email, MD5Util.getMD5("1234567890"))); + assertEquals(1, userMapper.addUser(new User(email, MD5Util.getMD5("1234567890")))); LoginReq req = new LoginReq(); req.setEmail(email); req.setPassword("1234567890");