Commit de96932b authored by alex yao's avatar alex yao

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

parent 27cf6370
package cn.com.poc.user.aggregation;
import cn.com.poc.user.dto.MemberPasswordRequestDto;
import cn.com.poc.user.entity.MemberInfoEntity;
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 {
/**
*
* @param memberPasswordRequestDto
*/
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;
import cn.com.poc.common.constant.RedisKeyConstant;
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.aggregation.MemberInfoService;
import cn.com.poc.user.constants.Member3rdPartyRelationConstants;
import cn.com.poc.user.entity.Member3rdPartyRelationEntity;
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.BizMemberInfoService;
import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author:Roger Wu
......@@ -59,4 +64,27 @@ public class MemberInfoServiceImpl extends BaseServiceImpl implements MemberInfo
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 {
*/
@Permission(Access.Anonymous)
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;
import cn.com.poc.common.utils.Assert;
import cn.com.poc.common.utils.BlContext;
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.dto.MemberInfoDto;
import cn.com.poc.user.dto.MemberLoginRequestDto;
......@@ -124,4 +125,16 @@ public class BizMemberInfoRestImpl implements BizMemberInfoRest {
memberInfoDto.setAvatarUrl(memberInfoEntity.getAvatarUrl());
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;
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 java.util.List;
public interface BizMemberInfoService extends BaseService {
MemberInfoEntity getById(Integer memberId)throws Exception;
MemberInfoEntity getById(Integer memberId) throws Exception;
MemberInfoEntity getMemberEntityByAccount(String account) throws Exception;
......@@ -14,4 +18,14 @@ public interface BizMemberInfoService extends BaseService {
* @return
*/
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;
import cn.com.poc.common.utils.UUIDTool;
import cn.com.poc.user.convert.MemberInfoConvert;
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.service.impl.BaseServiceImpl;
import cn.com.poc.user.service.BizMemberInfoService;
......@@ -82,6 +84,34 @@ public class BizMemberInfoServiceImpl extends BaseServiceImpl
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) {
BizMemberInfoModel example = new BizMemberInfoModel();
example.setAccount(account);
......
......@@ -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
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
sms.limit.message=Do not send it again. Try again later
\ No newline at end of file
sms.limit.message=Do not send it again. Try again later
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,\
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
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
\ No newline at end of file
sms.limit.message=\u8BF7\u52FF\u91CD\u590D\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
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
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
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
\ No newline at end of file
sms.limit.message=\u8ACB\u52FF\u91CD\u8907\u767C\u9001\uFF0C\u7A0D\u5F8C\u91CD\u8A66
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