增加用户修改自己头像和昵称
This commit is contained in:
parent
e771a9a5ae
commit
3ffdc44669
@ -7,7 +7,7 @@ import cn.iocoder.mall.user.service.api.MobileCodeService;
|
||||
import cn.iocoder.mall.user.service.api.OAuth2Service;
|
||||
import cn.iocoder.mall.user.service.api.UserService;
|
||||
import cn.iocoder.mall.user.service.api.bo.OAuth2AccessTokenBO;
|
||||
import cn.iocoder.mall.user.application.vo.MobileRegisterVO;
|
||||
import cn.iocoder.mall.user.application.vo.users.MobileRegisterVO;
|
||||
import com.alibaba.dubbo.config.annotation.Reference;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("user/passport")
|
||||
@RequestMapping("users/passport")
|
||||
@Api("Passport 模块")
|
||||
public class PassportController {
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
package cn.iocoder.mall.user.application.controller.users;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.user.application.convert.UserConvert;
|
||||
import cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder;
|
||||
import cn.iocoder.mall.user.application.vo.UsersUserVO;
|
||||
import cn.iocoder.mall.user.application.vo.users.UsersUserVO;
|
||||
import cn.iocoder.mall.user.service.api.UserService;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserBO;
|
||||
import cn.iocoder.mall.user.service.api.dto.UserUpdateDTO;
|
||||
import com.alibaba.dubbo.config.annotation.Reference;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -15,15 +17,14 @@ import org.springframework.web.bind.annotation.*;
|
||||
@Api("用户模块")
|
||||
public class UserController {
|
||||
|
||||
@Reference
|
||||
@Reference(validation = "true")
|
||||
private UserService userService;
|
||||
|
||||
@GetMapping("/info")
|
||||
@ApiOperation(value = "用户信息")
|
||||
public CommonResult<UsersUserVO> info() {
|
||||
// TODO 芋艿,正在实现中
|
||||
UsersUserVO user = new UsersUserVO().setId(UserSecurityContextHolder.getContext().getUserId());
|
||||
return CommonResult.success(user);
|
||||
CommonResult<UserBO> userResult = userService.getUser(UserSecurityContextHolder.getContext().getUserId());
|
||||
return UserConvert.INSTANCE.convert2(userResult);
|
||||
}
|
||||
|
||||
@PostMapping("/update_avatar")
|
||||
|
@ -2,7 +2,7 @@ package cn.iocoder.mall.user.application.convert;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.user.service.api.bo.OAuth2AccessTokenBO;
|
||||
import cn.iocoder.mall.user.application.vo.MobileRegisterVO;
|
||||
import cn.iocoder.mall.user.application.vo.users.MobileRegisterVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
@ -2,6 +2,8 @@ package cn.iocoder.mall.user.application.convert;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.user.application.vo.admins.AdminsUserPageVO;
|
||||
import cn.iocoder.mall.user.application.vo.users.UsersUserVO;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserBO;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserPageBO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
@ -15,4 +17,7 @@ public interface UserConvert {
|
||||
@Mappings({})
|
||||
CommonResult<AdminsUserPageVO> convert(CommonResult<UserPageBO> result);
|
||||
|
||||
@Mappings({})
|
||||
CommonResult<UsersUserVO> convert2(CommonResult<UserBO> result);
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package cn.iocoder.mall.user.application.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@ApiModel("用户信息 VO")
|
||||
public class UsersUserVO {
|
||||
|
||||
@ApiModelProperty(value = "用户编号", required = true, example = "123")
|
||||
private Integer id;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public UsersUserVO setId(Integer id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package cn.iocoder.mall.user.application.vo;
|
||||
package cn.iocoder.mall.user.application.vo.users;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
@ -0,0 +1,54 @@
|
||||
package cn.iocoder.mall.user.application.vo.users;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@ApiModel("用户信息 VO")
|
||||
public class UsersUserVO {
|
||||
|
||||
@ApiModelProperty(value = "用户编号", required = true, example = "123")
|
||||
private Integer id;
|
||||
@ApiModelProperty(value = "手机号", required = true, example = "15601691300")
|
||||
private String mobile;
|
||||
@ApiModelProperty(value = "昵称", required = true, example = "小王")
|
||||
private String nickname;
|
||||
@ApiModelProperty(value = "头像", required = true, example = "http://www.iocoder.cn/xxx.jpg")
|
||||
private String avatar;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public UsersUserVO setId(Integer id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
|
||||
public UsersUserVO setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return nickname;
|
||||
}
|
||||
|
||||
public UsersUserVO setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getAvatar() {
|
||||
return avatar;
|
||||
}
|
||||
|
||||
public UsersUserVO setAvatar(String avatar) {
|
||||
this.avatar = avatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -38,7 +38,7 @@ public class UserSecurityInterceptor extends HandlerInterceptorAdapter {
|
||||
}
|
||||
authentication = result.getData();
|
||||
// 添加到 SecurityContext
|
||||
UserSecurityContext context = new UserSecurityContext(authentication.getUid());
|
||||
UserSecurityContext context = new UserSecurityContext(authentication.getUserId());
|
||||
UserSecurityContextHolder.setContext(context);
|
||||
}
|
||||
// 校验是否需要已授权
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.mall.user.service.api;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserBO;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserPageBO;
|
||||
import cn.iocoder.mall.user.service.api.dto.UserPageDTO;
|
||||
import cn.iocoder.mall.user.service.api.dto.UserUpdateDTO;
|
||||
@ -9,6 +10,8 @@ public interface UserService {
|
||||
|
||||
CommonResult<UserPageBO> getUserPage(UserPageDTO userPageDTO);
|
||||
|
||||
CommonResult<UserBO> getUser(Integer userId);
|
||||
|
||||
/**
|
||||
* 更新用户基本信息
|
||||
*
|
||||
|
@ -7,14 +7,14 @@ public class OAuth2AuthenticationBO implements Serializable {
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
private Integer uid;
|
||||
private Integer userId;
|
||||
|
||||
public Integer getUid() {
|
||||
return uid;
|
||||
public Integer getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public OAuth2AuthenticationBO setUid(Integer uid) {
|
||||
this.uid = uid;
|
||||
public OAuth2AuthenticationBO setUserId(Integer userId) {
|
||||
this.userId = userId;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
package cn.iocoder.mall.user.service;
|
||||
|
||||
import cn.iocoder.common.framework.constant.SysErrorCodeEnum;
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.common.framework.util.ValidationUtil;
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.user.dao.MobileCodeMapper;
|
||||
import cn.iocoder.mall.user.dataobject.MobileCodeDO;
|
||||
@ -77,10 +79,8 @@ public class MobileCodeServiceImpl implements MobileCodeService {
|
||||
|
||||
// TODO 芋艿,后面要返回有效时间
|
||||
public CommonResult<Void> send(String mobile) {
|
||||
// TODO 芋艿,校验手机格式
|
||||
// 校验手机号码是否已经注册
|
||||
if (userService.getUser(mobile) != null) {
|
||||
return ServiceExceptionUtil.error(UserErrorCodeEnum.USER_MOBILE_ALREADY_REGISTERED.getCode());
|
||||
if (!ValidationUtil.isMobile(mobile)) {
|
||||
return CommonResult.error(SysErrorCodeEnum.VALIDATION_REQUEST_PARAM_ERROR.getCode(), "手机格式不正确"); // TODO 有点搓
|
||||
}
|
||||
// 校验是否可以发送验证码
|
||||
MobileCodeDO lastMobileCodePO = mobileCodeMapper.selectLast1ByMobile(mobile);
|
||||
|
@ -11,6 +11,7 @@ import cn.iocoder.mall.user.dao.UserRegisterMapper;
|
||||
import cn.iocoder.mall.user.dataobject.UserDO;
|
||||
import cn.iocoder.mall.user.dataobject.UserRegisterDO;
|
||||
import cn.iocoder.mall.user.service.api.UserService;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserBO;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserPageBO;
|
||||
import cn.iocoder.mall.user.service.api.constant.UserConstants;
|
||||
import cn.iocoder.mall.user.service.api.constant.UserErrorCodeEnum;
|
||||
@ -76,6 +77,11 @@ public class UserServiceImpl implements UserService {
|
||||
return CommonResult.success(userPageBO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<UserBO> getUser(Integer userId) {
|
||||
return CommonResult.success(UserConvert.INSTANCE.convert(userMapper.selectById(userId)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<Boolean> updateUser(UserUpdateDTO userUpdateDTO) {
|
||||
// 校验用户存在
|
||||
|
@ -5,7 +5,7 @@
|
||||
<insert id="insert" parameterType="MobileCodeDO">
|
||||
INSERT INTO mobile_code (
|
||||
id, mobile, code, today_index, used,
|
||||
used_uid, used_time, create_time
|
||||
userd_user_id, used_time, create_time
|
||||
) VALUES (
|
||||
#{id}, #{mobile}, #{code}, #{todayIndex}, #{used},
|
||||
#{usedUserId}, #{usedTime}, #{createTime}
|
||||
@ -16,7 +16,7 @@
|
||||
UPDATE mobile_code
|
||||
<set>
|
||||
<if test="used != null"> used = #{used}, </if>
|
||||
<if test="usedUserId != null"> used_uid = #{usedUserId}, </if>
|
||||
<if test="usedUserId != null"> userd_user_id = #{usedUserId}, </if>
|
||||
<if test="usedTime != null"> used_time = #{usedTime}, </if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
@ -25,7 +25,7 @@
|
||||
<select id="selectLast1ByMobile" parameterType="String" resultType="MobileCodeDO">
|
||||
SELECT
|
||||
id, mobile, code, today_index, used,
|
||||
used_uid, used_time, create_time
|
||||
userd_user_id, used_time, create_time
|
||||
FROM mobile_code
|
||||
WHERE mobile = #{mobile}
|
||||
ORDER BY id DESC
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
<select id="selectByTokenId" parameterType="String" resultType="OAuth2AccessTokenDO">
|
||||
SELECT
|
||||
id, adminId, valid, expires_time
|
||||
id, user_id, valid, expires_time
|
||||
FROM oauth2_access_token
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
@ -2,11 +2,14 @@ package cn.iocoder.mall.user.convert;
|
||||
|
||||
import cn.iocoder.mall.user.dataobject.UserDO;
|
||||
import cn.iocoder.mall.user.service.api.bo.UserBO;
|
||||
import cn.iocoder.mall.user.service.api.dto.UserUpdateDTO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-03-08T17:14:01+0800",
|
||||
date = "2019-03-10T20:36:11+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 11.0.1 (Oracle Corporation)"
|
||||
)
|
||||
public class UserConvertImpl implements UserConvert {
|
||||
@ -19,8 +22,42 @@ public class UserConvertImpl implements UserConvert {
|
||||
|
||||
UserBO userBO = new UserBO();
|
||||
|
||||
userBO.setId( userDO.getId() );
|
||||
userBO.setMobile( userDO.getMobile() );
|
||||
userBO.setNickname( userDO.getNickname() );
|
||||
userBO.setAvatar( userDO.getAvatar() );
|
||||
userBO.setStatus( userDO.getStatus() );
|
||||
userBO.setCreateTime( userDO.getCreateTime() );
|
||||
|
||||
return userBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDO convert(UserUpdateDTO userUpdateDTO) {
|
||||
if ( userUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UserDO userDO = new UserDO();
|
||||
|
||||
userDO.setId( userUpdateDTO.getId() );
|
||||
userDO.setNickname( userUpdateDTO.getNickname() );
|
||||
userDO.setAvatar( userUpdateDTO.getAvatar() );
|
||||
|
||||
return userDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserBO> convert(List<UserDO> userDOs) {
|
||||
if ( userDOs == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UserBO> list = new ArrayList<UserBO>( userDOs.size() );
|
||||
for ( UserDO userDO : userDOs ) {
|
||||
list.add( convert( userDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user