Commit 99016a4c 99016a4c45603b9bec50b42881096c077bf86837 by xianghan

1.update

1 parent 663ab529
......@@ -17,4 +17,5 @@ public interface UserTvRepository extends JpaRepository<UserTv, Long>, JpaSpecif
Optional<UserTv> findByPriorityMemberCode(String memberCode);
Optional<UserTv> findByMemberId(Long memberId);
}
......
......@@ -3,6 +3,7 @@ package com.topdraw.business.module.user.iptv.service;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.user.iptv.domain.UserTv;
import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
/**
* @author XiangHan
......@@ -77,4 +78,5 @@ public interface UserTvService {
* @return
*/
MemberDTO findMemberByPlatformAccount(String platformAccount);
}
......
......@@ -7,6 +7,7 @@ import com.topdraw.business.module.user.iptv.repository.UserTvRepository;
import com.topdraw.business.module.user.iptv.service.UserTvService;
import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
import com.topdraw.business.module.user.iptv.service.mapper.UserTvMapper;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
import com.topdraw.exception.EntityNotFoundException;
import com.topdraw.exception.GlobeExceptionMsg;
import com.topdraw.utils.ValidationUtil;
......
......@@ -46,7 +46,7 @@ public class UserWeixinServiceImpl implements UserWeixinService {
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UserWeixin resources) {
UserWeixin UserWeixin = this.userWeixinRepository.findById(resources.getId()).orElseGet(com.topdraw.business.module.user.weixin.domain.UserWeixin::new);
UserWeixin UserWeixin = this.userWeixinRepository.findById(resources.getId()).orElseGet(UserWeixin::new);
ValidationUtil.isNull( UserWeixin.getId(),"UserWeixin","id",resources.getId());
UserWeixin.copy(resources);
this.userWeixinRepository.save(UserWeixin);
......
......@@ -44,30 +44,54 @@ public class UserOperationServiceImpl implements UserOperationService {
String unionid = userWeixinDTO.getUnionid();
String appid = userWeixinDTO.getAppid();
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid);
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
// 无账号
if (Objects.isNull(_userWeixinDTO.getId())) {
// 检查会员是否存在
UserWeixinDTO _userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
if (Objects.nonNull(_userWeixinDTO1.getId())) {
// 会员已存在
Long memberId = _userWeixinDTO1.getMemberId();
// 是否存在会员
UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
if (Objects.nonNull(userWeixinDTO1)) {
Long memberId = userWeixinDTO1.getMemberId();
if (Objects.nonNull(memberId)) {
userWeixinDTO.setMemberId(memberId);
this.createWeixin(userWeixinDTO);
MemberDTO memberDTO = this.memberService.findById(memberId);
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
this.updateMember(memberDTO, memberDTO1);
} else {
// 会员不存在
MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
memberDTO.setId(null);
MemberDTO _memberDTO = this.createMember(memberDTO);
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
String memberCode = memberDTO1.getCode();
if (StringUtils.isNotBlank(memberCode)) {
Member member = new Member();
member.setCode(memberCode);
MemberDTO _memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(_memberDTO1.getId());
}
userWeixinDTO.setMemberId(_memberDTO.getId());
this.createWeixin(userWeixinDTO);
}
// 无会员
} else {
MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
Member member = new Member();
BeanUtils.copyProperties(memberDTO, member);
member.setId(null);
MemberDTO memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(memberDTO1.getId());
}
userWeixinDTO.setId(null);
this.createWeixin(userWeixinDTO);
} else {
// 会员存在
if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
// 账号存在,修改账号和会员
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId());
......@@ -75,6 +99,39 @@ public class UserOperationServiceImpl implements UserOperationService {
MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
this.updateMember(_memberDTO, memberDTO);
// 有账号无会员
} else {
// 是否存在会员
UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
// 有其他账号
if (Objects.nonNull(userWeixinDTO1)) {
Long memberId = userWeixinDTO1.getMemberId();
if (Objects.nonNull(memberId)) {
userWeixinDTO.setMemberId(memberId);
MemberDTO memberDTO = this.memberService.findById(memberId);
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
this.updateMember(memberDTO, memberDTO1);
} else {
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
Member member = new Member();
BeanUtils.copyProperties(memberDTO1, member);
member.setId(null);
MemberDTO _memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(_memberDTO1.getId());
}
}
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
}
}
}
......@@ -160,9 +217,48 @@ public class UserOperationServiceImpl implements UserOperationService {
String openid = userWeixinDTO.getOpenid();
String unionid = userWeixinDTO.getUnionid();
String appid = userWeixinDTO.getAppid();
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid);
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
if (Objects.nonNull(_userWeixinDTO.getId())) {
if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
if (StringUtils.isNotBlank(_userWeixinDTO.getUnionid())) {
UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(_userWeixinDTO.getUnionid());
if (Objects.nonNull(userWeixinDTO1)) {
Long memberId = userWeixinDTO1.getMemberId();
if (Objects.nonNull(memberId)) {
userWeixinDTO.setMemberId(memberId);
} else {
String memberCode = userWeixinDTO.getMemberCode();
if (StringUtils.isNotBlank(memberCode)) {
Member member = new Member();
member.setCode(memberCode);
MemberDTO memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(memberDTO1.getId());
}
}
}
} else {
String memberCode = userWeixinDTO.getMemberCode();
if (StringUtils.isNotBlank(memberCode)) {
Member member = new Member();
member.setCode(memberCode);
MemberDTO memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(memberDTO1.getId());
}
}
}
userWeixinDTO.setId(_userWeixinDTO.getId());
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
......@@ -170,10 +266,21 @@ public class UserOperationServiceImpl implements UserOperationService {
userWeixinDTO.setId(null);
String memberCode = userWeixinDTO.getMemberCode();
Long memberId = null;
if (StringUtils.isNotBlank(memberCode)) {
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
userWeixinDTO.setMemberId(memberDTO.getId());
if (Objects.isNull(memberDTO.getId())) {
Member member = new Member();
member.setCode(memberCode);
MemberDTO memberDTO1 = this.memberService.create(member);
memberId = memberDTO1.getId();
} else {
memberId = memberDTO.getId();
}
userWeixinDTO.setMemberId(memberId);
this.createWeixin(userWeixinDTO);
}
}
......@@ -212,27 +319,83 @@ public class UserOperationServiceImpl implements UserOperationService {
String appid = userWeixinDTO.getAppid();
MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid);
if (Objects.nonNull(_userWeixinDTO)) {
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
// 有账号
if (Objects.nonNull(_userWeixinDTO.getId())) {
// 会员存在
if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
// 账号存在,修改账号和会员
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId());
if (Objects.nonNull(_memberDTO)) {
memberDTO.setUserIptvId(_memberDTO.getUserIptvId());
this.updateMember(_memberDTO, memberDTO);
MemberDTO memberDTO0 = memberAndWeixinUserDTO.getMemberDTO();
memberDTO0.setUserIptvId(_memberDTO.getUserIptvId());
this.updateMember(_memberDTO, memberDTO0);
// 有账号无会员
} else {
throw new EntityNotFoundException(MemberDTO.class, "id", GlobeExceptionMsg.MEMBER_ID_IS_NULL);
// 是否存在会员
UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
// 有其他账号
if (Objects.nonNull(userWeixinDTO1)) {
Long memberId = userWeixinDTO1.getMemberId();
if (Objects.nonNull(memberId)) {
userWeixinDTO.setMemberId(memberId);
MemberDTO memberDTO0 = this.memberService.findById(memberId);
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
this.updateMember(memberDTO0, memberDTO1);
} else {
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
Member member = new Member();
BeanUtils.copyProperties(memberDTO1, member);
member.setId(null);
MemberDTO _memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(_memberDTO1.getId());
}
}
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
}
// 无账号
} else {
throw new EntityNotFoundException(UserWeixinDTO.class, "id", GlobeExceptionMsg.WEIXIN_IS_NULL);
// 是否存在会员
UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
// 有其他账号
if (Objects.nonNull(userWeixinDTO1)) {
Long memberId = userWeixinDTO1.getMemberId();
if (Objects.nonNull(memberId)) {
userWeixinDTO.setMemberId(memberId);
MemberDTO memberDTO0 = this.memberService.findById(memberId);
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
this.updateMember(memberDTO0, memberDTO1);
} else {
MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
Member member = new Member();
BeanUtils.copyProperties(memberDTO1, member);
member.setId(null);
MemberDTO _memberDTO1 = this.memberService.create(member);
userWeixinDTO.setMemberId(_memberDTO1.getId());
}
}
this.createWeixin(userWeixinDTO);
}
}
......@@ -295,10 +458,18 @@ public class UserOperationServiceImpl implements UserOperationService {
private void updateWeixin(UserWeixinDTO _userWeixinDTO, UserWeixinDTO weixinDTO){
weixinDTO.setId(_userWeixinDTO.getId());
if (Objects.nonNull(_userWeixinDTO.getMemberId())) {
weixinDTO.setMemberId(_userWeixinDTO.getMemberId());
}
if (StringUtils.isNotBlank(_userWeixinDTO.getUnionid())){
weixinDTO.setUnionid(_userWeixinDTO.getUnionid());
}
if (StringUtils.isNotBlank(_userWeixinDTO.getAppid())) {
weixinDTO.setAppid(_userWeixinDTO.getAppid());
}
if (StringUtils.isNotBlank(_userWeixinDTO.getOpenid())) {
weixinDTO.setOpenid(_userWeixinDTO.getOpenid());
}
UserWeixin userWeixin = new UserWeixin();
BeanUtils.copyProperties(weixinDTO, userWeixin);
......
......@@ -6,6 +6,7 @@ import com.topdraw.business.module.member.address.domain.MemberAddress;
import com.topdraw.mq.domain.DataSyncMsg;
import com.topdraw.mq.domain.SubscribeBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.http.ResponseEntity;
......