|
|
@@ -1112,9 +1112,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- //以简历是否存在作为判断该账号下是否存在数据的标准
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -1286,6 +1284,27 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 检查用户是否存在数据
|
|
|
+ * true:不存在用户信息
|
|
|
+ * false:存在用户信息
|
|
|
+ *
|
|
|
+ * @param hpUser
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Boolean checkUser(HpUser hpUser) {
|
|
|
+ //获取用户简历信息
|
|
|
+ Map map = getUserLists(hpUser);
|
|
|
+ HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
+ //获取用户认证信息
|
|
|
+ String idCardNumber = hpUser.getIdCardNumber();
|
|
|
+ //1:简历是否存在;2:用户是否提交了实名认证;作为判断该账号下是否存在数据的标准
|
|
|
+ if (StringUtils.isBlank(idCardNumber) && hpResume == null) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 判断member表是否存在该手机号用户
|
|
|
*/
|
|
|
@Transactional(readOnly = false)
|
|
|
@@ -1357,6 +1376,94 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
*/
|
|
|
private HpUser upDateHpUser(HpUser hpUser, String userIds, String loginType) {
|
|
|
//没有微信unionid等信息则从废弃的数据里获取
|
|
|
+ if (StringUtils.isBlank(hpUser.getUnionid())) {
|
|
|
+ String[] userIdArray = userIds.split(",");
|
|
|
+ for (int i = 0; i < userIdArray.length; i++) {
|
|
|
+ HpUser hpUser1 = this.get(userIdArray[i]);
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getUnionid())) {
|
|
|
+ hpUser.setUnionid(hpUser1.getUnionid());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getWxOpenid())) {
|
|
|
+ hpUser.setWxOpenid(hpUser1.getWxOpenid());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getMinaOpenid())) {
|
|
|
+ hpUser.setMinaOpenid(hpUser1.getMinaOpenid());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果没有accesstoken等信息
|
|
|
+ if (StringUtils.isBlank(hpUser.getAccessToken())) {
|
|
|
+ String[] userIdArray1 = userIds.split(",");
|
|
|
+ for (int i = 0; i < userIdArray1.length; i++) {
|
|
|
+ HpUser hpUser1 = this.get(userIdArray1[i]);
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getAccessToken())) {
|
|
|
+ hpUser.setAccessToken(hpUser1.getAccessToken());
|
|
|
+ }
|
|
|
+ if (hpUser1.getAccessTokenEndtime() != null) {
|
|
|
+ hpUser.setAccessTokenEndtime(hpUser1.getAccessTokenEndtime());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getRefreshToken())) {
|
|
|
+ hpUser.setRefreshToken(hpUser1.getRefreshToken());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果没有小程序SessionKey信息
|
|
|
+ if (StringUtils.isBlank(hpUser.getMinaSessionKey())) {
|
|
|
+ String[] userIdArray2 = userIds.split(",");
|
|
|
+ for (int i = 0; i < userIdArray2.length; i++) {
|
|
|
+ HpUser hpUser1 = this.get(userIdArray2[i]);
|
|
|
+ if (StringUtils.isNotBlank(hpUser1.getMinaSessionKey())) {
|
|
|
+ hpUser.setMinaSessionKey(hpUser1.getMinaSessionKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ switch (loginType) {
|
|
|
+ case "0":
|
|
|
+ //如果登录方式不包含小程序授权,则添加
|
|
|
+ if (!hpUser.getLoginType().contains(AppLoginsEnum.MINA.getType())) {
|
|
|
+ String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.MINA.getType();
|
|
|
+ hpUser.setLoginType(loginType1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "1":
|
|
|
+ //如果登录方式不包含微信授权,则添加
|
|
|
+ if (!hpUser.getLoginType().contains(AppLoginsEnum.WX_AUTH.getType())) {
|
|
|
+ String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.WX_AUTH.getType();
|
|
|
+ hpUser.setLoginType(loginType1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ //如果登录方式不包含app,则添加
|
|
|
+ if (!hpUser.getLoginType().contains(AppLoginsEnum.APP.getType())) {
|
|
|
+ String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.APP.getType();
|
|
|
+ hpUser.setLoginType(loginType1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(hpUser.getUserToken())) {
|
|
|
+ //用户token作为请求的标准
|
|
|
+ long t1 = System.currentTimeMillis();
|
|
|
+ String timestamp = String.valueOf(t1);
|
|
|
+ String user_token = Md5Encrypt.md5(hpUser.getId() + timestamp);
|
|
|
+ hpUser.setUserToken(user_token);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(hpUser.getUserType())) {
|
|
|
+ hpUser.setUserType("0");
|
|
|
+ }
|
|
|
+ this.save(hpUser);
|
|
|
+ return hpUser;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当memberId存在时更新数据
|
|
|
+ *
|
|
|
+ * @param hpUser
|
|
|
+ * @param userIds
|
|
|
+ * @param loginType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private HpUser upDateHpUserForMember(HpUser hpUser, String userIds, String loginType) {
|
|
|
+ //没有微信unionid等信息则从废弃的数据里获取
|
|
|
String[] userIdArray = userIds.split(",");
|
|
|
for (int i = 0; i < userIdArray.length; i++) {
|
|
|
HpUser hpUser1 = this.get(userIdArray[i]);
|
|
|
@@ -1482,10 +1589,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- logger.info("hpResume===================" + hpResume);
|
|
|
- //以简历是否存在作为判断该账号下是否存在数据的标准
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -1635,7 +1739,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
//该手机号存在于member表中,以此用户为唯一
|
|
|
hpUser = this.get(hpMemberList.get(0).getHpUser().getId());
|
|
|
//进行数据合并
|
|
|
- hpUser = upDateHpUser(hpUser, userIds, "1");
|
|
|
+ hpUser = upDateHpUserForMember(hpUser, userIds, "1");
|
|
|
//逻辑删除掉当前登录的用户
|
|
|
if (StringUtils.isNotBlank(userIds)) {
|
|
|
String[] arr = userIds.split(",");
|
|
|
@@ -1652,8 +1756,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -1706,8 +1809,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -2026,9 +2128,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- //以简历是否存在作为判断该账号下是否存在数据的标准
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -2158,7 +2258,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
//该手机号存在于member表中,以此用户为唯一
|
|
|
hpUser = this.get(hpMemberList.get(0).getHpUser().getId());
|
|
|
//进行数据合并
|
|
|
- hpUser = upDateHpUser(hpUser, userIds, "1");
|
|
|
+ hpUser = upDateHpUserForMember(hpUser, userIds, "1");
|
|
|
//逻辑删除掉当前登录的用户
|
|
|
if (StringUtils.isNotBlank(userIds)) {
|
|
|
String[] arr = userIds.split(",");
|
|
|
@@ -2175,8 +2275,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|
|
|
@@ -2229,8 +2328,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
if (hpUserList.size() > 1) {
|
|
|
for (int i = 0; i < hpUserList.size(); i++) {
|
|
|
Map map = getUserLists(hpUserList.get(i));
|
|
|
- HpResume hpResume = (HpResume) map.get("hpResume");
|
|
|
- if (hpResume == null) {
|
|
|
+ if (this.checkUser(hpUserList.get(i))) {
|
|
|
//没有简历,该条用户记录自动被视为放弃,数据绑定到另外的用户上
|
|
|
if (i == 0) {
|
|
|
HpUser hpUserOth = hpUserList.get(1);
|