From 3ee0a5b718dd025f6a86351abbb08de6cf2ba4ce Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 6 Mar 2023 16:12:27 +0800 Subject: [PATCH] dingResiLogin --- .../service/impl/UserBaseInfoServiceImpl.java | 117 ++++++++++-------- 1 file changed, 64 insertions(+), 53 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 3e6203d2c6..52930c1242 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; @@ -61,6 +62,7 @@ import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -68,6 +70,7 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; /** * 用户基础信息 @@ -102,6 +105,8 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl page(Map params) { @@ -550,66 +555,72 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl registerWrapper = new LambdaQueryWrapper<>(); - registerWrapper.eq(RegisterRelationEntity::getCustomerId, formDTO.getCustomerId()); - registerWrapper.eq(RegisterRelationEntity::getUserId, baseInfo.getUserId()); - registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR); - RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper); - if (null != registerRelation) { - result.setAgencyId(registerRelation.getAgencyId()); - result.setGridId(registerRelation.getGridId()); - GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId()); - if (null == gridInfo) { - logger.error(String.format("获取用户注册网格信息为空,userId:%s,gridId:%s", baseInfo.getUserId(), registerRelation.getGridId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息为空", "获取小程序注册网格信息失败"); + baseInfo.setGender(NumConstant.ZERO_STR); + baseDao.insert(baseInfo); + + result.setEpmetUserId(userEntity.getId()); + result.setRegFlag(false); + } else { + // 更新下user_Base_info信息 + if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getRealName())) { + baseInfo.setRealName(formDTO.getNick()); + } + if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getSurname())) { + baseInfo.setSurname(NameUtils.getSurNameComplex(formDTO.getNick())); + } + if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getName())) { + baseInfo.setName(NameUtils.getNameComplex(formDTO.getNick())); + } + if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getNickname())) { + baseInfo.setNickname(formDTO.getNick()); + } + if (StringUtils.isNotBlank(formDTO.getAvatarUrl()) && StringUtils.isBlank(baseInfo.getHeadImgUrl())) { + baseInfo.setHeadImgUrl(formDTO.getAvatarUrl()); + } + baseDao.updateById(baseInfo); + + result.setEpmetUserId(baseInfo.getUserId()); + LambdaQueryWrapper registerWrapper = new LambdaQueryWrapper<>(); + registerWrapper.eq(RegisterRelationEntity::getCustomerId, formDTO.getCustomerId()); + registerWrapper.eq(RegisterRelationEntity::getUserId, baseInfo.getUserId()); + registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR); + RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper); + if (null != registerRelation) { + result.setAgencyId(registerRelation.getAgencyId()); + result.setGridId(registerRelation.getGridId()); + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId()); + if (null == gridInfo) { + logger.error(String.format("获取用户注册网格信息为空,userId:%s,gridId:%s", baseInfo.getUserId(), registerRelation.getGridId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息为空", "获取小程序注册网格信息失败"); + } + result.setGridName(gridInfo.getGridNamePath()); + result.setRegFlag(true); } - result.setGridName(gridInfo.getGridNamePath()); - result.setRegFlag(true); } + } finally { + distributedLock.unLock(lock); } return result; }