1.update
Showing
63 changed files
with
2355 additions
and
1056 deletions
... | @@ -19,6 +19,9 @@ import javax.persistence.Transient; | ... | @@ -19,6 +19,9 @@ import javax.persistence.Transient; |
19 | public class DefaultAsyncMqModule { | 19 | public class DefaultAsyncMqModule { |
20 | 20 | ||
21 | @Transient | 21 | @Transient |
22 | private String platformAccount; | ||
23 | |||
24 | @Transient | ||
22 | private String memberCode; | 25 | private String memberCode; |
23 | 26 | ||
24 | } | 27 | } | ... | ... |
src/main/java/com/topdraw/business/module/member/address/domain/MemberAddressBuilder.java
0 → 100644
1 | package com.topdraw.business.module.member.address.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.exception.GlobeExceptionMsg; | ||
5 | import org.apache.commons.lang3.StringUtils; | ||
6 | import org.springframework.util.Assert; | ||
7 | |||
8 | import java.util.Objects; | ||
9 | |||
10 | /** | ||
11 | * @author : | ||
12 | * @description: | ||
13 | * @function : | ||
14 | * @date :Created in 2022/3/11 11:08 | ||
15 | * @version: : | ||
16 | * @modified By: | ||
17 | * @since : modified in 2022/3/11 11:08 | ||
18 | */ | ||
19 | public class MemberAddressBuilder { | ||
20 | |||
21 | private static final Integer DEFAULT_VALUE_0 = 0; | ||
22 | private static final Integer DEFAULT_VALUE_1 = 1; | ||
23 | |||
24 | public static MemberAddress build(MemberAddress memberAddress, Long memberId, String memberCode){ | ||
25 | Long id = memberAddress.getId(); | ||
26 | Integer type = memberAddress.getType(); | ||
27 | Integer isDefault = memberAddress.getIsDefault(); | ||
28 | Integer sequence = memberAddress.getSequence(); | ||
29 | Integer status= memberAddress.getStatus(); | ||
30 | String contactor = memberAddress.getContactor(); | ||
31 | String cellphone = memberAddress.getCellphone(); | ||
32 | String country = memberAddress.getCountry(); | ||
33 | String province = memberAddress.getProvince(); | ||
34 | String city = memberAddress.getCity(); | ||
35 | String district = memberAddress.getDistrict(); | ||
36 | String address = memberAddress.getAddress(); | ||
37 | String zipCode = memberAddress.getZipCode(); | ||
38 | return build(id,memberId,memberCode,type,isDefault,sequence,status, | ||
39 | contactor,cellphone,country,province,city,district,address,zipCode); | ||
40 | } | ||
41 | |||
42 | public static MemberAddress build(MemberAddress memberAddress, Member member){ | ||
43 | Long id = memberAddress.getId(); | ||
44 | Long memberId = member.getId(); | ||
45 | String memberCode = member.getCode(); | ||
46 | Integer type = memberAddress.getType(); | ||
47 | Integer isDefault = memberAddress.getIsDefault(); | ||
48 | Integer sequence = memberAddress.getSequence(); | ||
49 | Integer status= memberAddress.getStatus(); | ||
50 | String contactor = memberAddress.getContactor(); | ||
51 | String cellphone = memberAddress.getCellphone(); | ||
52 | String country = memberAddress.getCountry(); | ||
53 | String province = memberAddress.getProvince(); | ||
54 | String city = memberAddress.getCity(); | ||
55 | String district = memberAddress.getDistrict(); | ||
56 | String address = memberAddress.getAddress(); | ||
57 | String zipCode = memberAddress.getZipCode(); | ||
58 | return build(id,memberId,memberCode,type,isDefault,sequence,status, | ||
59 | contactor,cellphone,country,province,city,district,address,zipCode); | ||
60 | } | ||
61 | |||
62 | public static MemberAddress build(MemberAddress memberAddress){ | ||
63 | Long id = memberAddress.getId(); | ||
64 | Long memberId = memberAddress.getMemberId(); | ||
65 | String memberCode = memberAddress.getMemberCode(); | ||
66 | Integer type = memberAddress.getType(); | ||
67 | Integer isDefault = memberAddress.getIsDefault(); | ||
68 | Integer sequence = memberAddress.getSequence(); | ||
69 | Integer status= memberAddress.getStatus(); | ||
70 | String contactor = memberAddress.getContactor(); | ||
71 | String cellphone = memberAddress.getCellphone(); | ||
72 | String country = memberAddress.getCountry(); | ||
73 | String province = memberAddress.getProvince(); | ||
74 | String city = memberAddress.getCity(); | ||
75 | String district = memberAddress.getDistrict(); | ||
76 | String address = memberAddress.getAddress(); | ||
77 | String zipCode = memberAddress.getZipCode(); | ||
78 | return build(id,memberId,memberCode,type,isDefault,sequence,status, | ||
79 | contactor,cellphone,country,province,city,district,address,zipCode); | ||
80 | } | ||
81 | |||
82 | |||
83 | public static MemberAddress build(Long id , Long memberId, String memberCode, | ||
84 | Integer sequence, Integer type , Integer isDefault , Integer status, | ||
85 | String contactor, String cellphone, | ||
86 | String country, String province, String city, | ||
87 | String district, String address, String zipCode){ | ||
88 | Assert.notNull(memberId, GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
89 | |||
90 | MemberAddress memberAddress = new MemberAddress(); | ||
91 | memberAddress.setId(Objects.nonNull(id)?null:id); | ||
92 | memberAddress.setMemberId(Objects.isNull(memberId)?null:memberId); | ||
93 | memberAddress.setMemberCode(stringIsNull(memberCode)); | ||
94 | |||
95 | memberAddress.setSequence(Objects.nonNull(sequence)?null:DEFAULT_VALUE_1); | ||
96 | memberAddress.setType(Objects.isNull(type)?null:DEFAULT_VALUE_0); | ||
97 | memberAddress.setIsDefault(Objects.nonNull(isDefault)?null:DEFAULT_VALUE_0); | ||
98 | memberAddress.setStatus(Objects.isNull(status)?null:DEFAULT_VALUE_1); | ||
99 | |||
100 | memberAddress.setContactor(stringIsNull(contactor)); | ||
101 | memberAddress.setCellphone(stringIsNull(cellphone)); | ||
102 | |||
103 | memberAddress.setCountry(stringIsNull(country)); | ||
104 | memberAddress.setProvince(stringIsNull(province)); | ||
105 | memberAddress.setCity(stringIsNull(city)); | ||
106 | memberAddress.setDistrict(stringIsNull(district)); | ||
107 | memberAddress.setAddress(stringIsNull(address)); | ||
108 | memberAddress.setZipCode(stringIsNull(zipCode)); | ||
109 | |||
110 | return memberAddress; | ||
111 | |||
112 | } | ||
113 | |||
114 | private static String stringIsNull(String s){ | ||
115 | return StringUtils.isBlank(s)?"":s; | ||
116 | } | ||
117 | |||
118 | } |
... | @@ -2,11 +2,6 @@ package com.topdraw.business.module.member.address.service; | ... | @@ -2,11 +2,6 @@ package com.topdraw.business.module.member.address.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.address.domain.MemberAddress; | 3 | import com.topdraw.business.module.member.address.domain.MemberAddress; |
4 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; | 4 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; |
5 | import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria; | ||
6 | import org.springframework.data.domain.Pageable; | ||
7 | |||
8 | import java.util.List; | ||
9 | import java.util.Map; | ||
10 | 5 | ||
11 | /** | 6 | /** |
12 | * @author XiangHan | 7 | * @author XiangHan |
... | @@ -15,31 +10,28 @@ import java.util.Map; | ... | @@ -15,31 +10,28 @@ import java.util.Map; |
15 | public interface MemberAddressService { | 10 | public interface MemberAddressService { |
16 | 11 | ||
17 | /** | 12 | /** |
18 | * 查询数据分页 | ||
19 | * @param criteria 条件参数 | ||
20 | * @param pageable 分页参数 | ||
21 | * @return Map<String,Object> | ||
22 | */ | ||
23 | Map<String,Object> queryAll(MemberAddressQueryCriteria criteria, Pageable pageable); | ||
24 | |||
25 | /** | ||
26 | * 查询所有数据不分页 | ||
27 | * @param criteria 条件参数 | ||
28 | * @return List<MemberAddressDTO> | ||
29 | */ | ||
30 | List<MemberAddressDTO> queryAll(MemberAddressQueryCriteria criteria); | ||
31 | |||
32 | /** | ||
33 | * 根据ID查询 | 13 | * 根据ID查询 |
34 | * @param id ID | 14 | * @param resources ID |
35 | * @return MemberAddressDTO | 15 | * @return MemberAddressDTO |
36 | */ | 16 | */ |
37 | MemberAddressDTO findById(Long id); | 17 | MemberAddressDTO findById(Long resources); |
38 | 18 | ||
39 | void create(MemberAddress resources); | 19 | /** |
20 | * 保存会员地址 | ||
21 | * @param resources | ||
22 | */ | ||
23 | MemberAddressDTO create(MemberAddress resources); | ||
40 | 24 | ||
41 | void update(MemberAddress resources); | 25 | /** |
26 | * 修改会员地址 | ||
27 | * @param resources | ||
28 | */ | ||
29 | MemberAddressDTO update(MemberAddress resources); | ||
42 | 30 | ||
43 | void delete(Long id); | 31 | /** |
32 | * 通过id删除 | ||
33 | * @param resources | ||
34 | */ | ||
35 | void delete(Long resources); | ||
44 | 36 | ||
45 | } | 37 | } | ... | ... |
1 | package com.topdraw.business.module.member.address.service.impl; | 1 | package com.topdraw.business.module.member.address.service.impl; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.address.domain.MemberAddress; | 3 | import com.topdraw.business.module.member.address.domain.MemberAddress; |
4 | import com.topdraw.business.module.member.address.domain.MemberAddressBuilder; | ||
4 | import com.topdraw.business.module.member.address.repository.MemberAddressRepository; | 5 | import com.topdraw.business.module.member.address.repository.MemberAddressRepository; |
5 | import com.topdraw.business.module.member.address.service.MemberAddressService; | 6 | import com.topdraw.business.module.member.address.service.MemberAddressService; |
6 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; | 7 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; |
7 | import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria; | ||
8 | import com.topdraw.business.module.member.address.service.mapper.MemberAddressMapper; | 8 | import com.topdraw.business.module.member.address.service.mapper.MemberAddressMapper; |
9 | import com.topdraw.business.module.member.service.MemberService; | 9 | import com.topdraw.business.module.member.service.MemberService; |
10 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 10 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
11 | import com.topdraw.utils.PageUtil; | 11 | import com.topdraw.utils.RedisUtils; |
12 | import com.topdraw.utils.QueryHelp; | ||
13 | import com.topdraw.utils.ValidationUtil; | 12 | import com.topdraw.utils.ValidationUtil; |
13 | import lombok.extern.slf4j.Slf4j; | ||
14 | import org.springframework.beans.BeanUtils; | ||
14 | import org.springframework.beans.factory.annotation.Autowired; | 15 | import org.springframework.beans.factory.annotation.Autowired; |
15 | import org.springframework.dao.EmptyResultDataAccessException; | 16 | import org.springframework.dao.EmptyResultDataAccessException; |
16 | import org.springframework.data.domain.Page; | ||
17 | import org.springframework.data.domain.Pageable; | ||
18 | import org.springframework.stereotype.Service; | 17 | import org.springframework.stereotype.Service; |
19 | import org.springframework.transaction.annotation.Propagation; | 18 | import org.springframework.transaction.annotation.Propagation; |
20 | import org.springframework.transaction.annotation.Transactional; | 19 | import org.springframework.transaction.annotation.Transactional; |
21 | import org.springframework.util.Assert; | 20 | import org.springframework.util.Assert; |
22 | 21 | ||
23 | import java.util.List; | ||
24 | import java.util.Map; | ||
25 | import java.util.Objects; | ||
26 | import java.util.Optional; | ||
27 | |||
28 | /** | 22 | /** |
29 | * @author XiangHan | 23 | * @author XiangHan |
30 | * @date 2021-10-22 | 24 | * @date 2021-10-22 |
31 | */ | 25 | */ |
32 | @Service | 26 | @Service |
33 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | 27 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) |
28 | @Slf4j | ||
34 | public class MemberAddressServiceImpl implements MemberAddressService { | 29 | public class MemberAddressServiceImpl implements MemberAddressService { |
35 | 30 | ||
36 | @Autowired | 31 | @Autowired |
37 | private MemberAddressRepository MemberAddressRepository; | 32 | private MemberService memberService; |
38 | |||
39 | @Autowired | 33 | @Autowired |
40 | private MemberAddressMapper MemberAddressMapper; | 34 | private MemberAddressMapper memberAddressMapper; |
41 | @Autowired | 35 | @Autowired |
42 | private MemberService memberService; | 36 | private MemberAddressRepository memberAddressRepository; |
43 | 37 | ||
44 | @Override | 38 | @Autowired |
45 | public Map<String, Object> queryAll(MemberAddressQueryCriteria criteria, Pageable pageable) { | 39 | private RedisUtils redisUtils; |
46 | Page<MemberAddress> page = MemberAddressRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
47 | return PageUtil.toPage(page.map(MemberAddressMapper::toDto)); | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public List<MemberAddressDTO> queryAll(MemberAddressQueryCriteria criteria) { | ||
52 | return MemberAddressMapper.toDto(MemberAddressRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
53 | } | ||
54 | 40 | ||
55 | @Override | 41 | @Override |
56 | public MemberAddressDTO findById(Long id) { | 42 | public MemberAddressDTO findById(Long id) { |
57 | MemberAddress MemberAddress = MemberAddressRepository.findById(id).orElseGet(MemberAddress::new); | 43 | Assert.notNull(id,"id can't be null"); |
44 | MemberAddress MemberAddress = this.memberAddressRepository.findById(id).orElseGet(MemberAddress::new); | ||
58 | ValidationUtil.isNull(MemberAddress.getId(),"MemberAddress","id",id); | 45 | ValidationUtil.isNull(MemberAddress.getId(),"MemberAddress","id",id); |
59 | return MemberAddressMapper.toDto(MemberAddress); | 46 | return this.memberAddressMapper.toDto(MemberAddress); |
60 | } | 47 | } |
61 | 48 | ||
62 | @Override | 49 | @Override |
63 | @Transactional(rollbackFor = Exception.class) | 50 | @Transactional(rollbackFor = Exception.class) |
64 | public void create(MemberAddress resources) { | 51 | public MemberAddressDTO create(MemberAddress resources) { |
65 | String memberCode = resources.getMemberCode(); | 52 | log.info("MemberAddressServiceImpl ==>> create ==>> param ==>> [{}]",resources); |
66 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 53 | MemberDTO memberDTO = this.checkMember(resources); |
67 | Long id = memberDTO.getId(); | 54 | MemberAddress _memberAddress = MemberAddressBuilder.build(resources, memberDTO.getId(), memberDTO.getCode()); |
68 | resources.setMemberId(id); | 55 | MemberAddress memberAddress = this.memberAddressRepository.save(_memberAddress); |
69 | MemberAddressRepository.save(resources); | 56 | |
57 | log.info("MemberAddressServiceImpl ==>> create ==>> result ==>> [{}]",resources); | ||
58 | MemberAddressDTO memberAddressDTO = new MemberAddressDTO(); | ||
59 | BeanUtils.copyProperties(memberAddress, memberAddressDTO); | ||
60 | return memberAddressDTO; | ||
61 | |||
70 | } | 62 | } |
71 | 63 | ||
72 | @Override | 64 | @Override |
73 | @Transactional(rollbackFor = Exception.class) | 65 | @Transactional(rollbackFor = Exception.class) |
74 | public void update(MemberAddress resources) { | 66 | public MemberAddressDTO update(MemberAddress resources) { |
75 | String memberCode = resources.getMemberCode(); | 67 | log.info("MemberAddressServiceImpl ==>> update ==>> param ==>> [{}]",resources); |
76 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 68 | Assert.notNull(resources.getId(),"id can't be null"); |
77 | if (Objects.nonNull(memberDTO)) { | 69 | try { |
78 | Long memberId = memberDTO.getId(); | 70 | this.redisUtils.doLock("MemberAddress::update::code" + resources.getId()); |
79 | Integer sequence = resources.getSequence(); | 71 | MemberDTO memberDTO = this.checkMember(resources); |
80 | Assert.notNull(sequence,"sequence can't be null!"); | 72 | resources.setMemberCode(memberDTO.getCode()); |
81 | Optional<MemberAddress> memberAddressOptional = MemberAddressRepository.findByMemberIdAndSequence(memberId,sequence); | 73 | |
82 | if (memberAddressOptional.isPresent()) { | 74 | MemberAddress _memberAddress = this.memberAddressRepository.findById(resources.getId()).orElseGet(MemberAddress::new); |
83 | MemberAddress memberAddress = memberAddressOptional.get(); | 75 | ValidationUtil.isNull( _memberAddress.getId(),"MemberAddress","id",resources.getId()); |
84 | ValidationUtil.isNull(memberAddress.getId(),"MemberAddress","id",resources.getId()); | 76 | _memberAddress.copy(resources); |
85 | resources.setId(memberAddress.getId()); | 77 | MemberAddress memberAddress = this.memberAddressRepository.save(_memberAddress); |
86 | memberAddress.copy(resources); | 78 | |
87 | MemberAddressRepository.save(memberAddress); | 79 | MemberAddressDTO memberAddressDTO = new MemberAddressDTO(); |
88 | } | 80 | BeanUtils.copyProperties(memberAddress, memberAddressDTO); |
81 | return memberAddressDTO; | ||
82 | } catch (Exception e) { | ||
83 | e.printStackTrace(); | ||
84 | throw e; | ||
85 | } finally { | ||
86 | this.redisUtils.doUnLock("MemberAddress::update::code" + resources.getId()); | ||
89 | } | 87 | } |
90 | } | 88 | } |
91 | 89 | ||
... | @@ -93,9 +91,30 @@ public class MemberAddressServiceImpl implements MemberAddressService { | ... | @@ -93,9 +91,30 @@ public class MemberAddressServiceImpl implements MemberAddressService { |
93 | @Transactional(rollbackFor = Exception.class) | 91 | @Transactional(rollbackFor = Exception.class) |
94 | public void delete(Long id) { | 92 | public void delete(Long id) { |
95 | Assert.notNull(id, "The given id must not be null!"); | 93 | Assert.notNull(id, "The given id must not be null!"); |
96 | MemberAddress MemberAddress = MemberAddressRepository.findById(id).orElseThrow( | 94 | MemberAddress MemberAddress = this.memberAddressRepository.findById(id).orElseThrow( |
97 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberAddress.class, id), 1)); | 95 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberAddress.class, id), 1)); |
98 | MemberAddressRepository.delete(MemberAddress); | 96 | this.memberAddressRepository.delete(MemberAddress); |
97 | } | ||
98 | |||
99 | /** | ||
100 | * 检查会员 | ||
101 | * @param memberAddress | ||
102 | * @return | ||
103 | */ | ||
104 | private MemberDTO checkMember(MemberAddress memberAddress){ | ||
105 | Long memberId = memberAddress.getMemberId(); | ||
106 | String memberCode = memberAddress.getMemberCode(); | ||
107 | return this.checkMember(memberId,memberCode); | ||
108 | } | ||
109 | |||
110 | /** | ||
111 | * 检查会员 | ||
112 | * @param memberId 会员id | ||
113 | * @param memberCode 会员code | ||
114 | * @return | ||
115 | */ | ||
116 | private MemberDTO checkMember(Long memberId, String memberCode) { | ||
117 | return this.memberService.checkMember(memberId, memberCode); | ||
99 | } | 118 | } |
100 | 119 | ||
101 | 120 | ... | ... |
1 | package com.topdraw.business.module.member.domain; | ||
2 | |||
3 | |||
4 | import com.topdraw.util.IdWorker; | ||
5 | import org.apache.commons.lang3.StringUtils; | ||
6 | |||
7 | import java.nio.charset.StandardCharsets; | ||
8 | import java.util.Base64; | ||
9 | import java.util.Objects; | ||
10 | |||
11 | /** | ||
12 | * @author XiangHan | ||
13 | * @date 2021-10-22 | ||
14 | */ | ||
15 | public class MemberBuilder { | ||
16 | |||
17 | private static final Long DEFAULT_VALUE = 0L; | ||
18 | private static final Integer DEFAULT_VALUE_1 = 1; | ||
19 | private static final Integer DEFAULT_VALUE_ = -1; | ||
20 | |||
21 | public static Member build(Member member){ | ||
22 | Member _member = checkMemberData(member); | ||
23 | return _member; | ||
24 | } | ||
25 | |||
26 | private static Member checkMemberData(Member member) { | ||
27 | String code = member.getCode(); | ||
28 | member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code); | ||
29 | Integer gender = member.getGender(); | ||
30 | member.setGender(Objects.nonNull(gender) ? gender : DEFAULT_VALUE_); | ||
31 | Integer type = member.getType(); | ||
32 | member.setType(Objects.nonNull(type) ? type:DEFAULT_VALUE_); | ||
33 | Integer status = member.getStatus(); | ||
34 | member.setStatus(Objects.nonNull(status) ? status:DEFAULT_VALUE_1); | ||
35 | Integer vip = member.getVip(); | ||
36 | member.setVip(Objects.nonNull(vip) ? vip:0); | ||
37 | Integer level = member.getLevel(); | ||
38 | member.setLevel(Objects.nonNull(level) ? level:DEFAULT_VALUE_1); | ||
39 | member.setExp(DEFAULT_VALUE); | ||
40 | member.setPoints(DEFAULT_VALUE); | ||
41 | member.setDuePoints(DEFAULT_VALUE); | ||
42 | member.setCouponAmount(DEFAULT_VALUE); | ||
43 | member.setDueCouponAmount(DEFAULT_VALUE); | ||
44 | member.setBlackStatus(DEFAULT_VALUE); | ||
45 | member.setBirthday(StringUtils.isBlank(member.getBirthday())?"1900-01-01":member.getBirthday()); | ||
46 | String nickname = member.getNickname(); | ||
47 | if (StringUtils.isNotEmpty(nickname)) { | ||
48 | String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8))); | ||
49 | member.setNickname(base64Nickname); | ||
50 | } | ||
51 | return member; | ||
52 | } | ||
53 | |||
54 | public static Member build(Integer type, String avatarUrl, String nickname, int vip){ | ||
55 | // todo 原型模式 | ||
56 | Member member = new Member(); | ||
57 | member.setType(type); | ||
58 | member.setAvatarUrl(avatarUrl); | ||
59 | member.setNickname(nickname); | ||
60 | member.setVip(vip); | ||
61 | Member _member = checkMemberData(member); | ||
62 | return _member; | ||
63 | } | ||
64 | } |
... | @@ -15,39 +15,25 @@ import java.util.Map; | ... | @@ -15,39 +15,25 @@ import java.util.Map; |
15 | public interface MemberLevelService { | 15 | public interface MemberLevelService { |
16 | 16 | ||
17 | /** | 17 | /** |
18 | * 查询数据分页 | ||
19 | * @param criteria 条件参数 | ||
20 | * @param pageable 分页参数 | ||
21 | * @return Map<String,Object> | ||
22 | */ | ||
23 | Map<String,Object> queryAll(MemberLevelQueryCriteria criteria, Pageable pageable); | ||
24 | |||
25 | /** | ||
26 | * 查询所有数据不分页 | ||
27 | * @param criteria 条件参数 | ||
28 | * @return List<MemberLevelDTO> | ||
29 | */ | ||
30 | List<MemberLevelDTO> queryAll(MemberLevelQueryCriteria criteria); | ||
31 | |||
32 | /** | ||
33 | * 根据ID查询 | 18 | * 根据ID查询 |
34 | * @param id ID | 19 | * @param id ID |
35 | * @return MemberLevelDTO | 20 | * @return MemberLevelDTO |
36 | */ | 21 | */ |
37 | MemberLevelDTO findById(Long id); | 22 | MemberLevelDTO findById(Long id); |
38 | 23 | ||
39 | void create(MemberLevel resources); | ||
40 | |||
41 | void update(MemberLevel resources); | ||
42 | |||
43 | void delete(Long id); | ||
44 | |||
45 | /** | 24 | /** |
46 | * Code校验 | 25 | * Code校验 |
47 | * @param code | 26 | * @param code |
48 | * @return MemberLevelDTO | 27 | * @return MemberLevelDTO |
49 | */ | 28 | */ |
50 | MemberLevelDTO getByCode(String code); | 29 | MemberLevelDTO getByCode(String code); |
51 | 30 | ||
31 | /** | ||
32 | * 通过等级和状态检索 | ||
33 | * @param i | ||
34 | * @param status | ||
35 | * @return | ||
36 | */ | ||
52 | List<MemberLevelDTO> findLevelAndStatus(Integer i, Integer status); | 37 | List<MemberLevelDTO> findLevelAndStatus(Integer i, Integer status); |
38 | |||
53 | } | 39 | } | ... | ... |
... | @@ -4,23 +4,15 @@ import com.topdraw.business.module.member.level.domain.MemberLevel; | ... | @@ -4,23 +4,15 @@ import com.topdraw.business.module.member.level.domain.MemberLevel; |
4 | import com.topdraw.business.module.member.level.repository.MemberLevelRepository; | 4 | import com.topdraw.business.module.member.level.repository.MemberLevelRepository; |
5 | import com.topdraw.business.module.member.level.service.MemberLevelService; | 5 | import com.topdraw.business.module.member.level.service.MemberLevelService; |
6 | import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO; | 6 | import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO; |
7 | import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria; | ||
8 | import com.topdraw.business.module.member.level.service.mapper.MemberLevelMapper; | 7 | import com.topdraw.business.module.member.level.service.mapper.MemberLevelMapper; |
9 | import com.topdraw.utils.PageUtil; | ||
10 | import com.topdraw.utils.QueryHelp; | ||
11 | import com.topdraw.utils.StringUtils; | 8 | import com.topdraw.utils.StringUtils; |
12 | import com.topdraw.utils.ValidationUtil; | 9 | import com.topdraw.utils.ValidationUtil; |
13 | import org.springframework.beans.factory.annotation.Autowired; | 10 | import org.springframework.beans.factory.annotation.Autowired; |
14 | import org.springframework.dao.EmptyResultDataAccessException; | ||
15 | import org.springframework.data.domain.Page; | ||
16 | import org.springframework.data.domain.Pageable; | ||
17 | import org.springframework.stereotype.Service; | 11 | import org.springframework.stereotype.Service; |
18 | import org.springframework.transaction.annotation.Propagation; | 12 | import org.springframework.transaction.annotation.Propagation; |
19 | import org.springframework.transaction.annotation.Transactional; | 13 | import org.springframework.transaction.annotation.Transactional; |
20 | import org.springframework.util.Assert; | ||
21 | 14 | ||
22 | import java.util.List; | 15 | import java.util.List; |
23 | import java.util.Map; | ||
24 | 16 | ||
25 | /** | 17 | /** |
26 | * @author XiangHan | 18 | * @author XiangHan |
... | @@ -31,62 +23,27 @@ import java.util.Map; | ... | @@ -31,62 +23,27 @@ import java.util.Map; |
31 | public class MemberLevelServiceImpl implements MemberLevelService { | 23 | public class MemberLevelServiceImpl implements MemberLevelService { |
32 | 24 | ||
33 | @Autowired | 25 | @Autowired |
34 | private MemberLevelRepository MemberLevelRepository; | 26 | private MemberLevelRepository memberLevelRepository; |
35 | 27 | ||
36 | @Autowired | 28 | @Autowired |
37 | private MemberLevelMapper MemberLevelMapper; | 29 | private MemberLevelMapper memberLevelMapper; |
38 | |||
39 | @Override | ||
40 | public Map<String, Object> queryAll(MemberLevelQueryCriteria criteria, Pageable pageable) { | ||
41 | Page<MemberLevel> page = MemberLevelRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
42 | return PageUtil.toPage(page.map(MemberLevelMapper::toDto)); | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | public List<MemberLevelDTO> queryAll(MemberLevelQueryCriteria criteria) { | ||
47 | return MemberLevelMapper.toDto(MemberLevelRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
48 | } | ||
49 | 30 | ||
50 | @Override | 31 | @Override |
51 | public MemberLevelDTO findById(Long id) { | 32 | public MemberLevelDTO findById(Long id) { |
52 | MemberLevel MemberLevel = MemberLevelRepository.findById(id).orElseGet(MemberLevel::new); | 33 | MemberLevel MemberLevel = this.memberLevelRepository.findById(id).orElseGet(MemberLevel::new); |
53 | ValidationUtil.isNull(MemberLevel.getId(),"MemberLevel","id",id); | 34 | ValidationUtil.isNull(MemberLevel.getId(),"MemberLevel","id",id); |
54 | return MemberLevelMapper.toDto(MemberLevel); | 35 | return this.memberLevelMapper.toDto(MemberLevel); |
55 | } | ||
56 | |||
57 | @Override | ||
58 | @Transactional(rollbackFor = Exception.class) | ||
59 | public void create(MemberLevel resources) { | ||
60 | MemberLevelRepository.save(resources); | ||
61 | } | 36 | } |
62 | 37 | ||
63 | @Override | 38 | @Override |
64 | @Transactional(rollbackFor = Exception.class) | ||
65 | public void update(MemberLevel resources) { | ||
66 | MemberLevel MemberLevel = MemberLevelRepository.findById(resources.getId()).orElseGet(MemberLevel::new); | ||
67 | ValidationUtil.isNull( MemberLevel.getId(),"MemberLevel","id",resources.getId()); | ||
68 | MemberLevel.copy(resources); | ||
69 | MemberLevelRepository.save(MemberLevel); | ||
70 | } | ||
71 | |||
72 | @Override | ||
73 | @Transactional(rollbackFor = Exception.class) | ||
74 | public void delete(Long id) { | ||
75 | Assert.notNull(id, "The given id must not be null!"); | ||
76 | MemberLevel MemberLevel = MemberLevelRepository.findById(id).orElseThrow( | ||
77 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberLevel.class, id), 1)); | ||
78 | MemberLevelRepository.delete(MemberLevel); | ||
79 | } | ||
80 | |||
81 | |||
82 | @Override | ||
83 | public MemberLevelDTO getByCode(String code) { | 39 | public MemberLevelDTO getByCode(String code) { |
84 | return StringUtils.isNotEmpty(code) ? MemberLevelMapper.toDto(MemberLevelRepository.findFirstByCode(code).orElseGet(MemberLevel::new)) | 40 | return StringUtils.isNotEmpty(code) ? this.memberLevelMapper.toDto(this.memberLevelRepository.findFirstByCode(code).orElseGet(MemberLevel::new)) |
85 | : new MemberLevelDTO(); | 41 | : new MemberLevelDTO(); |
86 | } | 42 | } |
87 | 43 | ||
88 | @Override | 44 | @Override |
89 | public List<MemberLevelDTO> findLevelAndStatus(Integer level, Integer status) { | 45 | public List<MemberLevelDTO> findLevelAndStatus(Integer level, Integer status) { |
90 | return MemberLevelMapper.toDto(MemberLevelRepository.findByLevelAndStatus(level,status)); | 46 | return this.memberLevelMapper.toDto(this.memberLevelRepository.findByLevelAndStatus(level,status)); |
91 | } | 47 | } |
48 | |||
92 | } | 49 | } | ... | ... |
... | @@ -23,6 +23,9 @@ import java.sql.Timestamp; | ... | @@ -23,6 +23,9 @@ import java.sql.Timestamp; |
23 | @Table(name="uc_member_profile") | 23 | @Table(name="uc_member_profile") |
24 | public class MemberProfile implements Serializable { | 24 | public class MemberProfile implements Serializable { |
25 | 25 | ||
26 | @Transient | ||
27 | private String avatarUrl; | ||
28 | |||
26 | // 主键 | 29 | // 主键 |
27 | @Id | 30 | @Id |
28 | @GeneratedValue(strategy = GenerationType.IDENTITY) | 31 | @GeneratedValue(strategy = GenerationType.IDENTITY) |
... | @@ -50,7 +53,7 @@ public class MemberProfile implements Serializable { | ... | @@ -50,7 +53,7 @@ public class MemberProfile implements Serializable { |
50 | 53 | ||
51 | // 生日 | 54 | // 生日 |
52 | @Column(name = "birthday", nullable = false) | 55 | @Column(name = "birthday", nullable = false) |
53 | private Timestamp birthday; | 56 | private String birthday; |
54 | 57 | ||
55 | // 星座 | 58 | // 星座 |
56 | @Column(name = "constellation") | 59 | @Column(name = "constellation") | ... | ... |
src/main/java/com/topdraw/business/module/member/profile/domain/MemberProfileBuilder.java
0 → 100644
1 | package com.topdraw.business.module.member.profile.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.exception.GlobeExceptionMsg; | ||
5 | import org.apache.commons.lang3.StringUtils; | ||
6 | import org.springframework.util.Assert; | ||
7 | |||
8 | public class MemberProfileBuilder { | ||
9 | |||
10 | public static MemberProfile build(Member member){ | ||
11 | MemberProfile memberProfile = build(member.getId(),member.getCode(),member.getNickname(),member.getGender(),"","","","","","", | ||
12 | "","","",member.getBirthday()); | ||
13 | return memberProfile; | ||
14 | } | ||
15 | |||
16 | public static MemberProfile build(Long memberId){ | ||
17 | MemberProfile memberProfile = build(memberId,"","",-1,"","","","","","", | ||
18 | "","","",""); | ||
19 | return memberProfile; | ||
20 | } | ||
21 | |||
22 | public static MemberProfile build(Long memberId , String memberCode, String realname , Integer gender, String birthday){ | ||
23 | MemberProfile memberProfile = build(memberId,memberCode,realname,gender,"","","","","","", | ||
24 | "","","",birthday); | ||
25 | return memberProfile; | ||
26 | } | ||
27 | |||
28 | public static MemberProfile build(Long memberId, String memberCode, String realName, Integer sex, | ||
29 | String country, String district, String city, String idCard, String province, | ||
30 | String email, String description, String phone, String constellation, | ||
31 | String birthday) { | ||
32 | |||
33 | Assert.notNull(memberId, GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
34 | |||
35 | MemberProfile memberProfile = new MemberProfile(); | ||
36 | memberProfile.setMemberId(memberId); | ||
37 | memberProfile.setMemberCode(memberCode); | ||
38 | memberProfile.setRealname(stringIsNull(realName)); | ||
39 | memberProfile.setGender(sex == null ? 0 : sex); | ||
40 | memberProfile.setCountry(StringUtils.isBlank(country)?"中国":birthday); | ||
41 | memberProfile.setDistrict(stringIsNull(district)); | ||
42 | memberProfile.setCity(stringIsNull(city)); | ||
43 | memberProfile.setIdCard(StringUtils.isBlank(idCard)?"000000000000000000":idCard); | ||
44 | memberProfile.setProvince(stringIsNull(province)); | ||
45 | memberProfile.setEmail(stringIsNull(email)); | ||
46 | memberProfile.setDescription(stringIsNull(description)); | ||
47 | memberProfile.setPhone(stringIsNull(phone)); | ||
48 | memberProfile.setConstellation(stringIsNull(constellation)); | ||
49 | memberProfile.setBirthday(StringUtils.isBlank(birthday)?"1900-01-01":birthday); | ||
50 | |||
51 | return memberProfile; | ||
52 | } | ||
53 | |||
54 | private static String stringIsNull(String s){ | ||
55 | return StringUtils.isBlank(s)?"":s; | ||
56 | } | ||
57 | |||
58 | public static MemberProfile build(MemberProfile resources) { | ||
59 | if (resources.getMemberId() == null) | ||
60 | throw new NullPointerException("memberId is null"); | ||
61 | |||
62 | MemberProfile memberProfile = new MemberProfile(); | ||
63 | memberProfile.setId(resources.getId()); | ||
64 | memberProfile.setMemberId(resources.getMemberId()); | ||
65 | memberProfile.setRealname(stringIsNull(resources.getRealname())); | ||
66 | memberProfile.setGender(resources.getGender() == null ? -1 : resources.getGender()); | ||
67 | memberProfile.setCountry(stringIsNull(resources.getCountry())); | ||
68 | memberProfile.setDistrict(stringIsNull(resources.getDistrict())); | ||
69 | memberProfile.setCity(stringIsNull(resources.getCity())); | ||
70 | memberProfile.setIdCard(StringUtils.isBlank(resources.getIdCard())?"000000000000000000":resources.getIdCard()); | ||
71 | memberProfile.setProvince(stringIsNull(resources.getProvince())); | ||
72 | memberProfile.setEmail(stringIsNull(resources.getEmail())); | ||
73 | memberProfile.setDescription(stringIsNull(resources.getDescription())); | ||
74 | memberProfile.setPhone(stringIsNull(resources.getPhone())); | ||
75 | memberProfile.setConstellation(stringIsNull(resources.getConstellation())); | ||
76 | memberProfile.setBirthday(stringIsNull(resources.getBirthday())); | ||
77 | return memberProfile; | ||
78 | } | ||
79 | } |
... | @@ -12,5 +12,7 @@ import java.util.Optional; | ... | @@ -12,5 +12,7 @@ import java.util.Optional; |
12 | */ | 12 | */ |
13 | public interface MemberProfileRepository extends JpaRepository<MemberProfile, Long>, JpaSpecificationExecutor<MemberProfile> { | 13 | public interface MemberProfileRepository extends JpaRepository<MemberProfile, Long>, JpaSpecificationExecutor<MemberProfile> { |
14 | 14 | ||
15 | MemberProfile findByMemberId(Long memberId); | 15 | Optional<MemberProfile> findByMemberId(Long memberId); |
16 | |||
17 | Optional<MemberProfile> findFirstByMemberId(Long memberId); | ||
16 | } | 18 | } | ... | ... |
1 | package com.topdraw.business.module.member.profile.service; | 1 | package com.topdraw.business.module.member.profile.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | ||
3 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | 4 | import com.topdraw.business.module.member.profile.domain.MemberProfile; |
4 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | 5 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; |
5 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileQueryCriteria; | 6 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
6 | import org.springframework.data.domain.Pageable; | ||
7 | |||
8 | import java.util.List; | ||
9 | import java.util.Map; | ||
10 | 7 | ||
11 | /** | 8 | /** |
12 | * @author XiangHan | 9 | * @author XiangHan |
... | @@ -15,31 +12,70 @@ import java.util.Map; | ... | @@ -15,31 +12,70 @@ import java.util.Map; |
15 | public interface MemberProfileService { | 12 | public interface MemberProfileService { |
16 | 13 | ||
17 | /** | 14 | /** |
18 | * 查询数据分页 | ||
19 | * @param criteria 条件参数 | ||
20 | * @param pageable 分页参数 | ||
21 | * @return Map<String,Object> | ||
22 | */ | ||
23 | Map<String,Object> queryAll(MemberProfileQueryCriteria criteria, Pageable pageable); | ||
24 | |||
25 | /** | ||
26 | * 查询所有数据不分页 | ||
27 | * @param criteria 条件参数 | ||
28 | * @return List<MemberProfileDTO> | ||
29 | */ | ||
30 | List<MemberProfileDTO> queryAll(MemberProfileQueryCriteria criteria); | ||
31 | |||
32 | /** | ||
33 | * 根据ID查询 | 15 | * 根据ID查询 |
34 | * @param id ID | 16 | * @param id ID |
35 | * @return MemberProfileDTO | 17 | * @return MemberProfileDTO |
36 | */ | 18 | */ |
37 | MemberProfileDTO findById(Long id); | 19 | MemberProfileDTO findById(Long id); |
38 | 20 | ||
21 | /** | ||
22 | * 保存 | ||
23 | * @param resources 会员基本信息 | ||
24 | * @return | ||
25 | */ | ||
39 | MemberProfile create(MemberProfile resources); | 26 | MemberProfile create(MemberProfile resources); |
40 | 27 | ||
41 | void update(MemberProfile resources); | 28 | /** |
29 | * 默认属性 | ||
30 | * @param resources | ||
31 | * @return | ||
32 | */ | ||
33 | MemberProfile createDefault(MemberProfile resources); | ||
34 | |||
35 | /** | ||
36 | * 通过会员创建默认属性 | ||
37 | * @param resources | ||
38 | * @return | ||
39 | */ | ||
40 | MemberProfile createDefault(Member resources); | ||
41 | |||
42 | /** | ||
43 | * 通过会员id创建默认属性 | ||
44 | * @param resources | ||
45 | * @return | ||
46 | */ | ||
47 | MemberProfile createDefaultByMemberId(Long resources); | ||
42 | 48 | ||
49 | /** | ||
50 | * 修改 | ||
51 | * @param resources | ||
52 | */ | ||
53 | MemberProfileDTO update(MemberProfile resources); | ||
54 | |||
55 | /** | ||
56 | * 删除 | ||
57 | * @param id | ||
58 | */ | ||
43 | void delete(Long id); | 59 | void delete(Long id); |
44 | 60 | ||
61 | /** | ||
62 | * 通过会员id查询 | ||
63 | * @param memberId | ||
64 | * @return | ||
65 | */ | ||
66 | MemberProfileDTO findByMemberId(Long memberId); | ||
67 | |||
68 | /** | ||
69 | * 通过会员code查询 | ||
70 | * @param memberCode | ||
71 | * @return | ||
72 | */ | ||
73 | MemberProfileDTO findByMemberCode(String memberCode); | ||
74 | |||
75 | /** | ||
76 | * 修改会员属性并同步会员信息 | ||
77 | * @param resources | ||
78 | */ | ||
79 | MemberProfileDTO updateMemberProfileAndMember(MemberProfile resources, MemberDTO memberDTO); | ||
80 | |||
45 | } | 81 | } | ... | ... |
... | @@ -13,6 +13,15 @@ import java.sql.Timestamp; | ... | @@ -13,6 +13,15 @@ import java.sql.Timestamp; |
13 | @Data | 13 | @Data |
14 | public class MemberProfileDTO implements Serializable { | 14 | public class MemberProfileDTO implements Serializable { |
15 | 15 | ||
16 | // 超时时间 | ||
17 | private Long vipExpireTime; | ||
18 | |||
19 | // vip | ||
20 | private Integer vip; | ||
21 | |||
22 | // 头像 | ||
23 | private String avatarUrl; | ||
24 | |||
16 | // 主键 | 25 | // 主键 |
17 | private Long id; | 26 | private Long id; |
18 | 27 | ||
... | @@ -29,7 +38,7 @@ public class MemberProfileDTO implements Serializable { | ... | @@ -29,7 +38,7 @@ public class MemberProfileDTO implements Serializable { |
29 | private Integer gender; | 38 | private Integer gender; |
30 | 39 | ||
31 | // 生日 | 40 | // 生日 |
32 | private Timestamp birthday; | 41 | private String birthday; |
33 | 42 | ||
34 | // 星座 | 43 | // 星座 |
35 | private String constellation; | 44 | private String constellation; | ... | ... |
1 | package com.topdraw.business.module.member.profile.service.impl; | 1 | package com.topdraw.business.module.member.profile.service.impl; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | ||
3 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | 4 | import com.topdraw.business.module.member.profile.domain.MemberProfile; |
5 | import com.topdraw.business.module.member.profile.domain.MemberProfileBuilder; | ||
4 | import com.topdraw.business.module.member.profile.repository.MemberProfileRepository; | 6 | import com.topdraw.business.module.member.profile.repository.MemberProfileRepository; |
5 | import com.topdraw.business.module.member.profile.service.MemberProfileService; | 7 | import com.topdraw.business.module.member.profile.service.MemberProfileService; |
6 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | 8 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; |
7 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileQueryCriteria; | ||
8 | import com.topdraw.business.module.member.profile.service.mapper.MemberProfileMapper; | 9 | import com.topdraw.business.module.member.profile.service.mapper.MemberProfileMapper; |
9 | import com.topdraw.business.module.member.service.MemberService; | 10 | import com.topdraw.business.module.member.service.MemberService; |
10 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 11 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
11 | import com.topdraw.utils.PageUtil; | 12 | import com.topdraw.utils.*; |
12 | import com.topdraw.utils.QueryHelp; | 13 | import lombok.extern.slf4j.Slf4j; |
13 | import com.topdraw.utils.StringUtils; | 14 | import org.apache.logging.log4j.util.Base64Util; |
14 | import com.topdraw.utils.ValidationUtil; | 15 | import org.springframework.beans.BeanUtils; |
15 | import org.springframework.beans.factory.annotation.Autowired; | 16 | import org.springframework.beans.factory.annotation.Autowired; |
16 | import org.springframework.dao.EmptyResultDataAccessException; | 17 | import org.springframework.dao.EmptyResultDataAccessException; |
17 | import org.springframework.data.domain.Page; | ||
18 | import org.springframework.data.domain.Pageable; | ||
19 | import org.springframework.stereotype.Service; | 18 | import org.springframework.stereotype.Service; |
20 | import org.springframework.transaction.annotation.Propagation; | 19 | import org.springframework.transaction.annotation.Propagation; |
21 | import org.springframework.transaction.annotation.Transactional; | 20 | import org.springframework.transaction.annotation.Transactional; |
22 | import org.springframework.util.Assert; | 21 | import org.springframework.util.Assert; |
23 | 22 | ||
24 | import java.util.List; | ||
25 | import java.util.Map; | ||
26 | import java.util.Objects; | ||
27 | |||
28 | /** | 23 | /** |
29 | * @author XiangHan | 24 | * @author XiangHan |
30 | * @date 2021-10-22 | 25 | * @date 2021-10-22 |
31 | */ | 26 | */ |
32 | @Service | 27 | @Service |
33 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | 28 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) |
29 | @Slf4j | ||
34 | public class MemberProfileServiceImpl implements MemberProfileService { | 30 | public class MemberProfileServiceImpl implements MemberProfileService { |
35 | 31 | ||
36 | @Autowired | 32 | @Autowired |
37 | private MemberProfileRepository MemberProfileRepository; | 33 | private MemberService memberService; |
38 | |||
39 | @Autowired | 34 | @Autowired |
40 | private MemberProfileMapper MemberProfileMapper; | 35 | private MemberProfileMapper memberProfileMapper; |
41 | @Autowired | 36 | @Autowired |
42 | private MemberService memberService; | 37 | private MemberProfileRepository memberProfileRepository; |
43 | 38 | ||
44 | @Override | 39 | @Override |
45 | public Map<String, Object> queryAll(MemberProfileQueryCriteria criteria, Pageable pageable) { | 40 | public MemberProfileDTO findById(Long id) { |
46 | Page<MemberProfile> page = MemberProfileRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | 41 | MemberProfile MemberProfile = this.memberProfileRepository.findById(id).orElseGet(MemberProfile::new); |
47 | return PageUtil.toPage(page.map(MemberProfileMapper::toDto)); | 42 | ValidationUtil.isNull(MemberProfile.getId(),"MemberProfile","id",id); |
43 | return this.memberProfileMapper.toDto(MemberProfile); | ||
48 | } | 44 | } |
49 | 45 | ||
50 | @Override | 46 | @Override |
51 | public List<MemberProfileDTO> queryAll(MemberProfileQueryCriteria criteria) { | 47 | public MemberProfileDTO findByMemberId(Long memberId) { |
52 | return MemberProfileMapper.toDto(MemberProfileRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | 48 | log.info("MemberProfileDTO ==>> findByMemberId ==>> resources ===>> [{}]",memberId); |
49 | MemberProfile memberProfile = this.memberProfileRepository.findByMemberId(memberId).orElseGet(MemberProfile::new); | ||
50 | ValidationUtil.isNull(memberProfile.getId(),"MemberProfile","memberId",memberId); | ||
51 | return this.memberProfileMapper.toDto(memberProfile); | ||
53 | } | 52 | } |
54 | 53 | ||
55 | @Override | 54 | @Override |
56 | public MemberProfileDTO findById(Long id) { | 55 | public MemberProfileDTO findByMemberCode(String memberCode) { |
57 | MemberProfile MemberProfile = MemberProfileRepository.findById(id).orElseGet(MemberProfile::new); | 56 | log.info("MemberProfileDTO ==>> findByMemberCode ==>> resources ===>> [{}]",memberCode); |
58 | ValidationUtil.isNull(MemberProfile.getId(),"MemberProfile","id",id); | 57 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
59 | return MemberProfileMapper.toDto(MemberProfile); | 58 | log.info("MemberProfileDTO ==>> findByMemberCode ==>> result ===>> [{}]",memberDTO); |
59 | return this.findByMemberId(memberDTO.getId()); | ||
60 | } | 60 | } |
61 | 61 | ||
62 | @Override | 62 | @Override |
63 | @Transactional(rollbackFor = Exception.class) | 63 | @Transactional(rollbackFor = Exception.class) |
64 | public MemberProfile create(MemberProfile resources) { | 64 | public MemberProfile create(MemberProfile resources) { |
65 | String memberCode = resources.getMemberCode(); | 65 | log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources); |
66 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 66 | |
67 | if (Objects.nonNull(memberDTO)) { | 67 | // 检查会员 |
68 | String code = memberDTO.getCode(); | 68 | this.checkMember(resources); |
69 | if (StringUtils.isNotEmpty(code)) { | 69 | |
70 | resources.setMemberCode(code); | 70 | this.memberProfileRepository.save(resources); |
71 | resources.setMemberId(memberDTO.getId()); | ||
72 | resources.setId(null); | ||
73 | MemberProfileRepository.save(resources); | ||
74 | } | ||
75 | } | ||
76 | 71 | ||
77 | return resources; | 72 | return resources; |
78 | } | 73 | } |
79 | 74 | ||
80 | @Override | 75 | @Override |
81 | @Transactional(rollbackFor = Exception.class) | 76 | @Transactional(rollbackFor = Exception.class) |
82 | public void update(MemberProfile resources) { | 77 | public MemberProfile createDefault(MemberProfile resources) { |
78 | MemberProfile memberProfile = MemberProfileBuilder.build(resources); | ||
79 | return this.create(memberProfile); | ||
80 | } | ||
83 | 81 | ||
82 | @Override | ||
83 | @Transactional(rollbackFor = Exception.class) | ||
84 | public MemberProfile createDefault(Member resources) { | ||
85 | MemberProfile memberProfile = MemberProfileBuilder.build(resources); | ||
86 | return this.create(memberProfile); | ||
87 | } | ||
88 | |||
89 | @Override | ||
90 | public MemberProfile createDefaultByMemberId(Long resources) { | ||
91 | MemberProfile memberProfile = MemberProfileBuilder.build(resources); | ||
92 | return this.create(memberProfile); | ||
93 | } | ||
94 | |||
95 | private MemberDTO checkMember(MemberProfile resources){ | ||
96 | Long memberId = resources.getMemberId(); | ||
84 | String memberCode = resources.getMemberCode(); | 97 | String memberCode = resources.getMemberCode(); |
85 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 98 | |
86 | if (Objects.nonNull(memberDTO)) { | 99 | return this.memberService.checkMember(memberId,memberCode); |
87 | Long memberId = memberDTO.getId(); | 100 | } |
88 | 101 | ||
89 | MemberProfile memberProfile = MemberProfileRepository.findByMemberId(memberId); | 102 | @Override |
90 | if (Objects.nonNull(memberProfile)) { | 103 | @Transactional(rollbackFor = Exception.class) |
91 | ValidationUtil.isNull( memberProfile.getId(),"MemberProfile","id",memberProfile.getId()); | 104 | public MemberProfileDTO update(MemberProfile resources) { |
92 | resources.setId(memberProfile.getId()); | 105 | |
93 | } else { | 106 | log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources); |
94 | resources.setId(null); | 107 | // 检查会员是否存在 |
95 | } | 108 | this.checkMember(resources); |
96 | memberProfile.copy(resources); | 109 | // 真实姓名(加密) |
97 | MemberProfileRepository.save(memberProfile); | 110 | String realName = resources.getRealname(); |
111 | if (StringUtils.isNotBlank(realName)) { | ||
112 | resources.setRealname(Base64Util.encode(realName)); | ||
98 | } | 113 | } |
114 | |||
115 | MemberProfile memberProfile = new MemberProfile(); | ||
116 | BeanUtils.copyProperties(resources,memberProfile); | ||
117 | MemberProfile _memberProfile = this.memberProfileRepository.save(memberProfile); | ||
118 | |||
119 | MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); | ||
120 | BeanUtils.copyProperties(_memberProfile,memberProfileDTO); | ||
121 | return memberProfileDTO; | ||
122 | |||
99 | } | 123 | } |
100 | 124 | ||
101 | @Override | 125 | @Override |
102 | @Transactional(rollbackFor = Exception.class) | 126 | @Transactional(rollbackFor = Exception.class) |
103 | public void delete(Long id) { | 127 | public void delete(Long id) { |
104 | Assert.notNull(id, "The given id must not be null!"); | 128 | Assert.notNull(id, "The given id must not be null!"); |
105 | MemberProfile MemberProfile = MemberProfileRepository.findById(id).orElseThrow( | 129 | MemberProfile MemberProfile = this.memberProfileRepository.findById(id).orElseThrow( |
106 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberProfile.class, id), 1)); | 130 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberProfile.class, id), 1)); |
107 | MemberProfileRepository.delete(MemberProfile); | 131 | this.memberProfileRepository.delete(MemberProfile); |
108 | } | 132 | } |
109 | 133 | ||
134 | @Override | ||
135 | @Transactional(rollbackFor = Exception.class) | ||
136 | public MemberProfileDTO updateMemberProfileAndMember(MemberProfile resources, MemberDTO memberDTO) { | ||
137 | log.info("MemberProfileServiceImpl ==>> updateMemberProfileAndMember ==>> resources ===>> [{}]",resources); | ||
138 | MemberProfileDTO memberProfileDTO = this.update(resources); | ||
139 | // 同步会员信息 | ||
140 | this.synchronizedMemberData(resources, memberDTO); | ||
141 | return memberProfileDTO; | ||
142 | } | ||
143 | |||
144 | private void synchronizedMemberData(MemberProfile resources, MemberDTO memberDTO) { | ||
145 | |||
146 | log.info("updateMemberProfileAndMember ==>> resources ==>> [{}]",resources); | ||
147 | |||
148 | memberDTO.setId(resources.getMemberId()); | ||
149 | memberDTO.setCode(resources.getMemberCode()); | ||
150 | memberDTO.setNickname(resources.getRealname()); | ||
151 | memberDTO.setGender(resources.getGender()); | ||
152 | memberDTO.setBirthday(resources.getBirthday()); | ||
153 | memberDTO.setAvatarUrl(resources.getAvatarUrl()); | ||
154 | |||
155 | Member member = new Member(); | ||
156 | BeanUtils.copyProperties(memberDTO,member); | ||
157 | |||
158 | this.memberService.update(member); | ||
159 | } | ||
110 | 160 | ||
111 | } | 161 | } | ... | ... |
... | @@ -11,6 +11,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; | ... | @@ -11,6 +11,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; |
11 | import javax.persistence.*; | 11 | import javax.persistence.*; |
12 | import java.io.Serializable; | 12 | import java.io.Serializable; |
13 | import java.sql.Timestamp; | 13 | import java.sql.Timestamp; |
14 | import java.time.LocalDate; | ||
14 | 15 | ||
15 | /** | 16 | /** |
16 | * @author XiangHan | 17 | * @author XiangHan |
... | @@ -56,6 +57,14 @@ public class MemberRelatedInfo implements Serializable { | ... | @@ -56,6 +57,14 @@ public class MemberRelatedInfo implements Serializable { |
56 | @Column(name = "sex") | 57 | @Column(name = "sex") |
57 | private Integer sex; | 58 | private Integer sex; |
58 | 59 | ||
60 | /** 生日 */ | ||
61 | @Column(name = "birthday") | ||
62 | private LocalDate birthday; | ||
63 | |||
64 | /** 头像地址 */ | ||
65 | @Column(name = "avatar_url") | ||
66 | private String avatarUrl; | ||
67 | |||
59 | // 创建时间 | 68 | // 创建时间 |
60 | @CreatedDate | 69 | @CreatedDate |
61 | @Column(name = "create_time") | 70 | @Column(name = "create_time") | ... | ... |
src/main/java/com/topdraw/business/module/member/relatedinfo/domain/MemberRelatedInfoBuilder.java
0 → 100644
1 | package com.topdraw.business.module.member.relatedinfo.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.exception.GlobeExceptionMsg; | ||
5 | import org.apache.commons.lang3.StringUtils; | ||
6 | import org.springframework.util.Assert; | ||
7 | |||
8 | import java.time.LocalDate; | ||
9 | import java.util.Objects; | ||
10 | |||
11 | /** | ||
12 | * @author : | ||
13 | * @description: | ||
14 | * @function : | ||
15 | * @date :Created in 2022/3/11 13:56 | ||
16 | * @version: : | ||
17 | * @modified By: | ||
18 | * @since : modified in 2022/3/11 13:56 | ||
19 | */ | ||
20 | public class MemberRelatedInfoBuilder { | ||
21 | |||
22 | private static final Integer DEFAULT_VALUE_ = -1; | ||
23 | private static final Integer DEFAULT_VALUE_0 = 0; | ||
24 | |||
25 | public static MemberRelatedInfo build(MemberRelatedInfo memberRelatedInfo){ | ||
26 | return build(memberRelatedInfo.getMemberId(),memberRelatedInfo.getMemberCode(),memberRelatedInfo.getId(),memberRelatedInfo.getName(),memberRelatedInfo.getSex(), | ||
27 | memberRelatedInfo.getCellphone(),memberRelatedInfo.getIdCard(),memberRelatedInfo.getBirthday(),memberRelatedInfo.getAvatarUrl(),memberRelatedInfo.getType()); | ||
28 | } | ||
29 | |||
30 | public static MemberRelatedInfo build(Member member , MemberRelatedInfo memberRelatedInfo){ | ||
31 | return build(member.getId(),member.getCode(),memberRelatedInfo.getId(),memberRelatedInfo.getName(),memberRelatedInfo.getSex(), | ||
32 | memberRelatedInfo.getCellphone(),memberRelatedInfo.getIdCard(),memberRelatedInfo.getBirthday(),memberRelatedInfo.getAvatarUrl(),memberRelatedInfo.getType()); | ||
33 | } | ||
34 | |||
35 | public static MemberRelatedInfo build(Long memberId , String memberCode , Long id , String name , Integer sex , | ||
36 | String cellphone , String idCard, LocalDate birthday , String avatarUrl , Integer type){ | ||
37 | |||
38 | Assert.notNull(memberId, GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
39 | |||
40 | MemberRelatedInfo memberRelatedInfo = new MemberRelatedInfo(); | ||
41 | memberRelatedInfo.setMemberId(memberId); | ||
42 | memberRelatedInfo.setMemberCode(memberCode); | ||
43 | |||
44 | memberRelatedInfo.setId(id); | ||
45 | memberRelatedInfo.setName(stringIsNull(name)); | ||
46 | memberRelatedInfo.setSex(Objects.isNull(sex)?DEFAULT_VALUE_:sex); | ||
47 | memberRelatedInfo.setCellphone(stringIsNull(cellphone)); | ||
48 | memberRelatedInfo.setIdCard(StringUtils.isBlank(idCard)?"000000000000000000":idCard); | ||
49 | |||
50 | memberRelatedInfo.setBirthday(Objects.isNull(birthday)? LocalDate.of(1990,01,01):birthday); | ||
51 | memberRelatedInfo.setAvatarUrl(stringIsNull(avatarUrl)); | ||
52 | |||
53 | memberRelatedInfo.setType(Objects.isNull(type)?DEFAULT_VALUE_0:type); | ||
54 | return memberRelatedInfo; | ||
55 | } | ||
56 | |||
57 | private static String stringIsNull(String s){ | ||
58 | return StringUtils.isBlank(s)?"":s; | ||
59 | } | ||
60 | |||
61 | } |
... | @@ -12,5 +12,10 @@ import java.util.List; | ... | @@ -12,5 +12,10 @@ import java.util.List; |
12 | */ | 12 | */ |
13 | public interface MemberRelatedInfoRepository extends JpaRepository<MemberRelatedInfo, Long>, JpaSpecificationExecutor<MemberRelatedInfo> { | 13 | public interface MemberRelatedInfoRepository extends JpaRepository<MemberRelatedInfo, Long>, JpaSpecificationExecutor<MemberRelatedInfo> { |
14 | 14 | ||
15 | List<MemberRelatedInfo> findByMemberIdAndIdCard(Long memberDTOId,String idCard); | 15 | MemberRelatedInfo findByIdCard(String idCard); |
16 | |||
17 | MemberRelatedInfo findByMemberIdAndIdCard(Long memberId , String idCard); | ||
18 | |||
19 | MemberRelatedInfo findByIdOrIdCard(Long id, String idCard); | ||
20 | |||
16 | } | 21 | } | ... | ... |
1 | package com.topdraw.business.module.member.relatedinfo.service; | 1 | package com.topdraw.business.module.member.relatedinfo.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | ||
3 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | 4 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; |
4 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; | 5 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; |
5 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria; | 6 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria; |
... | @@ -15,31 +16,73 @@ import java.util.Map; | ... | @@ -15,31 +16,73 @@ import java.util.Map; |
15 | public interface MemberRelatedInfoService { | 16 | public interface MemberRelatedInfoService { |
16 | 17 | ||
17 | /** | 18 | /** |
18 | * 查询数据分页 | ||
19 | * @param criteria 条件参数 | ||
20 | * @param pageable 分页参数 | ||
21 | * @return Map<String,Object> | ||
22 | */ | ||
23 | Map<String,Object> queryAll(MemberRelatedInfoQueryCriteria criteria, Pageable pageable); | ||
24 | |||
25 | /** | ||
26 | * 查询所有数据不分页 | ||
27 | * @param criteria 条件参数 | ||
28 | * @return List<MemberRelatedInfoDTO> | ||
29 | */ | ||
30 | List<MemberRelatedInfoDTO> queryAll(MemberRelatedInfoQueryCriteria criteria); | ||
31 | |||
32 | /** | ||
33 | * 根据ID查询 | 19 | * 根据ID查询 |
34 | * @param id ID | 20 | * @param id ID |
35 | * @return MemberRelatedInfoDTO | 21 | * @return MemberRelatedInfoDTO |
36 | */ | 22 | */ |
37 | MemberRelatedInfoDTO findById(Long id); | 23 | MemberRelatedInfoDTO findById(Long id); |
38 | 24 | ||
39 | void create(MemberRelatedInfo resources); | 25 | /** |
26 | * 新增 | ||
27 | * @param resources | ||
28 | */ | ||
29 | MemberRelatedInfoDTO create(MemberRelatedInfo resources); | ||
40 | 30 | ||
41 | void update(MemberRelatedInfo resources); | 31 | /** |
32 | * 修改 | ||
33 | * @param resources | ||
34 | */ | ||
35 | MemberRelatedInfoDTO update(MemberRelatedInfo resources); | ||
42 | 36 | ||
37 | /** | ||
38 | * 删除 | ||
39 | * @param id | ||
40 | */ | ||
43 | void delete(Long id); | 41 | void delete(Long id); |
44 | 42 | ||
43 | /** | ||
44 | * 通过身份证查询 | ||
45 | * @param resources | ||
46 | * @return | ||
47 | */ | ||
48 | MemberRelatedInfoDTO findByIdCard(MemberRelatedInfo resources); | ||
49 | |||
50 | /** | ||
51 | * 通过身份证查询 | ||
52 | * @param idCard 身份证 | ||
53 | * @return | ||
54 | */ | ||
55 | MemberRelatedInfoDTO findByIdCard(String idCard); | ||
56 | |||
57 | /** | ||
58 | * | ||
59 | * @param memberId | ||
60 | * @param idCard | ||
61 | * @return | ||
62 | */ | ||
63 | MemberRelatedInfoDTO findByMemberIdAndIdCard(Long memberId , String idCard); | ||
64 | |||
65 | /** | ||
66 | * | ||
67 | * @param memberCode | ||
68 | * @param idCard | ||
69 | * @return | ||
70 | */ | ||
71 | MemberRelatedInfoDTO findByMemberCodeAndIdCard(String memberCode , String idCard); | ||
72 | |||
73 | /** | ||
74 | * | ||
75 | * @param resources | ||
76 | * @return | ||
77 | */ | ||
78 | MemberRelatedInfoDTO findByMemberIdAndIdCard(MemberRelatedInfo resources); | ||
79 | |||
80 | /** | ||
81 | * | ||
82 | * @param member | ||
83 | * @param resources | ||
84 | * @return | ||
85 | */ | ||
86 | MemberRelatedInfoDTO findByMemberIdAndIdCard(Member member , MemberRelatedInfo resources); | ||
87 | |||
45 | } | 88 | } | ... | ... |
... | @@ -4,6 +4,7 @@ import lombok.Data; | ... | @@ -4,6 +4,7 @@ import lombok.Data; |
4 | 4 | ||
5 | import java.io.Serializable; | 5 | import java.io.Serializable; |
6 | import java.sql.Timestamp; | 6 | import java.sql.Timestamp; |
7 | import java.time.LocalDate; | ||
7 | 8 | ||
8 | 9 | ||
9 | /** | 10 | /** |
... | @@ -34,6 +35,12 @@ public class MemberRelatedInfoDTO implements Serializable { | ... | @@ -34,6 +35,12 @@ public class MemberRelatedInfoDTO implements Serializable { |
34 | // 性别 0:女;1:男;-1:未知 | 35 | // 性别 0:女;1:男;-1:未知 |
35 | private Integer sex; | 36 | private Integer sex; |
36 | 37 | ||
38 | // 生日 | ||
39 | private LocalDate birthday; | ||
40 | |||
41 | // 头像地址 | ||
42 | private String avatarUrl; | ||
43 | |||
37 | // 创建时间 | 44 | // 创建时间 |
38 | private Timestamp createTime; | 45 | private Timestamp createTime; |
39 | 46 | ... | ... |
1 | package com.topdraw.business.module.member.relatedinfo.service.impl; | 1 | package com.topdraw.business.module.member.relatedinfo.service.impl; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | ||
3 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | 4 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; |
5 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfoBuilder; | ||
4 | import com.topdraw.business.module.member.relatedinfo.repository.MemberRelatedInfoRepository; | 6 | import com.topdraw.business.module.member.relatedinfo.repository.MemberRelatedInfoRepository; |
5 | import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService; | 7 | import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService; |
6 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; | 8 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; |
7 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria; | ||
8 | import com.topdraw.business.module.member.relatedinfo.service.mapper.MemberRelatedInfoMapper; | 9 | import com.topdraw.business.module.member.relatedinfo.service.mapper.MemberRelatedInfoMapper; |
9 | import com.topdraw.business.module.member.service.MemberService; | 10 | import com.topdraw.business.module.member.service.MemberService; |
10 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 11 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
11 | import com.topdraw.utils.PageUtil; | 12 | import com.topdraw.exception.BadRequestException; |
12 | import com.topdraw.utils.QueryHelp; | 13 | import com.topdraw.exception.GlobeExceptionMsg; |
14 | import com.topdraw.utils.RedisUtils; | ||
13 | import com.topdraw.utils.ValidationUtil; | 15 | import com.topdraw.utils.ValidationUtil; |
16 | import lombok.extern.slf4j.Slf4j; | ||
17 | import org.apache.commons.lang3.StringUtils; | ||
18 | import org.apache.logging.log4j.util.Base64Util; | ||
14 | import org.springframework.beans.factory.annotation.Autowired; | 19 | import org.springframework.beans.factory.annotation.Autowired; |
15 | import org.springframework.dao.EmptyResultDataAccessException; | 20 | import org.springframework.dao.EmptyResultDataAccessException; |
16 | import org.springframework.data.domain.Page; | ||
17 | import org.springframework.data.domain.Pageable; | ||
18 | import org.springframework.stereotype.Service; | 21 | import org.springframework.stereotype.Service; |
19 | import org.springframework.transaction.annotation.Propagation; | 22 | import org.springframework.transaction.annotation.Propagation; |
20 | import org.springframework.transaction.annotation.Transactional; | 23 | import org.springframework.transaction.annotation.Transactional; |
21 | import org.springframework.util.Assert; | 24 | import org.springframework.util.Assert; |
22 | import org.springframework.util.CollectionUtils; | ||
23 | 25 | ||
24 | import java.util.List; | ||
25 | import java.util.Map; | ||
26 | import java.util.Objects; | 26 | import java.util.Objects; |
27 | 27 | ||
28 | /** | 28 | /** |
... | @@ -31,71 +31,164 @@ import java.util.Objects; | ... | @@ -31,71 +31,164 @@ import java.util.Objects; |
31 | */ | 31 | */ |
32 | @Service | 32 | @Service |
33 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | 33 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) |
34 | @Slf4j | ||
34 | public class MemberRelatedInfoServiceImpl implements MemberRelatedInfoService { | 35 | public class MemberRelatedInfoServiceImpl implements MemberRelatedInfoService { |
35 | 36 | ||
36 | @Autowired | 37 | @Autowired |
37 | private MemberRelatedInfoRepository MemberRelatedInfoRepository; | 38 | private MemberService memberService; |
38 | |||
39 | @Autowired | 39 | @Autowired |
40 | private MemberRelatedInfoMapper MemberRelatedInfoMapper; | 40 | private MemberRelatedInfoMapper memberRelatedInfoMapper; |
41 | @Autowired | 41 | @Autowired |
42 | private MemberService memberService; | 42 | private MemberRelatedInfoRepository memberRelatedInfoRepository; |
43 | 43 | ||
44 | @Override | ||
45 | public Map<String, Object> queryAll(MemberRelatedInfoQueryCriteria criteria, Pageable pageable) { | ||
46 | Page<MemberRelatedInfo> page = MemberRelatedInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
47 | return PageUtil.toPage(page.map(MemberRelatedInfoMapper::toDto)); | ||
48 | } | ||
49 | 44 | ||
50 | @Override | 45 | private static final String DEFAULT_IDCARD = "000000000000000000"; |
51 | public List<MemberRelatedInfoDTO> queryAll(MemberRelatedInfoQueryCriteria criteria) { | ||
52 | return MemberRelatedInfoMapper.toDto(MemberRelatedInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
53 | } | ||
54 | 46 | ||
55 | @Override | 47 | @Override |
56 | public MemberRelatedInfoDTO findById(Long id) { | 48 | public MemberRelatedInfoDTO findById(Long id) { |
57 | MemberRelatedInfo MemberRelatedInfo = MemberRelatedInfoRepository.findById(id).orElseGet(MemberRelatedInfo::new); | 49 | log.info("MemberRelatedInfoServiceImpl ==>> findById ==>> param ==>> [{}]",id); |
58 | ValidationUtil.isNull(MemberRelatedInfo.getId(),"MemberRelatedInfo","id",id); | 50 | MemberRelatedInfo memberRelatedInfo = this.memberRelatedInfoRepository.findById(id).orElseGet(MemberRelatedInfo::new); |
59 | return MemberRelatedInfoMapper.toDto(MemberRelatedInfo); | 51 | ValidationUtil.isNull(memberRelatedInfo.getId(),"MemberRelatedInfo","id",id); |
52 | return this.memberRelatedInfoMapper.toDto(memberRelatedInfo); | ||
60 | } | 53 | } |
61 | 54 | ||
62 | @Override | 55 | @Override |
63 | @Transactional(rollbackFor = Exception.class) | 56 | @Transactional(rollbackFor = Exception.class) |
64 | public void create(MemberRelatedInfo resources) { | 57 | public MemberRelatedInfoDTO create(MemberRelatedInfo resources) { |
65 | MemberRelatedInfoRepository.save(resources); | 58 | log.info("MemberRelatedInfoServiceImpl ==>> create ==>> param ==>> [{}]",resources); |
59 | String idCard = resources.getIdCard(); | ||
60 | Long memberId = resources.getMemberId(); | ||
61 | if (Objects.nonNull(memberId) && StringUtils.isNotBlank(idCard) && !idCard.equalsIgnoreCase(DEFAULT_IDCARD) ) { | ||
62 | MemberRelatedInfoDTO memberRelatedInfo = this.findByMemberIdAndIdCard(resources); | ||
63 | if (Objects.nonNull(memberRelatedInfo)) | ||
64 | // 数据已存在 | ||
65 | throw new BadRequestException(GlobeExceptionMsg.ENTITY_ALREADY_EXISTS); | ||
66 | } | ||
67 | |||
68 | this.checkMemberAndEncodeRealname(resources); | ||
69 | |||
70 | MemberRelatedInfo memberRelatedInfo = MemberRelatedInfoBuilder.build(resources); | ||
71 | this.memberRelatedInfoRepository.save(memberRelatedInfo); | ||
72 | log.info("MemberRelatedInfoServiceImpl ==>> create ==>> result ==>> [{}]",memberRelatedInfo); | ||
73 | return this.memberRelatedInfoMapper.toDto(memberRelatedInfo); | ||
74 | } | ||
75 | |||
76 | /** | ||
77 | * 检查会员是否存在,加密真实姓名 | ||
78 | * @param resources | ||
79 | */ | ||
80 | private void checkMemberAndEncodeRealname(MemberRelatedInfo resources) { | ||
81 | |||
82 | // 检查会员是否存在 | ||
83 | this.checkMember(resources); | ||
84 | |||
85 | // 加密真实姓名 | ||
86 | this.encodeRealname(resources); | ||
87 | } | ||
88 | |||
89 | /** | ||
90 | * 加密真实姓名 | ||
91 | * @param resources | ||
92 | * @return | ||
93 | */ | ||
94 | private void encodeRealname(MemberRelatedInfo resources){ | ||
95 | String name = resources.getName(); | ||
96 | if (StringUtils.isNotBlank(name)) { | ||
97 | String nickNameEncode = Base64Util.encode(name); | ||
98 | if (!nickNameEncode.equalsIgnoreCase(name)) | ||
99 | resources.setName(nickNameEncode); | ||
100 | } | ||
66 | } | 101 | } |
67 | 102 | ||
68 | @Override | 103 | @Override |
69 | @Transactional(rollbackFor = Exception.class) | 104 | @Transactional(rollbackFor = Exception.class) |
70 | public void update(MemberRelatedInfo resources) { | 105 | public MemberRelatedInfoDTO update(MemberRelatedInfo resources) { |
71 | 106 | log.info("MemberRelatedInfoServiceImpl ==>> update ==>> param ==>> [{}]",resources); | |
72 | String memberCode = resources.getMemberCode(); | 107 | |
73 | Assert.notNull(memberCode,"memberCode can't be null!"); | 108 | this.checkMemberAndEncodeRealname(resources); |
74 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 109 | |
75 | if (Objects.nonNull(memberDTO)) { | 110 | MemberRelatedInfo memberRelatedInfo = this.memberRelatedInfoRepository.findById(resources.getId()).orElseGet(MemberRelatedInfo::new); |
76 | Long memberDTOId = memberDTO.getId(); | 111 | ValidationUtil.isNull(memberRelatedInfo.getId(), "MemberRelatedInfo", "id", resources.getId()); |
77 | String idCard = resources.getIdCard(); | 112 | memberRelatedInfo.copy(resources); |
78 | List<MemberRelatedInfo> memberRelatedInfoDTOS = MemberRelatedInfoRepository.findByMemberIdAndIdCard(memberDTOId,idCard); | 113 | |
79 | if (!CollectionUtils.isEmpty(memberRelatedInfoDTOS)) { | 114 | this.memberRelatedInfoRepository.save(memberRelatedInfo); |
80 | for (MemberRelatedInfo memberRelatedInfoDTO : memberRelatedInfoDTOS) { | 115 | |
81 | ValidationUtil.isNull( memberRelatedInfoDTO.getId(),"MemberRelatedInfo","id",memberRelatedInfoDTO.getId()); | 116 | log.info("MemberRelatedInfoServiceImpl ==>> update ==>> param ==>> [{}]", resources); |
82 | resources.setId(memberRelatedInfoDTO.getId()); | 117 | return this.memberRelatedInfoMapper.toDto(memberRelatedInfo); |
83 | resources.setMemberId(memberDTOId); | ||
84 | memberRelatedInfoDTO.copy(resources); | ||
85 | MemberRelatedInfoRepository.save(memberRelatedInfoDTO); | ||
86 | } | ||
87 | } | ||
88 | } | ||
89 | } | 118 | } |
90 | 119 | ||
91 | @Override | 120 | @Override |
92 | @Transactional(rollbackFor = Exception.class) | 121 | @Transactional(rollbackFor = Exception.class) |
93 | public void delete(Long id) { | 122 | public void delete(Long id) { |
94 | Assert.notNull(id, "The given id must not be null!"); | 123 | Assert.notNull(id, "The given id must not be null!"); |
95 | MemberRelatedInfo MemberRelatedInfo = MemberRelatedInfoRepository.findById(id).orElseThrow( | 124 | MemberRelatedInfo MemberRelatedInfo = this.memberRelatedInfoRepository.findById(id).orElseThrow( |
96 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberRelatedInfo.class, id), 1)); | 125 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberRelatedInfo.class, id), 1)); |
97 | MemberRelatedInfoRepository.delete(MemberRelatedInfo); | 126 | this.memberRelatedInfoRepository.delete(MemberRelatedInfo); |
98 | } | 127 | } |
99 | 128 | ||
129 | @Override | ||
130 | public MemberRelatedInfoDTO findByIdCard(MemberRelatedInfo resources){ | ||
131 | log.info("MemberRelatedInfoServiceImpl ==>> findByIdCard ==>> param ==>> [{}]",resources); | ||
132 | String idCard = resources.getIdCard(); | ||
133 | Assert.notNull(idCard,"idCard can't be null"); | ||
134 | |||
135 | if (!idCard.equalsIgnoreCase(DEFAULT_IDCARD)) { | ||
136 | MemberRelatedInfoDTO memberRelatedInfo = this.findByIdCard(idCard); | ||
137 | ValidationUtil.isNull(memberRelatedInfo.getId(),"MemberRelatedInfo","id",resources.getId()); | ||
138 | log.info("MemberRelatedInfoServiceImpl ==>> findByIdCard ==>> result ==>> [{}]",memberRelatedInfo); | ||
139 | return memberRelatedInfo; | ||
140 | } | ||
141 | |||
142 | return null; | ||
143 | |||
144 | } | ||
145 | |||
146 | @Override | ||
147 | public MemberRelatedInfoDTO findByIdCard(String idCard) { | ||
148 | log.info("MemberRelatedInfoServiceImpl ==>> findByIdCard ==>> param ==>> [{}]",idCard); | ||
149 | MemberRelatedInfo memberRelatedInfo = this.memberRelatedInfoRepository.findByIdCard(idCard); | ||
150 | log.info("MemberRelatedInfoServiceImpl ==>> findByIdCard ==>> result ==>> [{}]",memberRelatedInfo); | ||
151 | return this.memberRelatedInfoMapper.toDto(memberRelatedInfo); | ||
152 | } | ||
153 | |||
154 | @Override | ||
155 | public MemberRelatedInfoDTO findByMemberCodeAndIdCard(String memberCode, String idCard) { | ||
156 | Assert.notNull(memberCode,"memberCode can't be null"); | ||
157 | Assert.notNull(idCard,"idCard can't be null"); | ||
158 | MemberDTO memberDTO = this.checkMember(null, memberCode); | ||
159 | return this.findByMemberIdAndIdCard(memberDTO.getId(),idCard); | ||
160 | } | ||
161 | |||
162 | @Override | ||
163 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(Long memberId, String idCard) { | ||
164 | log.info("MemberRelatedInfoServiceImpl ==>> findByMemberIdAndIdCard ==>> param ==>> [{}]",memberId+","+idCard); | ||
165 | MemberRelatedInfo memberRelatedInfo = this.memberRelatedInfoRepository.findByMemberIdAndIdCard(memberId, idCard); | ||
166 | log.info("MemberRelatedInfoServiceImpl ==>> findByMemberIdAndIdCard ==>> result ==>> [{}]",memberRelatedInfo); | ||
167 | return this.memberRelatedInfoMapper.toDto(memberRelatedInfo); | ||
168 | } | ||
169 | |||
170 | @Override | ||
171 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(MemberRelatedInfo resources) { | ||
172 | Long memberId = resources.getMemberId(); | ||
173 | String idCard = resources.getIdCard(); | ||
174 | return this.findByMemberIdAndIdCard(memberId,idCard); | ||
175 | } | ||
176 | |||
177 | @Override | ||
178 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(Member member, MemberRelatedInfo resources) { | ||
179 | Long memberId = member.getId(); | ||
180 | String idCard = resources.getIdCard(); | ||
181 | return this.findByMemberIdAndIdCard(memberId,idCard); | ||
182 | } | ||
183 | |||
184 | private MemberDTO checkMember(MemberRelatedInfo resources){ | ||
185 | Long memberId = resources.getMemberId(); | ||
186 | String code = resources.getMemberCode(); | ||
187 | return this.memberService.checkMember(memberId, code); | ||
188 | } | ||
189 | |||
190 | private MemberDTO checkMember(Long memberId , String memberCode){ | ||
191 | return this.memberService.checkMember(memberId, memberCode); | ||
192 | } | ||
100 | 193 | ||
101 | } | 194 | } | ... | ... |
... | @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; | ... | @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; |
6 | import org.springframework.data.jpa.repository.Modifying; | 6 | import org.springframework.data.jpa.repository.Modifying; |
7 | import org.springframework.data.jpa.repository.Query; | 7 | import org.springframework.data.jpa.repository.Query; |
8 | 8 | ||
9 | import java.util.List; | ||
9 | import java.util.Optional; | 10 | import java.util.Optional; |
10 | 11 | ||
11 | /** | 12 | /** |
... | @@ -16,8 +17,9 @@ public interface MemberRepository extends JpaRepository<Member, Long>, JpaSpecif | ... | @@ -16,8 +17,9 @@ public interface MemberRepository extends JpaRepository<Member, Long>, JpaSpecif |
16 | 17 | ||
17 | Optional<Member> findFirstByCode(String code); | 18 | Optional<Member> findFirstByCode(String code); |
18 | 19 | ||
19 | Optional<Member> findByCode(String code); | 20 | List<Member> findByUserIptvId(Long id); |
20 | 21 | ||
22 | Optional<Member> findByIdOrCode(Long id,String code); | ||
21 | 23 | ||
22 | @Modifying | 24 | @Modifying |
23 | @Query(value = "update uc_member set `points` = ?2 , `due_points` = ?3 where id = ?1 ",nativeQuery = true) | 25 | @Query(value = "update uc_member set `points` = ?2 , `due_points` = ?3 where id = ?1 ",nativeQuery = true) | ... | ... |
... | @@ -2,13 +2,8 @@ package com.topdraw.business.module.member.service; | ... | @@ -2,13 +2,8 @@ package com.topdraw.business.module.member.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | 3 | import com.topdraw.business.module.member.domain.Member; |
4 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 4 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
5 | import com.topdraw.business.module.member.service.dto.MemberQueryCriteria; | ||
6 | import com.topdraw.business.module.user.iptv.domain.UserTv; | ||
7 | import org.springframework.data.domain.Pageable; | ||
8 | import org.springframework.transaction.annotation.Transactional; | ||
9 | 5 | ||
10 | import java.util.List; | 6 | import java.util.List; |
11 | import java.util.Map; | ||
12 | 7 | ||
13 | /** | 8 | /** |
14 | * @author XiangHan | 9 | * @author XiangHan |
... | @@ -17,45 +12,63 @@ import java.util.Map; | ... | @@ -17,45 +12,63 @@ import java.util.Map; |
17 | public interface MemberService { | 12 | public interface MemberService { |
18 | 13 | ||
19 | /** | 14 | /** |
20 | * 查询数据分页 | ||
21 | * @param criteria 条件参数 | ||
22 | * @param pageable 分页参数 | ||
23 | * @return Map<String,Object> | ||
24 | */ | ||
25 | Map<String,Object> queryAll(MemberQueryCriteria criteria, Pageable pageable); | ||
26 | |||
27 | /** | ||
28 | * 查询所有数据不分页 | ||
29 | * @param criteria 条件参数 | ||
30 | * @return List<MemberDTO> | ||
31 | */ | ||
32 | List<MemberDTO> queryAll(MemberQueryCriteria criteria); | ||
33 | |||
34 | /** | ||
35 | * 根据ID查询 | 15 | * 根据ID查询 |
36 | * @param id ID | 16 | * @param id ID |
37 | * @return MemberDTO | 17 | * @return MemberDTO |
38 | */ | 18 | */ |
39 | MemberDTO findById(Long id); | 19 | MemberDTO findById(Long id); |
40 | 20 | ||
41 | Long create(Member resources); | 21 | /** |
22 | * 通过code查询会员 | ||
23 | * @param code 会员编码 | ||
24 | * @return MemberDTO | ||
25 | */ | ||
26 | MemberDTO findByCode(String code); | ||
42 | 27 | ||
43 | void unbind(Member resources); | 28 | /** |
29 | * 保存 | ||
30 | * @param resources | ||
31 | * @return Long id | ||
32 | */ | ||
33 | MemberDTO create(Member resources); | ||
44 | 34 | ||
45 | void update(Member resources); | 35 | /** |
36 | * 创建并返回会员 | ||
37 | * @param resources 会员 | ||
38 | * @return Member | ||
39 | */ | ||
40 | MemberDTO createAndReturnMember(Member resources); | ||
46 | 41 | ||
47 | void delete(Long id); | 42 | /** |
43 | * 修改会员 | ||
44 | * @param resources | ||
45 | */ | ||
46 | MemberDTO update(Member resources); | ||
47 | |||
48 | /** | ||
49 | * 修改会员积分 | ||
50 | * @param member 会员 | ||
51 | */ | ||
52 | MemberDTO doUpdateMemberPoints(Member member); | ||
48 | 53 | ||
49 | /** | 54 | /** |
50 | * Code校验 | 55 | * 查询绑定了大屏会员列表 |
51 | * @param code | 56 | * @param id 条件参数 |
52 | * @return MemberDTO | 57 | * @return Map<String,Object> |
53 | */ | 58 | */ |
54 | MemberDTO getByCode(String code); | 59 | List<MemberDTO> findByUserIptvId(Long id); |
55 | 60 | ||
56 | boolean createMemberByUserTv(UserTv resources); | 61 | /** |
62 | * 检查会员信息 | ||
63 | * @param id 会员id | ||
64 | * @param memberCode 会员编码 | ||
65 | */ | ||
66 | MemberDTO checkMember(Long id , String memberCode); | ||
57 | 67 | ||
58 | void doUpdateMemberPoints(Member member); | 68 | /** |
69 | * 检查会员信息 | ||
70 | * @param member 会员 | ||
71 | */ | ||
72 | MemberDTO checkMember(Member member); | ||
59 | 73 | ||
60 | Member createAndReturnMember(Member resources); | ||
61 | } | 74 | } | ... | ... |
src/main/java/com/topdraw/business/module/member/service/dto/MemberQueryCriteria.java
deleted
100644 → 0
1 | package com.topdraw.business.module.member.service.dto; | ||
2 | |||
3 | import com.topdraw.annotation.Query; | ||
4 | import lombok.Data; | ||
5 | |||
6 | /** | ||
7 | * @author XiangHan | ||
8 | * @date 2021-10-22 | ||
9 | */ | ||
10 | @Data | ||
11 | public class MemberQueryCriteria{ | ||
12 | |||
13 | @Query(type = Query.Type.LEFT_LIKE) | ||
14 | private String code; | ||
15 | |||
16 | // 类型 1:大屏;2:小屏 | ||
17 | @Query(type = Query.Type.EQUAL) | ||
18 | private Integer type; | ||
19 | |||
20 | // 状态 0:不可用;1:可用 | ||
21 | @Query(type = Query.Type.EQUAL) | ||
22 | private Integer status; | ||
23 | |||
24 | // 昵称 base64 | ||
25 | @Query(type = Query.Type.LEFT_LIKE) | ||
26 | private String nickname; | ||
27 | |||
28 | // 性别 0:女;1:男;-1:未知 | ||
29 | @Query(type = Query.Type.EQUAL) | ||
30 | private Integer gender; | ||
31 | |||
32 | // 分组信息 | ||
33 | @Query(type = Query.Type.EQUAL) | ||
34 | private String groups; | ||
35 | |||
36 | // 标签 | ||
37 | @Query(type = Query.Type.IN) | ||
38 | private String tags; | ||
39 | |||
40 | // 是否会员 0:非会员;1:会员 | ||
41 | @Query(type = Query.Type.EQUAL) | ||
42 | private Integer vip; | ||
43 | |||
44 | // 会员等级(对应level表的level字段,非id) | ||
45 | @Query(type = Query.Type.EQUAL) | ||
46 | private Integer level; | ||
47 | |||
48 | // iptv账号id | ||
49 | @Query(type = Query.Type.EQUAL) | ||
50 | private Long userIptvId; | ||
51 | |||
52 | // 绑定IPTV平台 0:未知;1:电信;2:移动;3:联通 | ||
53 | @Query(type = Query.Type.IN) | ||
54 | private Integer bindIptvPlatformType; | ||
55 | |||
56 | } |
1 | package com.topdraw.business.module.member.service.impl; | 1 | package com.topdraw.business.module.member.service.impl; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | 3 | import com.topdraw.business.module.member.domain.Member; |
4 | import com.topdraw.business.module.member.domain.MemberBuilder; | ||
5 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | ||
6 | import com.topdraw.business.module.member.profile.domain.MemberProfileBuilder; | ||
7 | import com.topdraw.business.module.member.profile.service.MemberProfileService; | ||
4 | import com.topdraw.business.module.member.repository.MemberRepository; | 8 | import com.topdraw.business.module.member.repository.MemberRepository; |
5 | import com.topdraw.business.module.member.service.MemberService; | 9 | import com.topdraw.business.module.member.service.MemberService; |
6 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 10 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
7 | import com.topdraw.business.module.member.service.dto.MemberQueryCriteria; | ||
8 | import com.topdraw.business.module.member.service.mapper.MemberMapper; | 11 | import com.topdraw.business.module.member.service.mapper.MemberMapper; |
9 | import com.topdraw.business.module.user.iptv.domain.UserTv; | 12 | import com.topdraw.exception.BadRequestException; |
10 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; | 13 | import com.topdraw.exception.GlobeExceptionMsg; |
11 | import com.topdraw.config.LocalConstants; | 14 | import com.topdraw.utils.*; |
12 | import com.topdraw.util.IdWorker; | ||
13 | import com.topdraw.util.RedissonUtil; | ||
14 | import com.topdraw.util.TimestampUtil; | ||
15 | import com.topdraw.utils.PageUtil; | ||
16 | import com.topdraw.utils.QueryHelp; | ||
17 | import com.topdraw.utils.StringUtils; | ||
18 | import com.topdraw.utils.ValidationUtil; | ||
19 | import lombok.extern.slf4j.Slf4j; | 15 | import lombok.extern.slf4j.Slf4j; |
20 | import org.redisson.api.RLock; | 16 | import org.apache.commons.lang3.StringUtils; |
21 | import org.redisson.api.RedissonClient; | ||
22 | import org.springframework.beans.BeanUtils; | 17 | import org.springframework.beans.BeanUtils; |
23 | import org.springframework.beans.factory.annotation.Autowired; | 18 | import org.springframework.beans.factory.annotation.Autowired; |
24 | import org.springframework.context.annotation.Bean; | ||
25 | import org.springframework.dao.EmptyResultDataAccessException; | ||
26 | import org.springframework.data.domain.Page; | ||
27 | import org.springframework.data.domain.Pageable; | ||
28 | import org.springframework.stereotype.Service; | 19 | import org.springframework.stereotype.Service; |
29 | import org.springframework.transaction.annotation.Propagation; | 20 | import org.springframework.transaction.annotation.Propagation; |
30 | import org.springframework.transaction.annotation.Transactional; | 21 | import org.springframework.transaction.annotation.Transactional; |
31 | import org.springframework.util.Assert; | ||
32 | 22 | ||
33 | import java.time.LocalDateTime; | ||
34 | import java.util.List; | 23 | import java.util.List; |
35 | import java.util.Map; | ||
36 | import java.util.Objects; | 24 | import java.util.Objects; |
37 | 25 | ||
38 | /** | 26 | /** |
39 | * @author XiangHan | 27 | * @author XiangHan |
40 | * @date 2021-10-22 | 28 | * @date 2021-10-22 |
41 | */ | 29 | */ |
42 | @Slf4j | 30 | |
43 | @Service | 31 | @Service |
44 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | 32 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) |
33 | @Slf4j | ||
45 | public class MemberServiceImpl implements MemberService { | 34 | public class MemberServiceImpl implements MemberService { |
46 | 35 | ||
47 | @Autowired | 36 | @Autowired |
48 | private MemberRepository memberRepository; | ||
49 | |||
50 | @Autowired | ||
51 | private MemberMapper memberMapper; | 37 | private MemberMapper memberMapper; |
52 | |||
53 | @Autowired | 38 | @Autowired |
54 | private com.topdraw.business.module.user.iptv.service.UserTvService UserTvService; | 39 | private MemberRepository memberRepository; |
40 | @Autowired | ||
41 | private MemberProfileService memberProfileService; | ||
55 | 42 | ||
56 | // @Autowired | ||
57 | // private RedissonClient redissonClient; | ||
58 | 43 | ||
59 | @Override | 44 | @Override |
60 | public Map<String, Object> queryAll(MemberQueryCriteria criteria, Pageable pageable) { | 45 | public MemberDTO findById(Long id) { |
61 | Page<Member> page = memberRepository.findAll((root, criteriaQuery, criteriaBuilder) | 46 | Member member = this.memberRepository.findById(id).orElseGet(Member::new); |
62 | -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | 47 | ValidationUtil.isNull(member.getId(),"Member","id",id); |
63 | return PageUtil.toPage(page.map(memberMapper::toDto)); | 48 | |
49 | return this.memberMapper.toDto(member); | ||
50 | |||
64 | } | 51 | } |
65 | 52 | ||
66 | @Override | 53 | @Override |
67 | public List<MemberDTO> queryAll(MemberQueryCriteria criteria) { | 54 | public MemberDTO findByCode(String code) { |
68 | return memberMapper.toDto(memberRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | 55 | |
56 | Member member = this.memberRepository.findFirstByCode(code).orElseGet(Member::new); | ||
57 | ValidationUtil.isNull(member.getId(),"Member","id",code); | ||
58 | |||
59 | return this.memberMapper.toDto(member); | ||
60 | |||
69 | } | 61 | } |
70 | 62 | ||
71 | @Override | 63 | private MemberDTO findByIdOrCode(Long id,String code) { |
72 | public MemberDTO findById(Long id) { | 64 | |
73 | Member member = memberRepository.findById(id).orElseGet(Member::new); | 65 | Member member = this.memberRepository.findByIdOrCode(id,code).orElseGet(Member::new); |
74 | ValidationUtil.isNull(member.getId(),"Member","id",id); | 66 | ValidationUtil.isNull(member.getId(),"Member","param",code); |
75 | return memberMapper.toDto(member); | 67 | |
68 | return this.memberMapper.toDto(member); | ||
69 | |||
76 | } | 70 | } |
77 | 71 | ||
78 | @Override | 72 | @Override |
79 | @Transactional(rollbackFor = Exception.class) | 73 | public List<MemberDTO> findByUserIptvId(Long id) { |
80 | public Long create(Member resources) { | 74 | |
81 | Member member = this.checkMemberData(resources); | 75 | List<Member> memberList = this.memberRepository.findByUserIptvId(id); |
82 | memberRepository.save(member); | 76 | |
83 | return resources.getId(); | 77 | return this.memberMapper.toDto(memberList); |
84 | } | ||
85 | 78 | ||
86 | private Member checkMemberData(Member member) { | ||
87 | Long defaultValue = 0L; | ||
88 | String code = member.getCode(); | ||
89 | member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code); | ||
90 | Integer gender = member.getGender(); | ||
91 | member.setGender(Objects.nonNull(gender) ? gender : 0); | ||
92 | Integer type = member.getType(); | ||
93 | member.setType(Objects.nonNull(type) ? type:-1); | ||
94 | Integer status = member.getStatus(); | ||
95 | member.setStatus(Objects.nonNull(status) ? status:1); | ||
96 | Integer vip = member.getVip(); | ||
97 | member.setVip(Objects.nonNull(vip) ? vip:0); | ||
98 | Integer level = member.getLevel(); | ||
99 | member.setLevel(Objects.nonNull(level) ? level:0); | ||
100 | member.setExp(defaultValue); | ||
101 | member.setPoints(defaultValue); | ||
102 | member.setDuePoints(defaultValue); | ||
103 | member.setCouponAmount(defaultValue); | ||
104 | member.setDueCouponAmount(defaultValue); | ||
105 | member.setBlackStatus(0L); | ||
106 | return member; | ||
107 | } | 79 | } |
108 | 80 | ||
109 | @Override | 81 | @Override |
110 | @Transactional(rollbackFor = Exception.class) | 82 | public MemberDTO checkMember(Long id, String memberCode) { |
111 | public void unbind(Member resources) { | 83 | |
112 | try { | 84 | if(Objects.isNull(id) && StringUtils.isBlank(memberCode)) |
113 | String code = resources.getCode(); | 85 | throw new BadRequestException(GlobeExceptionMsg.MEMBER_ID_AND_CODE_ARE_NULL); |
114 | MemberDTO memberDTO = this.getByCode(code); | 86 | |
115 | // Member member = memberRepository.findById(resources.getId()).orElseGet(Member::new); | 87 | return this.findByIdOrCode(id, memberCode); |
116 | ValidationUtil.isNull(memberDTO.getId(), "Member", "id", resources.getId()); | ||
117 | Member member = new Member(); | ||
118 | BeanUtils.copyProperties(memberDTO,member); | ||
119 | |||
120 | member.setUserIptvId(null); | ||
121 | member.setBindIptvTime(null); | ||
122 | member.setBindIptvPlatformType(null); | ||
123 | this.save(member); | ||
124 | } catch (Exception e) { | ||
125 | e.printStackTrace(); | ||
126 | throw e; | ||
127 | } | ||
128 | } | 88 | } |
129 | 89 | ||
130 | @Override | 90 | @Override |
131 | @Transactional(rollbackFor = Exception.class) | 91 | public MemberDTO checkMember(Member member) { |
132 | public void update(Member resources) { | 92 | |
133 | try { | 93 | String memberCode = member.getCode(); |
134 | Member member = memberRepository.findByCode(resources.getCode()).orElseGet(Member::new); | 94 | Long memberId = member.getId(); |
135 | ValidationUtil.isNull( member.getId(),"Member","id",member.getId()); | 95 | |
136 | if (Objects.nonNull(member)) { | 96 | return this.checkMember(memberId,memberCode); |
137 | Long id = member.getId(); | 97 | |
138 | resources.setId(id); | ||
139 | |||
140 | String platformAccount = resources.getPlatformAccount(); | ||
141 | if (StringUtils.isNotEmpty(platformAccount)) { | ||
142 | resources.setUserIptvId(null); | ||
143 | |||
144 | UserTvDTO userTvDTO = this.UserTvService.findByPlatformAccount(platformAccount); | ||
145 | if (Objects.nonNull(userTvDTO)) { | ||
146 | Long userIptvId = userTvDTO.getId(); | ||
147 | resources.setUserIptvId(userIptvId); | ||
148 | resources.setBindIptvPlatformType(1); | ||
149 | resources.setBindIptvTime(LocalDateTime.now()); | ||
150 | } | ||
151 | |||
152 | } else { | ||
153 | resources.setUserIptvId(member.getUserIptvId()); | ||
154 | resources.setBindIptvPlatformType(member.getBindIptvPlatformType()); | ||
155 | resources.setBindIptvTime(member.getBindIptvTime()); | ||
156 | } | ||
157 | |||
158 | } | ||
159 | |||
160 | member.copy(resources); | ||
161 | log.info("memberService ==>> update ==>> [{}]",member); | ||
162 | memberRepository.save(member); | ||
163 | } catch (Exception e) { | ||
164 | e.printStackTrace(); | ||
165 | throw e; | ||
166 | } | ||
167 | } | 98 | } |
168 | 99 | ||
169 | @Override | 100 | @Override |
170 | @Transactional(rollbackFor = Exception.class) | 101 | @Transactional(rollbackFor = Exception.class) |
171 | public void delete(Long id) { | 102 | public MemberDTO create(Member resources) { |
172 | Assert.notNull(id, "The given id must not be null!"); | 103 | |
173 | // RLock rLock = this.redissonClient.getLock("Member::delete::code" + id); | 104 | Member member = MemberBuilder.build(resources); |
174 | try { | 105 | Long memberId = this.save(member); |
175 | // RedissonUtil.lock(rLock); | 106 | |
176 | Member member = memberRepository.findById(id).orElseThrow( | 107 | if (Objects.nonNull(memberId)) { |
177 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", Member.class, id), 1)); | 108 | MemberProfile memberProfile = MemberProfileBuilder.build(member); |
178 | memberRepository.delete(member); | 109 | // 保存会员属性 |
179 | } catch (Exception e) { | 110 | this.memberProfileService.create(memberProfile); |
180 | e.printStackTrace(); | ||
181 | throw e; | ||
182 | } finally { | ||
183 | // RedissonUtil.unlock(rLock); | ||
184 | } | 111 | } |
185 | } | ||
186 | 112 | ||
113 | return this.memberMapper.toDto(member); | ||
187 | 114 | ||
188 | @Override | ||
189 | public MemberDTO getByCode(String code) { | ||
190 | return StringUtils.isNotEmpty(code) ? memberMapper.toDto(memberRepository.findFirstByCode(code).orElseGet(Member::new)) | ||
191 | : new MemberDTO(); | ||
192 | } | 115 | } |
193 | 116 | ||
194 | @Override | 117 | @Override |
195 | @Transactional(rollbackFor = Exception.class) | 118 | @Transactional(rollbackFor = Exception.class) |
196 | public boolean createMemberByUserTv(UserTv resources) { | 119 | public MemberDTO createAndReturnMember(Member resources) { |
197 | String platformAccount = resources.getPlatformAccount(); | 120 | |
198 | UserTvDTO userTvDTO = this.UserTvService.findByPlatformAccount(platformAccount); | 121 | MemberDTO memberDTO = this.create(MemberBuilder.build(resources)); |
199 | if (Objects.isNull(userTvDTO)) { | 122 | |
200 | Member member = new Member(); | 123 | return memberDTO; |
201 | // 大屏 | ||
202 | member.setType(LocalConstants.MEMBER_PLATFORM_TYPE_VIS); | ||
203 | Member member12 = this.checkMemberData(member); | ||
204 | Long memberId = this.create(member12); | ||
205 | |||
206 | if (Objects.nonNull(memberId)) { | ||
207 | UserTv userTv = new UserTv(); | ||
208 | BeanUtils.copyProperties(resources,userTv); | ||
209 | userTv.setPlatformAccount(platformAccount); | ||
210 | userTv.setMemberCode(member12.getCode()); | ||
211 | Long userIptvId = UserTvService.create(userTv); | ||
212 | |||
213 | if (Objects.nonNull(userIptvId)) { | ||
214 | member.setId(memberId); | ||
215 | member.setUserIptvId(userIptvId); | ||
216 | member.setBindIptvTime(LocalDateTime.now()); | ||
217 | this.bindIptvId(member); | ||
218 | } | ||
219 | } | ||
220 | |||
221 | } else { | ||
222 | return false; | ||
223 | } | ||
224 | 124 | ||
225 | return true; | ||
226 | } | 125 | } |
227 | 126 | ||
228 | @Override | 127 | @Override |
229 | @Transactional(rollbackFor = Exception.class) | 128 | @Transactional(rollbackFor = Exception.class) |
230 | public void doUpdateMemberPoints(Member member) { | 129 | public MemberDTO update(Member resources) { |
231 | try { | 130 | |
232 | Long id = member.getId(); | 131 | log.info("MemberServiceImpl ==>> update ==>> resources ==>> [{}]" , resources); |
233 | Long points = member.getPoints(); | 132 | |
234 | Long duePoints = member.getDuePoints(); | 133 | MemberDTO memberDTO = this.findByCode(resources.getCode()); |
235 | memberRepository.updateMemberPoints(id,points,duePoints); | 134 | |
236 | } catch (Exception e) { | 135 | Member member = new Member(); |
237 | e.printStackTrace(); | 136 | BeanUtils.copyProperties(memberDTO,member); |
238 | throw e; | 137 | member.copy(resources); |
239 | } | 138 | |
139 | this.save(member); | ||
140 | |||
141 | return this.memberMapper.toDto(member); | ||
142 | } | ||
143 | |||
144 | @Transactional(propagation = Propagation.REQUIRES_NEW) | ||
145 | public Long save(Member member){ | ||
146 | this.memberRepository.save(member); | ||
147 | return member.getId(); | ||
240 | } | 148 | } |
241 | 149 | ||
242 | @Override | 150 | @Override |
243 | @Transactional(rollbackFor = Exception.class) | 151 | @Transactional(rollbackFor = Exception.class) |
244 | public Member createAndReturnMember(Member resources) { | 152 | public MemberDTO doUpdateMemberPoints(Member resources) { |
245 | Member member = this.checkMemberData(resources); | 153 | Member member = this.memberRepository.findById(resources.getId()).orElseGet(Member::new); |
246 | memberRepository.save(member); | 154 | ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId()); |
247 | return resources; | 155 | member.copy(resources); |
248 | } | ||
249 | 156 | ||
250 | private void save(Member member){ | 157 | this.save(member); |
251 | memberRepository.save(member); | ||
252 | } | ||
253 | 158 | ||
254 | public void bindIptvId(Member resources) { | 159 | return this.memberMapper.toDto(member); |
255 | try { | ||
256 | Member member = memberRepository.findFirstByCode(resources.getCode()).orElseGet(Member::new); | ||
257 | if (member==null) { | ||
258 | ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId()); | ||
259 | member.copy(resources); | ||
260 | } | ||
261 | this.save(member); | ||
262 | } catch (Exception e) { | ||
263 | e.printStackTrace(); | ||
264 | throw e; | ||
265 | } | ||
266 | } | 160 | } |
267 | } | 161 | } | ... | ... |
src/main/java/com/topdraw/business/module/member/viphistory/domain/MemberVipHistoryBuilder.java
0 → 100644
1 | package com.topdraw.business.module.member.viphistory.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | |||
5 | import java.time.LocalDateTime; | ||
6 | import java.util.Objects; | ||
7 | |||
8 | public class MemberVipHistoryBuilder { | ||
9 | |||
10 | public static MemberVipHistory build(Member member , Integer beforeVip) { | ||
11 | Long id = member.getId(); | ||
12 | Integer vip = member.getVip(); | ||
13 | LocalDateTime vipExpireTime = member.getVipExpireTime(); | ||
14 | |||
15 | MemberVipHistory memberVipHistory = new MemberVipHistory(); | ||
16 | memberVipHistory.setMemberId(Objects.isNull(id)? null:id); | ||
17 | memberVipHistory.setVip(Objects.isNull(vip)? null:vip); | ||
18 | memberVipHistory.setBeforeVip(Objects.isNull(beforeVip)? null:beforeVip); | ||
19 | memberVipHistory.setVipExpireTime(Objects.isNull(vipExpireTime)? null:vipExpireTime); | ||
20 | return build(memberVipHistory); | ||
21 | } | ||
22 | |||
23 | public static MemberVipHistory build(Long memberId, Integer vip, Integer beforeVip, LocalDateTime vipExpireTime ) { | ||
24 | MemberVipHistory memberVipHistory = new MemberVipHistory(); | ||
25 | memberVipHistory.setMemberId(Objects.isNull(memberId)? null:memberId); | ||
26 | memberVipHistory.setVip(Objects.isNull(vip)? null:vip); | ||
27 | memberVipHistory.setBeforeVip(Objects.isNull(beforeVip)? null:beforeVip); | ||
28 | memberVipHistory.setVipExpireTime(Objects.isNull(vipExpireTime)? null:vipExpireTime); | ||
29 | return build(memberVipHistory); | ||
30 | } | ||
31 | |||
32 | public static MemberVipHistory build(MemberVipHistory memberVipHistory) { | ||
33 | return build(memberVipHistory.getId(), | ||
34 | memberVipHistory.getMemberId(), | ||
35 | memberVipHistory.getVip(), | ||
36 | memberVipHistory.getBeforeVip(), | ||
37 | memberVipHistory.getVipExpireTime(), | ||
38 | memberVipHistory.getStatus()); | ||
39 | } | ||
40 | |||
41 | public static MemberVipHistory build(Long id, Long memberId , Integer vip , Integer beforeVip , LocalDateTime vipExpireTime, Integer status){ | ||
42 | MemberVipHistory memberVipHistory = new MemberVipHistory(); | ||
43 | memberVipHistory.setId(Objects.isNull(id)? null:id); | ||
44 | memberVipHistory.setMemberId(Objects.isNull(memberId)? null:memberId) ; | ||
45 | memberVipHistory.setVip(Objects.isNull(vip)? null:vip); | ||
46 | memberVipHistory.setBeforeVip(Objects.isNull(beforeVip)? null:beforeVip); | ||
47 | memberVipHistory.setVipExpireTime(Objects.isNull(vipExpireTime)? null:vipExpireTime); | ||
48 | memberVipHistory.setStatus(Objects.isNull(status)? 1:status); | ||
49 | return memberVipHistory; | ||
50 | } | ||
51 | |||
52 | } |
1 | package com.topdraw.business.module.member.viphistory.service; | 1 | package com.topdraw.business.module.member.viphistory.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.domain.Member; | ||
3 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; | 4 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; |
4 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO; | 5 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO; |
5 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria; | 6 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria; |
... | @@ -16,32 +17,42 @@ import java.util.Map; | ... | @@ -16,32 +17,42 @@ import java.util.Map; |
16 | public interface MemberVipHistoryService { | 17 | public interface MemberVipHistoryService { |
17 | 18 | ||
18 | /** | 19 | /** |
19 | * 查询数据分页 | ||
20 | * @param criteria 条件参数 | ||
21 | * @param pageable 分页参数 | ||
22 | * @return Map<String,Object> | ||
23 | */ | ||
24 | Map<String,Object> queryAll(MemberVipHistoryQueryCriteria criteria, Pageable pageable); | ||
25 | |||
26 | /** | ||
27 | * 查询所有数据不分页 | ||
28 | * @param criteria 条件参数 | ||
29 | * @return List<MemberVipHistoryDTO> | ||
30 | */ | ||
31 | List<MemberVipHistoryDTO> queryAll(MemberVipHistoryQueryCriteria criteria); | ||
32 | |||
33 | /** | ||
34 | * 根据ID查询 | 20 | * 根据ID查询 |
35 | * @param id ID | 21 | * @param id ID |
36 | * @return MemberVipHistoryDTO | 22 | * @return MemberVipHistoryDTO |
37 | */ | 23 | */ |
38 | MemberVipHistoryDTO findById(Long id); | 24 | MemberVipHistoryDTO findById(Long id); |
39 | 25 | ||
26 | /** | ||
27 | * | ||
28 | * @param resources | ||
29 | */ | ||
40 | void create(MemberVipHistory resources); | 30 | void create(MemberVipHistory resources); |
41 | 31 | ||
32 | /** | ||
33 | * | ||
34 | * @param member | ||
35 | */ | ||
36 | void create(Member member, Integer beforeVip); | ||
37 | |||
38 | /** | ||
39 | * | ||
40 | * @param resources | ||
41 | */ | ||
42 | void update(MemberVipHistory resources); | 42 | void update(MemberVipHistory resources); |
43 | 43 | ||
44 | /** | ||
45 | * | ||
46 | * @param id | ||
47 | */ | ||
44 | void delete(Long id); | 48 | void delete(Long id); |
45 | 49 | ||
50 | /** | ||
51 | * | ||
52 | * @param id | ||
53 | * @param nowTime | ||
54 | * @return | ||
55 | */ | ||
46 | MemberVipHistory findByTime(Long id, LocalDateTime nowTime); | 56 | MemberVipHistory findByTime(Long id, LocalDateTime nowTime); |
57 | |||
47 | } | 58 | } | ... | ... |
1 | package com.topdraw.business.module.member.viphistory.service.impl; | 1 | package com.topdraw.business.module.member.viphistory.service.impl; |
2 | 2 | ||
3 | 3 | ||
4 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.service.MemberService; | 5 | import com.topdraw.business.module.member.service.MemberService; |
5 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 6 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
6 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; | 7 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; |
8 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistoryBuilder; | ||
7 | import com.topdraw.business.module.member.viphistory.repository.MemberVipHistoryRepository; | 9 | import com.topdraw.business.module.member.viphistory.repository.MemberVipHistoryRepository; |
8 | import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService; | 10 | import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService; |
9 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO; | 11 | import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryDTO; |
... | @@ -37,61 +39,55 @@ import java.util.Objects; | ... | @@ -37,61 +39,55 @@ import java.util.Objects; |
37 | public class MemberVipHistoryServiceImpl implements MemberVipHistoryService { | 39 | public class MemberVipHistoryServiceImpl implements MemberVipHistoryService { |
38 | 40 | ||
39 | @Autowired | 41 | @Autowired |
40 | private MemberVipHistoryRepository memberVipHistoryRepository; | 42 | private MemberService memberService; |
41 | 43 | ||
42 | @Autowired | 44 | @Autowired |
43 | private MemberVipHistoryMapper memberVipHistoryMapper; | 45 | private MemberVipHistoryMapper memberVipHistoryMapper; |
44 | @Autowired | 46 | @Autowired |
45 | private MemberService memberService; | 47 | private MemberVipHistoryRepository memberVipHistoryRepository; |
46 | |||
47 | @Override | ||
48 | public Map<String, Object> queryAll(MemberVipHistoryQueryCriteria criteria, Pageable pageable) { | ||
49 | Page<MemberVipHistory> page = memberVipHistoryRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
50 | return PageUtil.toPage(page.map(memberVipHistoryMapper::toDto)); | ||
51 | } | ||
52 | |||
53 | @Override | ||
54 | public List<MemberVipHistoryDTO> queryAll(MemberVipHistoryQueryCriteria criteria) { | ||
55 | return memberVipHistoryMapper.toDto(memberVipHistoryRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
56 | } | ||
57 | 48 | ||
58 | @Override | 49 | @Override |
59 | public MemberVipHistoryDTO findById(Long id) { | 50 | public MemberVipHistoryDTO findById(Long id) { |
60 | MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(id).orElseGet(MemberVipHistory::new); | 51 | log.info("MemberVipHistoryServiceImpl ==>> findById ==>> param ==>> [{}]",id); |
52 | MemberVipHistory memberVipHistory = this.memberVipHistoryRepository.findById(id).orElseGet(MemberVipHistory::new); | ||
61 | ValidationUtil.isNull(memberVipHistory.getId(),"MemberVipHistory","id",id); | 53 | ValidationUtil.isNull(memberVipHistory.getId(),"MemberVipHistory","id",id); |
62 | return memberVipHistoryMapper.toDto(memberVipHistory); | 54 | log.info("MemberVipHistoryServiceImpl ==>> findById ==>> result ==>> [{}]",memberVipHistory); |
55 | return this.memberVipHistoryMapper.toDto(memberVipHistory); | ||
63 | } | 56 | } |
64 | 57 | ||
65 | @Override | 58 | @Override |
66 | @Transactional(rollbackFor = Exception.class) | 59 | @Transactional(rollbackFor = Exception.class) |
67 | public void create(MemberVipHistory resources) { | 60 | public void create(MemberVipHistory resources) { |
68 | log.info("MemberVipHistoryServiceImpl ==>> create ==>> resources ==>> [{}]",resources); | 61 | log.info("MemberVipHistoryServiceImpl ==>> MemberVipHistoryServiceImpl ==>> param ==>> [{}]",resources); |
69 | String memberCode = resources.getMemberCode(); | 62 | this.checkMember(resources); |
70 | Assert.notNull(resources.getMemberCode(),"memberCode can't be null !!"); | 63 | |
71 | MemberDTO byCode = memberService.getByCode(memberCode); | 64 | MemberVipHistory memberVipHistory = MemberVipHistoryBuilder.build(resources); |
72 | if (Objects.nonNull(byCode.getCode())) { | 65 | this.memberVipHistoryRepository.save(memberVipHistory); |
73 | Long id = byCode.getId(); | 66 | } |
74 | resources.setMemberId(id); | 67 | |
75 | memberVipHistoryRepository.save(resources); | 68 | @Override |
76 | } | 69 | public void create(Member member, Integer beforeVip) { |
70 | this.checkMember(member); | ||
71 | MemberVipHistory memberVipHistory = MemberVipHistoryBuilder.build(member, beforeVip); | ||
72 | this.memberVipHistoryRepository.save(memberVipHistory); | ||
77 | } | 73 | } |
78 | 74 | ||
79 | @Override | 75 | @Override |
80 | @Transactional(rollbackFor = Exception.class) | 76 | @Transactional(rollbackFor = Exception.class) |
81 | public void update(MemberVipHistory resources) { | 77 | public void update(MemberVipHistory resources) { |
82 | MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(resources.getId()).orElseGet(MemberVipHistory::new); | 78 | MemberVipHistory memberVipHistory = this.memberVipHistoryRepository.findById(resources.getId()).orElseGet(MemberVipHistory::new); |
83 | ValidationUtil.isNull( memberVipHistory.getId(),"MemberVipHistory","id",resources.getId()); | 79 | ValidationUtil.isNull( memberVipHistory.getId(),"MemberVipHistory","id",resources.getId()); |
84 | memberVipHistory.copy(resources); | 80 | memberVipHistory.copy(resources); |
85 | memberVipHistoryRepository.save(memberVipHistory); | 81 | this.memberVipHistoryRepository.save(memberVipHistory); |
86 | } | 82 | } |
87 | 83 | ||
88 | @Override | 84 | @Override |
89 | @Transactional(rollbackFor = Exception.class) | 85 | @Transactional(rollbackFor = Exception.class) |
90 | public void delete(Long id) { | 86 | public void delete(Long id) { |
91 | Assert.notNull(id, "The given id must not be null!"); | 87 | Assert.notNull(id, "The given id must not be null!"); |
92 | MemberVipHistory memberVipHistory = memberVipHistoryRepository.findById(id).orElseThrow( | 88 | MemberVipHistory memberVipHistory = this.memberVipHistoryRepository.findById(id).orElseThrow( |
93 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberVipHistory.class, id), 1)); | 89 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberVipHistory.class, id), 1)); |
94 | memberVipHistoryRepository.delete(memberVipHistory); | 90 | this.memberVipHistoryRepository.delete(memberVipHistory); |
95 | } | 91 | } |
96 | 92 | ||
97 | @Override | 93 | @Override |
... | @@ -100,5 +96,16 @@ public class MemberVipHistoryServiceImpl implements MemberVipHistoryService { | ... | @@ -100,5 +96,16 @@ public class MemberVipHistoryServiceImpl implements MemberVipHistoryService { |
100 | return memberVipHistory; | 96 | return memberVipHistory; |
101 | } | 97 | } |
102 | 98 | ||
99 | private MemberDTO checkMember(MemberVipHistory resources){ | ||
100 | Long memberId = resources.getMemberId(); | ||
101 | String code = resources.getMemberCode(); | ||
102 | return this.memberService.checkMember(memberId, code); | ||
103 | } | ||
103 | 104 | ||
105 | private MemberDTO checkMember(Member resources){ | ||
106 | Long memberId = resources.getId(); | ||
107 | String code = resources.getCode(); | ||
108 | return this.memberService.checkMember(memberId, code); | ||
109 | } | ||
110 | |||
104 | } | 111 | } | ... | ... |
1 | package com.topdraw.business.module.points.available.rest; | ||
2 | |||
3 | /** | ||
4 | * @author XiangHan | ||
5 | * @date 2021-10-23 | ||
6 | */ | ||
7 | //@Api(tags = "PointsAvailable管理") | ||
8 | //@RestController | ||
9 | //@RequestMapping("/api/PointsAvailable") | ||
10 | public class PointsAvailableController { | ||
11 | |||
12 | /*@Autowired | ||
13 | private PointsAvailableService PointsAvailableService; | ||
14 | |||
15 | @GetMapping | ||
16 | @ApiOperation("查询PointsAvailable") | ||
17 | public ResultInfo getPointsAvailables(PointsAvailableQueryCriteria criteria, Pageable pageable) { | ||
18 | return ResultInfo.successPage(PointsAvailableService.queryAll(criteria,pageable)); | ||
19 | } | ||
20 | |||
21 | @GetMapping(value = "/all") | ||
22 | @ApiOperation("查询所有PointsAvailable") | ||
23 | public ResultInfo getPointsAvailables(PointsAvailableQueryCriteria criteria) { | ||
24 | return ResultInfo.success(PointsAvailableService.queryAll(criteria)); | ||
25 | } | ||
26 | |||
27 | @Log | ||
28 | @PostMapping | ||
29 | @ApiOperation("新增PointsAvailable") | ||
30 | public ResultInfo create(@Validated @RequestBody PointsAvailable resources) { | ||
31 | PointsAvailableService.create(resources); | ||
32 | return ResultInfo.success(); | ||
33 | } | ||
34 | |||
35 | @Log | ||
36 | @PutMapping | ||
37 | @ApiOperation("修改PointsAvailable") | ||
38 | public ResultInfo update(@Validated @RequestBody PointsAvailable resources) { | ||
39 | PointsAvailableService.update(resources); | ||
40 | return ResultInfo.success(); | ||
41 | } | ||
42 | |||
43 | |||
44 | @Log | ||
45 | @DeleteMapping(value = "/{id}") | ||
46 | @ApiOperation("删除PointsAvailable") | ||
47 | public ResultInfo delete(@PathVariable Long id) { | ||
48 | PointsAvailableService.delete(id); | ||
49 | return ResultInfo.success(); | ||
50 | } | ||
51 | |||
52 | @GetMapping(value = "/getByCode/{code}") | ||
53 | @ApiOperation(value = "根据标识查询") | ||
54 | public ResultInfo getByCode(@PathVariable String code) { | ||
55 | return ResultInfo.success(PointsAvailableService.getByCode(code)); | ||
56 | }*/ | ||
57 | } |
... | @@ -75,7 +75,7 @@ public class PointsAvailableServiceImpl implements PointsAvailableService { | ... | @@ -75,7 +75,7 @@ public class PointsAvailableServiceImpl implements PointsAvailableService { |
75 | public void create(PointsAvailable resources) { | 75 | public void create(PointsAvailable resources) { |
76 | String memberCode = resources.getMemberCode(); | 76 | String memberCode = resources.getMemberCode(); |
77 | if (StringUtils.isNotEmpty(memberCode)) { | 77 | if (StringUtils.isNotEmpty(memberCode)) { |
78 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 78 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
79 | if (Objects.nonNull(memberDTO)) { | 79 | if (Objects.nonNull(memberDTO)) { |
80 | Long memberId = memberDTO.getId(); | 80 | Long memberId = memberDTO.getId(); |
81 | resources.setMemberId(memberId); | 81 | resources.setMemberId(memberId); |
... | @@ -171,7 +171,7 @@ public class PointsAvailableServiceImpl implements PointsAvailableService { | ... | @@ -171,7 +171,7 @@ public class PointsAvailableServiceImpl implements PointsAvailableService { |
171 | public void create4Custom(PointsAvailable resources) { | 171 | public void create4Custom(PointsAvailable resources) { |
172 | String memberCode = resources.getMemberCode(); | 172 | String memberCode = resources.getMemberCode(); |
173 | if (StringUtils.isNotEmpty(memberCode)) { | 173 | if (StringUtils.isNotEmpty(memberCode)) { |
174 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 174 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
175 | if (Objects.nonNull(memberDTO)) { | 175 | if (Objects.nonNull(memberDTO)) { |
176 | Long memberId = memberDTO.getId(); | 176 | Long memberId = memberDTO.getId(); |
177 | resources.setMemberId(memberId); | 177 | resources.setMemberId(memberId); | ... | ... |
src/main/java/com/topdraw/business/module/points/detail/rest/PointsDetailController.java
deleted
100644 → 0
1 | package com.topdraw.business.module.points.detail.rest; | ||
2 | |||
3 | import io.swagger.annotations.Api; | ||
4 | |||
5 | /** | ||
6 | * @author XiangHan | ||
7 | * @date 2021-10-22 | ||
8 | */ | ||
9 | @Api(tags = "PointsDetail管理") | ||
10 | //@RestController | ||
11 | //@RequestMapping("/api/PointsDetail") | ||
12 | public class PointsDetailController { | ||
13 | |||
14 | /*@Autowired | ||
15 | private PointsDetailService PointsDetailService; | ||
16 | |||
17 | @GetMapping | ||
18 | @ApiOperation("查询PointsDetail") | ||
19 | public ResultInfo getPointsDetails(PointsDetailQueryCriteria criteria, Pageable pageable) { | ||
20 | return ResultInfo.successPage(PointsDetailService.queryAll(criteria,pageable)); | ||
21 | } | ||
22 | |||
23 | @GetMapping(value = "/all") | ||
24 | @ApiOperation("查询所有PointsDetail") | ||
25 | public ResultInfo getPointsDetails(PointsDetailQueryCriteria criteria) { | ||
26 | return ResultInfo.success(PointsDetailService.queryAll(criteria)); | ||
27 | } | ||
28 | |||
29 | @Log | ||
30 | @PostMapping | ||
31 | @ApiOperation("新增PointsDetail") | ||
32 | public ResultInfo create(@Validated @RequestBody PointsDetail resources) { | ||
33 | PointsDetailService.create(resources); | ||
34 | return ResultInfo.success(); | ||
35 | } | ||
36 | |||
37 | @Log | ||
38 | @PutMapping | ||
39 | @ApiOperation("修改PointsDetail") | ||
40 | public ResultInfo update(@Validated @RequestBody PointsDetail resources) { | ||
41 | PointsDetailService.update(resources); | ||
42 | return ResultInfo.success(); | ||
43 | } | ||
44 | |||
45 | @Log | ||
46 | @DeleteMapping(value = "/{id}") | ||
47 | @ApiOperation("删除PointsDetail") | ||
48 | public ResultInfo delete(@PathVariable Long id) { | ||
49 | PointsDetailService.delete(id); | ||
50 | return ResultInfo.success(); | ||
51 | } | ||
52 | |||
53 | @GetMapping(value = "/getByCode/{code}") | ||
54 | @ApiOperation(value = "根据标识查询") | ||
55 | public ResultInfo getByCode(@PathVariable String code) { | ||
56 | return ResultInfo.success(PointsDetailService.getByCode(code)); | ||
57 | }*/ | ||
58 | } |
... | @@ -65,7 +65,7 @@ public class PointsDetailServiceImpl implements PointsDetailService { | ... | @@ -65,7 +65,7 @@ public class PointsDetailServiceImpl implements PointsDetailService { |
65 | public void create(PointsDetail resources) { | 65 | public void create(PointsDetail resources) { |
66 | String memberCode = resources.getMemberCode(); | 66 | String memberCode = resources.getMemberCode(); |
67 | if (StringUtils.isNotEmpty(memberCode)) { | 67 | if (StringUtils.isNotEmpty(memberCode)) { |
68 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 68 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
69 | if (Objects.nonNull(memberDTO)) { | 69 | if (Objects.nonNull(memberDTO)) { |
70 | Long memberId = memberDTO.getId(); | 70 | Long memberId = memberDTO.getId(); |
71 | resources.setMemberId(memberId); | 71 | resources.setMemberId(memberId); |
... | @@ -78,7 +78,7 @@ public class PointsDetailServiceImpl implements PointsDetailService { | ... | @@ -78,7 +78,7 @@ public class PointsDetailServiceImpl implements PointsDetailService { |
78 | public void create4Custom(PointsDetail resources) { | 78 | public void create4Custom(PointsDetail resources) { |
79 | String memberCode = resources.getMemberCode(); | 79 | String memberCode = resources.getMemberCode(); |
80 | if (StringUtils.isNotEmpty(memberCode)) { | 80 | if (StringUtils.isNotEmpty(memberCode)) { |
81 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 81 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
82 | if (Objects.nonNull(memberDTO)) { | 82 | if (Objects.nonNull(memberDTO)) { |
83 | Long memberId = memberDTO.getId(); | 83 | Long memberId = memberDTO.getId(); |
84 | resources.setMemberId(memberId); | 84 | resources.setMemberId(memberId); | ... | ... |
... | @@ -64,7 +64,7 @@ public class RightsHistoryServiceImpl implements RightsHistoryService { | ... | @@ -64,7 +64,7 @@ public class RightsHistoryServiceImpl implements RightsHistoryService { |
64 | public void create(RightsHistory resources) { | 64 | public void create(RightsHistory resources) { |
65 | String memberCode = resources.getMemberCode(); | 65 | String memberCode = resources.getMemberCode(); |
66 | if (StringUtils.isNotBlank(memberCode)) { | 66 | if (StringUtils.isNotBlank(memberCode)) { |
67 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 67 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
68 | Long id = memberDTO.getId(); | 68 | Long id = memberDTO.getId(); |
69 | resources.setMemberId(id); | 69 | resources.setMemberId(id); |
70 | } | 70 | } | ... | ... |
... | @@ -9,6 +9,7 @@ import org.springframework.data.annotation.LastModifiedDate; | ... | @@ -9,6 +9,7 @@ import org.springframework.data.annotation.LastModifiedDate; |
9 | import org.springframework.data.jpa.domain.support.AuditingEntityListener; | 9 | import org.springframework.data.jpa.domain.support.AuditingEntityListener; |
10 | 10 | ||
11 | import javax.persistence.*; | 11 | import javax.persistence.*; |
12 | import javax.validation.constraints.NotNull; | ||
12 | import java.io.Serializable; | 13 | import java.io.Serializable; |
13 | import java.sql.Timestamp; | 14 | import java.sql.Timestamp; |
14 | import java.time.LocalDateTime; | 15 | import java.time.LocalDateTime; |
... | @@ -24,6 +25,9 @@ import java.time.LocalDateTime; | ... | @@ -24,6 +25,9 @@ import java.time.LocalDateTime; |
24 | @Table(name="uc_user_tv") | 25 | @Table(name="uc_user_tv") |
25 | public class UserTv implements Serializable { | 26 | public class UserTv implements Serializable { |
26 | 27 | ||
28 | @Column(name = "vis_user_id") | ||
29 | private Long visUserId; | ||
30 | |||
27 | /** 绑定的小屏账户会员编码 */ | 31 | /** 绑定的小屏账户会员编码 */ |
28 | @Column(name = "priority_member_code") | 32 | @Column(name = "priority_member_code") |
29 | private String priorityMemberCode; | 33 | private String priorityMemberCode; |
... | @@ -77,9 +81,9 @@ public class UserTv implements Serializable { | ... | @@ -77,9 +81,9 @@ public class UserTv implements Serializable { |
77 | @Column(name = "`continue_days`") | 81 | @Column(name = "`continue_days`") |
78 | private Integer continueDays; | 82 | private Integer continueDays; |
79 | 83 | ||
80 | // 活跃时间 | 84 | /** 活跃时间 */ |
81 | @Column(name = "`active_time`") | 85 | @Column(name = "active_time") |
82 | private LocalDateTime activeTime; | 86 | private Timestamp activeTime; |
83 | 87 | ||
84 | // 分组 分组ID用逗号分隔 | 88 | // 分组 分组ID用逗号分隔 |
85 | @Column(name = "`groups`") | 89 | @Column(name = "`groups`") | ... | ... |
1 | package com.topdraw.business.module.user.iptv.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.exception.GlobeExceptionMsg; | ||
5 | import com.topdraw.util.TimestampUtil; | ||
6 | import org.apache.commons.lang3.StringUtils; | ||
7 | import org.springframework.util.Assert; | ||
8 | |||
9 | import java.util.Objects; | ||
10 | |||
11 | /** | ||
12 | * @author : | ||
13 | * @description: | ||
14 | * @function : | ||
15 | * @date :Created in 2022/3/14 14:36 | ||
16 | * @version: : | ||
17 | * @modified By: | ||
18 | * @since : modified in 2022/3/14 14:36 | ||
19 | */ | ||
20 | public class UserTvBuilder { | ||
21 | |||
22 | private static final Integer DEFAULT_VALUE = 1; | ||
23 | private static final String DEFAULT_CREATE_BY = "system"; | ||
24 | private static final String DEFAULT_UPDATE_BY = "system"; | ||
25 | |||
26 | public static UserTv build(UserTv userTv){ | ||
27 | return build(userTv.getMemberId(),userTv.getMemberCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | ||
28 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); | ||
29 | } | ||
30 | |||
31 | public static UserTv build(Long memberId, String memberCode , UserTv userTv){ | ||
32 | return build(memberId,memberCode,userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | ||
33 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); | ||
34 | } | ||
35 | |||
36 | public static UserTv build(String memberCode, UserTv userTv){ | ||
37 | return build(null,memberCode,userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | ||
38 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); | ||
39 | } | ||
40 | |||
41 | public static UserTv build(Member member, UserTv userTv){ | ||
42 | return build(member.getId() , member.getCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | ||
43 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); | ||
44 | } | ||
45 | |||
46 | public static UserTv build(Long memberId , String memberCode , Long id , String platformAccount , String nickname , String username, | ||
47 | Integer loginDays , Integer status , Integer continueDays , String createBy , String updateBy, Long visUserId){ | ||
48 | Assert.notNull(memberId, GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
49 | Assert.notNull(memberCode, GlobeExceptionMsg.MEMBER_CODE_IS_NULL); | ||
50 | Assert.notNull(platformAccount, GlobeExceptionMsg.IPTV_PLATFORM_ACCOUNT_IS_NULL); | ||
51 | Assert.notNull(platformAccount, GlobeExceptionMsg.VIS_USER_ID_IS_NULL); | ||
52 | |||
53 | // todo 原型模式 | ||
54 | UserTv userTv = new UserTv(); | ||
55 | userTv.setId(id); | ||
56 | userTv.setPlatformAccount(platformAccount); | ||
57 | userTv.setMemberCode(memberCode); | ||
58 | userTv.setMemberId(memberId); | ||
59 | userTv.setNickname(StringUtils.isBlank(nickname)?platformAccount:nickname); | ||
60 | userTv.setUsername(StringUtils.isBlank(username)?platformAccount:username); | ||
61 | userTv.setLoginDays(Objects.nonNull(loginDays)?loginDays:DEFAULT_VALUE); | ||
62 | userTv.setLoginType(DEFAULT_VALUE); | ||
63 | userTv.setStatus(Objects.nonNull(status)?status:DEFAULT_VALUE); | ||
64 | userTv.setActiveTime(TimestampUtil.now()); | ||
65 | userTv.setContinueDays(Objects.nonNull(continueDays)?loginDays:DEFAULT_VALUE); | ||
66 | userTv.setCreateBy(StringUtils.isBlank(createBy)?DEFAULT_CREATE_BY:createBy); | ||
67 | userTv.setUpdateBy(StringUtils.isBlank(updateBy)?DEFAULT_UPDATE_BY:updateBy); | ||
68 | userTv.setVisUserId(visUserId); | ||
69 | return userTv; | ||
70 | } | ||
71 | |||
72 | } |
... | @@ -11,6 +11,9 @@ import java.util.Optional; | ... | @@ -11,6 +11,9 @@ import java.util.Optional; |
11 | * @date 2021-12-16 | 11 | * @date 2021-12-16 |
12 | */ | 12 | */ |
13 | public interface UserTvRepository extends JpaRepository<UserTv, Long>, JpaSpecificationExecutor<UserTv> { | 13 | public interface UserTvRepository extends JpaRepository<UserTv, Long>, JpaSpecificationExecutor<UserTv> { |
14 | |||
15 | Optional<UserTv> findByPlatformAccount(String platformAccount); | 14 | Optional<UserTv> findByPlatformAccount(String platformAccount); |
15 | |||
16 | Optional<UserTv> findByPriorityMemberCode(String memberCode); | ||
17 | |||
18 | Optional<UserTv> findByMemberId(Long memberId); | ||
16 | } | 19 | } | ... | ... |
1 | package com.topdraw.business.module.user.iptv.service; | 1 | package com.topdraw.business.module.user.iptv.service; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
3 | import com.topdraw.business.module.user.iptv.domain.UserTv; | 4 | import com.topdraw.business.module.user.iptv.domain.UserTv; |
4 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; | 5 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; |
5 | import com.topdraw.business.module.user.iptv.service.dto.UserTvQueryCriteria; | ||
6 | import org.springframework.data.domain.Pageable; | ||
7 | import org.springframework.transaction.annotation.Transactional; | ||
8 | |||
9 | import java.util.List; | ||
10 | import java.util.Map; | ||
11 | 6 | ||
12 | /** | 7 | /** |
13 | * @author XiangHan | 8 | * @author XiangHan |
... | @@ -16,35 +11,71 @@ import java.util.Map; | ... | @@ -16,35 +11,71 @@ import java.util.Map; |
16 | public interface UserTvService { | 11 | public interface UserTvService { |
17 | 12 | ||
18 | /** | 13 | /** |
19 | * 查询数据分页 | ||
20 | * @param criteria 条件参数 | ||
21 | * @param pageable 分页参数 | ||
22 | * @return Map<String,Object> | ||
23 | */ | ||
24 | Map<String,Object> queryAll(UserTvQueryCriteria criteria, Pageable pageable); | ||
25 | |||
26 | /** | ||
27 | * 查询所有数据不分页 | ||
28 | * @param criteria 条件参数 | ||
29 | * @return List<UserTvDTO> | ||
30 | */ | ||
31 | List<UserTvDTO> queryAll(UserTvQueryCriteria criteria); | ||
32 | |||
33 | /** | ||
34 | * 根据ID查询 | 14 | * 根据ID查询 |
35 | * @param id ID | 15 | * @param id ID |
36 | * @return UserTvDTO | 16 | * @return UserTvDTO |
37 | */ | 17 | */ |
38 | UserTvDTO findById(Long id); | 18 | UserTvDTO findById(Long id); |
39 | 19 | ||
40 | Long create(UserTv resources); | 20 | /** |
21 | * | ||
22 | * @param resources | ||
23 | * @return | ||
24 | */ | ||
25 | UserTv create(UserTv resources); | ||
41 | 26 | ||
27 | /** | ||
28 | * | ||
29 | * @param resources | ||
30 | */ | ||
42 | void update(UserTv resources); | 31 | void update(UserTv resources); |
43 | 32 | ||
44 | @Transactional(rollbackFor = Exception.class) | 33 | /** |
34 | * | ||
35 | * @param resources | ||
36 | */ | ||
45 | void unbindPriorityMemberCode(UserTv resources); | 37 | void unbindPriorityMemberCode(UserTv resources); |
46 | 38 | ||
39 | /** | ||
40 | * | ||
41 | * @param id | ||
42 | */ | ||
47 | void delete(Long id); | 43 | void delete(Long id); |
48 | 44 | ||
45 | /** | ||
46 | * | ||
47 | * @param platformAccount | ||
48 | * @return | ||
49 | */ | ||
49 | UserTvDTO findByPlatformAccount(String platformAccount); | 50 | UserTvDTO findByPlatformAccount(String platformAccount); |
51 | |||
52 | /** | ||
53 | * | ||
54 | * @param memberCode | ||
55 | * @return | ||
56 | */ | ||
57 | UserTvDTO findByPriorityMemberCode(String memberCode); | ||
58 | |||
59 | /** | ||
60 | * 通过会员 | ||
61 | * @param memberId | ||
62 | * @return | ||
63 | */ | ||
64 | UserTvDTO findByMemberId(Long memberId); | ||
65 | |||
66 | /** | ||
67 | * 检查会员是否是主账号 | ||
68 | * @param memberId | ||
69 | * @param memberCode | ||
70 | * @return | ||
71 | */ | ||
72 | boolean checkPriorityMemberByMemberIdOrMemberCode(Long memberId,String memberCode); | ||
73 | |||
74 | /** | ||
75 | * | ||
76 | * @param platformAccount | ||
77 | * @return | ||
78 | */ | ||
79 | MemberDTO findMemberByPlatformAccount(String platformAccount); | ||
80 | |||
50 | } | 81 | } | ... | ... |
... | @@ -14,6 +14,13 @@ import java.time.LocalDateTime; | ... | @@ -14,6 +14,13 @@ import java.time.LocalDateTime; |
14 | @Data | 14 | @Data |
15 | public class UserTvDTO implements Serializable { | 15 | public class UserTvDTO implements Serializable { |
16 | 16 | ||
17 | private Long visUserId; | ||
18 | |||
19 | private String memberCode; | ||
20 | |||
21 | /** 绑定的小屏账户会员编码 */ | ||
22 | private String priorityMemberCode; | ||
23 | |||
17 | // ID | 24 | // ID |
18 | private Long id; | 25 | private Long id; |
19 | 26 | ||
... | @@ -48,7 +55,7 @@ public class UserTvDTO implements Serializable { | ... | @@ -48,7 +55,7 @@ public class UserTvDTO implements Serializable { |
48 | private Integer continueDays; | 55 | private Integer continueDays; |
49 | 56 | ||
50 | // 活跃时间 | 57 | // 活跃时间 |
51 | private LocalDateTime activeTime; | 58 | private Timestamp activeTime; |
52 | 59 | ||
53 | // 分组 分组ID用逗号分隔 | 60 | // 分组 分组ID用逗号分隔 |
54 | private String groups; | 61 | private String groups; | ... | ... |
... | @@ -6,24 +6,18 @@ import com.topdraw.business.module.user.iptv.domain.UserTv; | ... | @@ -6,24 +6,18 @@ import com.topdraw.business.module.user.iptv.domain.UserTv; |
6 | import com.topdraw.business.module.user.iptv.repository.UserTvRepository; | 6 | 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.dto.UserTvQueryCriteria; | ||
10 | import com.topdraw.business.module.user.iptv.service.mapper.UserTvMapper; | 9 | import com.topdraw.business.module.user.iptv.service.mapper.UserTvMapper; |
11 | import com.topdraw.utils.PageUtil; | 10 | import com.topdraw.exception.EntityNotFoundException; |
12 | import com.topdraw.utils.QueryHelp; | 11 | import com.topdraw.exception.GlobeExceptionMsg; |
13 | import com.topdraw.utils.ValidationUtil; | 12 | import com.topdraw.utils.ValidationUtil; |
14 | import org.springframework.beans.BeanUtils; | 13 | import org.apache.commons.lang3.StringUtils; |
15 | import org.springframework.beans.factory.annotation.Autowired; | 14 | import org.springframework.beans.factory.annotation.Autowired; |
16 | import org.springframework.dao.EmptyResultDataAccessException; | 15 | import org.springframework.dao.EmptyResultDataAccessException; |
17 | import org.springframework.data.domain.Page; | ||
18 | import org.springframework.data.domain.Pageable; | ||
19 | import org.springframework.stereotype.Service; | 16 | import org.springframework.stereotype.Service; |
20 | import org.springframework.transaction.annotation.Propagation; | 17 | import org.springframework.transaction.annotation.Propagation; |
21 | import org.springframework.transaction.annotation.Transactional; | 18 | import org.springframework.transaction.annotation.Transactional; |
22 | import org.springframework.util.Assert; | 19 | import org.springframework.util.Assert; |
23 | 20 | ||
24 | import java.time.LocalDateTime; | ||
25 | import java.util.List; | ||
26 | import java.util.Map; | ||
27 | import java.util.Objects; | 21 | import java.util.Objects; |
28 | import java.util.Optional; | 22 | import java.util.Optional; |
29 | 23 | ||
... | @@ -36,40 +30,63 @@ import java.util.Optional; | ... | @@ -36,40 +30,63 @@ import java.util.Optional; |
36 | public class UserTvServiceImpl implements UserTvService { | 30 | public class UserTvServiceImpl implements UserTvService { |
37 | 31 | ||
38 | @Autowired | 32 | @Autowired |
39 | private UserTvRepository UserTvRepository; | 33 | private UserTvMapper userTvMapper; |
40 | |||
41 | @Autowired | ||
42 | private UserTvMapper UserTvMapper; | ||
43 | @Autowired | 34 | @Autowired |
44 | private MemberService memberService; | 35 | private MemberService memberService; |
45 | 36 | @Autowired | |
37 | private UserTvRepository userTvRepository; | ||
38 | |||
39 | /** | ||
40 | * 获取大屏账户对应的会员 | ||
41 | * <Waring> | ||
42 | * 如果绑定了小屏,则获取对应主账号对应的会员信息,如果没有绑定小屏会员则默认获取大屏自己的会员(x_member) | ||
43 | * </Waring> | ||
44 | * @param platformAccount | ||
45 | * @return | ||
46 | */ | ||
46 | @Override | 47 | @Override |
47 | public Map<String, Object> queryAll(UserTvQueryCriteria criteria, Pageable pageable) { | 48 | public MemberDTO findMemberByPlatformAccount(String platformAccount){ |
48 | Page<UserTv> page = UserTvRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | 49 | // 大屏账户 |
49 | return PageUtil.toPage(page.map(UserTvMapper::toDto)); | 50 | UserTvDTO userTvDTO = this.findByPlatformAccount(platformAccount); |
51 | |||
52 | if (Objects.nonNull(userTvDTO)) { | ||
53 | |||
54 | // 主账号会员code | ||
55 | String priorityMemberCode = userTvDTO.getPriorityMemberCode(); | ||
56 | if (StringUtils.isNotBlank(platformAccount)) | ||
57 | return this.findMemberByMemberCode(priorityMemberCode); | ||
58 | else | ||
59 | return this.findMemberByMemberId(userTvDTO.getMemberId()); | ||
60 | |||
61 | } | ||
62 | |||
63 | throw new EntityNotFoundException(UserTvDTO.class,"platformAccount", GlobeExceptionMsg.IPTV_IS_NULL); | ||
50 | } | 64 | } |
51 | 65 | ||
52 | @Override | 66 | private MemberDTO findMemberByMemberCode(String memberCode) { |
53 | public List<UserTvDTO> queryAll(UserTvQueryCriteria criteria) { | 67 | return this.memberService.findByCode(memberCode); |
54 | return UserTvMapper.toDto(UserTvRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | 68 | } |
69 | |||
70 | private MemberDTO findMemberByMemberId(Long memberId) { | ||
71 | return this.memberService.findById(memberId); | ||
55 | } | 72 | } |
56 | 73 | ||
57 | @Override | 74 | @Override |
58 | public UserTvDTO findById(Long id) { | 75 | public UserTvDTO findById(Long id) { |
59 | UserTv UserTv = UserTvRepository.findById(id).orElseGet(UserTv::new); | 76 | UserTv UserTv = this.userTvRepository.findById(id).orElseGet(UserTv::new); |
60 | ValidationUtil.isNull(UserTv.getId(),"UserTv","id",id); | 77 | ValidationUtil.isNull(UserTv.getId(),"UserTv","id",id); |
61 | return UserTvMapper.toDto(UserTv); | 78 | return this.userTvMapper.toDto(UserTv); |
62 | } | 79 | } |
63 | 80 | ||
64 | @Override | 81 | @Override |
65 | @Transactional(rollbackFor = Exception.class) | 82 | @Transactional(rollbackFor = Exception.class) |
66 | public Long create(UserTv resources) { | 83 | public UserTv create(UserTv resources) { |
67 | MemberDTO memberDTO = memberService.getByCode(resources.getMemberCode()); | 84 | MemberDTO memberDTO = memberService.findByCode(resources.getMemberCode()); |
68 | if (Objects.nonNull(memberDTO)) { | 85 | if (Objects.nonNull(memberDTO)) { |
69 | Long id = memberDTO.getId(); | 86 | Long id = memberDTO.getId(); |
70 | resources.setMemberId(id); | 87 | resources.setMemberId(id); |
71 | UserTvRepository.save(resources); | 88 | this.userTvRepository.save(resources); |
72 | return resources.getId(); | 89 | return resources; |
73 | } | 90 | } |
74 | return null; | 91 | return null; |
75 | } | 92 | } |
... | @@ -77,53 +94,74 @@ public class UserTvServiceImpl implements UserTvService { | ... | @@ -77,53 +94,74 @@ public class UserTvServiceImpl implements UserTvService { |
77 | @Override | 94 | @Override |
78 | @Transactional(rollbackFor = Exception.class) | 95 | @Transactional(rollbackFor = Exception.class) |
79 | public void update(UserTv resources) { | 96 | public void update(UserTv resources) { |
80 | 97 | UserTv UserTv = this.userTvRepository.findById(resources.getId()).orElseGet(UserTv::new); | |
81 | String platformAccount = resources.getPlatformAccount(); | 98 | ValidationUtil.isNull( UserTv.getId(),"UserTv","id",resources.getId()); |
82 | UserTvDTO userTvDTO = this.findByPlatformAccount(platformAccount); | 99 | UserTv.copy(resources); |
83 | ValidationUtil.isNull(userTvDTO.getId(),"UserTv","id",resources.getId()); | 100 | this.userTvRepository.save(UserTv); |
84 | |||
85 | UserTv userTv = new UserTv(); | ||
86 | BeanUtils.copyProperties(resources,userTv); | ||
87 | |||
88 | userTv.setId(userTvDTO.getId()); | ||
89 | userTv.setMemberId(userTvDTO.getMemberId()); | ||
90 | userTv.setUpdateTime(LocalDateTime.now()); | ||
91 | UserTvRepository.save(userTv); | ||
92 | } | 101 | } |
93 | 102 | ||
94 | |||
95 | @Override | 103 | @Override |
96 | @Transactional(rollbackFor = Exception.class) | 104 | @Transactional(rollbackFor = Exception.class) |
97 | public void unbindPriorityMemberCode(UserTv resources) { | 105 | public void unbindPriorityMemberCode(UserTv resources) { |
98 | String platformAccount = resources.getPlatformAccount(); | 106 | UserTv UserTv = this.userTvRepository.findById(resources.getId()).orElseGet(UserTv::new); |
99 | UserTvDTO userTvDTO = this.findByPlatformAccount(platformAccount); | 107 | ValidationUtil.isNull( UserTv.getId(),"UserTv","id",resources.getId()); |
100 | // UserTv UserTv = UserTvRepository.findById(resources.getId()).orElseGet(UserTv::new); | 108 | UserTv.copy(resources); |
101 | ValidationUtil.isNull( userTvDTO.getId(),"UserTv","id",resources.getId()); | 109 | this.userTvRepository.save(UserTv); |
102 | //UserTv.copy(resources); | ||
103 | UserTv userTv = new UserTv(); | ||
104 | BeanUtils.copyProperties(userTvDTO,userTv); | ||
105 | userTv.setPriorityMemberCode(null); | ||
106 | UserTvRepository.save(userTv); | ||
107 | } | 110 | } |
108 | 111 | ||
109 | @Override | 112 | @Override |
110 | @Transactional(rollbackFor = Exception.class) | 113 | @Transactional(rollbackFor = Exception.class) |
111 | public void delete(Long id) { | 114 | public void delete(Long id) { |
112 | Assert.notNull(id, "The given id must not be null!"); | 115 | Assert.notNull(id, "The given id must not be null!"); |
113 | UserTv UserTv = UserTvRepository.findById(id).orElseThrow( | 116 | UserTv UserTv = this.userTvRepository.findById(id).orElseThrow( |
114 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", UserTv.class, id), 1)); | 117 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", UserTv.class, id), 1)); |
115 | UserTvRepository.delete(UserTv); | 118 | this.userTvRepository.delete(UserTv); |
116 | } | 119 | } |
117 | 120 | ||
118 | @Override | 121 | @Override |
119 | public UserTvDTO findByPlatformAccount(String platformAccount) { | 122 | public UserTvDTO findByPlatformAccount(String platformAccount) { |
120 | Optional<UserTv> userTv = UserTvRepository.findByPlatformAccount(platformAccount); | 123 | Optional<UserTv> userTv = this.userTvRepository.findByPlatformAccount(platformAccount); |
121 | if (userTv.isPresent()) { | 124 | if (userTv.isPresent()) { |
122 | ValidationUtil.isNull( userTv.get().getId(),"UserTv","id",userTv.get().getId()); | 125 | ValidationUtil.isNull( userTv.get().getId(),"UserTv","id",userTv.get().getId()); |
123 | return UserTvMapper.toDto(userTv.get()); | 126 | return this.userTvMapper.toDto(userTv.get()); |
124 | } | 127 | } |
125 | return null; | 128 | return null; |
126 | } | 129 | } |
127 | 130 | ||
131 | @Override | ||
132 | public UserTvDTO findByPriorityMemberCode(String memberCode) { | ||
133 | Optional<UserTv> userTv = this.userTvRepository.findByPriorityMemberCode(memberCode); | ||
134 | if (userTv.isPresent()) { | ||
135 | ValidationUtil.isNull( userTv.get().getId(),"UserTv","id",userTv.get().getId()); | ||
136 | return this.userTvMapper.toDto(userTv.get()); | ||
137 | } | ||
138 | return null; | ||
139 | } | ||
140 | |||
141 | @Override | ||
142 | public UserTvDTO findByMemberId(Long memberId) { | ||
143 | Optional<UserTv> userTv = this.userTvRepository.findByMemberId(memberId); | ||
144 | if (userTv.isPresent()) { | ||
145 | ValidationUtil.isNull( userTv.get().getId(),"UserTv","id",userTv.get().getId()); | ||
146 | return this.userTvMapper.toDto(userTv.get()); | ||
147 | } | ||
148 | return null; | ||
149 | } | ||
150 | |||
151 | @Override | ||
152 | public boolean checkPriorityMemberByMemberIdOrMemberCode(Long memberId, String memberCode) { | ||
153 | // 检查会员是否存在 | ||
154 | this.checkMember(memberId, memberCode); | ||
155 | |||
156 | UserTvDTO userTvDTO = this.findByPriorityMemberCode(memberCode); | ||
157 | if (Objects.nonNull(userTvDTO)) { | ||
158 | return true; | ||
159 | } | ||
160 | return false; | ||
161 | } | ||
162 | |||
163 | private void checkMember(Long memberId, String memberCode){ | ||
164 | this.memberService.checkMember(memberId, memberCode); | ||
165 | } | ||
128 | 166 | ||
129 | } | 167 | } | ... | ... |
... | @@ -81,7 +81,7 @@ public class UserWeixin extends DefaultAsyncMqModule implements Serializable { | ... | @@ -81,7 +81,7 @@ public class UserWeixin extends DefaultAsyncMqModule implements Serializable { |
81 | 81 | ||
82 | // 超时时间 | 82 | // 超时时间 |
83 | @Column(name = "expires_time") | 83 | @Column(name = "expires_time") |
84 | private LocalDateTime expiresTime; | 84 | private Timestamp expiresTime; |
85 | 85 | ||
86 | // 描述 | 86 | // 描述 |
87 | @Column(name = "description") | 87 | @Column(name = "description") |
... | @@ -131,7 +131,7 @@ public class UserWeixin extends DefaultAsyncMqModule implements Serializable { | ... | @@ -131,7 +131,7 @@ public class UserWeixin extends DefaultAsyncMqModule implements Serializable { |
131 | 131 | ||
132 | // 授权时间 | 132 | // 授权时间 |
133 | @Column(name = "auth_time") | 133 | @Column(name = "auth_time") |
134 | private LocalDateTime authTime; | 134 | private Timestamp authTime; |
135 | 135 | ||
136 | @Column(name = "sex") | 136 | @Column(name = "sex") |
137 | private Integer sex; | 137 | private Integer sex; | ... | ... |
1 | package com.topdraw.business.module.user.weixin.domain; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.exception.BadRequestException; | ||
5 | import com.topdraw.exception.GlobeExceptionMsg; | ||
6 | import com.topdraw.util.TimestampUtil; | ||
7 | import org.apache.commons.lang3.StringUtils; | ||
8 | |||
9 | import java.sql.Timestamp; | ||
10 | import java.util.Objects; | ||
11 | |||
12 | /** | ||
13 | * @author : | ||
14 | * @description: | ||
15 | * @function : | ||
16 | * @date :Created in 2022/3/14 17:02 | ||
17 | * @version: : | ||
18 | * @modified By: | ||
19 | * @since : modified in 2022/3/14 17:02 | ||
20 | */ | ||
21 | public class UserWeixinBuilder { | ||
22 | |||
23 | public static UserWeixin build(Long memberId, String appId, String openId, String unionId, String nickname, String headimgurl){ | ||
24 | UserWeixin userWeixin = new UserWeixin(); | ||
25 | userWeixin.setAppid(appId); | ||
26 | userWeixin.setOpenid(openId); | ||
27 | userWeixin.setUnionid(unionId); | ||
28 | userWeixin.setNickname(nickname); | ||
29 | userWeixin.setHeadimgurl(headimgurl); | ||
30 | return build(memberId,userWeixin); | ||
31 | } | ||
32 | |||
33 | public static UserWeixin build(Long memberId, String appId, String openId, String unionId){ | ||
34 | UserWeixin userWeixin = new UserWeixin(); | ||
35 | userWeixin.setAppid(appId); | ||
36 | userWeixin.setOpenid(openId); | ||
37 | userWeixin.setUnionid(unionId); | ||
38 | return build(memberId,userWeixin); | ||
39 | } | ||
40 | |||
41 | public static UserWeixin build(UserWeixin userWeixin){ | ||
42 | return build(userWeixin.getId(), | ||
43 | userWeixin.getMemberId(), | ||
44 | userWeixin.getMemberCode(), | ||
45 | userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(), | ||
46 | userWeixin.getStatus(),userWeixin.getSyncStatus(), | ||
47 | userWeixin.getNickname(),userWeixin.getHeadimgurl(), | ||
48 | userWeixin.getPrivilege(), userWeixin.getRefreshToken(),userWeixin.getAccessToken(), | ||
49 | userWeixin.getExpiresIn(),userWeixin.getExpiresTime(),userWeixin.getDescription(), | ||
50 | userWeixin.getCreateBy(),userWeixin.getUpdateBy(),userWeixin.getSourceType(),userWeixin.getSourceId(), | ||
51 | userWeixin.getSourceDesc(),userWeixin.getSourceUser(),userWeixin.getSourceEntity(),userWeixin.getCountry(),userWeixin.getProvince(), | ||
52 | userWeixin.getCity(),userWeixin.getSex()); | ||
53 | } | ||
54 | |||
55 | public static UserWeixin build(Long memberId , String memberCode, UserWeixin userWeixin){ | ||
56 | return build(userWeixin.getId(), | ||
57 | memberId, | ||
58 | memberCode, | ||
59 | userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(), | ||
60 | userWeixin.getStatus(),userWeixin.getSyncStatus(), | ||
61 | userWeixin.getNickname(),userWeixin.getHeadimgurl(), | ||
62 | userWeixin.getPrivilege(), userWeixin.getRefreshToken(),userWeixin.getAccessToken(), | ||
63 | userWeixin.getExpiresIn(),userWeixin.getExpiresTime(),userWeixin.getDescription(), | ||
64 | userWeixin.getCreateBy(),userWeixin.getUpdateBy(),userWeixin.getSourceType(),userWeixin.getSourceId(), | ||
65 | userWeixin.getSourceDesc(),userWeixin.getSourceUser(),userWeixin.getSourceEntity(),userWeixin.getCountry(),userWeixin.getProvince(), | ||
66 | userWeixin.getCity(),userWeixin.getSex()); | ||
67 | } | ||
68 | |||
69 | public static UserWeixin build(Long memberId , UserWeixin userWeixin){ | ||
70 | return build(userWeixin.getId(), | ||
71 | memberId, | ||
72 | userWeixin.getMemberCode(), | ||
73 | userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(), | ||
74 | userWeixin.getStatus(),userWeixin.getSyncStatus(), | ||
75 | userWeixin.getNickname(),userWeixin.getHeadimgurl(), | ||
76 | userWeixin.getPrivilege(), userWeixin.getRefreshToken(),userWeixin.getAccessToken(), | ||
77 | userWeixin.getExpiresIn(),userWeixin.getExpiresTime(),userWeixin.getDescription(), | ||
78 | userWeixin.getCreateBy(),userWeixin.getUpdateBy(),userWeixin.getSourceType(),userWeixin.getSourceId(), | ||
79 | userWeixin.getSourceDesc(),userWeixin.getSourceUser(),userWeixin.getSourceEntity(),userWeixin.getCountry(),userWeixin.getProvince(), | ||
80 | userWeixin.getCity(),userWeixin.getSex()); | ||
81 | } | ||
82 | |||
83 | public static UserWeixin build(Member member , UserWeixin userWeixin) { | ||
84 | return build(userWeixin.getId(), | ||
85 | member.getId(), | ||
86 | member.getCode(), | ||
87 | userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(), | ||
88 | userWeixin.getStatus(),userWeixin.getSyncStatus(), | ||
89 | userWeixin.getNickname(),userWeixin.getHeadimgurl(), | ||
90 | userWeixin.getPrivilege(), userWeixin.getRefreshToken(),userWeixin.getAccessToken(), | ||
91 | userWeixin.getExpiresIn(),userWeixin.getExpiresTime(),userWeixin.getDescription(), | ||
92 | userWeixin.getCreateBy(),userWeixin.getUpdateBy(),userWeixin.getSourceType(),userWeixin.getSourceId(), | ||
93 | userWeixin.getSourceDesc(),userWeixin.getSourceUser(),userWeixin.getSourceEntity(),userWeixin.getCountry(),userWeixin.getProvince(), | ||
94 | userWeixin.getCity(),userWeixin.getSex()); | ||
95 | } | ||
96 | |||
97 | |||
98 | public static UserWeixin build(Long id , | ||
99 | Long memberId, | ||
100 | String memberCode, | ||
101 | String unionId, String appId, String openId, | ||
102 | Integer status, Integer syncStatus, | ||
103 | String nickname, String headimgurl, | ||
104 | String privilege, String refreshToken, | ||
105 | String accessToken, Integer expiresIn, Timestamp expiresTime, String description, | ||
106 | String createBy, String updateBy, | ||
107 | String sourceType, String sourceId, | ||
108 | String sourceDesc, | ||
109 | Long sourceUser, String sourceEntity, | ||
110 | String country, String province, String city, | ||
111 | Integer sex){ | ||
112 | |||
113 | if (Objects.isNull(memberId)) { | ||
114 | throw new BadRequestException(GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
115 | } | ||
116 | |||
117 | UserWeixin userWeixin = new UserWeixin(); | ||
118 | userWeixin.setId(Objects.nonNull(id)?id:null); | ||
119 | userWeixin.setMemberId(memberId); | ||
120 | userWeixin.setMemberCode(memberCode); | ||
121 | userWeixin.setUnionid(StringUtils.isNotBlank(unionId)?unionId:""); | ||
122 | userWeixin.setAppid(StringUtils.isNotBlank(appId)?appId:""); | ||
123 | userWeixin.setOpenid(StringUtils.isNotBlank(openId)?openId:""); | ||
124 | userWeixin.setStatus(Objects.nonNull(status)?status:0); | ||
125 | userWeixin.setSyncStatus(Objects.nonNull(syncStatus)?syncStatus:0); | ||
126 | userWeixin.setNickname(StringUtils.isNotBlank(nickname)?nickname:""); | ||
127 | userWeixin.setHeadimgurl(StringUtils.isNotBlank(headimgurl)?headimgurl:""); | ||
128 | userWeixin.setPrivilege(StringUtils.isNotBlank(privilege)?privilege:""); | ||
129 | userWeixin.setRefreshToken(StringUtils.isNotBlank(refreshToken)?refreshToken:""); | ||
130 | userWeixin.setAccessToken(StringUtils.isNotBlank(accessToken)?accessToken:""); | ||
131 | userWeixin.setExpiresIn(expiresIn); | ||
132 | userWeixin.setExpiresTime(expiresTime); | ||
133 | userWeixin.setDescription(StringUtils.isNotBlank(description)?description:""); | ||
134 | userWeixin.setCreateBy(StringUtils.isNotBlank(createBy)?createBy:"system"); | ||
135 | userWeixin.setUpdateBy(StringUtils.isNotBlank(updateBy)?updateBy:"system"); | ||
136 | userWeixin.setSourceType(StringUtils.isNotBlank(sourceType)?sourceType:""); | ||
137 | userWeixin.setSourceId(StringUtils.isNotBlank(sourceId)?sourceId:""); | ||
138 | userWeixin.setSourceDesc(StringUtils.isNotBlank(sourceDesc)?sourceId:""); | ||
139 | userWeixin.setSourceUser(Objects.nonNull(sourceUser)?sourceUser:0L); | ||
140 | userWeixin.setSourceEntity(StringUtils.isNotBlank(sourceEntity)?sourceEntity:""); | ||
141 | userWeixin.setAuthTime(TimestampUtil.now()); | ||
142 | userWeixin.setCountry(StringUtils.isNotBlank(country)?country:""); | ||
143 | userWeixin.setProvince(StringUtils.isNotBlank(province)?province:""); | ||
144 | userWeixin.setCity(StringUtils.isNotBlank(city)?city:""); | ||
145 | userWeixin.setSex(Objects.nonNull(sex)?sex:-1); | ||
146 | return userWeixin; | ||
147 | } | ||
148 | |||
149 | } |
... | @@ -16,10 +16,19 @@ import java.util.Optional; | ... | @@ -16,10 +16,19 @@ import java.util.Optional; |
16 | */ | 16 | */ |
17 | public interface UserWeixinRepository extends JpaRepository<UserWeixin, Long>, JpaSpecificationExecutor<UserWeixin> { | 17 | public interface UserWeixinRepository extends JpaRepository<UserWeixin, Long>, JpaSpecificationExecutor<UserWeixin> { |
18 | 18 | ||
19 | Optional<UserWeixin> findFirstByMemberIdAndAppid(Long memberId, String appid); | ||
20 | |||
21 | Optional<UserWeixin> findFirstByUnionidAndAppidAndOpenid(String unionId, String appId, String openId); | ||
22 | |||
19 | Optional<UserWeixin> findFirstByAppidAndOpenid(String appId, String openId); | 23 | Optional<UserWeixin> findFirstByAppidAndOpenid(String appId, String openId); |
20 | 24 | ||
25 | Optional<UserWeixin> findFirstByUnionid(String unionid); | ||
26 | |||
27 | Optional<UserWeixin> findFirstByUnionidAndAppid(String unionid, String appId); | ||
28 | |||
21 | @Modifying | 29 | @Modifying |
22 | @Transactional | 30 | @Transactional |
23 | @Query(value = "update uc_user_weixin set update_time = :#{#resources.updateTime} where appid = :#{#resources.appid} and openid = :#{#resources.openid}" , nativeQuery = true) | 31 | @Query(value = "update `uc_user_weixin` set update_time = :#{#resources.updateTime} where appid = :#{#resources.appid} and openid = :#{#resources.openid}" , nativeQuery = true) |
24 | void updateTime(@Param("resources") UserWeixin resources); | 32 | void updateTime(@Param("resources") UserWeixin resources); |
33 | |||
25 | } | 34 | } | ... | ... |
... | @@ -15,35 +15,76 @@ import java.util.Map; | ... | @@ -15,35 +15,76 @@ import java.util.Map; |
15 | public interface UserWeixinService { | 15 | public interface UserWeixinService { |
16 | 16 | ||
17 | /** | 17 | /** |
18 | * 查询数据分页 | ||
19 | * @param criteria 条件参数 | ||
20 | * @param pageable 分页参数 | ||
21 | * @return Map<String,Object> | ||
22 | */ | ||
23 | Map<String,Object> queryAll(UserWeixinQueryCriteria criteria, Pageable pageable); | ||
24 | |||
25 | /** | ||
26 | * 查询所有数据不分页 | ||
27 | * @param criteria 条件参数 | ||
28 | * @return List<UserWeixinDTO> | ||
29 | */ | ||
30 | List<UserWeixinDTO> queryAll(UserWeixinQueryCriteria criteria); | ||
31 | |||
32 | /** | ||
33 | * 根据ID查询 | 18 | * 根据ID查询 |
34 | * @param id ID | 19 | * @param id ID |
35 | * @return UserWeixinDTO | 20 | * @return UserWeixinDTO |
36 | */ | 21 | */ |
37 | UserWeixinDTO findById(Long id); | 22 | UserWeixinDTO findById(Long id); |
38 | 23 | ||
39 | void updateTime(UserWeixin resources); | 24 | /** |
40 | 25 | * | |
41 | void create(UserWeixin resources); | 26 | * @param resources |
27 | * @return | ||
28 | */ | ||
29 | UserWeixin create(UserWeixin resources); | ||
42 | 30 | ||
31 | /** | ||
32 | * | ||
33 | * @param resources | ||
34 | */ | ||
43 | void update(UserWeixin resources); | 35 | void update(UserWeixin resources); |
44 | 36 | ||
37 | /** | ||
38 | * | ||
39 | * @param resources | ||
40 | */ | ||
41 | void updateTime(UserWeixin resources); | ||
42 | |||
43 | /** | ||
44 | * | ||
45 | * @param id | ||
46 | */ | ||
45 | void delete(Long id); | 47 | void delete(Long id); |
46 | 48 | ||
49 | /** | ||
50 | * | ||
51 | * @param memberId | ||
52 | * @param appid | ||
53 | * @return | ||
54 | */ | ||
55 | UserWeixinDTO findFirstByMemberIdAndAppid(Long memberId, String appid); | ||
56 | |||
57 | /** | ||
58 | * | ||
59 | * @param unionId | ||
60 | * @param appId | ||
61 | * @param openId | ||
62 | * @return | ||
63 | */ | ||
64 | UserWeixinDTO findFirstByUnionIdAndAppIdAndOpenId(String unionId, String appId, String openId); | ||
65 | |||
66 | /** | ||
67 | * | ||
68 | * @param appId | ||
69 | * @param openId | ||
70 | * @return | ||
71 | */ | ||
47 | UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId); | 72 | UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId); |
48 | 73 | ||
74 | /** | ||
75 | * | ||
76 | * @param unionid | ||
77 | * @return | ||
78 | */ | ||
79 | UserWeixinDTO findFirstByUnionId(String unionid); | ||
80 | |||
81 | /** | ||
82 | * | ||
83 | * @param unionid | ||
84 | * @param appId | ||
85 | * @return | ||
86 | */ | ||
87 | UserWeixinDTO findFirstByUnionidAndAppid(String unionid, String appId); | ||
88 | |||
89 | |||
49 | } | 90 | } | ... | ... |
... | @@ -54,7 +54,7 @@ public class UserWeixinDTO implements Serializable { | ... | @@ -54,7 +54,7 @@ public class UserWeixinDTO implements Serializable { |
54 | private Integer expiresIn; | 54 | private Integer expiresIn; |
55 | 55 | ||
56 | // 超时时间 | 56 | // 超时时间 |
57 | private LocalDateTime expiresTime; | 57 | private Timestamp expiresTime; |
58 | 58 | ||
59 | // 描述 | 59 | // 描述 |
60 | private String description; | 60 | private String description; |
... | @@ -90,7 +90,7 @@ public class UserWeixinDTO implements Serializable { | ... | @@ -90,7 +90,7 @@ public class UserWeixinDTO implements Serializable { |
90 | private String sourceEntity; | 90 | private String sourceEntity; |
91 | 91 | ||
92 | // 授权时间 | 92 | // 授权时间 |
93 | private LocalDateTime authTime; | 93 | private Timestamp authTime; |
94 | 94 | ||
95 | private Integer sex; | 95 | private Integer sex; |
96 | 96 | ... | ... |
1 | package com.topdraw.business.module.user.weixin.service.impl; | 1 | package com.topdraw.business.module.user.weixin.service.impl; |
2 | 2 | ||
3 | import com.topdraw.business.module.member.service.MemberService; | ||
4 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
5 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; | 3 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; |
4 | import com.topdraw.business.module.user.weixin.domain.UserWeixinBuilder; | ||
6 | import com.topdraw.business.module.user.weixin.repository.UserWeixinRepository; | 5 | import com.topdraw.business.module.user.weixin.repository.UserWeixinRepository; |
7 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; | 6 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; |
8 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | 7 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; |
9 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinQueryCriteria; | ||
10 | import com.topdraw.business.module.user.weixin.service.mapper.UserWeixinMapper; | 8 | import com.topdraw.business.module.user.weixin.service.mapper.UserWeixinMapper; |
11 | import com.topdraw.utils.PageUtil; | ||
12 | import com.topdraw.utils.QueryHelp; | ||
13 | import com.topdraw.utils.ValidationUtil; | 9 | import com.topdraw.utils.ValidationUtil; |
14 | import lombok.extern.slf4j.Slf4j; | 10 | import lombok.extern.slf4j.Slf4j; |
15 | import org.springframework.beans.BeanUtils; | ||
16 | import org.springframework.beans.factory.annotation.Autowired; | 11 | import org.springframework.beans.factory.annotation.Autowired; |
17 | import org.springframework.dao.EmptyResultDataAccessException; | 12 | import org.springframework.dao.EmptyResultDataAccessException; |
18 | import org.springframework.data.domain.Page; | ||
19 | import org.springframework.data.domain.Pageable; | ||
20 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
21 | import org.springframework.transaction.annotation.Propagation; | 14 | import org.springframework.transaction.annotation.Propagation; |
22 | import org.springframework.transaction.annotation.Transactional; | 15 | import org.springframework.transaction.annotation.Transactional; |
23 | import org.springframework.util.Assert; | 16 | import org.springframework.util.Assert; |
24 | 17 | ||
25 | import java.sql.Time; | ||
26 | import java.sql.Timestamp; | ||
27 | import java.time.LocalDateTime; | ||
28 | import java.util.List; | ||
29 | import java.util.Map; | ||
30 | |||
31 | /** | 18 | /** |
32 | * @author XiangHan | 19 | * @author XiangHan |
33 | * @date 2021-12-16 | 20 | * @date 2021-12-16 |
... | @@ -38,83 +25,78 @@ import java.util.Map; | ... | @@ -38,83 +25,78 @@ import java.util.Map; |
38 | public class UserWeixinServiceImpl implements UserWeixinService { | 25 | public class UserWeixinServiceImpl implements UserWeixinService { |
39 | 26 | ||
40 | @Autowired | 27 | @Autowired |
41 | private UserWeixinRepository UserWeixinRepository; | 28 | private UserWeixinRepository userWeixinRepository; |
42 | 29 | ||
43 | @Autowired | 30 | @Autowired |
44 | private UserWeixinMapper UserWeixinMapper; | 31 | private UserWeixinMapper userWeixinMapper; |
45 | @Autowired | ||
46 | private MemberService memberService; | ||
47 | |||
48 | @Override | ||
49 | public Map<String, Object> queryAll(UserWeixinQueryCriteria criteria, Pageable pageable) { | ||
50 | Page<UserWeixin> page = UserWeixinRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
51 | return PageUtil.toPage(page.map(UserWeixinMapper::toDto)); | ||
52 | } | ||
53 | |||
54 | @Override | ||
55 | public List<UserWeixinDTO> queryAll(UserWeixinQueryCriteria criteria) { | ||
56 | return UserWeixinMapper.toDto(UserWeixinRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
57 | } | ||
58 | 32 | ||
59 | @Override | 33 | @Override |
60 | public UserWeixinDTO findById(Long id) { | 34 | public UserWeixinDTO findById(Long id) { |
61 | UserWeixin UserWeixin = UserWeixinRepository.findById(id).orElseGet(UserWeixin::new); | 35 | UserWeixin UserWeixin = this.userWeixinRepository.findById(id).orElseGet(UserWeixin::new); |
62 | ValidationUtil.isNull(UserWeixin.getId(),"UserWeixin","id",id); | 36 | ValidationUtil.isNull(UserWeixin.getId(),"UserWeixin","id",id); |
63 | return UserWeixinMapper.toDto(UserWeixin); | 37 | return this.userWeixinMapper.toDto(UserWeixin); |
64 | } | 38 | } |
65 | 39 | ||
66 | @Override | 40 | @Override |
67 | @Transactional(rollbackFor = Exception.class) | 41 | @Transactional(rollbackFor = Exception.class) |
68 | public void updateTime(UserWeixin resources) { | 42 | public UserWeixin create(UserWeixin resources) { |
69 | log.info("updateTime ==>> resources ==>> [{}]",resources); | 43 | UserWeixin build = UserWeixinBuilder.build(resources); |
70 | String appid = resources.getAppid(); | 44 | this.userWeixinRepository.save(build); |
71 | String openid = resources.getOpenid(); | 45 | return resources; |
72 | UserWeixin userWeixin = UserWeixinRepository.findFirstByAppidAndOpenid(appid,openid).orElseGet(UserWeixin::new); | ||
73 | ValidationUtil.isNull( userWeixin.getId(),"UserWeixin","id",resources.getId()); | ||
74 | userWeixin.setUpdateTime(LocalDateTime.now()); | ||
75 | log.info("userWeixin ==>> userWeixin ==>> [{}]",userWeixin); | ||
76 | UserWeixinRepository.updateTime(userWeixin); | ||
77 | } | 46 | } |
78 | 47 | ||
79 | @Override | 48 | @Override |
80 | @Transactional(rollbackFor = Exception.class) | 49 | @Transactional(rollbackFor = Exception.class) |
81 | public void create(UserWeixin resources) { | 50 | public void update(UserWeixin resources) { |
82 | resources.setMemberId(null); | 51 | UserWeixin UserWeixin = this.userWeixinRepository.findById(resources.getId()).orElseGet(UserWeixin::new); |
83 | String memberCode = resources.getMemberCode(); | 52 | ValidationUtil.isNull( UserWeixin.getId(),"UserWeixin","id",resources.getId()); |
84 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 53 | UserWeixin.copy(resources); |
85 | resources.setMemberId(memberDTO.getId()); | 54 | this.userWeixinRepository.save(UserWeixin); |
86 | UserWeixinRepository.save(resources); | ||
87 | } | 55 | } |
88 | 56 | ||
89 | @Override | 57 | @Override |
90 | @Transactional(rollbackFor = Exception.class) | 58 | public void updateTime(UserWeixin resources) { |
91 | public void update(UserWeixin resources) { | 59 | this.userWeixinRepository.updateTime(resources); |
92 | log.info("update ==>> resources ==>> [{}]",resources); | ||
93 | String appid = resources.getAppid(); | ||
94 | String openid = resources.getOpenid(); | ||
95 | UserWeixin userWeixin = UserWeixinRepository.findFirstByAppidAndOpenid(appid,openid).orElseGet(UserWeixin::new); | ||
96 | ValidationUtil.isNull( userWeixin.getId(),"UserWeixin","id",resources.getId()); | ||
97 | resources.setId(userWeixin.getId()); | ||
98 | resources.setMemberId(userWeixin.getMemberId()); | ||
99 | BeanUtils.copyProperties(resources,userWeixin); | ||
100 | log.info("update ==>>userWeixin ==>> resources ==>> [{}]",resources); | ||
101 | UserWeixinRepository.save(resources); | ||
102 | } | 60 | } |
103 | 61 | ||
104 | @Override | 62 | @Override |
105 | @Transactional(rollbackFor = Exception.class) | 63 | @Transactional(rollbackFor = Exception.class) |
106 | public void delete(Long id) { | 64 | public void delete(Long id) { |
107 | Assert.notNull(id, "The given id must not be null!"); | 65 | Assert.notNull(id, "The given id must not be null!"); |
108 | UserWeixin UserWeixin = UserWeixinRepository.findById(id).orElseThrow( | 66 | UserWeixin UserWeixin = this.userWeixinRepository.findById(id).orElseThrow( |
109 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", UserWeixin.class, id), 1)); | 67 | () -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", UserWeixin.class, id), 1)); |
110 | UserWeixinRepository.delete(UserWeixin); | 68 | this.userWeixinRepository.delete(UserWeixin); |
69 | } | ||
70 | |||
71 | @Override | ||
72 | public UserWeixinDTO findFirstByMemberIdAndAppid(Long memberId, String appid) { | ||
73 | UserWeixin userWeixin = this.userWeixinRepository.findFirstByMemberIdAndAppid(memberId, appid).orElseGet(UserWeixin::new); | ||
74 | ValidationUtil.isNull(userWeixin.getId(),"UserWeixin","id",memberId); | ||
75 | return this.userWeixinMapper.toDto(userWeixin); | ||
76 | } | ||
77 | |||
78 | @Override | ||
79 | public UserWeixinDTO findFirstByUnionIdAndAppIdAndOpenId(String unionId, String appId, String openId) { | ||
80 | UserWeixin userWeixin = this.userWeixinRepository.findFirstByUnionidAndAppidAndOpenid(unionId, appId,openId).orElseGet(UserWeixin::new); | ||
81 | return this.userWeixinMapper.toDto(userWeixin); | ||
111 | } | 82 | } |
112 | 83 | ||
113 | @Override | 84 | @Override |
114 | public UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId) { | 85 | public UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId) { |
115 | UserWeixin userWeixin = this.UserWeixinRepository.findFirstByAppidAndOpenid(appId,openId).orElseGet(UserWeixin::new); | 86 | UserWeixin userWeixin = this.userWeixinRepository.findFirstByAppidAndOpenid(appId,openId).orElseGet(UserWeixin::new); |
116 | return UserWeixinMapper.toDto(userWeixin); | 87 | return this.userWeixinMapper.toDto(userWeixin); |
88 | } | ||
89 | |||
90 | @Override | ||
91 | public UserWeixinDTO findFirstByUnionId(String unionid) { | ||
92 | UserWeixin userWeixin = this.userWeixinRepository.findFirstByUnionid(unionid).orElseGet(UserWeixin::new); | ||
93 | return this.userWeixinMapper.toDto(userWeixin); | ||
117 | } | 94 | } |
118 | 95 | ||
96 | @Override | ||
97 | public UserWeixinDTO findFirstByUnionidAndAppid(String unionid, String appId) { | ||
98 | UserWeixin userWeixin = this.userWeixinRepository.findFirstByUnionidAndAppid(unionid,appId).orElseGet(UserWeixin::new); | ||
99 | return this.userWeixinMapper.toDto(userWeixin); | ||
100 | } | ||
119 | 101 | ||
120 | } | 102 | } | ... | ... |
1 | package com.topdraw.business.process.service; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
5 | |||
6 | public interface MemberOperationService { | ||
7 | |||
8 | void doUpdateMemberInfo(Member member); | ||
9 | |||
10 | void doInsertMember(Member member); | ||
11 | |||
12 | MemberDTO findById(Long memberId); | ||
13 | |||
14 | void doUpdateMemberExp(Member member); | ||
15 | |||
16 | void doUpdateMemberPoints(Member member); | ||
17 | |||
18 | void doUpdateMemberCoupon(Member member); | ||
19 | } |
... | @@ -8,11 +8,8 @@ import com.topdraw.business.module.member.service.MemberService; | ... | @@ -8,11 +8,8 @@ import com.topdraw.business.module.member.service.MemberService; |
8 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 8 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
9 | import com.topdraw.business.process.domian.TempCoupon; | 9 | import com.topdraw.business.process.domian.TempCoupon; |
10 | import com.topdraw.business.process.service.CouponOperationService; | 10 | import com.topdraw.business.process.service.CouponOperationService; |
11 | import com.topdraw.business.process.service.MemberOperationService; | ||
12 | import com.topdraw.business.process.service.RightsOperationService; | 11 | import com.topdraw.business.process.service.RightsOperationService; |
13 | import com.topdraw.util.RedissonUtil; | 12 | import com.topdraw.business.process.service.member.MemberOperationService; |
14 | import org.redisson.api.RLock; | ||
15 | import org.redisson.api.RedissonClient; | ||
16 | import org.slf4j.Logger; | 13 | import org.slf4j.Logger; |
17 | import org.slf4j.LoggerFactory; | 14 | import org.slf4j.LoggerFactory; |
18 | import org.springframework.beans.BeanUtils; | 15 | import org.springframework.beans.BeanUtils; |
... | @@ -127,7 +124,7 @@ public class CouponOperationServiceImpl implements CouponOperationService { | ... | @@ -127,7 +124,7 @@ public class CouponOperationServiceImpl implements CouponOperationService { |
127 | member.setCouponAmount(currentCoupon); | 124 | member.setCouponAmount(currentCoupon); |
128 | member.setDueCouponAmount(expireSoonCouponCount); | 125 | member.setDueCouponAmount(expireSoonCouponCount); |
129 | member.setUpdateTime(LocalDateTime.now()); | 126 | member.setUpdateTime(LocalDateTime.now()); |
130 | this.memberOperationService.doUpdateMemberInfo(member); | 127 | this.memberOperationService.doUpdateMember(member); |
131 | } | 128 | } |
132 | 129 | ||
133 | private MemberDTO findMemberByMemberId(Long memberId) { | 130 | private MemberDTO findMemberByMemberId(Long memberId) { | ... | ... |
... | @@ -9,12 +9,9 @@ import com.topdraw.business.module.member.service.MemberService; | ... | @@ -9,12 +9,9 @@ import com.topdraw.business.module.member.service.MemberService; |
9 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 9 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
10 | import com.topdraw.business.process.domian.TempExp; | 10 | import com.topdraw.business.process.domian.TempExp; |
11 | import com.topdraw.business.process.service.ExpOperationService; | 11 | import com.topdraw.business.process.service.ExpOperationService; |
12 | import com.topdraw.business.process.service.MemberOperationService; | 12 | import com.topdraw.business.process.service.member.MemberOperationService; |
13 | import com.topdraw.util.IdWorker; | 13 | import com.topdraw.util.IdWorker; |
14 | import com.topdraw.util.RedissonUtil; | ||
15 | import com.topdraw.utils.StringUtils; | 14 | import com.topdraw.utils.StringUtils; |
16 | import org.redisson.api.RLock; | ||
17 | import org.redisson.api.RedissonClient; | ||
18 | import org.slf4j.Logger; | 15 | import org.slf4j.Logger; |
19 | import org.slf4j.LoggerFactory; | 16 | import org.slf4j.LoggerFactory; |
20 | import org.springframework.beans.BeanUtils; | 17 | import org.springframework.beans.BeanUtils; |
... | @@ -76,7 +73,7 @@ public class ExpOperationServiceImpl implements ExpOperationService { | ... | @@ -76,7 +73,7 @@ public class ExpOperationServiceImpl implements ExpOperationService { |
76 | */ | 73 | */ |
77 | private void refresh(TempExp tempExp) { | 74 | private void refresh(TempExp tempExp) { |
78 | String memberCode = tempExp.getMemberCode(); | 75 | String memberCode = tempExp.getMemberCode(); |
79 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 76 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
80 | Long id = memberDTO.getId(); | 77 | Long id = memberDTO.getId(); |
81 | tempExp.setId(id); | 78 | tempExp.setId(id); |
82 | try { | 79 | try { |
... | @@ -146,7 +143,7 @@ public class ExpOperationServiceImpl implements ExpOperationService { | ... | @@ -146,7 +143,7 @@ public class ExpOperationServiceImpl implements ExpOperationService { |
146 | member.setExp(totalExp); | 143 | member.setExp(totalExp); |
147 | member.setLevel(level); | 144 | member.setLevel(level); |
148 | member.setUpdateTime(LocalDateTime.now()); | 145 | member.setUpdateTime(LocalDateTime.now()); |
149 | this.memberOperationService.doUpdateMemberInfo(member); | 146 | this.memberOperationService.doUpdateMember(member); |
150 | } | 147 | } |
151 | 148 | ||
152 | private MemberDTO findMemberByMemberId(Long memberId) { | 149 | private MemberDTO findMemberByMemberId(Long memberId) { | ... | ... |
src/main/java/com/topdraw/business/process/service/impl/MemberOperationServiceImpl.java
deleted
100644 → 0
1 | package com.topdraw.business.process.service.impl; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.service.MemberService; | ||
5 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
6 | import com.topdraw.business.process.service.MemberOperationService; | ||
7 | import org.springframework.beans.factory.annotation.Autowired; | ||
8 | import org.springframework.stereotype.Service; | ||
9 | import org.springframework.util.Assert; | ||
10 | |||
11 | import java.util.Objects; | ||
12 | |||
13 | @Service | ||
14 | public class MemberOperationServiceImpl implements MemberOperationService { | ||
15 | |||
16 | @Autowired | ||
17 | MemberService memberService; | ||
18 | |||
19 | @Override | ||
20 | public void doUpdateMemberInfo(Member member) { | ||
21 | Long id = member.getId(); | ||
22 | Assert.notNull(id,"ERROR MSG: MemberOperationServiceImpl -> doUpdateMemberInfo -> id not be null!!"); | ||
23 | this.memberService.update(member); | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public void doInsertMember(Member member) { | ||
28 | this.memberService.create(member); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public MemberDTO findById(Long memberId) { | ||
33 | return Objects.nonNull(memberId) ? this.memberService.findById(memberId) : null; | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public void doUpdateMemberExp(Member member) { | ||
38 | this.doUpdateMemberInfo(member); | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public void doUpdateMemberPoints(Member member) { | ||
43 | this.memberService.doUpdateMemberPoints(member); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public void doUpdateMemberCoupon(Member member) { | ||
48 | this.doUpdateMemberInfo(member); | ||
49 | } | ||
50 | } |
... | @@ -12,17 +12,12 @@ import com.topdraw.business.module.points.detail.domain.PointsDetail; | ... | @@ -12,17 +12,12 @@ import com.topdraw.business.module.points.detail.domain.PointsDetail; |
12 | import com.topdraw.business.module.points.detail.service.PointsDetailService; | 12 | import com.topdraw.business.module.points.detail.service.PointsDetailService; |
13 | import com.topdraw.business.module.points.service.PointsService; | 13 | import com.topdraw.business.module.points.service.PointsService; |
14 | import com.topdraw.business.process.domian.TempPoints; | 14 | import com.topdraw.business.process.domian.TempPoints; |
15 | import com.topdraw.business.process.service.MemberOperationService; | ||
16 | import com.topdraw.business.process.service.PointsOperationService; | 15 | import com.topdraw.business.process.service.PointsOperationService; |
16 | import com.topdraw.business.process.service.member.MemberOperationService; | ||
17 | import com.topdraw.util.IdWorker; | 17 | import com.topdraw.util.IdWorker; |
18 | import com.topdraw.util.RedissonUtil; | ||
19 | import com.topdraw.util.TimestampUtil; | 18 | import com.topdraw.util.TimestampUtil; |
20 | import com.topdraw.utils.StringUtils; | 19 | import com.topdraw.utils.StringUtils; |
21 | import lombok.extern.slf4j.Slf4j; | 20 | import lombok.extern.slf4j.Slf4j; |
22 | import org.redisson.api.RLock; | ||
23 | import org.redisson.api.RedissonClient; | ||
24 | import org.slf4j.Logger; | ||
25 | import org.slf4j.LoggerFactory; | ||
26 | import org.springframework.beans.BeanUtils; | 21 | import org.springframework.beans.BeanUtils; |
27 | import org.springframework.beans.factory.annotation.Autowired; | 22 | import org.springframework.beans.factory.annotation.Autowired; |
28 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | 23 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
... | @@ -31,7 +26,6 @@ import org.springframework.transaction.annotation.Propagation; | ... | @@ -31,7 +26,6 @@ import org.springframework.transaction.annotation.Propagation; |
31 | import org.springframework.transaction.annotation.Transactional; | 26 | import org.springframework.transaction.annotation.Transactional; |
32 | import org.springframework.util.CollectionUtils; | 27 | import org.springframework.util.CollectionUtils; |
33 | 28 | ||
34 | import java.sql.Timestamp; | ||
35 | import java.time.LocalDateTime; | 29 | import java.time.LocalDateTime; |
36 | import java.util.*; | 30 | import java.util.*; |
37 | import java.util.stream.Collectors; | 31 | import java.util.stream.Collectors; |
... | @@ -44,8 +38,6 @@ import java.util.stream.Collectors; | ... | @@ -44,8 +38,6 @@ import java.util.stream.Collectors; |
44 | @Slf4j | 38 | @Slf4j |
45 | public class PointsOperationServiceImpl implements PointsOperationService { | 39 | public class PointsOperationServiceImpl implements PointsOperationService { |
46 | 40 | ||
47 | private static final Logger LOG = LoggerFactory.getLogger(PointsOperationServiceImpl.class); | ||
48 | |||
49 | @Autowired | 41 | @Autowired |
50 | PointsService pointsService; | 42 | PointsService pointsService; |
51 | @Autowired | 43 | @Autowired |
... | @@ -80,7 +72,7 @@ public class PointsOperationServiceImpl implements PointsOperationService { | ... | @@ -80,7 +72,7 @@ public class PointsOperationServiceImpl implements PointsOperationService { |
80 | public void grantPointsByManualByTempPoints(TempPoints tempPoints) { | 72 | public void grantPointsByManualByTempPoints(TempPoints tempPoints) { |
81 | if (Objects.nonNull(tempPoints) && Objects.nonNull(tempPoints.getPoints())) { | 73 | if (Objects.nonNull(tempPoints) && Objects.nonNull(tempPoints.getPoints())) { |
82 | String memberCode = tempPoints.getMemberCode(); | 74 | String memberCode = tempPoints.getMemberCode(); |
83 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 75 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
84 | if (Objects.nonNull(memberDTO)) { | 76 | if (Objects.nonNull(memberDTO)) { |
85 | Long memberId = memberDTO.getId(); | 77 | Long memberId = memberDTO.getId(); |
86 | tempPoints.setMemberId(memberId); | 78 | tempPoints.setMemberId(memberId); |
... | @@ -101,7 +93,7 @@ public class PointsOperationServiceImpl implements PointsOperationService { | ... | @@ -101,7 +93,7 @@ public class PointsOperationServiceImpl implements PointsOperationService { |
101 | 93 | ||
102 | String memberCode = tempPoints.getMemberCode(); | 94 | String memberCode = tempPoints.getMemberCode(); |
103 | 95 | ||
104 | MemberDTO memberDTO = this.memberService.getByCode(memberCode); | 96 | MemberDTO memberDTO = this.memberService.findByCode(memberCode); |
105 | 97 | ||
106 | if (Objects.nonNull(memberDTO)) { | 98 | if (Objects.nonNull(memberDTO)) { |
107 | 99 | ... | ... |
1 | package com.topdraw.business.process.service.impl.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.address.domain.MemberAddress; | ||
4 | import com.topdraw.business.module.member.address.service.MemberAddressService; | ||
5 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; | ||
6 | import com.topdraw.business.process.service.member.MemberAddressOperationService; | ||
7 | import lombok.extern.slf4j.Slf4j; | ||
8 | import org.springframework.beans.factory.annotation.Autowired; | ||
9 | import org.springframework.stereotype.Service; | ||
10 | import org.springframework.transaction.annotation.Propagation; | ||
11 | import org.springframework.transaction.annotation.Transactional; | ||
12 | |||
13 | /** | ||
14 | * @author XiangHan | ||
15 | * @date 2021-10-22 | ||
16 | */ | ||
17 | @Service | ||
18 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | ||
19 | @Slf4j | ||
20 | public class MemberAddressOperationServiceImpl implements MemberAddressOperationService { | ||
21 | |||
22 | @Autowired | ||
23 | private MemberAddressService memberAddressService; | ||
24 | |||
25 | @Override | ||
26 | public MemberAddressDTO findById(Long id) { | ||
27 | return this.memberAddressService.findById(id); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | @Transactional(rollbackFor = Exception.class) | ||
32 | public MemberAddressDTO create(MemberAddress resources) { | ||
33 | log.info("MemberAddressOperationServiceImpl ==>> create ==>> param ==>> [{}]",resources); | ||
34 | return this.memberAddressService.create(resources); | ||
35 | } | ||
36 | |||
37 | @Override | ||
38 | @Transactional(rollbackFor = Exception.class) | ||
39 | public MemberAddressDTO update(MemberAddress resources) { | ||
40 | log.info("MemberAddressOperationServiceImpl ==>> update ==>> param ==>> [{}]",resources); | ||
41 | |||
42 | return this.memberAddressService.update(resources); | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | @Transactional(rollbackFor = Exception.class) | ||
47 | public void delete(Long id) { | ||
48 | this.memberAddressService.delete(id); | ||
49 | } | ||
50 | |||
51 | } |
src/main/java/com/topdraw/business/process/service/impl/member/MemberOperationServiceImpl.java
0 → 100644
1 | package com.topdraw.business.process.service.impl.member; | ||
2 | |||
3 | import cn.hutool.core.util.ObjectUtil; | ||
4 | import com.topdraw.business.module.member.domain.Member; | ||
5 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | ||
6 | import com.topdraw.business.module.member.service.MemberService; | ||
7 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
8 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; | ||
9 | import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService; | ||
10 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; | ||
11 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; | ||
12 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | ||
13 | import com.topdraw.business.process.domian.weixin.BuyVipBean; | ||
14 | import com.topdraw.business.process.service.member.MemberOperationService; | ||
15 | import com.topdraw.business.process.service.member.MemberProfileOperationService; | ||
16 | import com.topdraw.exception.EntityNotFoundException; | ||
17 | import org.springframework.beans.BeanUtils; | ||
18 | import org.springframework.beans.factory.annotation.Autowired; | ||
19 | import org.springframework.cache.annotation.CacheConfig; | ||
20 | import org.springframework.cache.annotation.CachePut; | ||
21 | import org.springframework.cache.annotation.Cacheable; | ||
22 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | ||
23 | import org.springframework.stereotype.Service; | ||
24 | import org.springframework.util.Assert; | ||
25 | |||
26 | import java.time.LocalDateTime; | ||
27 | import java.time.ZoneOffset; | ||
28 | import java.util.Objects; | ||
29 | |||
30 | @Service | ||
31 | @CacheConfig(cacheNames = "member") | ||
32 | public class MemberOperationServiceImpl implements MemberOperationService { | ||
33 | |||
34 | @Autowired | ||
35 | private MemberService memberService; | ||
36 | @Autowired | ||
37 | private MemberProfileOperationService memberProfileOperationService; | ||
38 | @Autowired | ||
39 | private MemberVipHistoryService memberVipHistoryService; | ||
40 | @Autowired | ||
41 | private UserWeixinService userWeixinService; | ||
42 | @Autowired | ||
43 | private ThreadPoolTaskExecutor threadPoolTaskExecutor; | ||
44 | |||
45 | // @Cacheable(key = "#memberId") | ||
46 | @Override | ||
47 | public MemberDTO findById(Long memberId) { | ||
48 | MemberDTO memberDTO = this.memberService.findById(memberId); | ||
49 | return Objects.nonNull(memberId) ? memberDTO : null; | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public MemberDTO findByCode(String code) { | ||
54 | return this.memberService.findByCode(code); | ||
55 | } | ||
56 | |||
57 | public void createVipHistory(MemberVipHistory memberVipHistory){ | ||
58 | this.memberVipHistoryService.create(memberVipHistory); | ||
59 | } | ||
60 | |||
61 | @CachePut(key = "#resources.id") | ||
62 | @Override | ||
63 | public MemberDTO update(Member resources) { | ||
64 | MemberDTO memberDTO = this.memberService.update(resources); | ||
65 | return memberDTO; | ||
66 | } | ||
67 | |||
68 | @Override | ||
69 | public MemberDTO doUpdateMember(Member resources) { | ||
70 | Long id = resources.getId(); | ||
71 | Assert.notNull(id,"ERROR MSG: MemberOperationServiceImpl -> doUpdateMemberInfo -> id not be null!!"); | ||
72 | return this.update(resources); | ||
73 | } | ||
74 | |||
75 | // @CachePut(key = "#resources.id") | ||
76 | @Override | ||
77 | public MemberDTO doInsertMember(Member resources) { | ||
78 | return this.memberService.create(resources); | ||
79 | } | ||
80 | |||
81 | |||
82 | |||
83 | @Override | ||
84 | public MemberDTO doUpdateMemberExp(Member member) { | ||
85 | return this.update(member); | ||
86 | } | ||
87 | |||
88 | |||
89 | // @CachePut(key = "#resources.id") | ||
90 | @Override | ||
91 | public MemberDTO doUpdateMemberPoints(Member resources) { | ||
92 | return this.memberService.doUpdateMemberPoints(resources); | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public MemberDTO doUpdateMemberCoupon(Member member) { | ||
97 | return this.update(member); | ||
98 | } | ||
99 | |||
100 | @Override | ||
101 | public MemberProfileDTO getMemberProfileAndCheckVip(Long memberId, String appid) { | ||
102 | |||
103 | // 会员加密信息 | ||
104 | MemberProfileDTO memberProfileDTO_0 = this.findMemberProfileByMemberId(memberId); | ||
105 | |||
106 | // 会员信息 | ||
107 | MemberDTO memberDTO = this.findById(memberId); | ||
108 | |||
109 | // 初始化会员加密信息 | ||
110 | MemberProfileDTO memberProfileDTO_1 = this.configMemberProfile(memberProfileDTO_0,memberDTO,appid); | ||
111 | |||
112 | return memberProfileDTO_1; | ||
113 | } | ||
114 | |||
115 | /** | ||
116 | * 配置会员信息 | ||
117 | * @param memberProfileDTO_0 | ||
118 | * @param memberDTO | ||
119 | * @return | ||
120 | */ | ||
121 | private MemberProfileDTO configMemberProfile(MemberProfileDTO memberProfileDTO_0, MemberDTO memberDTO, String appid) { | ||
122 | |||
123 | if (Objects.isNull(memberProfileDTO_0)) return memberProfileDTO_0; | ||
124 | |||
125 | MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); | ||
126 | BeanUtils.copyProperties(memberProfileDTO_0,memberProfileDTO); | ||
127 | |||
128 | // vip | ||
129 | Integer vip = memberDTO.getVip(); | ||
130 | // 过期时间 | ||
131 | LocalDateTime vipExpireTime = memberDTO.getVipExpireTime(); | ||
132 | |||
133 | Long timeLong = 0L; | ||
134 | if (ObjectUtil.isNotNull(vipExpireTime)) { | ||
135 | |||
136 | // 检查vip | ||
137 | MemberDTO memberDTO1 = this.checkVipStatus(memberDTO,vipExpireTime,appid); | ||
138 | |||
139 | // 更新会员信息 | ||
140 | this.threadPoolTaskExecutor.execute(()->{ | ||
141 | Member member = new Member(); | ||
142 | BeanUtils.copyProperties(memberDTO1,member); | ||
143 | this.memberService.update(member); | ||
144 | }); | ||
145 | |||
146 | vip = memberDTO1.getVip(); | ||
147 | LocalDateTime vipExpireTime1 = memberDTO1.getVipExpireTime(); | ||
148 | if (Objects.nonNull(vipExpireTime1)) { | ||
149 | timeLong = vipExpireTime1.toInstant(ZoneOffset.of("+8")).toEpochMilli(); | ||
150 | } | ||
151 | } | ||
152 | |||
153 | // 过期时间 | ||
154 | memberProfileDTO.setVipExpireTime(timeLong); | ||
155 | // 头像 | ||
156 | memberProfileDTO.setAvatarUrl(memberDTO.getAvatarUrl()); | ||
157 | // 生日 | ||
158 | memberProfileDTO.setBirthday(memberDTO.getBirthday()); | ||
159 | // 性别 | ||
160 | memberProfileDTO.setGender(memberDTO.getGender()); | ||
161 | // 会员id | ||
162 | memberProfileDTO.setMemberId(memberDTO.getId()); | ||
163 | // vip | ||
164 | memberProfileDTO.setVip(vip); | ||
165 | |||
166 | return memberProfileDTO; | ||
167 | } | ||
168 | |||
169 | /** | ||
170 | * 检查vip是否过期 | ||
171 | * 1.当前vip如果过期则查看是否有vip历史变动 | ||
172 | * 2.如果vip变动历史有记录则获取vip变动记录 | ||
173 | * 3.如果vip没有记录则查看是否关注了公众号 | ||
174 | * @param vipExpireTime | ||
175 | * @return | ||
176 | */ | ||
177 | private MemberDTO checkVipStatus(MemberDTO memberDTO, LocalDateTime vipExpireTime, String appid) { | ||
178 | |||
179 | Long memberId = memberDTO.getId(); | ||
180 | LocalDateTime nowTime = LocalDateTime.now(); | ||
181 | |||
182 | //vip过期,回退上个vip状态 同时修改member表vip | ||
183 | if (nowTime.compareTo(vipExpireTime) >= 0 ) { | ||
184 | |||
185 | Integer vip = 0; | ||
186 | LocalDateTime vipExpireTime1 = memberDTO.getVipExpireTime(); | ||
187 | |||
188 | //查询小于失效时间的那条记录 查不到 取微信表里 关注状态 | ||
189 | MemberVipHistory memberVipHistory = this.memberVipHistoryService.findByTime(memberId, nowTime); | ||
190 | |||
191 | if (ObjectUtil.isNull(memberVipHistory.getId())) { | ||
192 | |||
193 | UserWeixinDTO userWeixin = this.userWeixinService.findFirstByMemberIdAndAppid(memberId, appid); | ||
194 | // 微信公众号关注的状态 0:未关注 1:关注 | ||
195 | Integer status = userWeixin.getStatus(); | ||
196 | |||
197 | if (status != 1) vip = 0; else vip = 1; | ||
198 | vipExpireTime1 = null; | ||
199 | |||
200 | } else { | ||
201 | |||
202 | vip = memberVipHistory.getVip(); | ||
203 | vipExpireTime1 = memberVipHistory.getVipExpireTime(); | ||
204 | } | ||
205 | |||
206 | memberDTO.setVipExpireTime(vipExpireTime1); | ||
207 | memberDTO.setVip(vip); | ||
208 | } | ||
209 | |||
210 | return memberDTO; | ||
211 | } | ||
212 | |||
213 | /** | ||
214 | * 查询会员加密信息 | ||
215 | * @param memberId | ||
216 | * @return | ||
217 | */ | ||
218 | private MemberProfileDTO findMemberProfileByMemberId(Long memberId) { | ||
219 | return this.memberProfileOperationService.findByMemberId(memberId); | ||
220 | } | ||
221 | } |
1 | package com.topdraw.business.process.service.impl.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | ||
5 | import com.topdraw.business.module.member.profile.service.MemberProfileService; | ||
6 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | ||
7 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
8 | import com.topdraw.business.process.service.member.MemberOperationService; | ||
9 | import com.topdraw.business.process.service.member.MemberProfileOperationService; | ||
10 | import org.springframework.beans.factory.annotation.Autowired; | ||
11 | import org.springframework.stereotype.Service; | ||
12 | import org.springframework.util.StringUtils; | ||
13 | |||
14 | /** | ||
15 | * @author : | ||
16 | * @description: | ||
17 | * @function : | ||
18 | * @date :Created in 2022/3/20 17:34 | ||
19 | * @version: : | ||
20 | * @modified By: | ||
21 | * @since : modified in 2022/3/20 17:34 | ||
22 | */ | ||
23 | @Service | ||
24 | public class MemberProfileOperationServiceImpl implements MemberProfileOperationService { | ||
25 | |||
26 | @Autowired | ||
27 | private MemberProfileService memberProfileService; | ||
28 | @Autowired | ||
29 | private MemberOperationService memberOperationService; | ||
30 | |||
31 | @Override | ||
32 | public MemberProfileDTO findById(Long id) { | ||
33 | return this.memberProfileService.findById(id); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public MemberProfile create(MemberProfile resources) { | ||
38 | return this.memberProfileService.create(resources); | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public MemberProfile createDefault(MemberProfile resources) { | ||
43 | return this.memberProfileService.createDefault(resources); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public MemberProfile createDefault(Member resources) { | ||
48 | return this.memberProfileService.createDefault(resources); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public MemberProfile createDefaultByMemberId(Long resources) { | ||
53 | return this.memberProfileService.createDefaultByMemberId(resources); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public MemberProfileDTO update(MemberProfile resources) { | ||
58 | return this.memberProfileService.update(resources); | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | public void delete(Long id) { | ||
63 | this.memberProfileService.delete(id); | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public MemberProfileDTO findByMemberId(Long memberId) { | ||
68 | return this.memberProfileService.findByMemberId(memberId); | ||
69 | } | ||
70 | |||
71 | @Override | ||
72 | public MemberProfileDTO findByMemberCode(String memberCode) { | ||
73 | return this.memberProfileService.findByMemberCode(memberCode); | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public MemberProfileDTO updateMemberProfileAndMember(MemberProfile resources) { | ||
78 | String memberCode = resources.getMemberCode(); | ||
79 | MemberDTO memberDTO = null; | ||
80 | if (StringUtils.isEmpty(memberCode)) { | ||
81 | Long memberId = resources.getMemberId(); | ||
82 | memberDTO = this.memberOperationService.findById(memberId); | ||
83 | resources.setMemberCode(memberDTO.getCode()); | ||
84 | } | ||
85 | |||
86 | return this.memberProfileService.updateMemberProfileAndMember(resources, memberDTO); | ||
87 | } | ||
88 | } |
1 | package com.topdraw.business.process.service.impl.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | ||
5 | import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService; | ||
6 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; | ||
7 | import com.topdraw.business.process.service.member.MemberRelatedInfoOperationService; | ||
8 | import org.springframework.beans.factory.annotation.Autowired; | ||
9 | import org.springframework.stereotype.Service; | ||
10 | |||
11 | /** | ||
12 | * @author : | ||
13 | * @description: | ||
14 | * @function : | ||
15 | * @date :Created in 2022/3/20 18:41 | ||
16 | * @version: : | ||
17 | * @modified By: | ||
18 | * @since : modified in 2022/3/20 18:41 | ||
19 | */ | ||
20 | @Service | ||
21 | public class MemberRelatedInfoOperationServiceImpl implements MemberRelatedInfoOperationService { | ||
22 | |||
23 | @Autowired | ||
24 | private MemberRelatedInfoService memberRelatedInfoService; | ||
25 | |||
26 | @Override | ||
27 | public MemberRelatedInfoDTO findById(Long id) { | ||
28 | return this.memberRelatedInfoService.findById(id); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public void create(MemberRelatedInfo resources) { | ||
33 | this.memberRelatedInfoService.create(resources); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public void update(MemberRelatedInfo resources) { | ||
38 | this.memberRelatedInfoService.update(resources); | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public void delete(Long id) { | ||
43 | this.memberRelatedInfoService.delete(id); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public MemberRelatedInfoDTO findByIdCard(MemberRelatedInfo resources) { | ||
48 | return this.memberRelatedInfoService.findByIdCard(resources); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public MemberRelatedInfoDTO findByIdCard(String idCard) { | ||
53 | return this.memberRelatedInfoService.findByIdCard(idCard); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(Long memberId, String idCard) { | ||
58 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(memberId, idCard); | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | public MemberRelatedInfoDTO findByMemberCodeAndIdCard(String memberCode, String idCard) { | ||
63 | return this.memberRelatedInfoService.findByMemberCodeAndIdCard(memberCode, idCard); | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(MemberRelatedInfo resources) { | ||
68 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(resources); | ||
69 | } | ||
70 | |||
71 | @Override | ||
72 | public MemberRelatedInfoDTO findByMemberIdAndIdCard(Member member, MemberRelatedInfo resources) { | ||
73 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(member, resources); | ||
74 | } | ||
75 | } |
src/main/java/com/topdraw/business/process/service/member/MemberAddressOperationService.java
0 → 100644
1 | package com.topdraw.business.process.service.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.address.domain.MemberAddress; | ||
4 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; | ||
5 | |||
6 | public interface MemberAddressOperationService { | ||
7 | |||
8 | /** | ||
9 | * 根据ID查询 | ||
10 | * @param resources ID | ||
11 | * @return MemberAddressDTO | ||
12 | */ | ||
13 | MemberAddressDTO findById(Long resources); | ||
14 | |||
15 | /** | ||
16 | * 保存会员地址 | ||
17 | * @param resources | ||
18 | */ | ||
19 | MemberAddressDTO create(MemberAddress resources); | ||
20 | |||
21 | /** | ||
22 | * 修改会员地址 | ||
23 | * @param resources | ||
24 | */ | ||
25 | MemberAddressDTO update(MemberAddress resources); | ||
26 | |||
27 | /** | ||
28 | * 通过id删除 | ||
29 | * @param resources | ||
30 | */ | ||
31 | void delete(Long resources); | ||
32 | |||
33 | } |
1 | package com.topdraw.business.process.service.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | ||
5 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
6 | |||
7 | public interface MemberOperationService { | ||
8 | |||
9 | /** | ||
10 | * | ||
11 | * @param memberId | ||
12 | * @return | ||
13 | */ | ||
14 | MemberDTO findById(Long memberId); | ||
15 | |||
16 | /** | ||
17 | * | ||
18 | * @param code | ||
19 | * @return | ||
20 | */ | ||
21 | MemberDTO findByCode(String code); | ||
22 | |||
23 | /** | ||
24 | * 修改会员 | ||
25 | * @param resources | ||
26 | */ | ||
27 | MemberDTO update(Member resources); | ||
28 | |||
29 | /** | ||
30 | * | ||
31 | * @param member | ||
32 | */ | ||
33 | MemberDTO doUpdateMember(Member member); | ||
34 | |||
35 | /** | ||
36 | * | ||
37 | * @param member | ||
38 | */ | ||
39 | MemberDTO doInsertMember(Member member); | ||
40 | |||
41 | /** | ||
42 | * | ||
43 | * @param member | ||
44 | */ | ||
45 | MemberDTO doUpdateMemberExp(Member member); | ||
46 | |||
47 | /** | ||
48 | * | ||
49 | * @param member | ||
50 | */ | ||
51 | MemberDTO doUpdateMemberPoints(Member member); | ||
52 | |||
53 | /** | ||
54 | * | ||
55 | * @param member | ||
56 | */ | ||
57 | MemberDTO doUpdateMemberCoupon(Member member); | ||
58 | |||
59 | /** | ||
60 | * | ||
61 | * @param memberId | ||
62 | * @param appid | ||
63 | * @return | ||
64 | */ | ||
65 | MemberProfileDTO getMemberProfileAndCheckVip(Long memberId, String appid); | ||
66 | |||
67 | } |
src/main/java/com/topdraw/business/process/service/member/MemberProfileOperationService.java
0 → 100644
1 | package com.topdraw.business.process.service.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | ||
5 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | ||
6 | |||
7 | public interface MemberProfileOperationService { | ||
8 | |||
9 | /** | ||
10 | * 根据ID查询 | ||
11 | * @param id ID | ||
12 | * @return MemberProfileDTO | ||
13 | */ | ||
14 | MemberProfileDTO findById(Long id); | ||
15 | |||
16 | /** | ||
17 | * 保存 | ||
18 | * @param resources 会员基本信息 | ||
19 | * @return | ||
20 | */ | ||
21 | MemberProfile create(MemberProfile resources); | ||
22 | |||
23 | /** | ||
24 | * 默认属性 | ||
25 | * @param resources | ||
26 | * @return | ||
27 | */ | ||
28 | MemberProfile createDefault(MemberProfile resources); | ||
29 | |||
30 | /** | ||
31 | * 通过会员创建默认属性 | ||
32 | * @param resources | ||
33 | * @return | ||
34 | */ | ||
35 | MemberProfile createDefault(Member resources); | ||
36 | |||
37 | /** | ||
38 | * 通过会员id创建默认属性 | ||
39 | * @param resources | ||
40 | * @return | ||
41 | */ | ||
42 | MemberProfile createDefaultByMemberId(Long resources); | ||
43 | |||
44 | /** | ||
45 | * 修改 | ||
46 | * @param resources | ||
47 | */ | ||
48 | MemberProfileDTO update(MemberProfile resources); | ||
49 | |||
50 | /** | ||
51 | * 删除 | ||
52 | * @param id | ||
53 | */ | ||
54 | void delete(Long id); | ||
55 | |||
56 | /** | ||
57 | * 通过会员id查询 | ||
58 | * @param memberId | ||
59 | * @return | ||
60 | */ | ||
61 | MemberProfileDTO findByMemberId(Long memberId); | ||
62 | |||
63 | /** | ||
64 | * 通过会员code查询 | ||
65 | * @param memberCode | ||
66 | * @return | ||
67 | */ | ||
68 | MemberProfileDTO findByMemberCode(String memberCode); | ||
69 | |||
70 | /** | ||
71 | * 修改会员属性并同步会员信息 | ||
72 | * @param resources | ||
73 | */ | ||
74 | MemberProfileDTO updateMemberProfileAndMember(MemberProfile resources); | ||
75 | |||
76 | } |
src/main/java/com/topdraw/business/process/service/member/MemberRelatedInfoOperationService.java
0 → 100644
1 | package com.topdraw.business.process.service.member; | ||
2 | |||
3 | import com.topdraw.business.module.member.domain.Member; | ||
4 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | ||
5 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; | ||
6 | |||
7 | /** | ||
8 | * @author XiangHan | ||
9 | * @date 2021-10-22 | ||
10 | */ | ||
11 | public interface MemberRelatedInfoOperationService { | ||
12 | |||
13 | /** | ||
14 | * 根据ID查询 | ||
15 | * @param id ID | ||
16 | * @return MemberRelatedInfoDTO | ||
17 | */ | ||
18 | MemberRelatedInfoDTO findById(Long id); | ||
19 | |||
20 | /** | ||
21 | * 新增 | ||
22 | * @param resources | ||
23 | */ | ||
24 | void create(MemberRelatedInfo resources); | ||
25 | |||
26 | /** | ||
27 | * 修改 | ||
28 | * @param resources | ||
29 | */ | ||
30 | void update(MemberRelatedInfo resources); | ||
31 | |||
32 | /** | ||
33 | * 删除 | ||
34 | * @param id | ||
35 | */ | ||
36 | void delete(Long id); | ||
37 | |||
38 | /** | ||
39 | * 通过身份证查询 | ||
40 | * @param resources | ||
41 | * @return | ||
42 | */ | ||
43 | MemberRelatedInfoDTO findByIdCard(MemberRelatedInfo resources); | ||
44 | |||
45 | /** | ||
46 | * 通过身份证查询 | ||
47 | * @param idCard 身份证 | ||
48 | * @return | ||
49 | */ | ||
50 | MemberRelatedInfoDTO findByIdCard(String idCard); | ||
51 | |||
52 | /** | ||
53 | * | ||
54 | * @param memberId | ||
55 | * @param idCard | ||
56 | * @return | ||
57 | */ | ||
58 | MemberRelatedInfoDTO findByMemberIdAndIdCard(Long memberId, String idCard); | ||
59 | |||
60 | /** | ||
61 | * | ||
62 | * @param memberCode | ||
63 | * @param idCard | ||
64 | * @return | ||
65 | */ | ||
66 | MemberRelatedInfoDTO findByMemberCodeAndIdCard(String memberCode, String idCard); | ||
67 | |||
68 | /** | ||
69 | * | ||
70 | * @param resources | ||
71 | * @return | ||
72 | */ | ||
73 | MemberRelatedInfoDTO findByMemberIdAndIdCard(MemberRelatedInfo resources); | ||
74 | |||
75 | /** | ||
76 | * | ||
77 | * @param member | ||
78 | * @param resources | ||
79 | * @return | ||
80 | */ | ||
81 | MemberRelatedInfoDTO findByMemberIdAndIdCard(Member member, MemberRelatedInfo resources); | ||
82 | } |
... | @@ -34,15 +34,6 @@ public class RabbitMqConfig { | ... | @@ -34,15 +34,6 @@ public class RabbitMqConfig { |
34 | /** 微信侧 公众号关注与取消关注 */ | 34 | /** 微信侧 公众号关注与取消关注 */ |
35 | public static final String WEIXIN_SUBORUNSUB_QUEUE = "weixin.subOrUnSub.queue"; | 35 | public static final String WEIXIN_SUBORUNSUB_QUEUE = "weixin.subOrUnSub.queue"; |
36 | 36 | ||
37 | |||
38 | |||
39 | |||
40 | |||
41 | |||
42 | |||
43 | |||
44 | |||
45 | |||
46 | //////////////////////////////////////////////////////// 重数 /////////////////////////////////////////////////////////////// | 37 | //////////////////////////////////////////////////////// 重数 /////////////////////////////////////////////////////////////// |
47 | 38 | ||
48 | /** 路由(事件)--direct route.key*/ | 39 | /** 路由(事件)--direct route.key*/ |
... | @@ -53,6 +44,8 @@ public class RabbitMqConfig { | ... | @@ -53,6 +44,8 @@ public class RabbitMqConfig { |
53 | // uc-service 管理侧 | 44 | // uc-service 管理侧 |
54 | public static final String UC_ROUTE_KEY_DIRECT_EVENT_CCC = "uc.route.key.direct.event.ccc"; | 45 | public static final String UC_ROUTE_KEY_DIRECT_EVENT_CCC = "uc.route.key.direct.event.ccc"; |
55 | 46 | ||
47 | public static final String ENGINE_TO_IPTV_CONSUMER_MEMBER_DIRECT = "engine.iptv.consumer.member.direct"; | ||
48 | |||
56 | @Value("${mutil-mq.service.host}") | 49 | @Value("${mutil-mq.service.host}") |
57 | private String serviceHost; | 50 | private String serviceHost; |
58 | @Value("${mutil-mq.service.port}") | 51 | @Value("${mutil-mq.service.port}") |
... | @@ -68,12 +61,6 @@ public class RabbitMqConfig { | ... | @@ -68,12 +61,6 @@ public class RabbitMqConfig { |
68 | @Primary | 61 | @Primary |
69 | public ConnectionFactory serviceConnectionFactory(){ | 62 | public ConnectionFactory serviceConnectionFactory(){ |
70 | CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); | 63 | CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); |
71 | /*connectionFactory.setHost("139.196.145.150"); | ||
72 | connectionFactory.setPort(5672); | ||
73 | connectionFactory.setUsername("admin"); | ||
74 | connectionFactory.setPassword("Topdraw1qaz"); | ||
75 | connectionFactory.setVirtualHost("member_center");*/ | ||
76 | |||
77 | connectionFactory.setHost(serviceHost); | 64 | connectionFactory.setHost(serviceHost); |
78 | connectionFactory.setPort(servicePort); | 65 | connectionFactory.setPort(servicePort); |
79 | connectionFactory.setUsername(serviceUserName); | 66 | connectionFactory.setUsername(serviceUserName); |
... | @@ -114,11 +101,6 @@ public class RabbitMqConfig { | ... | @@ -114,11 +101,6 @@ public class RabbitMqConfig { |
114 | @Bean(name = "managementConnectionFactory") | 101 | @Bean(name = "managementConnectionFactory") |
115 | public ConnectionFactory managementConnectionFactory(){ | 102 | public ConnectionFactory managementConnectionFactory(){ |
116 | CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); | 103 | CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); |
117 | /*connectionFactory.setHost("139.196.192.242"); | ||
118 | connectionFactory.setPort(5672); | ||
119 | connectionFactory.setUsername("member_center"); | ||
120 | connectionFactory.setPassword("Tjlh@2021"); | ||
121 | connectionFactory.setVirtualHost("member_center");*/ | ||
122 | connectionFactory.setHost(managementHost); | 104 | connectionFactory.setHost(managementHost); |
123 | connectionFactory.setPort(managementPort); | 105 | connectionFactory.setPort(managementPort); |
124 | connectionFactory.setUsername(managementUserName); | 106 | connectionFactory.setUsername(managementUserName); | ... | ... |
1 | package com.topdraw.exception; | ||
2 | |||
3 | /** | ||
4 | * @author : | ||
5 | * @description: | ||
6 | * @function : | ||
7 | * @date :Created in 2022/3/10 17:16 | ||
8 | * @version: : | ||
9 | * @modified By: | ||
10 | * @since : modified in 2022/3/10 17:16 | ||
11 | */ | ||
12 | public interface GlobeExceptionCode { | ||
13 | |||
14 | // 会员信息 | ||
15 | Integer MEMBER_CODE_IS_NULL = 000100001; | ||
16 | |||
17 | } |
1 | package com.topdraw.exception; | ||
2 | |||
3 | /** | ||
4 | * @author : | ||
5 | * @description: | ||
6 | * @function : | ||
7 | * @date :Created in 2022/3/10 17:16 | ||
8 | * @version: : | ||
9 | * @modified By: | ||
10 | * @since : modified in 2022/3/10 17:16 | ||
11 | */ | ||
12 | public interface GlobeExceptionMsg { | ||
13 | |||
14 | /**************************************************************/ | ||
15 | /** 系统 */ | ||
16 | String OPERATION_FORBID = "operation forbid"; | ||
17 | String ENTITY_ALREADY_EXISTS = "entity already exists"; | ||
18 | |||
19 | |||
20 | /**************************************************************/ | ||
21 | /** 优惠券 */ | ||
22 | String COUPON_ID_IS_NULL = "coupon id is null"; | ||
23 | String COUPON_CODE_IS_NULL = "coupon code is null"; | ||
24 | |||
25 | |||
26 | /**************************************************************/ | ||
27 | |||
28 | /** 会员管理 */ | ||
29 | String MEMBER_CODE_IS_NULL = "memberCode is null"; | ||
30 | String MEMBER_ID_IS_NULL = "memberId is null"; | ||
31 | String MEMBER_ID_AND_CODE_ARE_NULL = "memberId and memberCode both null"; | ||
32 | String MEMBER_INFO_ERROR = "member info is error"; | ||
33 | String MEMBER_BLOCK_STATUS = "member status is block"; | ||
34 | |||
35 | /**************************************************************/ | ||
36 | |||
37 | /** 账户管理 **/ | ||
38 | |||
39 | /** iptv */ | ||
40 | String IPTV_ID_IS_NULL = "iptvId is null"; | ||
41 | String IPTV_PLATFORM_ACCOUNT_IS_NULL = "platformAccount is null"; | ||
42 | String IPTV_IS_NULL = "iptv is null"; | ||
43 | String VIS_USER_ID_IS_NULL = "visUserId is null"; | ||
44 | |||
45 | /** 微信 */ | ||
46 | String APP_ID_IS_NULL = "appId is null"; | ||
47 | String OPEN_ID_IS_NULL = "openId is null"; | ||
48 | String UNION_ID_IS_NULL = "unionId is null"; | ||
49 | String ALREADY_BIND = "already bind"; | ||
50 | } |
... | @@ -18,8 +18,6 @@ import org.springframework.util.Assert; | ... | @@ -18,8 +18,6 @@ import org.springframework.util.Assert; |
18 | @Slf4j | 18 | @Slf4j |
19 | public class UcEngineEventConsumer { | 19 | public class UcEngineEventConsumer { |
20 | 20 | ||
21 | private static final Logger LOG = LoggerFactory.getLogger(UcEngineEventConsumer.class); | ||
22 | |||
23 | @Autowired | 21 | @Autowired |
24 | AutoRoute autoUser; | 22 | AutoRoute autoUser; |
25 | 23 | ||
... | @@ -35,7 +33,7 @@ public class UcEngineEventConsumer { | ... | @@ -35,7 +33,7 @@ public class UcEngineEventConsumer { |
35 | */ | 33 | */ |
36 | @RabbitHandler | 34 | @RabbitHandler |
37 | @RabbitListener(bindings = { | 35 | @RabbitListener(bindings = { |
38 | @QueueBinding(value = @Queue(value = RabbitMqConfig.UC_ROUTE_KEY_DIRECT_EVENT_BBB), | 36 | @QueueBinding(value = @Queue(value = RabbitMqConfig.ENGINE_TO_IPTV_CONSUMER_MEMBER_DIRECT), |
39 | exchange = @Exchange(value = ExchangeTypes.DIRECT)) | 37 | exchange = @Exchange(value = ExchangeTypes.DIRECT)) |
40 | }, containerFactory = "serviceRabbitListenerContainerFactory") | 38 | }, containerFactory = "serviceRabbitListenerContainerFactory") |
41 | public void ucEventConsumer(String content) { | 39 | public void ucEventConsumer(String content) { | ... | ... |
-
Please register or sign in to post a comment