记得上下班打卡 | git大法好,push需谨慎

Commit 41116eaf authored by 张国柄's avatar 张国柄

去除MONGO,第三方登录逻辑修复;

parent 645912bd
......@@ -65,47 +65,39 @@ public class AdamUserServiceImpl implements IAdamUserService {
LocalDateTime now = LocalDateTime.now();
AdamUserInfoVo userInfoVo = null;
// if (RedisLockUtil.tryLock(LOCK_KEY_UREGISTER + mobile, 1, 5)) {
// String uid = adamRdmService.getUidByMobile(mobile);
// if (StringUtils.isEmpty(uid)) {
userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(mobile);
userInfoVo.setNickname(NknameUtil.randomNkname());
userInfoVo.setIsComplete(0);
userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfoVo.setCreateAt(now);
userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(mobile);
userInfoVo.setNickname(NknameUtil.randomNkname());
userInfoVo.setIsComplete(0);
userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfoVo.setCreateAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis();
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis();
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr();
s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), 0, now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), null, userInfoVo.getQrCode()});
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
// } else {
// userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
// }
// RedisLockUtil.unlock(LOCK_KEY_UREGISTER + mobile);
// }
s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), 0, now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), null, userInfoVo.getQrCode()});
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return userInfoVo;
}
......@@ -115,73 +107,73 @@ public class AdamUserServiceImpl implements IAdamUserService {
LocalDateTime now = LocalDateTime.now();
AdamUserInfoVo userInfoVo = null;
long s = System.currentTimeMillis();
String uid = adamRdmService.getUidByMobile(param.getMobile());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr(),
initThirdPartObjs = CollectionUtil.linkedListObjectArr();
if (StringUtils.isEmpty(uid)) {// 手机号未注册
userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(param.getMobile());
userInfoVo.setNickname(param.getNickname());
userInfoVo.setAvatar(param.getAvatar());
userInfoVo.setIsComplete(0);
userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfoVo.setCreateAt(now);
long s = System.currentTimeMillis();
String uid = adamRdmService.getUidByMobile(param.getMobile());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr(),
initThirdPartObjs = CollectionUtil.linkedListObjectArr();
if (StringUtils.isEmpty(uid)) {// 手机号未注册
userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(param.getMobile());
userInfoVo.setNickname(param.getNickname());
userInfoVo.setAvatar(param.getAvatar());
userInfoVo.setIsComplete(0);
userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfoVo.setCreateAt(now);
// s = System.currentTimeMillis();
// mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
userInfoVo.setMobile(SensitizeUtil.custom(param.getMobile(), 3, 4));
userInfoVo.setMobile(SensitizeUtil.custom(param.getMobile(), 3, 4));
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), userInfoVo.getAvatar(), userInfoVo.getQrCode()});
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), userInfoVo.getAvatar(), userInfoVo.getQrCode()});
AdamThirdPartInfoVo thirdPartInfoVo = AdamThirdPartInfoVo.getNew();
BeanUtils.copyProperties(param, thirdPartInfoVo);
thirdPartInfoVo.setCreatedAt(now);
thirdPartInfoVo.setUid(userInfoVo.getUid());
thirdPartInfoVo.setState(1);// 1-绑定
AdamThirdPartInfoVo thirdPartInfoVo = AdamThirdPartInfoVo.getNew();
BeanUtils.copyProperties(param, thirdPartInfoVo);
thirdPartInfoVo.setCreatedAt(now);
thirdPartInfoVo.setUid(userInfoVo.getUid());
thirdPartInfoVo.setState(1);// 1-绑定
// s = System.currentTimeMillis();
// mongoTemplate.insert(thirdPartInfoVo, AdamThirdPartInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_third_party.add"));
initThirdPartObjs.add(new Object[]{thirdPartInfoVo.getUid(), thirdPartInfoVo.getOpenId(), thirdPartInfoVo.getAvatar(), thirdPartInfoVo.getNickname(), thirdPartInfoVo.getPlatform(), thirdPartInfoVo.getState(), thirdPartInfoVo.getCreatedAt()});
s = System.currentTimeMillis();
adamRdmService.setUidByPlatformOpenId(param.getPlatform(), param.getOpenId(), uid);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs, initThirdPartObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} else {// 手机号已注册
// 判断已注册用户是否绑定同平台的第三方账号
AdamThirdPartInfoVo thirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(uid, param.getPlatform());
if (null == thirdPartVo) {// 未绑定
this.bindTpa(uid, param);
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
} else if (thirdPartVo.getOpenId().equals(param.getOpenId())) {
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
} else {
return ResponseDto.failure(ErrorMapping.get("10007"));
}
}
toMqSqls.add(SqlMapping.get("adam_third_party.add"));
initThirdPartObjs.add(new Object[]{thirdPartInfoVo.getUid(), thirdPartInfoVo.getOpenId(), thirdPartInfoVo.getAvatar(), thirdPartInfoVo.getNickname(), thirdPartInfoVo.getPlatform(), thirdPartInfoVo.getState(), thirdPartInfoVo.getCreatedAt()});
s = System.currentTimeMillis();
adamRdmService.setUidByPlatformOpenId(param.getPlatform(), param.getOpenId(), uid);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs, initThirdPartObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} else {// 手机号已注册
// 判断已注册用户是否绑定同平台的第三方账号
AdamThirdPartInfoVo thirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(uid, param.getPlatform());
if (null == thirdPartVo) {// 未绑定
this.bindTpa(uid, param);
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
} else if (thirdPartVo.getOpenId().equals(param.getOpenId())) {
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
} else {
return ResponseDto.failure(ErrorMapping.get("10007"));
}
}
return ResponseDto.success(userInfoVo);
}
......@@ -342,8 +334,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_user_member.close"));
objsThirdPart.add(new Object[]{now, uid});
toMqSqls.add(SqlMapping.get("adam_user_member.close"));
objsThirdPart.add(new Object[]{now, uid});
// }
/* ---------------------- 收货地址信息 */
......@@ -351,8 +343,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamAddressesVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_addresses.close"));
objsAddresses.add(new Object[]{now, now, uid});
toMqSqls.add(SqlMapping.get("adam_addresses.close"));
objsAddresses.add(new Object[]{now, now, uid});
// }
/* ---------------------- 入场人信息 */
......@@ -360,8 +352,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)).getQueryObject(), AdamEnters.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_enters.close"));
objsAddresses.add(new Object[]{now, now, uid});
toMqSqls.add(SqlMapping.get("adam_enters.close"));
objsAddresses.add(new Object[]{now, now, uid});
// }
s = System.currentTimeMillis();
......@@ -376,10 +368,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public AdamRealInfoVo identity(String uid, String name, String idCard) {
AdamRealInfoVo vo = null;
// if (RedisLockUtil.tryLock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid, 1, 3)) {
// vo = adamRdmService.getRealInfoVoByUid(uid);
// if (null == vo) {
if (!adamRdmService.isCertification(1, idCard, name)) {
if (!adamRdmService.isCertification(1, idCard, name)) {
// String respStr = null;
// try {
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
......@@ -400,39 +389,36 @@ public class AdamUserServiceImpl implements IAdamUserService {
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
log.info("###实名认证失败[{}]", respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
adamRdmService.setCertification(1, idCard, name);
}
AdamRealName realName = new AdamRealName();
realName.setRealNameId(IDGenerator.nextSnowId() + "");
realName.setUid(uid);
realName.setType(1);
realName.setName(name);
realName.setIdCard(idCard);
realName.setState(1);
realName.setCreatedAt(LocalDateTime.now());
adamRealNameService.add(realName);
vo = AdamRealInfoVo.getNew();
vo.setUid(uid);
vo.setName(name);
vo.setIdCard(idCard);
vo.setType(realName.getType());
vo.setState(1);
long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// }
// RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid);
// }
String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
log.info("###实名认证失败[{}]", respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
adamRdmService.setCertification(1, idCard, name);
}
AdamRealName realName = new AdamRealName();
realName.setRealNameId(IDGenerator.nextSnowId() + "");
realName.setUid(uid);
realName.setType(1);
realName.setName(name);
realName.setIdCard(idCard);
realName.setState(1);
realName.setCreatedAt(LocalDateTime.now());
adamRealNameService.add(realName);
vo = AdamRealInfoVo.getNew();
vo.setUid(uid);
vo.setName(name);
vo.setIdCard(idCard);
vo.setType(realName.getType());
vo.setState(1);
long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
return vo;
}
}
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