Skip to content

Commit 974b462

Browse files
committed
feat:完善用户密码修改功能
fix:解决账号密码登录时,头像无法显示的问题。 fix:后台评论管理页面默认显示用户的评论数据
1 parent b0c072b commit 974b462

File tree

12 files changed

+179
-71
lines changed

12 files changed

+179
-71
lines changed

mogu_admin/src/main/java/com/moxi/mogublog/admin/restapi/StudyVideoRestApi.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.moxi.mogublog.admin.annotion.AvoidRepeatableCommit.AvoidRepeatableCommit;
66
import com.moxi.mogublog.admin.annotion.OperationLogger.OperationLogger;
77
import com.moxi.mogublog.admin.global.SysConf;
8-
import com.moxi.mogublog.commons.feign.PictureFeignClient;
98
import com.moxi.mogublog.utils.ResultUtil;
109
import com.moxi.mogublog.xo.service.ResourceSortService;
1110
import com.moxi.mogublog.xo.service.StudyVideoService;
@@ -50,8 +49,6 @@ public class StudyVideoRestApi {
5049
StudyVideoService studyVideoService;
5150
@Autowired
5251
ResourceSortService resourceSortService;
53-
@Autowired
54-
PictureFeignClient pictureFeignClient;
5552

5653
@AuthorityVerify
5754
@ApiOperation(value = "获取学习视频列表", notes = "获取学习视频列表", response = String.class)

mogu_base/src/main/java/com/moxi/mougblog/base/global/BaseMessageConf.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public class BaseMessageConf {
6060

6161
public static final String DATA_NO_PRIVILEGE = "该数据无权限访问";
6262

63+
public static final String CANNOT_CHANGE_THE_PASSWORD_BY_USER = "第三方登录的用户无法修改密码";
64+
6365
public static final String RESTAPI_NO_PRIVILEGE = "您无权进行该操作";
6466

6567
public static final String ACCESS_NO_PRIVILEGE = "该资源无权限访问";

mogu_utils/src/main/java/com/moxi/mogublog/utils/WebUtils.java

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -93,55 +93,6 @@ public static String getDomainName(String url, Integer level) {
9393
return result;
9494
}
9595

96-
/**
97-
* 格式化数据获取图片列表
98-
*
99-
* @param result
100-
* @return
101-
*/
102-
@SuppressWarnings("unchecked")
103-
public static List<String> getPicture(String result) {
104-
105-
List<String> picUrls = new ArrayList<>();
106-
Map<String, Object> picMap = (Map<String, Object>) JsonUtils.jsonToObject(result, Map.class);
107-
if ("success".equals(picMap.get("code"))) {
108-
List<Map<String, Object>> picData = (List<Map<String, Object>>) picMap.get("data");
109-
if (picData.size() > 0) {
110-
for (int i = 0; i < picData.size(); i++) {
111-
picUrls.add((String) picData.get(i).get("url"));
112-
}
113-
}
114-
}
115-
return picUrls;
116-
}
117-
118-
/**
119-
* 获取图片,返回Map
120-
*
121-
122-
* @date 2018年10月21日下午12:55:18
123-
*/
124-
@SuppressWarnings("unchecked")
125-
public static List<Map<String, Object>> getPictureMap(String result) {
126-
List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
127-
Map<String, Object> picMap = (Map<String, Object>) JsonUtils.jsonToObject(result, Map.class);
128-
if ("success".equals(picMap.get("code"))) {
129-
List<Map<String, Object>> picData = (List<Map<String, Object>>) picMap.get("data");
130-
if (picData.size() > 0) {
131-
for (int i = 0; i < picData.size(); i++) {
132-
Map<String, Object> map = new HashMap<String, Object>();
133-
if (StringUtils.isEmpty(picData.get(i).get("url")) || StringUtils.isEmpty(picData.get(i).get("uid"))) {
134-
continue;
135-
}
136-
map.put("url", (String) picData.get(i).get("url"));
137-
map.put("uid", (String) picData.get(i).get("uid"));
138-
resultList.add(map);
139-
}
140-
}
141-
}
142-
return resultList;
143-
}
144-
14596
/**
14697
* 获取结果集的内容
14798
*

mogu_web/src/main/java/com/moxi/mogublog/web/global/MessageConf.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,6 @@ public final class MessageConf extends BaseMessageConf {
3434

3535
public static final String BLOG_LINK_IS_NO_PUBLISH = "您申请的友链,已经下架!";
3636

37+
public static final String PASSWORD_IS_ERROR = "输入密码有误!";
38+
3739
}

mogu_web/src/main/java/com/moxi/mogublog/web/global/SysConf.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public final class SysConf extends BaseSysConf {
3333
public static final String NICKNAME = "nickname";
3434
public static final String UUID = "uuid";
3535
public static final String SOURCE = "source";
36+
public final static String MOGU = "MOGU";
3637

3738
/**
3839
* 评论相关

mogu_web/src/main/java/com/moxi/mogublog/web/restapi/AuthRestApi.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,30 @@ public String editUser(HttpServletRequest request, @RequestBody UserVO userVO) {
376376
}
377377
}
378378

379+
@ApiOperation(value = "更新用户密码", notes = "更新用户密码")
380+
@PostMapping("/updateUserPwd")
381+
public String updateUserPwd(HttpServletRequest request,@RequestParam(value = "oldPwd") String oldPwd,@RequestParam("newPwd") String newPwd) {
382+
if(StringUtils.isEmpty(oldPwd) || StringUtils.isEmpty(oldPwd)) {
383+
return ResultUtil.result(SysConf.ERROR, MessageConf.PARAM_INCORRECT);
384+
}
385+
if (request.getAttribute(SysConf.USER_UID) == null || request.getAttribute(SysConf.TOKEN) == null) {
386+
return ResultUtil.result(SysConf.ERROR, MessageConf.INVALID_TOKEN);
387+
}
388+
String userUid = request.getAttribute(SysConf.USER_UID).toString();
389+
User user = userService.getById(userUid);
390+
// 判断是否是第三方登录的账号
391+
if(!user.getSource().equals(SysConf.MOGU)) {
392+
return ResultUtil.result(SysConf.ERROR, MessageConf.CANNOT_CHANGE_THE_PASSWORD_BY_USER);
393+
}
394+
// 判断旧密码是否一致
395+
if(user.getPassWord().equals(MD5Utils.string2MD5(oldPwd))) {
396+
user.setPassWord(MD5Utils.string2MD5(newPwd));
397+
user.updateById();
398+
return ResultUtil.result(SysConf.SUCCESS, MessageConf.OPERATION_SUCCESS);
399+
}
400+
return ResultUtil.result(SysConf.ERROR, MessageConf.PASSWORD_IS_ERROR);
401+
}
402+
379403
@ApiOperation(value = "申请友链", notes = "申请友链")
380404
@PostMapping("/replyBlogLink")
381405
public String replyBlogLink(HttpServletRequest request, @RequestBody LinkVO linkVO) {

mogu_web/src/main/java/com/moxi/mogublog/web/restapi/LoginRestApi.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33

44
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
55
import com.moxi.mogublog.commons.entity.User;
6+
import com.moxi.mogublog.commons.feign.PictureFeignClient;
67
import com.moxi.mogublog.utils.*;
78
import com.moxi.mogublog.web.global.MessageConf;
89
import com.moxi.mogublog.web.global.RedisConf;
910
import com.moxi.mogublog.web.global.SQLConf;
1011
import com.moxi.mogublog.web.global.SysConf;
1112
import com.moxi.mogublog.web.utils.RabbitMqUtil;
1213
import com.moxi.mogublog.xo.service.UserService;
14+
import com.moxi.mogublog.xo.utils.WebUtil;
1315
import com.moxi.mogublog.xo.vo.UserVO;
1416
import com.moxi.mougblog.base.enums.EStatus;
1517
import com.moxi.mougblog.base.exception.ThrowableUtils;
@@ -28,6 +30,7 @@
2830

2931
import javax.servlet.http.HttpServletRequest;
3032
import java.util.Date;
33+
import java.util.List;
3134
import java.util.Map;
3235
import java.util.concurrent.TimeUnit;
3336

@@ -53,10 +56,14 @@ public class LoginRestApi {
5356
private UserService userService;
5457
@Autowired
5558
private RedisUtil redisUtil;
59+
@Autowired
60+
PictureFeignClient pictureFeignClient;
61+
@Autowired
62+
WebUtil webUtil;
5663
@Value(value = "${BLOG.USER_TOKEN_SURVIVAL_TIME}")
5764
private Long userTokenSurvivalTime;
58-
5965
@ApiOperation(value = "用户登录", notes = "用户登录")
66+
6067
@PostMapping("/login")
6168
public String login(@Validated({GetOne.class}) @RequestBody UserVO userVO, BindingResult result) {
6269
ThrowableUtils.checkParamArgument(result);
@@ -83,9 +90,17 @@ public String login(@Validated({GetOne.class}) @RequestBody UserVO userVO, Bindi
8390
user.setLastLoginIp(ip);
8491
user.setLastLoginTime(new Date());
8592
user.updateById();
86-
93+
// 获取用户头像
94+
if (!StringUtils.isEmpty(user.getAvatar())) {
95+
String avatarResult = pictureFeignClient.getPicture(user.getAvatar(), ",");
96+
List<String> picList = webUtil.getPicture(avatarResult);
97+
if (picList != null && picList.size() > 0) {
98+
user.setPhotoUrl(webUtil.getPicture(avatarResult).get(0));
99+
}
100+
}
87101
// 生成token
88102
String token = StringUtils.getUUID();
103+
89104
// 过滤密码
90105
user.setPassWord("");
91106
//将从数据库查询的数据缓存到redis中

mogu_xo/src/main/java/com/moxi/mogublog/xo/service/impl/BlogServiceImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ public List<Blog> setTagAndSortAndPictureByBlogList(List<Blog> list) {
191191
}
192192
});
193193
String pictureList = null;
194-
195194
if (fileUids != null) {
196195
pictureList = this.pictureFeignClient.getPicture(fileUids.toString(), ",");
197196
}

vue_mogu_admin/src/views/message/comment.vue

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ export default {
165165
isEditForm: false,
166166
commentTypeDictList: [], //评论类型字典
167167
commentSourceDictList: [], //评论来源字典
168+
commentTypeDefaultValue: null, // 评论类型默认值
168169
};
169170
},
170171
created() {
@@ -197,8 +198,15 @@ export default {
197198
getListByDictTypeList(dictTypeList).then(response => {
198199
if (response.code == "success") {
199200
var dictMap = response.data;
201+
console.log("得到的字典类型", dictMap)
200202
this.commentTypeDictList = dictMap.sys_comment_type.list
201203
this.commentSourceDictList = dictMap.sys_comment_source.list
204+
205+
if(dictMap.sys_comment_type.defaultValue) {
206+
this.commentTypeDefaultValue = dictMap.sys_comment_type.defaultValue
207+
this.queryParams.type = this.commentTypeDefaultValue
208+
this.commentList()
209+
}
202210
}
203211
});
204212
},

vue_mogu_web/src/api/user.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@ export function editUser(params) {
2727
})
2828
}
2929

30+
/**
31+
* 更新用户密码
32+
* @param params
33+
*/
34+
export function updateUserPwd(params) {
35+
return request({
36+
url: process.env.WEB_API + '/oauth/updateUserPwd',
37+
method: 'post',
38+
data: params
39+
})
40+
}
41+
3042
/**
3143
* 获取用户反馈
3244
* @param params

0 commit comments

Comments
 (0)