|
|
@@ -1352,13 +1352,14 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
@Transactional(readOnly = false)
|
|
|
public Map<String, Object> selectInfo(Map<String, String> requestMap) {
|
|
|
Map<String, Object> returnMap = new HashMap<String, Object>();
|
|
|
+ String currentUser_id = requestMap.get("currentUser_id");//当前登录的用户id
|
|
|
String userId = requestMap.get("user_id");//选择的用户id
|
|
|
String phone = requestMap.get("phone");
|
|
|
String userIds = requestMap.get("userIds");//废弃的用户id集
|
|
|
String loginType = requestMap.get("login_type"); //0:小程序;1:微信授权;2:手机号
|
|
|
HpUser hpUser = this.get(userId);
|
|
|
//更新用户新信息
|
|
|
- hpUser = upDateHpUser(hpUser, userIds, loginType);
|
|
|
+ hpUser = upDateHpUser(hpUser, userIds, currentUser_id, loginType);
|
|
|
//合并用户信息
|
|
|
HpMember hpMember = checkMember(hpUser, phone, userIds);
|
|
|
returnMap.put("hpUser", hpUser);
|
|
|
@@ -1378,9 +1379,9 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
* @param hpUser
|
|
|
* @param userIds
|
|
|
*/
|
|
|
- private HpUser upDateHpUser(HpUser hpUser, String userIds, String loginType) {
|
|
|
- //没有微信unionid等信息则从废弃的数据里获取
|
|
|
- if (StringUtils.isBlank(hpUser.getUnionid())) {
|
|
|
+ private HpUser upDateHpUser(HpUser hpUser, String userIds, String currentUserId, String loginType) {
|
|
|
+ //当前用户跟选择的用户不是一个的时候,替换微信参数等
|
|
|
+ if (!currentUserId.equals(hpUser.getId())) {
|
|
|
String[] userIdArray = userIds.split(",");
|
|
|
for (int i = 0; i < userIdArray.length; i++) {
|
|
|
HpUser hpUser1 = this.get(userIdArray[i]);
|
|
|
@@ -1394,12 +1395,8 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
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]);
|
|
|
+ for (int i = 0; i < userIdArray.length; i++) {
|
|
|
+ HpUser hpUser1 = this.get(userIdArray[i]);
|
|
|
if (StringUtils.isNotBlank(hpUser1.getAccessToken())) {
|
|
|
hpUser.setAccessToken(hpUser1.getAccessToken());
|
|
|
}
|
|
|
@@ -1410,12 +1407,8 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
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]);
|
|
|
+ for (int i = 0; i < userIdArray.length; i++) {
|
|
|
+ HpUser hpUser1 = this.get(userIdArray[i]);
|
|
|
if (StringUtils.isNotBlank(hpUser1.getMinaSessionKey())) {
|
|
|
hpUser.setMinaSessionKey(hpUser1.getMinaSessionKey());
|
|
|
}
|
|
|
@@ -1459,88 +1452,6 @@ public class HpUserService extends CrudService<HpUserMapper, 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]);
|
|
|
- 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等信息
|
|
|
- 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信息
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* app微信授权登录
|
|
|
*
|
|
|
* @param requestMap
|
|
|
@@ -1654,6 +1565,9 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
hpUser.setAccessTokenEndtime(access_token_endtime);
|
|
|
this.save(hpUser);
|
|
|
if (list2.size() == hpUserList.size() && list2.size() != 0) {
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("currentUser", hpUser);
|
|
|
+ list2.add(map);
|
|
|
returnMap.put("userList", list2);
|
|
|
returnMap.put("success", "2009");
|
|
|
return returnMap;
|
|
|
@@ -1743,7 +1657,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
//该手机号存在于member表中,以此用户为唯一
|
|
|
hpUser = this.get(hpMemberList.get(0).getHpUser().getId());
|
|
|
//进行数据合并
|
|
|
- hpUser = upDateHpUserForMember(hpUser, userIds, "1");
|
|
|
+ hpUser = upDateHpUser(hpUser, userIds, userIds, "1");
|
|
|
//逻辑删除掉当前登录的用户
|
|
|
if (StringUtils.isNotBlank(userIds)) {
|
|
|
String[] arr = userIds.split(",");
|
|
|
@@ -1903,6 +1817,9 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
hpUser.setAccessTokenEndtime(access_token_endtime);
|
|
|
this.save(hpUser);
|
|
|
if (list2.size() == hpUserList.size() && list2.size() != 0) {
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("currentUser", hpUser);
|
|
|
+ list2.add(map);
|
|
|
returnMap.put("userList", list2);
|
|
|
returnMap.put("success", "2009");
|
|
|
return returnMap;
|
|
|
@@ -2183,6 +2100,9 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
hpUser1.setLoginTime(new Date());
|
|
|
this.save(hpUser1);
|
|
|
if (list2.size() == hpUserList.size() && list2.size() != 0) {
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("currentUser", hpUser1);
|
|
|
+ list2.add(map);
|
|
|
returnMap.put("userList", list2);
|
|
|
returnMap.put("success", "2009");
|
|
|
return returnMap;
|
|
|
@@ -2262,7 +2182,7 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
//该手机号存在于member表中,以此用户为唯一
|
|
|
hpUser = this.get(hpMemberList.get(0).getHpUser().getId());
|
|
|
//进行数据合并
|
|
|
- hpUser = upDateHpUserForMember(hpUser, userIds, "1");
|
|
|
+ hpUser = upDateHpUser(hpUser, userIds, userIds, "1");
|
|
|
//逻辑删除掉当前登录的用户
|
|
|
if (StringUtils.isNotBlank(userIds)) {
|
|
|
String[] arr = userIds.split(",");
|
|
|
@@ -2414,6 +2334,9 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
|
|
|
hpUser.setMinaSessionKey(sessionKey);
|
|
|
this.save(hpUser);
|
|
|
if (list2.size() == hpUserList.size() && list2.size() != 0) {
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("currentUser", hpUser);
|
|
|
+ list2.add(map);
|
|
|
returnMap.put("userList", list2);
|
|
|
returnMap.put("success", "2009");
|
|
|
return returnMap;
|