Commit 99016a4c 99016a4c45603b9bec50b42881096c077bf86837 by xianghan

1.update

1 parent 663ab529
...@@ -17,4 +17,5 @@ public interface UserTvRepository extends JpaRepository<UserTv, Long>, JpaSpecif ...@@ -17,4 +17,5 @@ public interface UserTvRepository extends JpaRepository<UserTv, Long>, JpaSpecif
17 Optional<UserTv> findByPriorityMemberCode(String memberCode); 17 Optional<UserTv> findByPriorityMemberCode(String memberCode);
18 18
19 Optional<UserTv> findByMemberId(Long memberId); 19 Optional<UserTv> findByMemberId(Long memberId);
20
20 } 21 }
......
...@@ -3,6 +3,7 @@ package com.topdraw.business.module.user.iptv.service; ...@@ -3,6 +3,7 @@ package com.topdraw.business.module.user.iptv.service;
3 import com.topdraw.business.module.member.service.dto.MemberDTO; 3 import com.topdraw.business.module.member.service.dto.MemberDTO;
4 import com.topdraw.business.module.user.iptv.domain.UserTv; 4 import com.topdraw.business.module.user.iptv.domain.UserTv;
5 import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; 5 import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
6 import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
6 7
7 /** 8 /**
8 * @author XiangHan 9 * @author XiangHan
...@@ -77,4 +78,5 @@ public interface UserTvService { ...@@ -77,4 +78,5 @@ public interface UserTvService {
77 * @return 78 * @return
78 */ 79 */
79 MemberDTO findMemberByPlatformAccount(String platformAccount); 80 MemberDTO findMemberByPlatformAccount(String platformAccount);
81
80 } 82 }
......
...@@ -7,6 +7,7 @@ import com.topdraw.business.module.user.iptv.repository.UserTvRepository; ...@@ -7,6 +7,7 @@ import com.topdraw.business.module.user.iptv.repository.UserTvRepository;
7 import com.topdraw.business.module.user.iptv.service.UserTvService; 7 import com.topdraw.business.module.user.iptv.service.UserTvService;
8 import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; 8 import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
9 import com.topdraw.business.module.user.iptv.service.mapper.UserTvMapper; 9 import com.topdraw.business.module.user.iptv.service.mapper.UserTvMapper;
10 import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
10 import com.topdraw.exception.EntityNotFoundException; 11 import com.topdraw.exception.EntityNotFoundException;
11 import com.topdraw.exception.GlobeExceptionMsg; 12 import com.topdraw.exception.GlobeExceptionMsg;
12 import com.topdraw.utils.ValidationUtil; 13 import com.topdraw.utils.ValidationUtil;
......
...@@ -46,7 +46,7 @@ public class UserWeixinServiceImpl implements UserWeixinService { ...@@ -46,7 +46,7 @@ public class UserWeixinServiceImpl implements UserWeixinService {
46 @Override 46 @Override
47 @Transactional(rollbackFor = Exception.class) 47 @Transactional(rollbackFor = Exception.class)
48 public void update(UserWeixin resources) { 48 public void update(UserWeixin resources) {
49 UserWeixin UserWeixin = this.userWeixinRepository.findById(resources.getId()).orElseGet(com.topdraw.business.module.user.weixin.domain.UserWeixin::new); 49 UserWeixin UserWeixin = this.userWeixinRepository.findById(resources.getId()).orElseGet(UserWeixin::new);
50 ValidationUtil.isNull( UserWeixin.getId(),"UserWeixin","id",resources.getId()); 50 ValidationUtil.isNull( UserWeixin.getId(),"UserWeixin","id",resources.getId());
51 UserWeixin.copy(resources); 51 UserWeixin.copy(resources);
52 this.userWeixinRepository.save(UserWeixin); 52 this.userWeixinRepository.save(UserWeixin);
......
...@@ -44,36 +44,93 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -44,36 +44,93 @@ public class UserOperationServiceImpl implements UserOperationService {
44 String unionid = userWeixinDTO.getUnionid(); 44 String unionid = userWeixinDTO.getUnionid();
45 String appid = userWeixinDTO.getAppid(); 45 String appid = userWeixinDTO.getAppid();
46 46
47 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid); 47 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
48 // 无账号
48 if (Objects.isNull(_userWeixinDTO.getId())) { 49 if (Objects.isNull(_userWeixinDTO.getId())) {
49 // 检查会员是否存在
50 UserWeixinDTO _userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
51 if (Objects.nonNull(_userWeixinDTO1.getId())) {
52 // 会员已存在
53 Long memberId = _userWeixinDTO1.getMemberId();
54 userWeixinDTO.setMemberId(memberId);
55 this.createWeixin(userWeixinDTO);
56 50
57 } else { 51 // 是否存在会员
52 UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
58 53
59 // 会员不存在 54 if (Objects.nonNull(userWeixinDTO1)) {
60 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
61 memberDTO.setId(null);
62 MemberDTO _memberDTO = this.createMember(memberDTO);
63 55
64 userWeixinDTO.setMemberId(_memberDTO.getId()); 56 Long memberId = userWeixinDTO1.getMemberId();
65 this.createWeixin(userWeixinDTO); 57 if (Objects.nonNull(memberId)) {
58
59 userWeixinDTO.setMemberId(memberId);
60 MemberDTO memberDTO = this.memberService.findById(memberId);
61 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
62 this.updateMember(memberDTO, memberDTO1);
63
64 } else {
65
66 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
67 String memberCode = memberDTO1.getCode();
68 if (StringUtils.isNotBlank(memberCode)) {
69 Member member = new Member();
70 member.setCode(memberCode);
71 MemberDTO _memberDTO1 = this.memberService.create(member);
72 userWeixinDTO.setMemberId(_memberDTO1.getId());
73 }
74
75 }
66 76
77 // 无会员
78 } else {
79
80 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
81 Member member = new Member();
82 BeanUtils.copyProperties(memberDTO, member);
83 member.setId(null);
84 MemberDTO memberDTO1 = this.memberService.create(member);
85 userWeixinDTO.setMemberId(memberDTO1.getId());
67 } 86 }
68 87
88 userWeixinDTO.setId(null);
89 this.createWeixin(userWeixinDTO);
90
69 } else { 91 } else {
70 92
71 // 账号存在,修改账号和会员 93 // 会员存在
72 this.updateWeixin(_userWeixinDTO, userWeixinDTO); 94 if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
73 MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId()); 95 // 账号存在,修改账号和会员
96 this.updateWeixin(_userWeixinDTO, userWeixinDTO);
97 MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId());
74 98
75 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO(); 99 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
76 this.updateMember(_memberDTO, memberDTO); 100 this.updateMember(_memberDTO, memberDTO);
101
102 // 有账号无会员
103 } else {
104
105 // 是否存在会员
106 UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
107
108 // 有其他账号
109 if (Objects.nonNull(userWeixinDTO1)) {
110
111 Long memberId = userWeixinDTO1.getMemberId();
112 if (Objects.nonNull(memberId)) {
113
114 userWeixinDTO.setMemberId(memberId);
115 MemberDTO memberDTO = this.memberService.findById(memberId);
116 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
117 this.updateMember(memberDTO, memberDTO1);
118
119 } else {
120
121 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
122 Member member = new Member();
123 BeanUtils.copyProperties(memberDTO1, member);
124 member.setId(null);
125 MemberDTO _memberDTO1 = this.memberService.create(member);
126 userWeixinDTO.setMemberId(_memberDTO1.getId());
127
128 }
129 }
130
131 this.updateWeixin(_userWeixinDTO, userWeixinDTO);
132
133 }
77 134
78 } 135 }
79 136
...@@ -160,9 +217,48 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -160,9 +217,48 @@ public class UserOperationServiceImpl implements UserOperationService {
160 String openid = userWeixinDTO.getOpenid(); 217 String openid = userWeixinDTO.getOpenid();
161 String unionid = userWeixinDTO.getUnionid(); 218 String unionid = userWeixinDTO.getUnionid();
162 String appid = userWeixinDTO.getAppid(); 219 String appid = userWeixinDTO.getAppid();
163 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid); 220 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
164 if (Objects.nonNull(_userWeixinDTO.getId())) { 221 if (Objects.nonNull(_userWeixinDTO.getId())) {
165 222
223 if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
224
225 if (StringUtils.isNotBlank(_userWeixinDTO.getUnionid())) {
226
227 UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(_userWeixinDTO.getUnionid());
228 if (Objects.nonNull(userWeixinDTO1)) {
229
230 Long memberId = userWeixinDTO1.getMemberId();
231 if (Objects.nonNull(memberId)) {
232
233 userWeixinDTO.setMemberId(memberId);
234
235 } else {
236
237 String memberCode = userWeixinDTO.getMemberCode();
238 if (StringUtils.isNotBlank(memberCode)) {
239 Member member = new Member();
240 member.setCode(memberCode);
241 MemberDTO memberDTO1 = this.memberService.create(member);
242 userWeixinDTO.setMemberId(memberDTO1.getId());
243 }
244
245 }
246
247 }
248
249 } else {
250
251 String memberCode = userWeixinDTO.getMemberCode();
252 if (StringUtils.isNotBlank(memberCode)) {
253 Member member = new Member();
254 member.setCode(memberCode);
255 MemberDTO memberDTO1 = this.memberService.create(member);
256 userWeixinDTO.setMemberId(memberDTO1.getId());
257 }
258
259 }
260
261 }
166 userWeixinDTO.setId(_userWeixinDTO.getId()); 262 userWeixinDTO.setId(_userWeixinDTO.getId());
167 this.updateWeixin(_userWeixinDTO, userWeixinDTO); 263 this.updateWeixin(_userWeixinDTO, userWeixinDTO);
168 264
...@@ -170,10 +266,21 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -170,10 +266,21 @@ public class UserOperationServiceImpl implements UserOperationService {
170 266
171 userWeixinDTO.setId(null); 267 userWeixinDTO.setId(null);
172 String memberCode = userWeixinDTO.getMemberCode(); 268 String memberCode = userWeixinDTO.getMemberCode();
173 MemberDTO memberDTO = this.memberService.findByCode(memberCode); 269 Long memberId = null;
174 userWeixinDTO.setMemberId(memberDTO.getId()); 270 if (StringUtils.isNotBlank(memberCode)) {
271 MemberDTO memberDTO = this.memberService.findByCode(memberCode);
272 if (Objects.isNull(memberDTO.getId())) {
273 Member member = new Member();
274 member.setCode(memberCode);
275 MemberDTO memberDTO1 = this.memberService.create(member);
276 memberId = memberDTO1.getId();
277 } else {
278 memberId = memberDTO.getId();
279 }
175 280
176 this.createWeixin(userWeixinDTO); 281 userWeixinDTO.setMemberId(memberId);
282 this.createWeixin(userWeixinDTO);
283 }
177 284
178 } 285 }
179 286
...@@ -212,27 +319,83 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -212,27 +319,83 @@ public class UserOperationServiceImpl implements UserOperationService {
212 String appid = userWeixinDTO.getAppid(); 319 String appid = userWeixinDTO.getAppid();
213 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO(); 320 MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
214 321
215 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid); 322 UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
216 if (Objects.nonNull(_userWeixinDTO)) { 323 // 有账号
324 if (Objects.nonNull(_userWeixinDTO.getId())) {
217 325
218 // 账号存在,修改账号和会员 326 // 会员存在
219 this.updateWeixin(_userWeixinDTO, userWeixinDTO); 327 if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
328 // 账号存在,修改账号和会员
329 this.updateWeixin(_userWeixinDTO, userWeixinDTO);
330 MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId());
220 331
221 MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId()); 332 MemberDTO memberDTO0 = memberAndWeixinUserDTO.getMemberDTO();
222 if (Objects.nonNull(_memberDTO)) { 333 memberDTO0.setUserIptvId(_memberDTO.getUserIptvId());
223 334 this.updateMember(_memberDTO, memberDTO0);
224 memberDTO.setUserIptvId(_memberDTO.getUserIptvId());
225 this.updateMember(_memberDTO, memberDTO);
226 335
336 // 有账号无会员
227 } else { 337 } else {
228 338
229 throw new EntityNotFoundException(MemberDTO.class, "id", GlobeExceptionMsg.MEMBER_ID_IS_NULL); 339 // 是否存在会员
340 UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
341
342 // 有其他账号
343 if (Objects.nonNull(userWeixinDTO1)) {
344
345 Long memberId = userWeixinDTO1.getMemberId();
346 if (Objects.nonNull(memberId)) {
347
348 userWeixinDTO.setMemberId(memberId);
349 MemberDTO memberDTO0 = this.memberService.findById(memberId);
350 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
351 this.updateMember(memberDTO0, memberDTO1);
352
353 } else {
354
355 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
356 Member member = new Member();
357 BeanUtils.copyProperties(memberDTO1, member);
358 member.setId(null);
359 MemberDTO _memberDTO1 = this.memberService.create(member);
360 userWeixinDTO.setMemberId(_memberDTO1.getId());
361
362 }
363 }
364
365 this.updateWeixin(_userWeixinDTO, userWeixinDTO);
230 366
231 } 367 }
232 368
369 // 无账号
233 } else { 370 } else {
234 371
235 throw new EntityNotFoundException(UserWeixinDTO.class, "id", GlobeExceptionMsg.WEIXIN_IS_NULL); 372 // 是否存在会员
373 UserWeixinDTO userWeixinDTO1 = this.userWeixinService.findFirstByUnionId(unionid);
374
375 // 有其他账号
376 if (Objects.nonNull(userWeixinDTO1)) {
377
378 Long memberId = userWeixinDTO1.getMemberId();
379 if (Objects.nonNull(memberId)) {
380
381 userWeixinDTO.setMemberId(memberId);
382 MemberDTO memberDTO0 = this.memberService.findById(memberId);
383 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
384 this.updateMember(memberDTO0, memberDTO1);
385
386 } else {
387
388 MemberDTO memberDTO1 = memberAndWeixinUserDTO.getMemberDTO();
389 Member member = new Member();
390 BeanUtils.copyProperties(memberDTO1, member);
391 member.setId(null);
392 MemberDTO _memberDTO1 = this.memberService.create(member);
393 userWeixinDTO.setMemberId(_memberDTO1.getId());
394
395 }
396 }
397
398 this.createWeixin(userWeixinDTO);
236 399
237 } 400 }
238 } 401 }
...@@ -295,10 +458,18 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -295,10 +458,18 @@ public class UserOperationServiceImpl implements UserOperationService {
295 458
296 private void updateWeixin(UserWeixinDTO _userWeixinDTO, UserWeixinDTO weixinDTO){ 459 private void updateWeixin(UserWeixinDTO _userWeixinDTO, UserWeixinDTO weixinDTO){
297 weixinDTO.setId(_userWeixinDTO.getId()); 460 weixinDTO.setId(_userWeixinDTO.getId());
298 weixinDTO.setMemberId(_userWeixinDTO.getMemberId()); 461 if (Objects.nonNull(_userWeixinDTO.getMemberId())) {
299 weixinDTO.setUnionid(_userWeixinDTO.getUnionid()); 462 weixinDTO.setMemberId(_userWeixinDTO.getMemberId());
300 weixinDTO.setAppid(_userWeixinDTO.getAppid()); 463 }
301 weixinDTO.setOpenid(_userWeixinDTO.getOpenid()); 464 if (StringUtils.isNotBlank(_userWeixinDTO.getUnionid())){
465 weixinDTO.setUnionid(_userWeixinDTO.getUnionid());
466 }
467 if (StringUtils.isNotBlank(_userWeixinDTO.getAppid())) {
468 weixinDTO.setAppid(_userWeixinDTO.getAppid());
469 }
470 if (StringUtils.isNotBlank(_userWeixinDTO.getOpenid())) {
471 weixinDTO.setOpenid(_userWeixinDTO.getOpenid());
472 }
302 473
303 UserWeixin userWeixin = new UserWeixin(); 474 UserWeixin userWeixin = new UserWeixin();
304 BeanUtils.copyProperties(weixinDTO, userWeixin); 475 BeanUtils.copyProperties(weixinDTO, userWeixin);
......
...@@ -6,6 +6,7 @@ import com.topdraw.business.module.member.address.domain.MemberAddress; ...@@ -6,6 +6,7 @@ import com.topdraw.business.module.member.address.domain.MemberAddress;
6 import com.topdraw.mq.domain.DataSyncMsg; 6 import com.topdraw.mq.domain.DataSyncMsg;
7 import com.topdraw.mq.domain.SubscribeBean; 7 import com.topdraw.mq.domain.SubscribeBean;
8 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
9 import org.apache.commons.lang3.StringUtils;
9 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.core.env.Environment; 11 import org.springframework.core.env.Environment;
11 import org.springframework.http.ResponseEntity; 12 import org.springframework.http.ResponseEntity;
......