1.update
Showing
6 changed files
with
216 additions
and
40 deletions
... | @@ -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; | ... | ... |
-
Please register or sign in to post a comment