Commit 6ee21062 6ee21062d64c7a7ac00596e30d1b285e7c25c845 by xianghan

1.优化

1 parent dc92cdb4
......@@ -12,5 +12,7 @@ public class BindBean extends WeiXinUserBean {
@NotNull(message = "platformAccount can't be null" , groups = {BindGroup.class})
private String platformAccount;
private String memberCode;
}
......
......@@ -198,10 +198,12 @@ public class UserOperationController {
if (Objects.nonNull(iptvUserInfo)) {
subscribeBean.setIptvUserInfo(iptvUserInfo);
String sourceInfo = iptvUserInfo.get("sourceInfo").toString();
Object sourceInfo1 = iptvUserInfo.get("sourceInfo");
if (Objects.nonNull(sourceInfo1)) {
String sourceInfo = sourceInfo1.toString();
if (StringUtils.isNotBlank(sourceInfo))
subscribeBean.setSourceInfo(sourceInfo);
}
String headimgurl = iptvUserInfo.get("headimgurl").toString();
String nickname = iptvUserInfo.get("nickname").toString();
......@@ -213,7 +215,8 @@ public class UserOperationController {
if (StringUtils.isNotBlank(headimgurl)) {
String headimgurlDecode = URLDecoder.decode(headimgurl, "UTF-8");
subscribeBean.setHeadimgurl(headimgurlDecode);
String headImgUrl = this.downloadWeixinImge(headimgurlDecode);
subscribeBean.setHeadimgurl(headImgUrl);
}
} else {
......@@ -449,11 +452,16 @@ public class UserOperationController {
log.info("UserOperationController ==> changeMainAccount ==>> param ==> [{}]",resources);
Long memberId = resources.getMemberId();
String memberCode = resources.getMemberCode();
if (StringUtils.isBlank(memberCode) && Objects.nonNull(memberId)) {
memberCode = this.memberService.findCodeById(memberId);
}
String platformAccount = resources.getPlatformAccount();
String code = this.memberService.findCodeById(memberId);
if (StringUtils.isBlank(platformAccount))
throw new BadRequestException(GlobeExceptionMsg.IPTV_PLATFORM_ACCOUNT_IS_NULL);
UserTv userTv = new UserTv();
userTv.setMemberCode(code);
userTv.setMemberCode(memberCode);
userTv.setPlatformAccount(platformAccount);
this.userOperationService.changeMainAccount(userTv);
......
......@@ -411,10 +411,11 @@ public class UserOperationServiceImpl implements UserOperationService {
String headImgUrl = resources.getHeadimgurl();
// 小屏账户
UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId);
UserWeixinDTO _userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId);
MemberDTO memberDTO = null;
if (Objects.isNull(userWeixinDTO.getId())) {
if (Objects.isNull(_userWeixinDTO.getId()) || StringUtils.isBlank(_userWeixinDTO.getUnionid()) ||
Objects.isNull(_userWeixinDTO.getMemberId())) {
UserWeixin userWeixin = new UserWeixin();
BeanUtils.copyProperties(resources,userWeixin);
......@@ -429,7 +430,7 @@ public class UserOperationServiceImpl implements UserOperationService {
} else {
// 修改微信账户关注状态
UserWeixinDTO _userWeixinDTO = this.doUpdateUserWeiXinStatus(userWeixinDTO, SUBSCRIBE_STATUS);
_userWeixinDTO = this.doUpdateUserWeiXinStatus(_userWeixinDTO, SUBSCRIBE_STATUS);
// 小屏会员
memberDTO = this.findMemberByAppIdAndOpenId(appId,openId);
......@@ -448,6 +449,7 @@ public class UserOperationServiceImpl implements UserOperationService {
}
}
}
// 修改会员信息
MemberDTO _memberDTO1 = this.doUpdateMemberByMemberDTO(memberDTO);
......@@ -465,8 +467,6 @@ public class UserOperationServiceImpl implements UserOperationService {
}
}
// 保存关注记录
String sourceInfo = resources.getSourceInfo();
this.saveWechatSubscribeRecord(memberDTO, sourceInfo, 1);
......@@ -663,7 +663,7 @@ public class UserOperationServiceImpl implements UserOperationService {
String platformAccount = resources.getPlatformAccount();
String memberCode = resources.getMemberCode();
this.memberService.findByCode(memberCode);
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
UserTvDTO userTvDTO = this.findByPlatformAccount(platformAccount);
if (Objects.isNull(userTvDTO))
......@@ -671,9 +671,15 @@ public class UserOperationServiceImpl implements UserOperationService {
// 解绑(置空大屏信息)
MemberDTO _memberDTO = this.minaUnbind_(this.findMemberByCode(memberCode));
if (Objects.isNull(_memberDTO)) {
_memberDTO = memberDTO;
}
// 置空主账号
UserTvDTO _userTvDTO = this.resetMainAccount(memberCode, userTvDTO.getId(), autoModel, bindMemberCode);
if (Objects.isNull(_userTvDTO)){
_userTvDTO = userTvDTO;
}
// 同步至iptv
((UserOperationServiceImpl)AopContext.currentProxy()).asyncUnbind(new MemberAndUserTvDTO(_memberDTO, _userTvDTO));
......@@ -1007,6 +1013,9 @@ public class UserOperationServiceImpl implements UserOperationService {
// 大屏是否绑定主账号,如果绑定了主账户则不操作大屏账户表
UserTvDTO _userTvDTO = this.bondPriorityMember(userTvDTO, memberDTO.getCode(), "auto");
if (Objects.isNull(_userTvDTO)) {
_userTvDTO = userTvDTO;
}
// 修改会员
MemberDTO _memberDTO = this.doUpdateMemberByMemberDTO(memberDTO);
......@@ -1176,12 +1185,18 @@ public class UserOperationServiceImpl implements UserOperationService {
if (StringUtils.isBlank(bindMemberCode)) {
// 有其他绑定的小程序会员
// 有其他绑定的小程序会员,排除自己
List<MemberDTO> memberDTOList = this.memberService.findByUserIptvId(id);
if (!CollectionUtils.isEmpty(memberDTOList)) {
List<MemberDTO> collect =
memberDTOList.stream().filter(memberDTO ->
!memberDTO.getCode().equalsIgnoreCase(memberCode)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(collect)) {
// 按绑定时间倒排
memberDTOList.sort(new Comparator<MemberDTO>() {
collect.sort(new Comparator<MemberDTO>() {
@Override
public int compare(MemberDTO memberDTO, MemberDTO t1) {
return t1.getBindIptvTime().compareTo(memberDTO.getBindIptvTime());
......@@ -1193,6 +1208,8 @@ public class UserOperationServiceImpl implements UserOperationService {
return _userTvDTO;
}
} else {
// 绑定新的主账号
......