Commit 6a3f28dd 6a3f28dd5bdd38433d85f71be8632512c47d4d80 by xianghan

1.退出大屏账户后,设置默认账户

1 parent 0ea9b74c
...@@ -33,6 +33,7 @@ import com.topdraw.weixin.util.WeixinUtil; ...@@ -33,6 +33,7 @@ import com.topdraw.weixin.util.WeixinUtil;
33 import io.swagger.annotations.Api; 33 import io.swagger.annotations.Api;
34 import io.swagger.annotations.ApiOperation; 34 import io.swagger.annotations.ApiOperation;
35 import lombok.extern.slf4j.Slf4j; 35 import lombok.extern.slf4j.Slf4j;
36 import org.apache.commons.collections4.CollectionUtils;
36 import org.assertj.core.util.Arrays; 37 import org.assertj.core.util.Arrays;
37 import org.springframework.beans.BeanUtils; 38 import org.springframework.beans.BeanUtils;
38 import org.springframework.beans.factory.annotation.Autowired; 39 import org.springframework.beans.factory.annotation.Autowired;
...@@ -44,6 +45,7 @@ import java.io.IOException; ...@@ -44,6 +45,7 @@ import java.io.IOException;
44 import java.net.URLDecoder; 45 import java.net.URLDecoder;
45 import java.time.LocalDateTime; 46 import java.time.LocalDateTime;
46 import java.util.*; 47 import java.util.*;
48 import java.util.stream.Collectors;
47 49
48 @Api("账户处理") 50 @Api("账户处理")
49 @RestController 51 @RestController
...@@ -166,8 +168,44 @@ public class UserOperationController { ...@@ -166,8 +168,44 @@ public class UserOperationController {
166 MemberDTO memberDTO = this.memberService.getByCode(memberCode1); 168 MemberDTO memberDTO = this.memberService.getByCode(memberCode1);
167 String memberCode = memberDTO.getCode(); 169 String memberCode = memberDTO.getCode();
168 if (StringUtils.isNotBlank(memberCode)) { 170 if (StringUtils.isNotBlank(memberCode)) {
171
172 String platformAccount = userTv.getPlatformAccount();
173 UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount);
174 if (Objects.isNull(userTvDTO))
175 throw new EntityNotFoundException(UserTvDTO.class,"platformAccount","大屏账户不存在");
176
177 // 解绑
169 userTv.setMemberCode(memberCode); 178 userTv.setMemberCode(memberCode);
170 this.userTvOperationService.unbind(userTv); 179 this.userTvOperationService.unbind(userTv);
180
181 // 设置默认账号,以时间最早的为准
182 List<MemberDTO> memberDTOList = this.memberService.findByUserIptvId(userTvDTO.getId());
183 if (CollectionUtils.isNotEmpty(memberDTOList)) {
184 List<MemberDTO> collect = memberDTOList.stream().filter(memberDTO1 -> !memberDTO1.getCode().equalsIgnoreCase(memberCode1)).collect(Collectors.toList());
185
186 if (CollectionUtils.isNotEmpty(collect) ){
187
188 if(collect.size() > 1) {
189 collect.sort(new Comparator<MemberDTO>() {
190 @Override
191 public int compare(MemberDTO memberDTO, MemberDTO t1) {
192 return t1.getBindIptvTime().compareTo(memberDTO.getBindIptvTime());
193 }
194 });
195 }
196
197 // 有其他会员的话,绑定最早的一个会员
198 MemberDTO memberDTO1 = collect.get(0);
199 userTvDTO.setPriorityMemberCode(memberDTO1.getCode());
200 BeanUtils.copyProperties(userTvDTO,userTv);
201 this.userTvService.update(userTv);
202 }
203
204 }
205
206 } else {
207
208 throw new EntityNotFoundException(MemberDTO.class,"code","会员信息不存在!!");
171 } 209 }
172 210
173 } 211 }
......