Commit de96932b authored by alex yao's avatar alex yao

feat: 修改用户个人基础信息

parent 27cf6370
package cn.com.poc.user.aggregation; package cn.com.poc.user.aggregation;
import cn.com.poc.user.dto.MemberPasswordRequestDto; import cn.com.poc.user.dto.MemberPasswordRequestDto;
import cn.com.poc.user.entity.MemberInfoEntity;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
/** /**
...@@ -11,9 +12,17 @@ import cn.com.yict.framemax.core.service.BaseService; ...@@ -11,9 +12,17 @@ import cn.com.yict.framemax.core.service.BaseService;
public interface MemberInfoService extends BaseService { public interface MemberInfoService extends BaseService {
/** /**
*
* @param memberPasswordRequestDto * @param memberPasswordRequestDto
*/ */
void configureMemberPassword(MemberPasswordRequestDto memberPasswordRequestDto) throws Exception; void configureMemberPassword(MemberPasswordRequestDto memberPasswordRequestDto) throws Exception;
/**
* 更新用户信息
*
* @param memberInfoEntity
* @return
* @throws Exception
*/
MemberInfoEntity updateMemberInfo(MemberInfoEntity memberInfoEntity);
} }
...@@ -2,18 +2,23 @@ package cn.com.poc.user.aggregation.impl; ...@@ -2,18 +2,23 @@ package cn.com.poc.user.aggregation.impl;
import cn.com.poc.common.constant.RedisKeyConstant; import cn.com.poc.common.constant.RedisKeyConstant;
import cn.com.poc.common.service.RedisService; import cn.com.poc.common.service.RedisService;
import cn.com.poc.common.utils.StringUtils;
import cn.com.poc.user.dto.MemberPasswordRequestDto; import cn.com.poc.user.dto.MemberPasswordRequestDto;
import cn.com.poc.user.aggregation.MemberInfoService; import cn.com.poc.user.aggregation.MemberInfoService;
import cn.com.poc.user.constants.Member3rdPartyRelationConstants; import cn.com.poc.user.constants.Member3rdPartyRelationConstants;
import cn.com.poc.user.entity.Member3rdPartyRelationEntity; import cn.com.poc.user.entity.Member3rdPartyRelationEntity;
import cn.com.poc.user.entity.MemberInfoEntity; import cn.com.poc.user.entity.MemberInfoEntity;
import cn.com.poc.user.query.CheckMemberInfoQueryCondition;
import cn.com.poc.user.query.CheckMemberInfoQueryItem;
import cn.com.poc.user.service.BizMember3rdPartyRelationService; import cn.com.poc.user.service.BizMember3rdPartyRelationService;
import cn.com.poc.user.service.BizMemberInfoService; import cn.com.poc.user.service.BizMemberInfoService;
import cn.com.yict.framemax.core.i18n.I18nMessageException; import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl; import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* @Author:Roger Wu * @Author:Roger Wu
...@@ -59,4 +64,27 @@ public class MemberInfoServiceImpl extends BaseServiceImpl implements MemberInfo ...@@ -59,4 +64,27 @@ public class MemberInfoServiceImpl extends BaseServiceImpl implements MemberInfo
redisService.del(RedisKeyConstant.Code.AUTH_CODE + memberPasswordRequestDto.getAccount()); redisService.del(RedisKeyConstant.Code.AUTH_CODE + memberPasswordRequestDto.getAccount());
} }
@Override
public MemberInfoEntity updateMemberInfo(MemberInfoEntity memberInfoEntity) {
if (StringUtils.isNotBlank(memberInfoEntity.getMobilePhone())) {
CheckMemberInfoQueryCondition condition = new CheckMemberInfoQueryCondition();
condition.setMemberId(memberInfoEntity.getMemberId().longValue());
condition.setMobilePhone(memberInfoEntity.getMobilePhone());
List<CheckMemberInfoQueryItem> checkMemberInfoQueryItems = bizMemberInfoService.checkMemberInfoIsExist(condition);
if (CollectionUtils.isNotEmpty(checkMemberInfoQueryItems)) {
throw new I18nMessageException("exception/phone.is.exist");
}
}
if (StringUtils.isNotBlank(memberInfoEntity.getEmail())) {
CheckMemberInfoQueryCondition condition = new CheckMemberInfoQueryCondition();
condition.setMemberId(memberInfoEntity.getMemberId().longValue());
condition.setMobilePhone(memberInfoEntity.getEmail());
List<CheckMemberInfoQueryItem> checkMemberInfoQueryItems = bizMemberInfoService.checkMemberInfoIsExist(condition);
if (CollectionUtils.isNotEmpty(checkMemberInfoQueryItems)) {
throw new I18nMessageException("exception/email.is.exist");
}
}
return bizMemberInfoService.updateMemberInfo(memberInfoEntity);
}
} }
select
member_id,
account,
mobile_phone,
email,
is_deleted
from
biz_member_info
where is_deleted = 'N'
<< and member_id != :memberId >>
<< and mobile_phone = :mobilePhone or account = :mobilePhone >>
<< and email = :email or account = :email >>
\ No newline at end of file
package cn.com.poc.user.query;
import java.io.Serializable;
/**
* Query Condition class for CheckMemberInfoQuery
*/
public class CheckMemberInfoQueryCondition implements Serializable{
private static final long serialVersionUID = 1L;
private java.lang.Long memberId;
public java.lang.Long getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Long memberId){
this.memberId = memberId;
}
private java.lang.String mobilePhone;
public java.lang.String getMobilePhone(){
return this.mobilePhone;
}
public void setMobilePhone(java.lang.String mobilePhone){
this.mobilePhone = mobilePhone;
}
private java.lang.String email;
public java.lang.String getEmail(){
return this.email;
}
public void setEmail(java.lang.String email){
this.email = email;
}
}
\ No newline at end of file
package cn.com.poc.user.query;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import cn.com.yict.framemax.data.model.BaseItemClass;
/**
* Query Item class for CheckMemberInfoQuery
*/
@Entity
public class CheckMemberInfoQueryItem extends BaseItemClass implements Serializable{
private static final long serialVersionUID = 1L;
/** member_id
*member_id
*/
private java.lang.Integer memberId;
@Column(name = "member_id")
public java.lang.Integer getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Integer memberId){
this.memberId = memberId;
}
/** account
*account
*/
private java.lang.String account;
@Column(name = "account")
public java.lang.String getAccount(){
return this.account;
}
public void setAccount(java.lang.String account){
this.account = account;
}
/** mobile_phone
*mobile_phone
*/
private java.lang.String mobilePhone;
@Column(name = "mobile_phone")
public java.lang.String getMobilePhone(){
return this.mobilePhone;
}
public void setMobilePhone(java.lang.String mobilePhone){
this.mobilePhone = mobilePhone;
}
/** email
*email
*/
private java.lang.String email;
@Column(name = "email")
public java.lang.String getEmail(){
return this.email;
}
public void setEmail(java.lang.String email){
this.email = email;
}
/** is_deleted
*is_deleted
*/
private java.lang.String isDeleted;
@Column(name = "is_deleted")
public java.lang.String getIsDeleted(){
return this.isDeleted;
}
public void setIsDeleted(java.lang.String isDeleted){
this.isDeleted = isDeleted;
}
}
\ No newline at end of file
...@@ -49,4 +49,10 @@ public interface BizMemberInfoRest extends BaseRest { ...@@ -49,4 +49,10 @@ public interface BizMemberInfoRest extends BaseRest {
*/ */
@Permission(Access.Anonymous) @Permission(Access.Anonymous)
MemberInfoDto getMemberNickName(@RequestParam Long memberId) throws Exception; MemberInfoDto getMemberNickName(@RequestParam Long memberId) throws Exception;
/**
* 修改用户信息
*/
MemberInfoDto updateMemberInfo(@RequestBody MemberInfoDto memberInfoDto);
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import javax.annotation.Resource; ...@@ -5,6 +5,7 @@ import javax.annotation.Resource;
import cn.com.poc.common.utils.Assert; import cn.com.poc.common.utils.Assert;
import cn.com.poc.common.utils.BlContext; import cn.com.poc.common.utils.BlContext;
import cn.com.poc.support.security.oauth.constants.OauthConstants; import cn.com.poc.support.security.oauth.constants.OauthConstants;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.user.convert.MemberInfoConvert; import cn.com.poc.user.convert.MemberInfoConvert;
import cn.com.poc.user.dto.MemberInfoDto; import cn.com.poc.user.dto.MemberInfoDto;
import cn.com.poc.user.dto.MemberLoginRequestDto; import cn.com.poc.user.dto.MemberLoginRequestDto;
...@@ -124,4 +125,16 @@ public class BizMemberInfoRestImpl implements BizMemberInfoRest { ...@@ -124,4 +125,16 @@ public class BizMemberInfoRestImpl implements BizMemberInfoRest {
memberInfoDto.setAvatarUrl(memberInfoEntity.getAvatarUrl()); memberInfoDto.setAvatarUrl(memberInfoEntity.getAvatarUrl());
return memberInfoDto; return memberInfoDto;
} }
@Override
public MemberInfoDto updateMemberInfo(MemberInfoDto memberInfoDto){
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
if (userBaseEntity == null) {
throw new I18nMessageException("exception/user.not.login");
}
MemberInfoEntity memberInfoEntity = MemberInfoConvert.convertDto2Entity(memberInfoDto);
memberInfoEntity.setMemberId(userBaseEntity.getUserId().intValue());
MemberInfoEntity entity = memberInfoService.updateMemberInfo(memberInfoEntity);
return MemberInfoConvert.converEntity2Dto(entity);
}
} }
\ No newline at end of file
package cn.com.poc.user.service; package cn.com.poc.user.service;
import cn.com.poc.user.entity.MemberInfoEntity; import cn.com.poc.user.entity.MemberInfoEntity;
import cn.com.poc.user.query.CheckMemberInfoQueryCondition;
import cn.com.poc.user.query.CheckMemberInfoQueryItem;
import cn.com.yict.framemax.core.service.BaseService; import cn.com.yict.framemax.core.service.BaseService;
import java.util.List;
public interface BizMemberInfoService extends BaseService { public interface BizMemberInfoService extends BaseService {
MemberInfoEntity getById(Integer memberId)throws Exception; MemberInfoEntity getById(Integer memberId) throws Exception;
MemberInfoEntity getMemberEntityByAccount(String account) throws Exception; MemberInfoEntity getMemberEntityByAccount(String account) throws Exception;
...@@ -14,4 +18,14 @@ public interface BizMemberInfoService extends BaseService { ...@@ -14,4 +18,14 @@ public interface BizMemberInfoService extends BaseService {
* @return * @return
*/ */
MemberInfoEntity createMemberInfo(MemberInfoEntity memberInfoEntity); MemberInfoEntity createMemberInfo(MemberInfoEntity memberInfoEntity);
MemberInfoEntity updateMemberInfo(MemberInfoEntity memberInfoEntity);
/**
* 查询会员信息是否存在
*
* @param condition
* @return
*/
List<CheckMemberInfoQueryItem> checkMemberInfoIsExist(CheckMemberInfoQueryCondition condition);
} }
\ No newline at end of file
...@@ -6,6 +6,8 @@ import cn.com.poc.common.utils.StringUtils; ...@@ -6,6 +6,8 @@ import cn.com.poc.common.utils.StringUtils;
import cn.com.poc.common.utils.UUIDTool; import cn.com.poc.common.utils.UUIDTool;
import cn.com.poc.user.convert.MemberInfoConvert; import cn.com.poc.user.convert.MemberInfoConvert;
import cn.com.poc.user.entity.MemberInfoEntity; import cn.com.poc.user.entity.MemberInfoEntity;
import cn.com.poc.user.query.CheckMemberInfoQueryCondition;
import cn.com.poc.user.query.CheckMemberInfoQueryItem;
import cn.com.yict.framemax.core.i18n.I18nMessageException; import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl; import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.user.service.BizMemberInfoService; import cn.com.poc.user.service.BizMemberInfoService;
...@@ -82,6 +84,34 @@ public class BizMemberInfoServiceImpl extends BaseServiceImpl ...@@ -82,6 +84,34 @@ public class BizMemberInfoServiceImpl extends BaseServiceImpl
return MemberInfoConvert.convertModel2Entity(repository.save(model)); return MemberInfoConvert.convertModel2Entity(repository.save(model));
} }
@Override
public MemberInfoEntity updateMemberInfo(MemberInfoEntity memberInfoEntity) {
Assert.notNull(memberInfoEntity.getMemberId());
BizMemberInfoModel bizMemberInfoModel = repository.get(memberInfoEntity.getMemberId());
if (StringUtils.isNotBlank(memberInfoEntity.getNickName())) {
bizMemberInfoModel.setNickName(memberInfoEntity.getNickName());
}
if (StringUtils.isNotBlank(memberInfoEntity.getAvatarUrl())) {
bizMemberInfoModel.setAvatarUrl(memberInfoEntity.getAvatarUrl());
}
if (StringUtils.isNotBlank(memberInfoEntity.getMobilePhone())) {
bizMemberInfoModel.setMobilePhone(memberInfoEntity.getMobilePhone());
}
if (StringUtils.isNotBlank(memberInfoEntity.getEmail())) {
bizMemberInfoModel.setEmail(memberInfoEntity.getEmail());
}
if (StringUtils.isNotBlank(memberInfoEntity.getRemark())) {
bizMemberInfoModel.setRemark(memberInfoEntity.getRemark());
}
BizMemberInfoModel saveModel = this.repository.save(bizMemberInfoModel);
return MemberInfoConvert.convertModel2Entity(saveModel);
}
@Override
public List<CheckMemberInfoQueryItem> checkMemberInfoIsExist(CheckMemberInfoQueryCondition condition) {
return this.sqlDao.query(condition, CheckMemberInfoQueryItem.class);
}
private boolean checkVaildAccountExist(String account) { private boolean checkVaildAccountExist(String account) {
BizMemberInfoModel example = new BizMemberInfoModel(); BizMemberInfoModel example = new BizMemberInfoModel();
example.setAccount(account); example.setAccount(account);
......
...@@ -69,4 +69,6 @@ upload.more.than.10m=The uploaded file cannot exceed 10M file name ...@@ -69,4 +69,6 @@ upload.more.than.10m=The uploaded file cannot exceed 10M file name
error.file.content.is.null=Incorrect file, file contents cannot be empty, file name error.file.content.is.null=Incorrect file, file contents cannot be empty, file name
file.content.more.than.100w=The number of characters in a file cannot exceed 100w file.content.more.than.100w=The number of characters in a file cannot exceed 100w
collect.limit.message=Click too fast, do not repeat the operation collect.limit.message=Click too fast, do not repeat the operation
sms.limit.message=Do not send it again. Try again later sms.limit.message=Do not send it again. Try again later
\ No newline at end of file phone.is.exist=The mobile number already exists
email.is.exist=The email already exists
\ No newline at end of file
...@@ -69,4 +69,6 @@ upload.more.than.10m=\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC710M,\ ...@@ -69,4 +69,6 @@ upload.more.than.10m=\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC710M,\
error.file.content.is.null=\u9519\u8BEF\u7684\u6587\u4EF6\uFF0C\u6587\u4EF6\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A,\u6587\u4EF6\u540D error.file.content.is.null=\u9519\u8BEF\u7684\u6587\u4EF6\uFF0C\u6587\u4EF6\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A,\u6587\u4EF6\u540D
file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u5B57\u7B26\u6570\u4E0D\u80FD\u8D85\u8FC7100w,\u6587\u4EF6\u540D file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u5B57\u7B26\u6570\u4E0D\u80FD\u8D85\u8FC7100w,\u6587\u4EF6\u540D
collect.limit.message=\u70B9\u51FB\u8FC7\u5FEB,\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C collect.limit.message=\u70B9\u51FB\u8FC7\u5FEB,\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C
sms.limit.message=\u8BF7\u52FF\u91CD\u590D\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5 sms.limit.message=\u8BF7\u52FF\u91CD\u590D\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
\ No newline at end of file phone.is.exist=\u8BE5\u624B\u673A\u53F7\u5DF2\u5B58\u5728
email.is.exist=\u8BE5\u90AE\u7BB1\u5DF2\u5B58\u5728
\ No newline at end of file
...@@ -69,4 +69,6 @@ upload.more.than.10m=\u4E0A\u50B3\u6587\u4EF6\u4E0D\u53EF\u8D85\u904E10M ...@@ -69,4 +69,6 @@ upload.more.than.10m=\u4E0A\u50B3\u6587\u4EF6\u4E0D\u53EF\u8D85\u904E10M
error.file.content.is.null=\u932F\u8AA4\u7684\u6587\u4EF6,\u5185\u5BB9\u4E0D\u80FD\u7232\u7A7A error.file.content.is.null=\u932F\u8AA4\u7684\u6587\u4EF6,\u5185\u5BB9\u4E0D\u80FD\u7232\u7A7A
file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u4E0D\u53EF\u8D85100w\u5B57\u7B26 file.content.more.than.100w=\u6587\u4EF6\u5185\u5BB9\u4E0D\u53EF\u8D85100w\u5B57\u7B26
collect.limit.message=\u9EDE\u64CA\u904E\u5FEB\uFF0C\u8ACB\u52FF\u91CD\u8907\u64CD\u4F5C collect.limit.message=\u9EDE\u64CA\u904E\u5FEB\uFF0C\u8ACB\u52FF\u91CD\u8907\u64CD\u4F5C
sms.limit.message=\u8ACB\u52FF\u91CD\u8907\u767C\u9001\uFF0C\u7A0D\u5F8C\u91CD\u8A66 sms.limit.message=\u8ACB\u52FF\u91CD\u8907\u767C\u9001\uFF0C\u7A0D\u5F8C\u91CD\u8A66
\ No newline at end of file phone.is.exist=\u8A72\u624B\u6A5F\u865F\u5DF2\u5B58\u5728
email.is.exist=\u8A72\u90F5\u7BB1\u5DF2\u5B58\u5728
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment