1.优化
Showing
41 changed files
with
799 additions
and
412 deletions
| 1 | ALTER TABLE `uc_user_tv` | 1 | ALTER TABLE `uc_user_tv` |
| 2 | ADD COLUMN `vis_user_id` bigint(20) NULL DEFAULT NULL COMMENT 'vis_user表主键' AFTER `platform_account`; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 2 | MODIFY COLUMN `platform_account` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '运营商平台账号' AFTER `id`, | ||
| 3 | MODIFY COLUMN `member_id` bigint(20) NULL DEFAULT NULL COMMENT '会员id' AFTER `platform_account`, | ||
| 4 | ADD COLUMN `vis_user_id` bigint(0) UNSIGNED NULL COMMENT 'vis_user表主键' AFTER `member_id`, | ||
| 5 | MODIFY COLUMN `priority_member_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主会员编码' AFTER `member_id`, | ||
| 6 | MODIFY COLUMN `platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '运营商平台' AFTER `image`, | ||
| 7 | MODIFY COLUMN `person_id` bigint(20) NULL DEFAULT NULL COMMENT '人ID' AFTER `update_time`, | ||
| 8 | ADD UNIQUE INDEX `unique_vis_user_id`(`vis_user_id`) USING BTREE; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -22,7 +22,7 @@ import javax.validation.constraints.NotNull; | ... | @@ -22,7 +22,7 @@ import javax.validation.constraints.NotNull; |
| 22 | public class AsyncMqModule { | 22 | public class AsyncMqModule { |
| 23 | 23 | ||
| 24 | @Transient | 24 | @Transient |
| 25 | @NotNull(message = "memberCode can't be null" , groups = {CreateGroup.class, UpdateGroup.class}) | 25 | @NotNull(message = "memberCode can't be null" , groups = {UpdateGroup.class}) |
| 26 | private String memberCode; | 26 | private String memberCode; |
| 27 | 27 | ||
| 28 | /** 运营商平台账号 */ | 28 | /** 运营商平台账号 */ | ... | ... |
| ... | @@ -3,6 +3,7 @@ package com.topdraw.business.module.member.address.rest; | ... | @@ -3,6 +3,7 @@ package com.topdraw.business.module.member.address.rest; |
| 3 | import com.topdraw.aop.log.Log; | 3 | import com.topdraw.aop.log.Log; |
| 4 | import com.topdraw.business.module.common.validated.CreateGroup; | 4 | import com.topdraw.business.module.common.validated.CreateGroup; |
| 5 | import com.topdraw.business.module.common.validated.UpdateGroup; | 5 | import com.topdraw.business.module.common.validated.UpdateGroup; |
| 6 | import com.topdraw.business.process.service.member.MemberAddressOperationService; | ||
| 6 | import com.topdraw.common.ResultInfo; | 7 | import com.topdraw.common.ResultInfo; |
| 7 | import com.topdraw.business.module.member.address.domain.MemberAddress; | 8 | import com.topdraw.business.module.member.address.domain.MemberAddress; |
| 8 | import com.topdraw.business.module.member.address.service.MemberAddressService; | 9 | import com.topdraw.business.module.member.address.service.MemberAddressService; |
| ... | @@ -24,14 +25,14 @@ import io.swagger.annotations.*; | ... | @@ -24,14 +25,14 @@ import io.swagger.annotations.*; |
| 24 | public class MemberAddressController { | 25 | public class MemberAddressController { |
| 25 | 26 | ||
| 26 | @Autowired | 27 | @Autowired |
| 27 | private MemberAddressService memberAddressService; | 28 | private MemberAddressOperationService memberAddressOperationService; |
| 28 | 29 | ||
| 29 | @Log("新增会员地址") | 30 | @Log("新增会员地址") |
| 30 | @RequestMapping(value = "/create") | 31 | @RequestMapping(value = "/create") |
| 31 | @ApiOperation("新增会员地址") | 32 | @ApiOperation("新增会员地址") |
| 32 | public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) { | 33 | public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) { |
| 33 | log.info("memberAddress ==>> create ==> param ==>> [{}]",resources); | 34 | log.info("memberAddress ==>> create ==> param ==>> [{}]",resources); |
| 34 | this.memberAddressService.create(resources); | 35 | this.memberAddressOperationService.create(resources); |
| 35 | log.info("memberAddress ==>> create ==> result ==>> [{}]",resources); | 36 | log.info("memberAddress ==>> create ==> result ==>> [{}]",resources); |
| 36 | return ResultInfo.success(); | 37 | return ResultInfo.success(); |
| 37 | } | 38 | } |
| ... | @@ -41,7 +42,7 @@ public class MemberAddressController { | ... | @@ -41,7 +42,7 @@ public class MemberAddressController { |
| 41 | @ApiOperation("修改会员地址") | 42 | @ApiOperation("修改会员地址") |
| 42 | public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberAddress resources) { | 43 | public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberAddress resources) { |
| 43 | log.info("memberAddress ==>> update ==> param ==>> [{}]",resources); | 44 | log.info("memberAddress ==>> update ==> param ==>> [{}]",resources); |
| 44 | this.memberAddressService.update(resources); | 45 | this.memberAddressOperationService.update(resources); |
| 45 | log.info("memberAddress ==>> update ==> result ==>> [{}]",resources); | 46 | log.info("memberAddress ==>> update ==> result ==>> [{}]",resources); |
| 46 | return ResultInfo.success(); | 47 | return ResultInfo.success(); |
| 47 | } | 48 | } |
| ... | @@ -51,7 +52,7 @@ public class MemberAddressController { | ... | @@ -51,7 +52,7 @@ public class MemberAddressController { |
| 51 | @ApiOperation("删除会员地址") | 52 | @ApiOperation("删除会员地址") |
| 52 | public ResultInfo delete(@PathVariable Long resources) { | 53 | public ResultInfo delete(@PathVariable Long resources) { |
| 53 | log.info("memberAddress ==>> delete ==> param ==>> [{}]",resources); | 54 | log.info("memberAddress ==>> delete ==> param ==>> [{}]",resources); |
| 54 | this.memberAddressService.delete(resources); | 55 | this.memberAddressOperationService.delete(resources); |
| 55 | return ResultInfo.success(); | 56 | return ResultInfo.success(); |
| 56 | } | 57 | } |
| 57 | 58 | ... | ... |
| ... | @@ -20,13 +20,13 @@ public interface MemberAddressService { | ... | @@ -20,13 +20,13 @@ public interface MemberAddressService { |
| 20 | * 保存会员地址 | 20 | * 保存会员地址 |
| 21 | * @param resources | 21 | * @param resources |
| 22 | */ | 22 | */ |
| 23 | void create(MemberAddress resources); | 23 | MemberAddressDTO create(MemberAddress resources); |
| 24 | 24 | ||
| 25 | /** | 25 | /** |
| 26 | * 修改会员地址 | 26 | * 修改会员地址 |
| 27 | * @param resources | 27 | * @param resources |
| 28 | */ | 28 | */ |
| 29 | void update(MemberAddress resources); | 29 | MemberAddressDTO update(MemberAddress resources); |
| 30 | 30 | ||
| 31 | /** | 31 | /** |
| 32 | * 通过id删除 | 32 | * 通过id删除 | ... | ... |
| ... | @@ -11,6 +11,7 @@ import com.topdraw.business.module.member.address.service.MemberAddressService; | ... | @@ -11,6 +11,7 @@ import com.topdraw.business.module.member.address.service.MemberAddressService; |
| 11 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; | 11 | import com.topdraw.business.module.member.address.service.dto.MemberAddressDTO; |
| 12 | import com.topdraw.business.module.member.address.service.mapper.MemberAddressMapper; | 12 | import com.topdraw.business.module.member.address.service.mapper.MemberAddressMapper; |
| 13 | import lombok.extern.slf4j.Slf4j; | 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.stereotype.Service; | 16 | import org.springframework.stereotype.Service; |
| 16 | import org.springframework.transaction.annotation.Propagation; | 17 | import org.springframework.transaction.annotation.Propagation; |
| ... | @@ -47,36 +48,41 @@ public class MemberAddressServiceImpl implements MemberAddressService { | ... | @@ -47,36 +48,41 @@ public class MemberAddressServiceImpl implements MemberAddressService { |
| 47 | 48 | ||
| 48 | @Override | 49 | @Override |
| 49 | @Transactional(rollbackFor = Exception.class) | 50 | @Transactional(rollbackFor = Exception.class) |
| 50 | public void create(MemberAddress resources) { | 51 | public MemberAddressDTO create(MemberAddress resources) { |
| 51 | log.info("MemberAddressServiceImpl ==>> create ==>> param ==>> [{}]",resources); | 52 | log.info("MemberAddressServiceImpl ==>> create ==>> param ==>> [{}]",resources); |
| 52 | MemberDTO memberDTO = this.checkMember(resources); | 53 | MemberDTO memberDTO = this.checkMember(resources); |
| 53 | MemberAddress memberAddress = MemberAddressBuilder.build(resources, memberDTO.getId(), memberDTO.getCode()); | 54 | MemberAddress _memberAddress = MemberAddressBuilder.build(resources, memberDTO.getId(), memberDTO.getCode()); |
| 54 | this.memberAddressRepository.save(memberAddress); | 55 | MemberAddress memberAddress = this.memberAddressRepository.save(_memberAddress); |
| 56 | |||
| 55 | log.info("MemberAddressServiceImpl ==>> create ==>> result ==>> [{}]",resources); | 57 | log.info("MemberAddressServiceImpl ==>> create ==>> result ==>> [{}]",resources); |
| 58 | MemberAddressDTO memberAddressDTO = new MemberAddressDTO(); | ||
| 59 | BeanUtils.copyProperties(memberAddress, memberAddressDTO); | ||
| 60 | return memberAddressDTO; | ||
| 61 | |||
| 56 | } | 62 | } |
| 57 | 63 | ||
| 58 | @Override | 64 | @Override |
| 59 | @Transactional(rollbackFor = Exception.class) | 65 | @Transactional(rollbackFor = Exception.class) |
| 60 | public void update(MemberAddress resources) { | 66 | public MemberAddressDTO update(MemberAddress resources) { |
| 61 | log.info("MemberAddressServiceImpl ==>> update ==>> param ==>> [{}]",resources); | 67 | log.info("MemberAddressServiceImpl ==>> update ==>> param ==>> [{}]",resources); |
| 62 | Assert.notNull(resources.getId(),"id can't be null"); | 68 | Assert.notNull(resources.getId(),"id can't be null"); |
| 63 | // RLock rLock = this.redissonClient.getLock("MemberAddress::update::code" + resources.getId()); | ||
| 64 | try { | 69 | try { |
| 65 | // RedissonUtil.lock(rLock); | ||
| 66 | this.redisUtils.doLock("MemberAddress::update::code" + resources.getId()); | 70 | this.redisUtils.doLock("MemberAddress::update::code" + resources.getId()); |
| 67 | MemberDTO memberDTO = this.checkMember(resources); | 71 | MemberDTO memberDTO = this.checkMember(resources); |
| 68 | resources.setMemberCode(memberDTO.getCode()); | 72 | resources.setMemberCode(memberDTO.getCode()); |
| 69 | 73 | ||
| 70 | MemberAddress MemberAddress = this.memberAddressRepository.findById(resources.getId()).orElseGet(MemberAddress::new); | 74 | MemberAddress _memberAddress = this.memberAddressRepository.findById(resources.getId()).orElseGet(MemberAddress::new); |
| 71 | ValidationUtil.isNull( MemberAddress.getId(),"MemberAddress","id",resources.getId()); | 75 | ValidationUtil.isNull( _memberAddress.getId(),"MemberAddress","id",resources.getId()); |
| 72 | MemberAddress.copy(resources); | 76 | _memberAddress.copy(resources); |
| 73 | this.memberAddressRepository.save(MemberAddress); | 77 | MemberAddress memberAddress = this.memberAddressRepository.save(_memberAddress); |
| 74 | 78 | ||
| 79 | MemberAddressDTO memberAddressDTO = new MemberAddressDTO(); | ||
| 80 | BeanUtils.copyProperties(memberAddress, memberAddressDTO); | ||
| 81 | return memberAddressDTO; | ||
| 75 | } catch (Exception e) { | 82 | } catch (Exception e) { |
| 76 | e.printStackTrace(); | 83 | e.printStackTrace(); |
| 77 | throw e; | 84 | throw e; |
| 78 | } finally { | 85 | } finally { |
| 79 | // RedissonUtil.unlock(rLock); | ||
| 80 | this.redisUtils.doUnLock("MemberAddress::update::code" + resources.getId()); | 86 | this.redisUtils.doUnLock("MemberAddress::update::code" + resources.getId()); |
| 81 | } | 87 | } |
| 82 | } | 88 | } | ... | ... |
| ... | @@ -27,23 +27,24 @@ public class MemberBuilder { | ... | @@ -27,23 +27,24 @@ public class MemberBuilder { |
| 27 | String code = member.getCode(); | 27 | String code = member.getCode(); |
| 28 | member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code); | 28 | member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code); |
| 29 | Integer gender = member.getGender(); | 29 | Integer gender = member.getGender(); |
| 30 | member.setGender(Objects.nonNull(gender) ? gender : 0); | 30 | member.setGender(Objects.nonNull(gender) ? gender : DEFAULT_VALUE_); |
| 31 | Integer type = member.getType(); | 31 | Integer type = member.getType(); |
| 32 | member.setType(Objects.nonNull(type) ? type:-1); | 32 | member.setType(Objects.nonNull(type) ? type:DEFAULT_VALUE_); |
| 33 | Integer status = member.getStatus(); | 33 | Integer status = member.getStatus(); |
| 34 | member.setStatus(Objects.nonNull(status) ? status:1); | 34 | member.setStatus(Objects.nonNull(status) ? status:DEFAULT_VALUE_1); |
| 35 | Integer vip = member.getVip(); | 35 | Integer vip = member.getVip(); |
| 36 | member.setVip(Objects.nonNull(vip) ? vip:0); | 36 | member.setVip(Objects.nonNull(vip) ? vip:0); |
| 37 | Integer level = member.getLevel(); | 37 | Integer level = member.getLevel(); |
| 38 | member.setLevel(Objects.nonNull(level) ? level:1); | 38 | member.setLevel(Objects.nonNull(level) ? level:DEFAULT_VALUE_1); |
| 39 | member.setExp(DEFAULT_VALUE); | 39 | member.setExp(DEFAULT_VALUE); |
| 40 | member.setPoints(DEFAULT_VALUE); | 40 | member.setPoints(DEFAULT_VALUE); |
| 41 | member.setDuePoints(DEFAULT_VALUE); | 41 | member.setDuePoints(DEFAULT_VALUE); |
| 42 | member.setCouponAmount(DEFAULT_VALUE); | 42 | member.setCouponAmount(DEFAULT_VALUE); |
| 43 | member.setDueCouponAmount(DEFAULT_VALUE); | 43 | member.setDueCouponAmount(DEFAULT_VALUE); |
| 44 | member.setBlackStatus(DEFAULT_VALUE); | 44 | member.setBlackStatus(DEFAULT_VALUE); |
| 45 | member.setBirthday(StringUtils.isBlank(member.getBirthday())?"1900-01-01":member.getBirthday()); | ||
| 45 | String nickname = member.getNickname(); | 46 | String nickname = member.getNickname(); |
| 46 | if (com.topdraw.utils.StringUtils.isNotEmpty(nickname)) { | 47 | if (StringUtils.isNotEmpty(nickname)) { |
| 47 | String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8))); | 48 | String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8))); |
| 48 | member.setNickname(base64Nickname); | 49 | member.setNickname(base64Nickname); |
| 49 | } | 50 | } |
| ... | @@ -54,19 +55,10 @@ public class MemberBuilder { | ... | @@ -54,19 +55,10 @@ public class MemberBuilder { |
| 54 | // todo 原型模式 | 55 | // todo 原型模式 |
| 55 | Member member = new Member(); | 56 | Member member = new Member(); |
| 56 | member.setType(type); | 57 | member.setType(type); |
| 57 | member.setBlackStatus(DEFAULT_VALUE); | 58 | member.setAvatarUrl(avatarUrl); |
| 58 | member.setGender(DEFAULT_VALUE_); | 59 | member.setNickname(nickname); |
| 59 | member.setVip(vip); | 60 | member.setVip(vip); |
| 60 | member.setLevel(DEFAULT_VALUE_1); | 61 | Member _member = checkMemberData(member); |
| 61 | member.setStatus(DEFAULT_VALUE_1); | 62 | return _member; |
| 62 | member.setPoints(DEFAULT_VALUE); | ||
| 63 | member.setDuePoints(DEFAULT_VALUE); | ||
| 64 | member.setExp(DEFAULT_VALUE); | ||
| 65 | member.setCouponAmount(DEFAULT_VALUE); | ||
| 66 | member.setDueCouponAmount(DEFAULT_VALUE); | ||
| 67 | member.setAvatarUrl(StringUtils.isBlank(avatarUrl)?"":avatarUrl); | ||
| 68 | member.setCode(IdWorker.generator() + ""); | ||
| 69 | member.setNickname(StringUtils.isBlank(nickname)?"":nickname); | ||
| 70 | return member; | ||
| 71 | } | 63 | } |
| 72 | } | 64 | } | ... | ... |
| ... | @@ -10,30 +10,24 @@ import java.util.Objects; | ... | @@ -10,30 +10,24 @@ import java.util.Objects; |
| 10 | public class MemberProfileBuilder { | 10 | public class MemberProfileBuilder { |
| 11 | 11 | ||
| 12 | public static MemberProfile build(Member member){ | 12 | public static MemberProfile build(Member member){ |
| 13 | MemberProfile memberProfile = build(member.getId(),member.getNickname(),member.getGender(),"","","","","","", | 13 | MemberProfile memberProfile = build(member.getId(),member.getCode(),member.getNickname(),member.getGender(),"","","","","","", |
| 14 | "","","",member.getBirthday()); | 14 | "","","",member.getBirthday()); |
| 15 | return memberProfile; | 15 | return memberProfile; |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | public static MemberProfile build(Long memberId){ | 18 | public static MemberProfile build(Long memberId){ |
| 19 | MemberProfile memberProfile = build(memberId,"",-1,"","","","","","", | 19 | MemberProfile memberProfile = build(memberId,"","",-1,"","","","","","", |
| 20 | "","","",""); | 20 | "","","",""); |
| 21 | return memberProfile; | 21 | return memberProfile; |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | public static MemberProfile build(Long memberId , String realname , Integer gender, String birthday){ | 24 | public static MemberProfile build(Long memberId ,String memberCode, String realname , Integer gender, String birthday){ |
| 25 | MemberProfile memberProfile = build(memberId,realname,gender,"","","","","","", | 25 | MemberProfile memberProfile = build(memberId,memberCode,realname,gender,"","","","","","", |
| 26 | "","","",birthday); | 26 | "","","",birthday); |
| 27 | return memberProfile; | 27 | return memberProfile; |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | public static MemberProfile build(){ | 30 | public static MemberProfile build(Long memberId,String memberCode, String realName, Integer sex, |
| 31 | MemberProfile memberProfile = build(null,"",null,"","","","","","", | ||
| 32 | "","","",null); | ||
| 33 | return memberProfile; | ||
| 34 | } | ||
| 35 | |||
| 36 | public static MemberProfile build(Long memberId, String realName, Integer sex, | ||
| 37 | String country, String district, String city, String idCard, String province, | 31 | String country, String district, String city, String idCard, String province, |
| 38 | String email, String description, String phone, String constellation, | 32 | String email, String description, String phone, String constellation, |
| 39 | String birthday) { | 33 | String birthday) { |
| ... | @@ -42,9 +36,10 @@ public class MemberProfileBuilder { | ... | @@ -42,9 +36,10 @@ public class MemberProfileBuilder { |
| 42 | 36 | ||
| 43 | MemberProfile memberProfile = new MemberProfile(); | 37 | MemberProfile memberProfile = new MemberProfile(); |
| 44 | memberProfile.setMemberId(memberId); | 38 | memberProfile.setMemberId(memberId); |
| 39 | memberProfile.setMemberCode(memberCode); | ||
| 45 | memberProfile.setRealname(stringIsNull(realName)); | 40 | memberProfile.setRealname(stringIsNull(realName)); |
| 46 | memberProfile.setGender(sex == null ? 0 : sex); | 41 | memberProfile.setGender(sex == null ? 0 : sex); |
| 47 | memberProfile.setCountry(stringIsNull(country)); | 42 | memberProfile.setCountry(StringUtils.isBlank(country)?"中国":birthday); |
| 48 | memberProfile.setDistrict(stringIsNull(district)); | 43 | memberProfile.setDistrict(stringIsNull(district)); |
| 49 | memberProfile.setCity(stringIsNull(city)); | 44 | memberProfile.setCity(stringIsNull(city)); |
| 50 | memberProfile.setIdCard(StringUtils.isBlank(idCard)?"000000000000000000":idCard); | 45 | memberProfile.setIdCard(StringUtils.isBlank(idCard)?"000000000000000000":idCard); |
| ... | @@ -53,7 +48,7 @@ public class MemberProfileBuilder { | ... | @@ -53,7 +48,7 @@ public class MemberProfileBuilder { |
| 53 | memberProfile.setDescription(stringIsNull(description)); | 48 | memberProfile.setDescription(stringIsNull(description)); |
| 54 | memberProfile.setPhone(stringIsNull(phone)); | 49 | memberProfile.setPhone(stringIsNull(phone)); |
| 55 | memberProfile.setConstellation(stringIsNull(constellation)); | 50 | memberProfile.setConstellation(stringIsNull(constellation)); |
| 56 | memberProfile.setBirthday(stringIsNull(birthday)); | 51 | memberProfile.setBirthday(StringUtils.isBlank(birthday)?"1900-01-01":birthday); |
| 57 | 52 | ||
| 58 | return memberProfile; | 53 | return memberProfile; |
| 59 | } | 54 | } | ... | ... |
| 1 | package com.topdraw.business.module.member.profile.rest; | 1 | package com.topdraw.business.module.member.profile.rest; |
| 2 | 2 | ||
| 3 | import com.topdraw.aop.log.Log; | 3 | import com.topdraw.aop.log.Log; |
| 4 | import com.topdraw.business.process.service.member.MemberProfileOperationService; | ||
| 4 | import com.topdraw.common.ResultInfo; | 5 | import com.topdraw.common.ResultInfo; |
| 5 | import com.topdraw.business.module.member.profile.domain.MemberProfile; | 6 | import com.topdraw.business.module.member.profile.domain.MemberProfile; |
| 6 | import com.topdraw.business.module.member.profile.service.MemberProfileService; | 7 | import com.topdraw.business.module.member.profile.service.MemberProfileService; |
| ... | @@ -22,15 +23,16 @@ import io.swagger.annotations.*; | ... | @@ -22,15 +23,16 @@ import io.swagger.annotations.*; |
| 22 | public class MemberProfileController { | 23 | public class MemberProfileController { |
| 23 | 24 | ||
| 24 | @Autowired | 25 | @Autowired |
| 25 | private MemberProfileService memberProfileService; | 26 | private MemberProfileOperationService memberProfileOperationService; |
| 26 | 27 | ||
| 27 | @Log("修改会员属性") | 28 | @Log("修改会员属性") |
| 28 | @RequestMapping(value = "/update") | 29 | @RequestMapping(value = "/update") |
| 29 | @ApiOperation("修改会员属性") | 30 | @ApiOperation("修改会员属性") |
| 31 | @Deprecated | ||
| 30 | public ResultInfo update(@Validated @RequestBody MemberProfile resources) { | 32 | public ResultInfo update(@Validated @RequestBody MemberProfile resources) { |
| 31 | 33 | ||
| 32 | log.info("memberProfile ==>> update ==>> resources ===>> [{}]",resources); | 34 | log.info("memberProfile ==>> update ==>> resources ===>> [{}]",resources); |
| 33 | this.memberProfileService.update(resources); | 35 | this.memberProfileOperationService.update(resources); |
| 34 | log.info("memberProfile ==>> update ==>> result ===>> [{}]",resources); | 36 | log.info("memberProfile ==>> update ==>> result ===>> [{}]",resources); |
| 35 | 37 | ||
| 36 | return ResultInfo.success(); | 38 | return ResultInfo.success(); | ... | ... |
| ... | @@ -53,7 +53,7 @@ public interface MemberProfileService { | ... | @@ -53,7 +53,7 @@ public interface MemberProfileService { |
| 53 | * 修改 | 53 | * 修改 |
| 54 | * @param resources | 54 | * @param resources |
| 55 | */ | 55 | */ |
| 56 | void update(MemberProfile resources); | 56 | MemberProfileDTO update(MemberProfile resources); |
| 57 | 57 | ||
| 58 | /** | 58 | /** |
| 59 | * 删除 | 59 | * 删除 | ... | ... |
| ... | @@ -81,7 +81,7 @@ public class MemberProfileServiceImpl implements MemberProfileService { | ... | @@ -81,7 +81,7 @@ public class MemberProfileServiceImpl implements MemberProfileService { |
| 81 | @Override | 81 | @Override |
| 82 | @Transactional(rollbackFor = Exception.class) | 82 | @Transactional(rollbackFor = Exception.class) |
| 83 | public MemberProfile createDefault(MemberProfile resources) { | 83 | public MemberProfile createDefault(MemberProfile resources) { |
| 84 | MemberProfile memberProfile = MemberProfileBuilder.build(); | 84 | MemberProfile memberProfile = MemberProfileBuilder.build(resources); |
| 85 | return this.create(memberProfile); | 85 | return this.create(memberProfile); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| ... | @@ -107,7 +107,7 @@ public class MemberProfileServiceImpl implements MemberProfileService { | ... | @@ -107,7 +107,7 @@ public class MemberProfileServiceImpl implements MemberProfileService { |
| 107 | 107 | ||
| 108 | @Override | 108 | @Override |
| 109 | @Transactional(rollbackFor = Exception.class) | 109 | @Transactional(rollbackFor = Exception.class) |
| 110 | public void update(MemberProfile resources) { | 110 | public MemberProfileDTO update(MemberProfile resources) { |
| 111 | 111 | ||
| 112 | log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources); | 112 | log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources); |
| 113 | this.redisUtils.doLock("memberProfile::update::id" + resources.getId()); | 113 | this.redisUtils.doLock("memberProfile::update::id" + resources.getId()); |
| ... | @@ -122,9 +122,14 @@ public class MemberProfileServiceImpl implements MemberProfileService { | ... | @@ -122,9 +122,14 @@ public class MemberProfileServiceImpl implements MemberProfileService { |
| 122 | 122 | ||
| 123 | MemberProfile memberProfile = new MemberProfile(); | 123 | MemberProfile memberProfile = new MemberProfile(); |
| 124 | BeanUtils.copyProperties(resources,memberProfile); | 124 | BeanUtils.copyProperties(resources,memberProfile); |
| 125 | this.memberProfileRepository.save(memberProfile); | 125 | MemberProfile _memberProfile = this.memberProfileRepository.save(memberProfile); |
| 126 | // 同步会员信息 | 126 | // 同步会员信息 |
| 127 | this.synchronizedMemberData(resources); | 127 | this.synchronizedMemberData(resources); |
| 128 | |||
| 129 | MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); | ||
| 130 | BeanUtils.copyProperties(_memberProfile,memberProfileDTO); | ||
| 131 | return memberProfileDTO; | ||
| 132 | |||
| 128 | } catch (Exception e) { | 133 | } catch (Exception e) { |
| 129 | e.printStackTrace(); | 134 | e.printStackTrace(); |
| 130 | throw e; | 135 | throw e; | ... | ... |
| ... | @@ -6,9 +6,9 @@ import com.topdraw.business.module.common.validated.UpdateGroup; | ... | @@ -6,9 +6,9 @@ import com.topdraw.business.module.common.validated.UpdateGroup; |
| 6 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; | 6 | import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO; |
| 7 | import com.topdraw.business.module.member.service.MemberService; | 7 | 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.service.member.MemberRelatedInfoOperationService; | ||
| 9 | import com.topdraw.common.ResultInfo; | 10 | import com.topdraw.common.ResultInfo; |
| 10 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | 11 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; |
| 11 | import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService; | ||
| 12 | import lombok.extern.slf4j.Slf4j; | 12 | import lombok.extern.slf4j.Slf4j; |
| 13 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 14 | import org.springframework.util.Assert; | 14 | import org.springframework.util.Assert; |
| ... | @@ -32,7 +32,7 @@ public class MemberRelatedInfoController { | ... | @@ -32,7 +32,7 @@ public class MemberRelatedInfoController { |
| 32 | @Autowired | 32 | @Autowired |
| 33 | private MemberService memberService; | 33 | private MemberService memberService; |
| 34 | @Autowired | 34 | @Autowired |
| 35 | private MemberRelatedInfoService memberRelatedInfoService; | 35 | private MemberRelatedInfoOperationService memberRelatedInfoOperationService; |
| 36 | 36 | ||
| 37 | @Log("新增相关人员") | 37 | @Log("新增相关人员") |
| 38 | @RequestMapping(value = "/create") | 38 | @RequestMapping(value = "/create") |
| ... | @@ -40,7 +40,7 @@ public class MemberRelatedInfoController { | ... | @@ -40,7 +40,7 @@ public class MemberRelatedInfoController { |
| 40 | public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberRelatedInfo resources) { | 40 | public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberRelatedInfo resources) { |
| 41 | log.info("memberRelatedInfo ==>> create ==>> resources ===>> [{}]",resources); | 41 | log.info("memberRelatedInfo ==>> create ==>> resources ===>> [{}]",resources); |
| 42 | 42 | ||
| 43 | this.memberRelatedInfoService.create(resources); | 43 | this.memberRelatedInfoOperationService.create(resources); |
| 44 | 44 | ||
| 45 | return ResultInfo.success(); | 45 | return ResultInfo.success(); |
| 46 | } | 46 | } |
| ... | @@ -53,15 +53,16 @@ public class MemberRelatedInfoController { | ... | @@ -53,15 +53,16 @@ public class MemberRelatedInfoController { |
| 53 | log.info("memberRelatedInfo ==>> update ==>> resources ===>> [{}]",resources); | 53 | log.info("memberRelatedInfo ==>> update ==>> resources ===>> [{}]",resources); |
| 54 | 54 | ||
| 55 | Long id = resources.getId(); | 55 | Long id = resources.getId(); |
| 56 | MemberRelatedInfoDTO memberRelatedInfoDTO = this.memberRelatedInfoService.findById(id); | 56 | MemberRelatedInfoDTO memberRelatedInfoDTO = this.memberRelatedInfoOperationService.findById(id); |
| 57 | if (memberRelatedInfoDTO.getId() != null) { | 57 | if (memberRelatedInfoDTO.getId() != null) { |
| 58 | Long memberId = memberRelatedInfoDTO.getMemberId(); | 58 | Long memberId = memberRelatedInfoDTO.getMemberId(); |
| 59 | MemberDTO memberDTO = this.memberService.findById(memberId); | 59 | MemberDTO memberDTO = this.memberService.findById(memberId); |
| 60 | if (Objects.nonNull(memberDTO)) { | 60 | if (Objects.nonNull(memberDTO)) { |
| 61 | String code = memberDTO.getCode(); | 61 | String code = memberDTO.getCode(); |
| 62 | Assert.notNull(code,"code can't be null"); | 62 | Assert.notNull(code,"code can't be null"); |
| 63 | |||
| 63 | resources.setMemberCode(code); | 64 | resources.setMemberCode(code); |
| 64 | this.memberRelatedInfoService.update(resources); | 65 | this.memberRelatedInfoOperationService.update(resources); |
| 65 | } | 66 | } |
| 66 | } | 67 | } |
| 67 | 68 | ||
| ... | @@ -74,7 +75,7 @@ public class MemberRelatedInfoController { | ... | @@ -74,7 +75,7 @@ public class MemberRelatedInfoController { |
| 74 | @ApiOperation("删除相关人员") | 75 | @ApiOperation("删除相关人员") |
| 75 | public ResultInfo delete(@PathVariable(value = "id") Long resources) { | 76 | public ResultInfo delete(@PathVariable(value = "id") Long resources) { |
| 76 | log.info("memberRelatedInfo ==>> delete ==>> resources ===>> [{}]",resources); | 77 | log.info("memberRelatedInfo ==>> delete ==>> resources ===>> [{}]",resources); |
| 77 | this.memberRelatedInfoService.delete(resources); | 78 | this.memberRelatedInfoOperationService.delete(resources); |
| 78 | log.info("memberRelatedInfo ==>> delete ==>> result ===>> [{}]",resources); | 79 | log.info("memberRelatedInfo ==>> delete ==>> result ===>> [{}]",resources); |
| 79 | return ResultInfo.success(); | 80 | return ResultInfo.success(); |
| 80 | } | 81 | } | ... | ... |
| 1 | package com.topdraw.business.module.member.rest; | 1 | package com.topdraw.business.module.member.rest; |
| 2 | 2 | ||
| 3 | import com.topdraw.annotation.AnonymousAccess; | ||
| 4 | import com.topdraw.aop.log.Log; | 3 | import com.topdraw.aop.log.Log; |
| 5 | import com.topdraw.business.module.common.validated.CreateGroup; | 4 | import com.topdraw.business.module.common.validated.CreateGroup; |
| 6 | import com.topdraw.business.module.common.validated.UpdateGroup; | 5 | import com.topdraw.business.module.common.validated.UpdateGroup; |
| 7 | import com.topdraw.business.module.member.domain.Member; | 6 | import com.topdraw.business.module.member.domain.Member; |
| 8 | import com.topdraw.business.module.member.service.MemberService; | ||
| 9 | import com.topdraw.business.module.member.service.dto.MemberDTO; | ||
| 10 | import com.topdraw.business.module.user.iptv.domain.UserTv; | 7 | import com.topdraw.business.module.user.iptv.domain.UserTv; |
| 11 | import com.topdraw.business.process.service.MemberOperationService; | 8 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 12 | import com.topdraw.business.process.service.UserOperationService; | 9 | import com.topdraw.business.process.service.UserOperationService; |
| 13 | import com.topdraw.common.ResultInfo; | 10 | import com.topdraw.common.ResultInfo; |
| 14 | import io.swagger.annotations.Api; | 11 | import io.swagger.annotations.Api; |
| ... | @@ -42,9 +39,8 @@ public class MemberController { | ... | @@ -42,9 +39,8 @@ public class MemberController { |
| 42 | public ResultInfo createMemberByUserTv(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) { | 39 | public ResultInfo createMemberByUserTv(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) { |
| 43 | // todo 此接口废弃,将移动至UserTvController中,AppEngine也要同步修改 | 40 | // todo 此接口废弃,将移动至UserTvController中,AppEngine也要同步修改 |
| 44 | log.info("member ==>> createMemberByUserTv ==>> param ==>> [{}]",resources); | 41 | log.info("member ==>> createMemberByUserTv ==>> param ==>> [{}]",resources); |
| 45 | boolean result = this.userTvOperationService.createTvUserAndMember(resources); | 42 | this.userTvOperationService.createTvUserAndMember(resources); |
| 46 | log.info("member ==>> createMemberByUserTv ==>> result ==>> [{}]",result); | 43 | return ResultInfo.success(); |
| 47 | return ResultInfo.success(result); | ||
| 48 | } | 44 | } |
| 49 | 45 | ||
| 50 | @Log("手动修改vip") | 46 | @Log("手动修改vip") | ... | ... |
| ... | @@ -2,6 +2,8 @@ package com.topdraw.business.module.member.service.impl; | ... | @@ -2,6 +2,8 @@ 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; | 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; | ||
| 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.repository.MemberRepository; | 8 | import com.topdraw.business.module.member.repository.MemberRepository; |
| 7 | import com.topdraw.business.module.member.service.MemberService; | 9 | import com.topdraw.business.module.member.service.MemberService; |
| ... | @@ -107,9 +109,11 @@ public class MemberServiceImpl implements MemberService { | ... | @@ -107,9 +109,11 @@ public class MemberServiceImpl implements MemberService { |
| 107 | Member member = MemberBuilder.build(resources); | 109 | Member member = MemberBuilder.build(resources); |
| 108 | Long memberId = this.save(member); | 110 | Long memberId = this.save(member); |
| 109 | 111 | ||
| 110 | if (Objects.nonNull(memberId)) | 112 | if (Objects.nonNull(memberId)) { |
| 113 | MemberProfile memberProfile = MemberProfileBuilder.build(member); | ||
| 111 | // 保存会员属性 | 114 | // 保存会员属性 |
| 112 | this.memberProfileService.createDefault(member); | 115 | this.memberProfileService.create(memberProfile); |
| 116 | } | ||
| 113 | 117 | ||
| 114 | return this.memberMapper.toDto(member); | 118 | return this.memberMapper.toDto(member); |
| 115 | 119 | ... | ... |
| ... | @@ -27,6 +27,10 @@ import java.io.Serializable; | ... | @@ -27,6 +27,10 @@ import java.io.Serializable; |
| 27 | @Table(name="uc_user_tv") | 27 | @Table(name="uc_user_tv") |
| 28 | public class UserTv extends AsyncMqModule implements Serializable { | 28 | public class UserTv extends AsyncMqModule implements Serializable { |
| 29 | 29 | ||
| 30 | @NotNull(message = "visUserId can't be null !",groups = {CreateGroup.class}) | ||
| 31 | @Column(name = "vis_user_id") | ||
| 32 | private Long visUserId; | ||
| 33 | |||
| 30 | /** 绑定的小屏账户会员编码 */ | 34 | /** 绑定的小屏账户会员编码 */ |
| 31 | @Column(name = "priority_member_code") | 35 | @Column(name = "priority_member_code") |
| 32 | private String priorityMemberCode; | 36 | private String priorityMemberCode; | ... | ... |
| ... | @@ -5,6 +5,9 @@ import com.topdraw.exception.BadRequestException; | ... | @@ -5,6 +5,9 @@ import com.topdraw.exception.BadRequestException; |
| 5 | import com.topdraw.exception.GlobeExceptionMsg; | 5 | import com.topdraw.exception.GlobeExceptionMsg; |
| 6 | import com.topdraw.util.TimestampUtil; | 6 | import com.topdraw.util.TimestampUtil; |
| 7 | import org.apache.commons.lang3.StringUtils; | 7 | import org.apache.commons.lang3.StringUtils; |
| 8 | import org.springframework.util.Assert; | ||
| 9 | |||
| 10 | import java.util.Objects; | ||
| 8 | 11 | ||
| 9 | /** | 12 | /** |
| 10 | * @author : | 13 | * @author : |
| ... | @@ -17,41 +20,53 @@ import org.apache.commons.lang3.StringUtils; | ... | @@ -17,41 +20,53 @@ import org.apache.commons.lang3.StringUtils; |
| 17 | */ | 20 | */ |
| 18 | public class UserTvBuilder { | 21 | public class UserTvBuilder { |
| 19 | 22 | ||
| 23 | private static final Integer DEFAULT_VALUE = 1; | ||
| 24 | private static final String DEFAULT_CREATE_BY = "system"; | ||
| 25 | private static final String DEFAULT_UPDATE_BY = "system"; | ||
| 26 | |||
| 20 | public static UserTv build(UserTv userTv){ | 27 | public static UserTv build(UserTv userTv){ |
| 21 | return build(userTv.getMemberCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | 28 | return build(userTv.getMemberId(),userTv.getMemberCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), |
| 22 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy()); | 29 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); |
| 23 | } | 30 | } |
| 24 | 31 | ||
| 25 | public static UserTv build(String memberCode , UserTv userTv){ | 32 | public static UserTv build(Long memberId, String memberCode , UserTv userTv){ |
| 26 | return build(memberCode,userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | 33 | return build(memberId,memberCode,userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), |
| 27 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy()); | 34 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); |
| 28 | } | 35 | } |
| 29 | 36 | ||
| 30 | public static UserTv build(Member member ,UserTv userTv){ | 37 | public static UserTv build(String memberCode, UserTv userTv){ |
| 31 | return build(member.getCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), | 38 | return build(null,memberCode,userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), |
| 32 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy()); | 39 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); |
| 33 | } | 40 | } |
| 34 | 41 | ||
| 35 | public static UserTv build(String memberCode , Long id , String platformAccount , String nickname , String username, | 42 | public static UserTv build(Member member, UserTv userTv){ |
| 36 | int loginDays , int status ,int continueDays , String createBy , String updateBy){ | 43 | return build(member.getId() , member.getCode(),userTv.getId(),userTv.getPlatformAccount(),userTv.getNickname(),userTv.getUsername(), |
| 44 | userTv.getLoginDays(),userTv.getStatus(),userTv.getContinueDays(),userTv.getCreateBy(),userTv.getUpdateBy(), userTv.getVisUserId()); | ||
| 45 | } | ||
| 37 | 46 | ||
| 38 | if (StringUtils.isBlank(platformAccount)) | 47 | public static UserTv build(Long memberId , String memberCode , Long id , String platformAccount , String nickname , String username, |
| 39 | throw new BadRequestException(GlobeExceptionMsg.IPTV_PLATFORM_ACCOUNT_IS_NULL); | 48 | Integer loginDays , Integer status ,Integer continueDays , String createBy , String updateBy,Long visUserId){ |
| 49 | Assert.notNull(memberId,GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
| 50 | Assert.notNull(memberCode,GlobeExceptionMsg.MEMBER_CODE_IS_NULL); | ||
| 51 | Assert.notNull(platformAccount,GlobeExceptionMsg.IPTV_PLATFORM_ACCOUNT_IS_NULL); | ||
| 52 | Assert.notNull(platformAccount,GlobeExceptionMsg.VIS_USER_ID_IS_NULL); | ||
| 40 | 53 | ||
| 41 | // todo 原型模式 | 54 | // todo 原型模式 |
| 42 | |||
| 43 | UserTv userTv = new UserTv(); | 55 | UserTv userTv = new UserTv(); |
| 44 | userTv.setId(id); | 56 | userTv.setId(id); |
| 45 | userTv.setPlatformAccount(platformAccount); | 57 | userTv.setPlatformAccount(platformAccount); |
| 46 | userTv.setMemberCode(memberCode); | 58 | userTv.setMemberCode(memberCode); |
| 59 | userTv.setMemberId(memberId); | ||
| 47 | userTv.setNickname(StringUtils.isBlank(nickname)?platformAccount:nickname); | 60 | userTv.setNickname(StringUtils.isBlank(nickname)?platformAccount:nickname); |
| 48 | userTv.setUsername(StringUtils.isBlank(username)?platformAccount:username); | 61 | userTv.setUsername(StringUtils.isBlank(username)?platformAccount:username); |
| 49 | userTv.setLoginDays(loginDays); | 62 | userTv.setLoginDays(Objects.nonNull(loginDays)?loginDays:DEFAULT_VALUE); |
| 50 | userTv.setStatus(status); | 63 | userTv.setLoginType(DEFAULT_VALUE); |
| 64 | userTv.setStatus(Objects.nonNull(status)?status:DEFAULT_VALUE); | ||
| 51 | userTv.setActiveTime(TimestampUtil.now()); | 65 | userTv.setActiveTime(TimestampUtil.now()); |
| 52 | userTv.setContinueDays(continueDays); | 66 | userTv.setContinueDays(Objects.nonNull(continueDays)?loginDays:DEFAULT_VALUE); |
| 53 | userTv.setCreateBy(StringUtils.isBlank(createBy)?"system":createBy); | 67 | userTv.setCreateBy(StringUtils.isBlank(createBy)?DEFAULT_CREATE_BY:createBy); |
| 54 | userTv.setUpdateBy(StringUtils.isBlank(updateBy)?"system":updateBy); | 68 | userTv.setUpdateBy(StringUtils.isBlank(updateBy)?DEFAULT_UPDATE_BY:updateBy); |
| 69 | userTv.setVisUserId(visUserId); | ||
| 55 | return userTv; | 70 | return userTv; |
| 56 | } | 71 | } |
| 57 | 72 | ... | ... |
| ... | @@ -12,6 +12,8 @@ import java.io.Serializable; | ... | @@ -12,6 +12,8 @@ import java.io.Serializable; |
| 12 | @Data | 12 | @Data |
| 13 | public class UserTvDTO implements Serializable { | 13 | public class UserTvDTO implements Serializable { |
| 14 | 14 | ||
| 15 | private Long visUserId; | ||
| 16 | |||
| 15 | private String memberCode; | 17 | private String memberCode; |
| 16 | 18 | ||
| 17 | /** 绑定的小屏账户会员编码 */ | 19 | /** 绑定的小屏账户会员编码 */ | ... | ... |
| ... | @@ -2,10 +2,13 @@ package com.topdraw.business.process.domian.weixin; | ... | @@ -2,10 +2,13 @@ package com.topdraw.business.process.domian.weixin; |
| 2 | 2 | ||
| 3 | import lombok.Data; | 3 | import lombok.Data; |
| 4 | 4 | ||
| 5 | import javax.validation.constraints.NotNull; | ||
| 6 | |||
| 5 | @Data | 7 | @Data |
| 6 | public class BindBean extends WeiXinUserBean { | 8 | public class BindBean extends WeiXinUserBean { |
| 7 | 9 | ||
| 8 | private Long platformUserId; | 10 | private Long platformUserId; |
| 9 | 11 | ||
| 12 | @NotNull(message = "platformAccount can't be null" , groups = {BindGroup.class}) | ||
| 10 | private String platformAccount; | 13 | private String platformAccount; |
| 11 | } | 14 | } | ... | ... |
| ... | @@ -25,7 +25,6 @@ public class SubscribeBean extends WeiXinUserBean { | ... | @@ -25,7 +25,6 @@ public class SubscribeBean extends WeiXinUserBean { |
| 25 | /** */ | 25 | /** */ |
| 26 | private String eventKey; | 26 | private String eventKey; |
| 27 | 27 | ||
| 28 | private String unionid; | ||
| 29 | private String nickname; | 28 | private String nickname; |
| 30 | private String headimgurl; | 29 | private String headimgurl; |
| 31 | 30 | ... | ... |
| ... | @@ -3,6 +3,8 @@ package com.topdraw.business.process.domian.weixin; | ... | @@ -3,6 +3,8 @@ package com.topdraw.business.process.domian.weixin; |
| 3 | 3 | ||
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | 5 | ||
| 6 | import javax.validation.constraints.NotNull; | ||
| 7 | |||
| 6 | /** | 8 | /** |
| 7 | * 微信账户信息 | 9 | * 微信账户信息 |
| 8 | * @author XiangHan | 10 | * @author XiangHan |
| ... | @@ -13,6 +15,7 @@ public class WeiXinUserBean { | ... | @@ -13,6 +15,7 @@ public class WeiXinUserBean { |
| 13 | 15 | ||
| 14 | private Long id; | 16 | private Long id; |
| 15 | 17 | ||
| 18 | @NotNull(message = "unionid can't be null" , groups = {BindGroup.class}) | ||
| 16 | private String unionid; | 19 | private String unionid; |
| 17 | 20 | ||
| 18 | /** */ | 21 | /** */ | ... | ... |
| ... | @@ -3,19 +3,16 @@ package com.topdraw.business.process.rest; | ... | @@ -3,19 +3,16 @@ package com.topdraw.business.process.rest; |
| 3 | import cn.hutool.core.util.ObjectUtil; | 3 | import cn.hutool.core.util.ObjectUtil; |
| 4 | import com.topdraw.annotation.AnonymousAccess; | 4 | import com.topdraw.annotation.AnonymousAccess; |
| 5 | import com.topdraw.aop.log.Log; | 5 | import com.topdraw.aop.log.Log; |
| 6 | import com.topdraw.business.module.common.validated.CreateGroup; | ||
| 7 | import com.topdraw.business.module.common.validated.UpdateGroup; | 6 | import com.topdraw.business.module.common.validated.UpdateGroup; |
| 8 | import com.topdraw.business.module.member.domain.Member; | 7 | import com.topdraw.business.module.member.domain.Member; |
| 9 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | 8 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; |
| 10 | import com.topdraw.business.module.member.service.MemberService; | ||
| 11 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 9 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 12 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; | 10 | import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory; |
| 13 | import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService; | 11 | import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService; |
| 14 | import com.topdraw.business.module.user.iptv.domain.UserTv; | ||
| 15 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; | 12 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; |
| 16 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | 13 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; |
| 17 | import com.topdraw.business.process.domian.weixin.BuyVipBean; | 14 | import com.topdraw.business.process.domian.weixin.BuyVipBean; |
| 18 | import com.topdraw.business.process.service.MemberOperationService; | 15 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 19 | import com.topdraw.common.IResultInfo; | 16 | import com.topdraw.common.IResultInfo; |
| 20 | import com.topdraw.common.ResultInfo; | 17 | import com.topdraw.common.ResultInfo; |
| 21 | import com.topdraw.exception.BadRequestException; | 18 | import com.topdraw.exception.BadRequestException; |
| ... | @@ -42,19 +39,6 @@ public class MemberOperationController { | ... | @@ -42,19 +39,6 @@ public class MemberOperationController { |
| 42 | private MemberVipHistoryService memberVipHistoryService; | 39 | private MemberVipHistoryService memberVipHistoryService; |
| 43 | @Autowired | 40 | @Autowired |
| 44 | private UserWeixinService userWeixinService; | 41 | private UserWeixinService userWeixinService; |
| 45 | @Autowired | ||
| 46 | private MemberService memberService; | ||
| 47 | |||
| 48 | @Log("查询会员") | ||
| 49 | @GetMapping(value = "/findById/{id}") | ||
| 50 | @ApiOperation("查询会员") | ||
| 51 | @AnonymousAccess | ||
| 52 | public ResultInfo findById(@PathVariable(value = "id") Long id) { | ||
| 53 | log.info("memberOperation ==>> findById ==>> param ==>> [{}]",id); | ||
| 54 | MemberDTO memberDTO = this.memberOperationService.findById(id); | ||
| 55 | log.info("memberOperation ==>> findById ==>> result ==>> [{}]",memberDTO); | ||
| 56 | return ResultInfo.success(memberDTO); | ||
| 57 | } | ||
| 58 | 42 | ||
| 59 | @Log("手动修改vip") | 43 | @Log("手动修改vip") |
| 60 | @RequestMapping(value = "/doUpdateVipByCode") | 44 | @RequestMapping(value = "/doUpdateVipByCode") |
| ... | @@ -63,7 +47,7 @@ public class MemberOperationController { | ... | @@ -63,7 +47,7 @@ public class MemberOperationController { |
| 63 | public ResultInfo doUpdateVipByCode(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) { | 47 | public ResultInfo doUpdateVipByCode(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) { |
| 64 | log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources); | 48 | log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources); |
| 65 | 49 | ||
| 66 | MemberDTO memberDTO = this.memberService.findByCode(resources.getCode()); | 50 | MemberDTO memberDTO = this.memberOperationService.findByCode(resources.getCode()); |
| 67 | resources.setId(memberDTO.getId()); | 51 | resources.setId(memberDTO.getId()); |
| 68 | this.memberOperationService.update(resources); | 52 | this.memberOperationService.update(resources); |
| 69 | log.info("member ==>> doUpdateVipByCode ==>> result ==>> [{}]",resources); | 53 | log.info("member ==>> doUpdateVipByCode ==>> result ==>> [{}]",resources); |
| ... | @@ -105,7 +89,7 @@ public class MemberOperationController { | ... | @@ -105,7 +89,7 @@ public class MemberOperationController { |
| 105 | UserWeixinDTO userWeixinDTO = this.userWeixinService.findById(id); | 89 | UserWeixinDTO userWeixinDTO = this.userWeixinService.findById(id); |
| 106 | Long memberId = userWeixinDTO.getMemberId(); | 90 | Long memberId = userWeixinDTO.getMemberId(); |
| 107 | 91 | ||
| 108 | MemberDTO member = this.memberService.findById(memberId); | 92 | MemberDTO member = this.memberOperationService.findById(memberId); |
| 109 | 93 | ||
| 110 | LocalDateTime now = LocalDateTime.now(); | 94 | LocalDateTime now = LocalDateTime.now(); |
| 111 | 95 | ... | ... |
| ... | @@ -13,15 +13,14 @@ import com.topdraw.business.module.member.service.dto.MemberDTO; | ... | @@ -13,15 +13,14 @@ import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 13 | import com.topdraw.business.module.user.iptv.domain.UserTv; | 13 | import com.topdraw.business.module.user.iptv.domain.UserTv; |
| 14 | import com.topdraw.business.module.user.iptv.service.UserTvService; | 14 | import com.topdraw.business.module.user.iptv.service.UserTvService; |
| 15 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; | 15 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; |
| 16 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; | ||
| 16 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | 17 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; |
| 17 | import com.topdraw.business.process.domian.weixin.BindBean; | 18 | import com.topdraw.business.process.domian.weixin.*; |
| 18 | import com.topdraw.business.process.domian.weixin.SubscribeBean; | ||
| 19 | import com.topdraw.business.process.domian.weixin.SubscribeBeanEvent; | ||
| 20 | import com.topdraw.business.process.domian.weixin.WeiXinUserBean; | ||
| 21 | import com.topdraw.business.process.service.UserOperationService; | 19 | import com.topdraw.business.process.service.UserOperationService; |
| 22 | import com.topdraw.common.ResultInfo; | 20 | import com.topdraw.common.ResultInfo; |
| 23 | import com.topdraw.config.RedisKeyUtil; | 21 | import com.topdraw.config.RedisKeyUtil; |
| 24 | import com.topdraw.exception.BadRequestException; | 22 | import com.topdraw.exception.BadRequestException; |
| 23 | import com.topdraw.exception.GlobeExceptionMsg; | ||
| 25 | import com.topdraw.util.Base64Util; | 24 | import com.topdraw.util.Base64Util; |
| 26 | import com.topdraw.util.JSONUtil; | 25 | import com.topdraw.util.JSONUtil; |
| 27 | import com.topdraw.utils.RedisUtils; | 26 | import com.topdraw.utils.RedisUtils; |
| ... | @@ -47,13 +46,9 @@ import java.util.*; | ... | @@ -47,13 +46,9 @@ import java.util.*; |
| 47 | public class UserOperationController { | 46 | public class UserOperationController { |
| 48 | 47 | ||
| 49 | @Autowired | 48 | @Autowired |
| 50 | private UserTvService userTvService; | ||
| 51 | @Autowired | ||
| 52 | private MemberService memberService; | 49 | private MemberService memberService; |
| 53 | @Autowired | 50 | @Autowired |
| 54 | private UserOperationService userOperationService; | 51 | private UserOperationService userOperationService; |
| 55 | @Autowired | ||
| 56 | private UserOperationService userTvOperationService; | ||
| 57 | 52 | ||
| 58 | @Autowired | 53 | @Autowired |
| 59 | private RedisUtils redisUtils; | 54 | private RedisUtils redisUtils; |
| ... | @@ -62,81 +57,36 @@ public class UserOperationController { | ... | @@ -62,81 +57,36 @@ public class UserOperationController { |
| 62 | private static final String UNSUBSCRIBE = "unsubscribe"; | 57 | private static final String UNSUBSCRIBE = "unsubscribe"; |
| 63 | private static final Integer SUBSCRIBE_STATUS = 1; | 58 | private static final Integer SUBSCRIBE_STATUS = 1; |
| 64 | 59 | ||
| 65 | @Log("保存大屏账户同时创建会员") | 60 | @Log("新增小屏账户同时创建会员信息") |
| 66 | @PostMapping(value = "/createTvUserAndMember") | 61 | @PostMapping(value = "/createWeixinUserAndCreateMember") |
| 67 | @ApiOperation("保存大屏账户同时创建会员信息") | 62 | @ApiOperation("新增小屏账户同时创建会员信息") |
| 68 | @AnonymousAccess | 63 | @AnonymousAccess |
| 69 | public ResultInfo createTvUserAndMember(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) { | 64 | public ResultInfo createWeixinUserAndMember(@Validated(value = {CreateGroup.class}) @RequestBody UserWeixin resources) { |
| 70 | log.info("UserOperationController ==> createUserAndCreateMember ==>> param ==> [{}]",resources); | 65 | log.info("UserOperationController ==> createWeixinUserAndMember ==> param ==> [{}]",resources); |
| 71 | 66 | ||
| 72 | boolean result = this.userTvOperationService.createTvUserAndMember(resources); | 67 | UserWeixinDTO result = this.userOperationService.createWeixinUserAndMember(resources); |
| 73 | return ResultInfo.success(result); | 68 | return ResultInfo.success(result); |
| 74 | } | 69 | } |
| 75 | 70 | ||
| 76 | @Log("大屏用户解绑") | ||
| 77 | @RequestMapping(value = "/unbind") | ||
| 78 | @ApiOperation("大屏用户解绑") | ||
| 79 | @AnonymousAccess | ||
| 80 | public ResultInfo unbind(@Validated(value = {UpdateGroup.class}) @RequestBody UserTv resources) { | ||
| 81 | log.info("UserOperationController ==> unbind ==>> param ==> [{}]",resources); | ||
| 82 | |||
| 83 | this.userTvOperationService.unbind(resources); | ||
| 84 | return ResultInfo.success(); | ||
| 85 | } | ||
| 86 | |||
| 87 | @Log("大屏更换主账号") | ||
| 88 | @RequestMapping(value = "/changeMainAccount") | ||
| 89 | @ApiOperation("大屏更换主账号") | ||
| 90 | @AnonymousAccess | ||
| 91 | public ResultInfo changeMainAccount(@Validated @RequestBody UserTv resources) { | ||
| 92 | log.info("UserOperationController ==> changeMainAccount ==>> param ==> [{}]",resources); | ||
| 93 | |||
| 94 | this.userTvOperationService.changeMainAccount(resources); | ||
| 95 | return ResultInfo.success(); | ||
| 96 | } | ||
| 97 | |||
| 98 | @Log("微信服务号(H5)登录") | 71 | @Log("微信服务号(H5)登录") |
| 99 | @PostMapping("/serviceLogin") | 72 | @PostMapping("/serviceLogin") |
| 100 | @ApiOperation("微信服务号(H5)登录") | 73 | @ApiOperation("微信服务号(H5)登录") |
| 101 | @AnonymousAccess | 74 | @AnonymousAccess |
| 102 | public ResultInfo serviceLogin(@Validated @RequestBody WeiXinUserBean resources) { | 75 | public ResultInfo serviceLogin(@Validated(value = {CreateGroup.class}) @RequestBody UserWeixin resources) { |
| 103 | log.info("UserOperationController ==> serviceLogin ==>> param ==> [{}]",resources); | 76 | log.info("UserOperationController ==> serviceLogin ==>> param ==> [{}]",resources); |
| 104 | 77 | ||
| 105 | Object o = this.userTvOperationService.serviceLogin(resources); | 78 | UserWeixinDTO result = this.userOperationService.serviceLogin(resources); |
| 106 | return ResultInfo.success(o); | 79 | return ResultInfo.success(result); |
| 107 | } | 80 | } |
| 108 | 81 | ||
| 109 | @Log("微信小程序登录") | 82 | @Log("微信小程序登录") |
| 110 | @PostMapping("/appletLogin") | 83 | @PostMapping("/appletLogin") |
| 111 | @ApiOperation("微信小程序登录") | 84 | @ApiOperation("微信小程序登录") |
| 112 | @AnonymousAccess | 85 | @AnonymousAccess |
| 113 | public ResultInfo appletLogin(@Validated @RequestBody WeiXinUserBean resources) { | 86 | public ResultInfo appletLogin(@Validated(value = {CreateGroup.class}) @RequestBody UserWeixin resources) { |
| 114 | log.info("UserOperationController ==> appletLogin ==>> param ==> [{}]",resources); | 87 | log.info("UserOperationController ==> appletLogin ==>> param ==> [{}]",resources); |
| 115 | 88 | ||
| 116 | UserWeixinDTO result = this.userTvOperationService.appletLogin(resources); | 89 | UserWeixinDTO result = this.userOperationService.appletLogin(resources); |
| 117 | return ResultInfo.success(result); | ||
| 118 | } | ||
| 119 | |||
| 120 | @Log("微信小程序绑定大屏") | ||
| 121 | @PostMapping("/appletBind") | ||
| 122 | @ApiOperation("微信小程序绑定大屏") | ||
| 123 | @AnonymousAccess | ||
| 124 | public ResultInfo appletBind(@Validated @RequestBody BindBean resources) { | ||
| 125 | log.info("UserOperationController ==> appletBind ==>> param ==> [{}]",resources); | ||
| 126 | |||
| 127 | String unionId = resources.getUnionid(); | ||
| 128 | if (StringUtils.isBlank(unionId)) | ||
| 129 | Assert.state(StrUtil.isNotBlank(unionId), "跨屏绑定,请先进行授权"); | ||
| 130 | |||
| 131 | String platformAccount = resources.getPlatformAccount(); | ||
| 132 | if (Objects.isNull(platformAccount)) | ||
| 133 | Assert.state(StrUtil.isNotBlank(platformAccount), "大屏账户不得为空"); | ||
| 134 | |||
| 135 | UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount); | ||
| 136 | resources.setPlatformUserId(userTvDTO.getId()); | ||
| 137 | resources.setPlatformAccount(platformAccount); | ||
| 138 | |||
| 139 | boolean result = this.userTvOperationService.appletBind(resources); | ||
| 140 | return ResultInfo.success(result); | 90 | return ResultInfo.success(result); |
| 141 | } | 91 | } |
| 142 | 92 | ||
| ... | @@ -148,8 +98,9 @@ public class UserOperationController { | ... | @@ -148,8 +98,9 @@ public class UserOperationController { |
| 148 | log.info("UserOperationController ==> subscribe ==>> param ==> [{}]",data); | 98 | log.info("UserOperationController ==> subscribe ==>> param ==> [{}]",data); |
| 149 | 99 | ||
| 150 | SubscribeBean subscribeBean = JSONUtil.parseMsg2Object(data.getContent(), SubscribeBean.class); | 100 | SubscribeBean subscribeBean = JSONUtil.parseMsg2Object(data.getContent(), SubscribeBean.class); |
| 101 | // 解析参数 | ||
| 151 | this.parseSubscribe(subscribeBean); | 102 | this.parseSubscribe(subscribeBean); |
| 152 | boolean result = this.userTvOperationService.subscribe(subscribeBean); | 103 | boolean result = this.userOperationService.subscribe(subscribeBean); |
| 153 | return ResultInfo.success(result); | 104 | return ResultInfo.success(result); |
| 154 | } | 105 | } |
| 155 | 106 | ||
| ... | @@ -159,22 +110,19 @@ public class UserOperationController { | ... | @@ -159,22 +110,19 @@ public class UserOperationController { |
| 159 | * @throws IOException | 110 | * @throws IOException |
| 160 | */ | 111 | */ |
| 161 | private void parseSubscribe(SubscribeBean subscribeBean) throws IOException { | 112 | private void parseSubscribe(SubscribeBean subscribeBean) throws IOException { |
| 162 | if (Objects.nonNull(subscribeBean)) { | ||
| 163 | 113 | ||
| 164 | String appId = subscribeBean.getAppId(); | 114 | String appId = subscribeBean.getAppId(); |
| 165 | // appId不得为空 | 115 | Assert.notNull(appId, GlobeExceptionMsg.APP_ID_IS_NULL); |
| 166 | if (StringUtils.isBlank(appId)) | ||
| 167 | throw new BadRequestException("appId 不存在!"); | ||
| 168 | |||
| 169 | // openId | 116 | // openId |
| 170 | String openId = subscribeBean.getOpenId(); | 117 | String openId = subscribeBean.getOpenId(); |
| 171 | if (StringUtils.isBlank(openId)) | 118 | Assert.notNull(openId, GlobeExceptionMsg.OPEN_ID_IS_NULL); |
| 172 | throw new BadRequestException("openId 不存在!"); | ||
| 173 | |||
| 174 | // unionId | 119 | // unionId |
| 175 | String unionId = subscribeBean.getUnionid(); | 120 | String unionId = subscribeBean.getUnionid(); |
| 176 | if (StringUtils.isBlank(unionId)) | 121 | Assert.notNull(openId, GlobeExceptionMsg.UNION_ID_IS_NULL); |
| 177 | throw new BadRequestException("unionId 不存在!"); | 122 | |
| 123 | subscribeBean.setAppid(appId); | ||
| 124 | subscribeBean.setOpenid(openId); | ||
| 125 | subscribeBean.setUnionid(unionId); | ||
| 178 | 126 | ||
| 179 | // 匹配配置文件中的微信列表信息 | 127 | // 匹配配置文件中的微信列表信息 |
| 180 | Map<String, String> wxInfoMap = WeixinUtil.getWeixinInfoByAppid(appId); | 128 | Map<String, String> wxInfoMap = WeixinUtil.getWeixinInfoByAppid(appId); |
| ... | @@ -195,18 +143,6 @@ public class UserOperationController { | ... | @@ -195,18 +143,6 @@ public class UserOperationController { |
| 195 | // 大屏信息 | 143 | // 大屏信息 |
| 196 | iptvUserInfo = JSONObject.parseObject(content); | 144 | iptvUserInfo = JSONObject.parseObject(content); |
| 197 | 145 | ||
| 198 | } else { | ||
| 199 | |||
| 200 | String eventKey = subscribeBean.getEventKey(); | ||
| 201 | log.info(" eventKey ==> [{}] ", eventKey); | ||
| 202 | |||
| 203 | if (StringUtils.isNotBlank(eventKey)) { | ||
| 204 | // 用户扫描带参二维码关注。发消息 | ||
| 205 | // 去除固定前缀,获取二维码参数 | ||
| 206 | eventKey = eventKey.substring(8); | ||
| 207 | iptvUserInfo = JSONObject.parseObject(eventKey); | ||
| 208 | } | ||
| 209 | |||
| 210 | } | 146 | } |
| 211 | 147 | ||
| 212 | // 用户自己搜索关注就没有大屏信息,否则表示扫码关注 | 148 | // 用户自己搜索关注就没有大屏信息,否则表示扫码关注 |
| ... | @@ -228,8 +164,6 @@ public class UserOperationController { | ... | @@ -228,8 +164,6 @@ public class UserOperationController { |
| 228 | } | 164 | } |
| 229 | 165 | ||
| 230 | } | 166 | } |
| 231 | |||
| 232 | } | ||
| 233 | } | 167 | } |
| 234 | 168 | ||
| 235 | @Log("微信公众号取关") | 169 | @Log("微信公众号取关") |
| ... | @@ -240,7 +174,28 @@ public class UserOperationController { | ... | @@ -240,7 +174,28 @@ public class UserOperationController { |
| 240 | log.info("UserOperationController ==> unsubscribe ==>> param ==> [{}]",data); | 174 | log.info("UserOperationController ==> unsubscribe ==>> param ==> [{}]",data); |
| 241 | 175 | ||
| 242 | SubscribeBean subscribeBean = JSONUtil.parseMsg2Object(data.getContent(), SubscribeBean.class); | 176 | SubscribeBean subscribeBean = JSONUtil.parseMsg2Object(data.getContent(), SubscribeBean.class); |
| 243 | boolean result = this.userTvOperationService.unsubscribe(subscribeBean); | 177 | |
| 178 | String appId = subscribeBean.getAppId(); | ||
| 179 | Assert.notNull(appId, GlobeExceptionMsg.APP_ID_IS_NULL); | ||
| 180 | // openId | ||
| 181 | String openId = subscribeBean.getOpenId(); | ||
| 182 | Assert.notNull(openId, GlobeExceptionMsg.OPEN_ID_IS_NULL); | ||
| 183 | |||
| 184 | subscribeBean.setAppid(appId); | ||
| 185 | subscribeBean.setOpenid(openId); | ||
| 186 | |||
| 187 | boolean result = this.userOperationService.unsubscribe(subscribeBean); | ||
| 188 | return ResultInfo.success(result); | ||
| 189 | } | ||
| 190 | |||
| 191 | @Log("微信小程序绑定大屏") | ||
| 192 | @PostMapping("/appletBind") | ||
| 193 | @ApiOperation("微信小程序绑定大屏") | ||
| 194 | @AnonymousAccess | ||
| 195 | public ResultInfo appletBind(@Validated(value = {BindGroup.class}) @RequestBody BindBean resources) { | ||
| 196 | log.info("UserOperationController ==> appletBind ==>> param ==> [{}]",resources); | ||
| 197 | |||
| 198 | boolean result = this.userOperationService.appletBind(resources); | ||
| 244 | return ResultInfo.success(result); | 199 | return ResultInfo.success(result); |
| 245 | } | 200 | } |
| 246 | 201 | ||
| ... | @@ -263,7 +218,7 @@ public class UserOperationController { | ... | @@ -263,7 +218,7 @@ public class UserOperationController { |
| 263 | String result = SUBSCRIBE; | 218 | String result = SUBSCRIBE; |
| 264 | 219 | ||
| 265 | // 保存大小屏信息到redis同时返回小屏信息 | 220 | // 保存大小屏信息到redis同时返回小屏信息 |
| 266 | UserWeixinDTO userWeixinDTO = this.userTvOperationService.saveUserInfo(data); | 221 | UserWeixinDTO userWeixinDTO = this.userOperationService.saveUserInfo(data); |
| 267 | // 小屏用户不存在或者关注状态为未关注(0),返回未关注 | 222 | // 小屏用户不存在或者关注状态为未关注(0),返回未关注 |
| 268 | if (Objects.isNull(userWeixinDTO) || Objects.isNull(userWeixinDTO.getId()) || userWeixinDTO.getStatus() != SUBSCRIBE_STATUS) { | 223 | if (Objects.isNull(userWeixinDTO) || Objects.isNull(userWeixinDTO.getId()) || userWeixinDTO.getStatus() != SUBSCRIBE_STATUS) { |
| 269 | result = UNSUBSCRIBE; | 224 | result = UNSUBSCRIBE; |
| ... | @@ -325,6 +280,41 @@ public class UserOperationController { | ... | @@ -325,6 +280,41 @@ public class UserOperationController { |
| 325 | } | 280 | } |
| 326 | 281 | ||
| 327 | 282 | ||
| 283 | /******************************************************* IPTV ************************************/ | ||
| 284 | |||
| 285 | @Log("保存大屏账户同时创建会员") | ||
| 286 | @PostMapping(value = "/createTvUserAndMember") | ||
| 287 | @ApiOperation("保存大屏账户同时创建会员信息") | ||
| 288 | @AnonymousAccess | ||
| 289 | public ResultInfo createTvUserAndMember(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) { | ||
| 290 | log.info("UserOperationController ==> createUserAndCreateMember ==>> param ==> [{}]",resources); | ||
| 291 | |||
| 292 | UserTvDTO result = this.userOperationService.createTvUserAndMember(resources); | ||
| 293 | return ResultInfo.success(result); | ||
| 294 | } | ||
| 295 | |||
| 296 | @Log("大屏用户解绑") | ||
| 297 | @RequestMapping(value = "/unbind") | ||
| 298 | @ApiOperation("大屏用户解绑") | ||
| 299 | @AnonymousAccess | ||
| 300 | public ResultInfo unbind(@Validated(value = {UpdateGroup.class}) @RequestBody UserTv resources) { | ||
| 301 | log.info("UserOperationController ==> unbind ==>> param ==> [{}]",resources); | ||
| 302 | |||
| 303 | this.userOperationService.unbind(resources); | ||
| 304 | return ResultInfo.success(); | ||
| 305 | } | ||
| 306 | |||
| 307 | @Log("大屏更换主账号") | ||
| 308 | @RequestMapping(value = "/changeMainAccount") | ||
| 309 | @ApiOperation("大屏更换主账号") | ||
| 310 | @AnonymousAccess | ||
| 311 | public ResultInfo changeMainAccount(@Validated @RequestBody UserTv resources) { | ||
| 312 | log.info("UserOperationController ==> changeMainAccount ==>> param ==> [{}]",resources); | ||
| 313 | |||
| 314 | this.userOperationService.changeMainAccount(resources); | ||
| 315 | return ResultInfo.success(); | ||
| 316 | } | ||
| 317 | |||
| 328 | @Log("删除全部收藏") | 318 | @Log("删除全部收藏") |
| 329 | @PostMapping(value = "/deleteAllCollection") | 319 | @PostMapping(value = "/deleteAllCollection") |
| 330 | @ApiOperation("删除全部收藏") | 320 | @ApiOperation("删除全部收藏") |
| ... | @@ -332,7 +322,7 @@ public class UserOperationController { | ... | @@ -332,7 +322,7 @@ public class UserOperationController { |
| 332 | public ResultInfo deleteAllCollection(@RequestBody String content) { | 322 | public ResultInfo deleteAllCollection(@RequestBody String content) { |
| 333 | log.info("UserOperationController ==> deleteAllCollection ==> param ==> [{}]",content); | 323 | log.info("UserOperationController ==> deleteAllCollection ==> param ==> [{}]",content); |
| 334 | 324 | ||
| 335 | boolean result = this.userTvOperationService.deleteAllCollection(content); | 325 | boolean result = this.userOperationService.deleteAllCollection(content); |
| 336 | return ResultInfo.success(result); | 326 | return ResultInfo.success(result); |
| 337 | } | 327 | } |
| 338 | 328 | ||
| ... | @@ -343,7 +333,7 @@ public class UserOperationController { | ... | @@ -343,7 +333,7 @@ public class UserOperationController { |
| 343 | public ResultInfo deleteCollection(@RequestBody String content) { | 333 | public ResultInfo deleteCollection(@RequestBody String content) { |
| 344 | log.info("UserOperationController ==> deleteCollection ==> param ==> [{}]",content); | 334 | log.info("UserOperationController ==> deleteCollection ==> param ==> [{}]",content); |
| 345 | 335 | ||
| 346 | boolean result = this.userTvOperationService.deleteCollection(content); | 336 | boolean result = this.userOperationService.deleteCollection(content); |
| 347 | return ResultInfo.success(result); | 337 | return ResultInfo.success(result); |
| 348 | } | 338 | } |
| 349 | 339 | ||
| ... | @@ -354,7 +344,7 @@ public class UserOperationController { | ... | @@ -354,7 +344,7 @@ public class UserOperationController { |
| 354 | public ResultInfo addCollection(@RequestBody String content) { | 344 | public ResultInfo addCollection(@RequestBody String content) { |
| 355 | log.info("UserOperationController ==> addCollection ==>> param ==> [{}]",content); | 345 | log.info("UserOperationController ==> addCollection ==>> param ==> [{}]",content); |
| 356 | 346 | ||
| 357 | boolean result = this.userTvOperationService.addCollection(content); | 347 | boolean result = this.userOperationService.addCollection(content); |
| 358 | return ResultInfo.success(result); | 348 | return ResultInfo.success(result); |
| 359 | } | 349 | } |
| 360 | 350 | ... | ... |
| ... | @@ -17,14 +17,28 @@ public interface UserOperationService { | ... | @@ -17,14 +17,28 @@ public interface UserOperationService { |
| 17 | * @param resources | 17 | * @param resources |
| 18 | * @return | 18 | * @return |
| 19 | */ | 19 | */ |
| 20 | boolean createTvUserAndMember(UserTv resources); | 20 | UserTvDTO createTvUserAndMember(UserTv resources); |
| 21 | 21 | ||
| 22 | /** | 22 | /** |
| 23 | * 保存小屏账户并创建会员 | 23 | * 保存小屏账户并创建会员 |
| 24 | * @param resources | 24 | * @param resources |
| 25 | * @return | 25 | * @return |
| 26 | */ | 26 | */ |
| 27 | UserWeixinDTO createWeixinUserAndCreateMember(UserWeixin resources); | 27 | UserWeixinDTO createWeixinUserAndMember(UserWeixin resources); |
| 28 | |||
| 29 | /** | ||
| 30 | * 服务号(H5)登录 | ||
| 31 | * @param resources | ||
| 32 | * @return | ||
| 33 | */ | ||
| 34 | UserWeixinDTO serviceLogin(UserWeixin resources); | ||
| 35 | |||
| 36 | /** | ||
| 37 | * 微信小程序登录 | ||
| 38 | * @param resources | ||
| 39 | * @return | ||
| 40 | */ | ||
| 41 | UserWeixinDTO appletLogin(UserWeixin resources); | ||
| 28 | 42 | ||
| 29 | /** | 43 | /** |
| 30 | * 大屏解绑 | 44 | * 大屏解绑 |
| ... | @@ -38,12 +52,7 @@ public interface UserOperationService { | ... | @@ -38,12 +52,7 @@ public interface UserOperationService { |
| 38 | */ | 52 | */ |
| 39 | void changeMainAccount(UserTv userTv); | 53 | void changeMainAccount(UserTv userTv); |
| 40 | 54 | ||
| 41 | /** | 55 | |
| 42 | * 微信小程序登录 | ||
| 43 | * @param resources | ||
| 44 | * @return | ||
| 45 | */ | ||
| 46 | UserWeixinDTO appletLogin(WeiXinUserBean resources); | ||
| 47 | 56 | ||
| 48 | /** | 57 | /** |
| 49 | * 微信公众号关注 | 58 | * 微信公众号关注 |
| ... | @@ -91,21 +100,12 @@ public interface UserOperationService { | ... | @@ -91,21 +100,12 @@ public interface UserOperationService { |
| 91 | boolean addCollection(String content); | 100 | boolean addCollection(String content); |
| 92 | 101 | ||
| 93 | /** | 102 | /** |
| 94 | * 服务号(H5)登录 | ||
| 95 | * @param resources | ||
| 96 | * @return | ||
| 97 | */ | ||
| 98 | Object serviceLogin(WeiXinUserBean resources); | ||
| 99 | |||
| 100 | /** | ||
| 101 | * 小程序绑定大屏 | 103 | * 小程序绑定大屏 |
| 102 | * @param resources | 104 | * @param resources |
| 103 | * @return | 105 | * @return |
| 104 | */ | 106 | */ |
| 105 | boolean appletBind(BindBean resources); | 107 | boolean appletBind(BindBean resources); |
| 106 | 108 | ||
| 107 | |||
| 108 | |||
| 109 | /** | 109 | /** |
| 110 | * | 110 | * |
| 111 | * @param memberCode | 111 | * @param memberCode | ... | ... |
| ... | @@ -8,7 +8,7 @@ import com.topdraw.business.module.member.domain.Member; | ... | @@ -8,7 +8,7 @@ import com.topdraw.business.module.member.domain.Member; |
| 8 | import com.topdraw.business.module.member.service.MemberService; | 8 | 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.service.CouponOperationService; | 10 | import com.topdraw.business.process.service.CouponOperationService; |
| 11 | import com.topdraw.business.process.service.MemberOperationService; | 11 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 12 | import com.topdraw.business.process.domian.TempCoupon; | 12 | import com.topdraw.business.process.domian.TempCoupon; |
| 13 | import com.topdraw.business.process.service.RightsOperationService; | 13 | import com.topdraw.business.process.service.RightsOperationService; |
| 14 | import com.topdraw.utils.RedisUtils; | 14 | import com.topdraw.utils.RedisUtils; | ... | ... |
| ... | @@ -9,7 +9,7 @@ import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO; | ... | @@ -9,7 +9,7 @@ import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO; |
| 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.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.business.process.domian.TempExp; | 13 | import com.topdraw.business.process.domian.TempExp; |
| 14 | import com.topdraw.util.IdWorker; | 14 | import com.topdraw.util.IdWorker; |
| 15 | import com.topdraw.utils.RedisUtils; | 15 | import com.topdraw.utils.RedisUtils; | ... | ... |
| ... | @@ -13,7 +13,7 @@ import com.topdraw.business.module.points.detail.domain.PointsDetail; | ... | @@ -13,7 +13,7 @@ import com.topdraw.business.module.points.detail.domain.PointsDetail; |
| 13 | import com.topdraw.business.module.points.detail.service.PointsDetailService; | 13 | import com.topdraw.business.module.points.detail.service.PointsDetailService; |
| 14 | import com.topdraw.business.module.points.service.PointsService; | 14 | import com.topdraw.business.module.points.service.PointsService; |
| 15 | import com.topdraw.business.process.service.dto.CustomPointsResult; | 15 | import com.topdraw.business.process.service.dto.CustomPointsResult; |
| 16 | import com.topdraw.business.process.service.MemberOperationService; | 16 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 17 | import com.topdraw.business.process.service.PointsOperationService; | 17 | import com.topdraw.business.process.service.PointsOperationService; |
| 18 | import com.topdraw.business.process.domian.TempPoints; | 18 | import com.topdraw.business.process.domian.TempPoints; |
| 19 | import com.topdraw.util.IdWorker; | 19 | import com.topdraw.util.IdWorker; | ... | ... |
| ... | @@ -12,6 +12,7 @@ import com.topdraw.business.module.member.service.MemberService; | ... | @@ -12,6 +12,7 @@ import com.topdraw.business.module.member.service.MemberService; |
| 12 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 12 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 13 | import com.topdraw.business.module.user.iptv.domain.UserConstant; | 13 | import com.topdraw.business.module.user.iptv.domain.UserConstant; |
| 14 | import com.topdraw.business.module.user.iptv.domain.UserTv; | 14 | import com.topdraw.business.module.user.iptv.domain.UserTv; |
| 15 | import com.topdraw.business.module.user.iptv.domain.UserTvBuilder; | ||
| 15 | import com.topdraw.business.module.user.iptv.service.UserTvService; | 16 | import com.topdraw.business.module.user.iptv.service.UserTvService; |
| 16 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; | 17 | import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO; |
| 17 | import com.topdraw.business.module.user.weixin.collection.domain.UserCollection; | 18 | import com.topdraw.business.module.user.weixin.collection.domain.UserCollection; |
| ... | @@ -20,6 +21,7 @@ import com.topdraw.business.module.user.weixin.collection.repository.UserCollect | ... | @@ -20,6 +21,7 @@ import com.topdraw.business.module.user.weixin.collection.repository.UserCollect |
| 20 | import com.topdraw.business.module.user.weixin.collection.service.UserCollectionDetailService; | 21 | import com.topdraw.business.module.user.weixin.collection.service.UserCollectionDetailService; |
| 21 | import com.topdraw.business.module.user.weixin.collection.service.UserCollectionService; | 22 | import com.topdraw.business.module.user.weixin.collection.service.UserCollectionService; |
| 22 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; | 23 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; |
| 24 | import com.topdraw.business.module.user.weixin.domain.UserWeixinBuilder; | ||
| 23 | import com.topdraw.business.module.user.weixin.repository.UserWeixinRepository; | 25 | import com.topdraw.business.module.user.weixin.repository.UserWeixinRepository; |
| 24 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; | 26 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; |
| 25 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | 27 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; |
| ... | @@ -45,6 +47,7 @@ import org.springframework.data.domain.Sort; | ... | @@ -45,6 +47,7 @@ import org.springframework.data.domain.Sort; |
| 45 | import org.springframework.stereotype.Service; | 47 | import org.springframework.stereotype.Service; |
| 46 | import org.springframework.transaction.annotation.Propagation; | 48 | import org.springframework.transaction.annotation.Propagation; |
| 47 | import org.springframework.transaction.annotation.Transactional; | 49 | import org.springframework.transaction.annotation.Transactional; |
| 50 | import org.springframework.util.Assert; | ||
| 48 | 51 | ||
| 49 | import java.nio.charset.StandardCharsets; | 52 | import java.nio.charset.StandardCharsets; |
| 50 | import java.time.LocalDateTime; | 53 | import java.time.LocalDateTime; |
| ... | @@ -91,15 +94,15 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -91,15 +94,15 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 91 | private String appletAppid; | 94 | private String appletAppid; |
| 92 | 95 | ||
| 93 | /** | 96 | /** |
| 94 | * 保存大屏账户同时创建会员 | 97 | * 创建大屏账户同时创建会员 |
| 95 | * | 98 | * |
| 96 | * @param resources 大屏账户 | 99 | * @param resources 大屏账户 |
| 97 | * @return boolean | 100 | * @return UserTvDTO |
| 98 | */ | 101 | */ |
| 99 | @Override | 102 | @Override |
| 100 | @Transactional | 103 | @Transactional |
| 101 | @AsyncMqSend | 104 | @AsyncMqSend |
| 102 | public boolean createTvUserAndMember(UserTv resources) { | 105 | public UserTvDTO createTvUserAndMember(UserTv resources) { |
| 103 | // 大屏账户 | 106 | // 大屏账户 |
| 104 | String platformAccount = resources.getPlatformAccount(); | 107 | String platformAccount = resources.getPlatformAccount(); |
| 105 | 108 | ||
| ... | @@ -111,14 +114,19 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -111,14 +114,19 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 111 | Member member = | 114 | Member member = |
| 112 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_VIS, | 115 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_VIS, |
| 113 | null, platformAccount, 0); | 116 | null, platformAccount, 0); |
| 117 | MemberDTO memberDTO = this.createMember(member); | ||
| 114 | 118 | ||
| 115 | UserTvDTO _userTvDTO = new UserTvDTO(); | 119 | if (Objects.nonNull(memberDTO)) { |
| 116 | BeanUtils.copyProperties(resources, _userTvDTO); | ||
| 117 | 120 | ||
| 121 | UserTv userTv = UserTvBuilder.build(memberDTO.getId(), memberDTO.getCode(), resources); | ||
| 118 | // 创建大屏账户 | 122 | // 创建大屏账户 |
| 119 | this.createTvUser(_userTvDTO, member); | 123 | UserTvDTO tvUser = this.createTvUser(userTv, memberDTO.getId(), memberDTO.getCode()); |
| 124 | return tvUser; | ||
| 125 | |||
| 126 | } | ||
| 127 | |||
| 128 | throw new EntityNotFoundException(MemberDTO.class,"code",GlobeExceptionMsg.MEMBER_ID_IS_NULL); | ||
| 120 | 129 | ||
| 121 | return true; | ||
| 122 | } | 130 | } |
| 123 | 131 | ||
| 124 | throw new BadRequestException(GlobeExceptionMsg.ENTITY_ALREADY_EXISTS); | 132 | throw new BadRequestException(GlobeExceptionMsg.ENTITY_ALREADY_EXISTS); |
| ... | @@ -126,14 +134,14 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -126,14 +134,14 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 126 | } | 134 | } |
| 127 | 135 | ||
| 128 | /** | 136 | /** |
| 129 | * | 137 | * 创建小屏账户同时创建会员 |
| 130 | * @param resources | 138 | * @param resources |
| 131 | * @return | 139 | * @return UserWeixinDTO |
| 132 | */ | 140 | */ |
| 133 | @Override | 141 | @Override |
| 134 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | 142 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) |
| 135 | @AsyncMqSend | 143 | @AsyncMqSend |
| 136 | public UserWeixinDTO createWeixinUserAndCreateMember(UserWeixin resources) { | 144 | public UserWeixinDTO createWeixinUserAndMember(UserWeixin resources) { |
| 137 | 145 | ||
| 138 | String appId = resources.getAppid(); | 146 | String appId = resources.getAppid(); |
| 139 | String openId = resources.getOpenid(); | 147 | String openId = resources.getOpenid(); |
| ... | @@ -141,59 +149,56 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -141,59 +149,56 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 141 | 149 | ||
| 142 | // 检查小屏账户是否存在 | 150 | // 检查小屏账户是否存在 |
| 143 | UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId); | 151 | UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId); |
| 144 | if (Objects.nonNull(userWeixinDTO.getId())) | 152 | if (Objects.nonNull(userWeixinDTO.getId())) { |
| 145 | return userWeixinDTO; | 153 | log.error("createWeixinUserAndMember ==>> result ==>> [{}]", userWeixinDTO); |
| 154 | throw new BadRequestException(GlobeExceptionMsg.OPERATION_FORBID + "==>> " + GlobeExceptionMsg.ENTITY_ALREADY_EXISTS); | ||
| 155 | } | ||
| 146 | 156 | ||
| 147 | // 当前用户的任意微信app,因为同一unionId的会员是唯一的 | 157 | // 当前用户的任意微信app,因为同一unionId的会员是唯一的 |
| 148 | UserWeixinDTO userWeixinDTO1 = this.findFirstByUnionId(unionId); | 158 | UserWeixinDTO _userWeixinDTO = this.findFirstByUnionId(unionId); |
| 159 | if (Objects.nonNull(_userWeixinDTO.getId())) { | ||
| 149 | 160 | ||
| 150 | UserWeixinDTO _userWeixinDTO = new UserWeixinDTO(); | 161 | Assert.notNull(_userWeixinDTO.getMemberId(),GlobeExceptionMsg.MEMBER_ID_IS_NULL); |
| 151 | Member member = null; | ||
| 152 | 162 | ||
| 153 | if (Objects.nonNull(userWeixinDTO1.getId())) { | 163 | // 小屏会员 |
| 164 | MemberDTO memberDTO = this.findMemberById(_userWeixinDTO.getMemberId()); | ||
| 165 | if (Objects.nonNull(memberDTO)) { | ||
| 166 | resources.setMemberId(_userWeixinDTO.getMemberId()); | ||
| 167 | UserWeixin userWeixin = UserWeixinBuilder.build(resources); | ||
| 168 | return this.createWeixinUser(userWeixin, memberDTO.getId(), memberDTO.getCode()); | ||
| 169 | } | ||
| 154 | 170 | ||
| 155 | Long memberId = userWeixinDTO1.getMemberId(); | 171 | throw new EntityNotFoundException(MemberDTO.class,"code",GlobeExceptionMsg.MEMBER_CODE_IS_NULL); |
| 156 | resources.setMemberId(memberId); | ||
| 157 | BeanUtils.copyProperties(resources,_userWeixinDTO); | ||
| 158 | 172 | ||
| 159 | } else { | 173 | } else { |
| 160 | // x_member | 174 | |
| 161 | member = | 175 | // 新建会员 |
| 176 | Member _member = | ||
| 162 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_WEIXIN, | 177 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_WEIXIN, |
| 163 | null, "", 0); | 178 | null, "", 0); |
| 179 | MemberDTO memberDTO = this.createMember(_member); | ||
| 164 | 180 | ||
| 165 | BeanUtils.copyProperties(resources,_userWeixinDTO); | 181 | if (Objects.nonNull(memberDTO)) { |
| 182 | UserWeixin userWeixin = UserWeixinBuilder.build(resources); | ||
| 183 | return this.createWeixinUser(userWeixin, memberDTO.getId(), memberDTO.getCode()); | ||
| 166 | } | 184 | } |
| 167 | 185 | ||
| 168 | this.createWeixinUser(_userWeixinDTO,member); | 186 | throw new EntityNotFoundException(MemberDTO.class,"code",GlobeExceptionMsg.MEMBER_CODE_IS_NULL); |
| 169 | 187 | ||
| 170 | return null; | ||
| 171 | } | 188 | } |
| 172 | 189 | ||
| 190 | } | ||
| 173 | 191 | ||
| 192 | /** | ||
| 193 | * 服务号登录 | ||
| 194 | * @param resources | ||
| 195 | * @return | ||
| 196 | */ | ||
| 174 | @Override | 197 | @Override |
| 175 | public Object serviceLogin(WeiXinUserBean resources) { | 198 | public UserWeixinDTO serviceLogin(UserWeixin resources) { |
| 176 | String unionId = resources.getUnionid(); | ||
| 177 | String appId = resources.getAppid(); | ||
| 178 | String openId = resources.getOpenid(); | ||
| 179 | |||
| 180 | // 小屏账户 | ||
| 181 | UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId); | ||
| 182 | |||
| 183 | if (Objects.isNull(userWeixinDTO.getId())) { | ||
| 184 | |||
| 185 | // member | ||
| 186 | Member member = | ||
| 187 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_WEIXIN, | ||
| 188 | resources.getHeadimgurl(), resources.getNikename(), 0); | ||
| 189 | 199 | ||
| 190 | userWeixinDTO = new UserWeixinDTO(); | 200 | // 创建小屏账户同时创建会员 |
| 191 | BeanUtils.copyProperties(resources,userWeixinDTO); | 201 | UserWeixinDTO userWeixinDTO = this.createWeixinUserAndMember(resources); |
| 192 | |||
| 193 | UserWeixin weixinUser = this.createWeixinUser(userWeixinDTO, member); | ||
| 194 | userWeixinDTO.setId(weixinUser.getId()); | ||
| 195 | |||
| 196 | } | ||
| 197 | 202 | ||
| 198 | // 为了保证返回的同一用户 | 203 | // 为了保证返回的同一用户 |
| 199 | UserWeixinDTO userWeixinDTO_0 = this.getFirstId(userWeixinDTO); | 204 | UserWeixinDTO userWeixinDTO_0 = this.getFirstId(userWeixinDTO); |
| ... | @@ -207,28 +212,14 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -207,28 +212,14 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 207 | */ | 212 | */ |
| 208 | @Override | 213 | @Override |
| 209 | @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Exception.class) | 214 | @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false, rollbackFor = Exception.class) |
| 210 | public UserWeixinDTO appletLogin(WeiXinUserBean resources) { | 215 | public UserWeixinDTO appletLogin(UserWeixin resources) { |
| 211 | String unionId = resources.getUnionid(); | ||
| 212 | String appId = resources.getAppid(); | ||
| 213 | String openId = resources.getOpenid(); | ||
| 214 | 216 | ||
| 215 | // 小屏账户 | 217 | // 创建小屏账户同时创建会员 |
| 216 | UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId); | 218 | UserWeixinDTO userWeixinDTO = this.createWeixinUserAndMember(resources); |
| 217 | |||
| 218 | if (Objects.isNull(userWeixinDTO.getId())) { | ||
| 219 | // member | ||
| 220 | Member member = | ||
| 221 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_WEIXIN, | ||
| 222 | resources.getHeadimgurl(), resources.getNikename(), 0); | ||
| 223 | |||
| 224 | userWeixinDTO = new UserWeixinDTO(); | ||
| 225 | BeanUtils.copyProperties(resources, userWeixinDTO); | ||
| 226 | |||
| 227 | UserWeixin weixinUser = this.createWeixinUser(userWeixinDTO, member); | ||
| 228 | userWeixinDTO.setId(weixinUser.getId()); | ||
| 229 | } | ||
| 230 | 219 | ||
| 231 | return this.getFirstId(userWeixinDTO); | 220 | // 为了保证返回的同一用户 |
| 221 | UserWeixinDTO userWeixinDTO_0 = this.getFirstId(userWeixinDTO); | ||
| 222 | return userWeixinDTO_0; | ||
| 232 | } | 223 | } |
| 233 | 224 | ||
| 234 | /** | 225 | /** |
| ... | @@ -246,8 +237,8 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -246,8 +237,8 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 246 | @Override | 237 | @Override |
| 247 | public boolean subscribe(SubscribeBean resources) { | 238 | public boolean subscribe(SubscribeBean resources) { |
| 248 | String unionId = resources.getUnionid(); | 239 | String unionId = resources.getUnionid(); |
| 249 | String appId = resources.getAppId(); | 240 | String appId = resources.getAppid(); |
| 250 | String openId = resources.getOpenId(); | 241 | String openId = resources.getOpenid(); |
| 251 | String nickname = resources.getNickname(); | 242 | String nickname = resources.getNickname(); |
| 252 | String headImgUrl = resources.getHeadimgurl(); | 243 | String headImgUrl = resources.getHeadimgurl(); |
| 253 | 244 | ||
| ... | @@ -256,20 +247,15 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -256,20 +247,15 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 256 | 247 | ||
| 257 | if (Objects.isNull(userWeixinDTO.getId())) { | 248 | if (Objects.isNull(userWeixinDTO.getId())) { |
| 258 | 249 | ||
| 259 | // member | 250 | UserWeixin userWeixin = new UserWeixin(); |
| 260 | Member member = | 251 | BeanUtils.copyProperties(resources,userWeixin); |
| 261 | MemberBuilder.build(LocalConstants.MEMBER_PLATFORM_TYPE_WEIXIN, | 252 | // 创建小屏账户同时创建会员 |
| 262 | resources.getHeadimgurl(), resources.getNikename(), 1); | 253 | this.createWeixinUserAndMember(userWeixin); |
| 263 | |||
| 264 | UserWeixinDTO _userWeixinDTO = new UserWeixinDTO(); | ||
| 265 | BeanUtils.copyProperties(resources,_userWeixinDTO); | ||
| 266 | |||
| 267 | this.createWeixinUser(_userWeixinDTO,member); | ||
| 268 | 254 | ||
| 269 | } else { | 255 | } else { |
| 270 | 256 | ||
| 271 | // 修改账 status =1 , 会员 vip = 1 | 257 | // 修改微信账户关注状态 |
| 272 | this.doUpdateUserWeiXinAndMember(userWeixinDTO,appId,openId,headImgUrl,nickname); | 258 | this.doUpdateUserWeiXinStatus(userWeixinDTO,SUBSCRIBE_STATUS); |
| 273 | 259 | ||
| 274 | } | 260 | } |
| 275 | 261 | ||
| ... | @@ -280,7 +266,21 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -280,7 +266,21 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 280 | // 小屏会员 | 266 | // 小屏会员 |
| 281 | MemberDTO memberDTO = this.findMemberByAppIdAndOpenId(appId,openId); | 267 | MemberDTO memberDTO = this.findMemberByAppIdAndOpenId(appId,openId); |
| 282 | 268 | ||
| 283 | // 账户 | 269 | if (memberDTO != null) { |
| 270 | |||
| 271 | if (StringUtils.isNotBlank(headImgUrl) && StringUtils.isNotBlank(nickname)) { | ||
| 272 | memberDTO.setAvatarUrl(headImgUrl); | ||
| 273 | memberDTO.setNickname(nickname); | ||
| 274 | } | ||
| 275 | |||
| 276 | Integer vip = memberDTO.getVip(); | ||
| 277 | // 未购买付费会员 | ||
| 278 | if (Objects.isNull(vip) || vip < 1) { | ||
| 279 | memberDTO.setVip(1); | ||
| 280 | } | ||
| 281 | } | ||
| 282 | |||
| 283 | // 大屏账户 | ||
| 284 | String platformAccount = iptvUserInfo.getString("platformAccount"); | 284 | String platformAccount = iptvUserInfo.getString("platformAccount"); |
| 285 | 285 | ||
| 286 | this.bind(memberDTO,platformAccount); | 286 | this.bind(memberDTO,platformAccount); |
| ... | @@ -299,8 +299,8 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -299,8 +299,8 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 299 | @Override | 299 | @Override |
| 300 | public boolean unsubscribe(SubscribeBean resources) { | 300 | public boolean unsubscribe(SubscribeBean resources) { |
| 301 | 301 | ||
| 302 | String appId = resources.getAppId(); | 302 | String appId = resources.getAppid(); |
| 303 | String openId = resources.getOpenId(); | 303 | String openId = resources.getOpenid(); |
| 304 | 304 | ||
| 305 | // 修改关注状态 0:未关注 | 305 | // 修改关注状态 0:未关注 |
| 306 | UserWeixinDTO userWeixinDTO = this.doUpdateUserWeiXinStatus(appId, openId, UNSUBSCRIBE_STATUS); | 306 | UserWeixinDTO userWeixinDTO = this.doUpdateUserWeiXinStatus(appId, openId, UNSUBSCRIBE_STATUS); |
| ... | @@ -426,9 +426,6 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -426,9 +426,6 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 426 | @AsyncMqSend | 426 | @AsyncMqSend |
| 427 | public boolean deleteCollection(String content) { | 427 | public boolean deleteCollection(String content) { |
| 428 | try { | 428 | try { |
| 429 | |||
| 430 | log.info("receive UserCollection delete message, content [{}]", content); | ||
| 431 | |||
| 432 | JSONObject jsonObject = JSONObject.parseObject(content); | 429 | JSONObject jsonObject = JSONObject.parseObject(content); |
| 433 | String platformAccount = jsonObject.getString("platformAccount"); | 430 | String platformAccount = jsonObject.getString("platformAccount"); |
| 434 | String data = jsonObject.getString("data"); | 431 | String data = jsonObject.getString("data"); |
| ... | @@ -512,7 +509,6 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -512,7 +509,6 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 512 | if (userCollectionMqList == null || userCollectionMqList.isEmpty()) | 509 | if (userCollectionMqList == null || userCollectionMqList.isEmpty()) |
| 513 | return false; | 510 | return false; |
| 514 | 511 | ||
| 515 | |||
| 516 | Map<Long, List<UserCollectionMq>> collect = userCollectionMqList.stream().collect(Collectors.groupingBy(UserCollectionMq::getUserCollectionId)); | 512 | Map<Long, List<UserCollectionMq>> collect = userCollectionMqList.stream().collect(Collectors.groupingBy(UserCollectionMq::getUserCollectionId)); |
| 517 | 513 | ||
| 518 | for (Map.Entry<Long, List<UserCollectionMq>> entry : collect.entrySet()) { | 514 | for (Map.Entry<Long, List<UserCollectionMq>> entry : collect.entrySet()) { |
| ... | @@ -568,17 +564,16 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -568,17 +564,16 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 568 | public boolean appletBind(BindBean resources) { | 564 | public boolean appletBind(BindBean resources) { |
| 569 | 565 | ||
| 570 | Long id = resources.getId(); | 566 | Long id = resources.getId(); |
| 571 | Long platformUserId = resources.getPlatformUserId(); | ||
| 572 | String unionid = resources.getUnionid(); | 567 | String unionid = resources.getUnionid(); |
| 568 | |||
| 573 | String platformAccount = resources.getPlatformAccount(); | 569 | String platformAccount = resources.getPlatformAccount(); |
| 574 | 570 | ||
| 575 | // 大屏账户 | 571 | // 大屏账户 |
| 576 | UserTvDTO userTvDTO = this.findUserIptvById(platformUserId); | 572 | UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount); |
| 577 | |||
| 578 | // 账户是否存在 | 573 | // 账户是否存在 |
| 579 | if (Objects.isNull(userTvDTO.getId())){ | 574 | if (Objects.isNull(userTvDTO.getId())){ |
| 580 | log.error("Param ==> platformUserId ==> [{}]",platformUserId); | 575 | log.error("appletBind ==> platformAccount ==> [{}]",platformAccount); |
| 581 | throw new EntityNotFoundException(UserTvDTO.class,"id","大屏账户不存在!"); | 576 | throw new EntityNotFoundException(UserTvDTO.class,"id",GlobeExceptionMsg.IPTV_IS_NULL); |
| 582 | } | 577 | } |
| 583 | 578 | ||
| 584 | UserWeixinDTO userWeixinDTO = null; | 579 | UserWeixinDTO userWeixinDTO = null; |
| ... | @@ -591,42 +586,31 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -591,42 +586,31 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 591 | 586 | ||
| 592 | // 账户是否存在 | 587 | // 账户是否存在 |
| 593 | if (Objects.isNull(userWeixinDTO.getId())) { | 588 | if (Objects.isNull(userWeixinDTO.getId())) { |
| 594 | log.error("param ==> id ==> [{}]",id); | 589 | log.error("appletBind ==> weixinId ==> [{}]",id); |
| 595 | throw new EntityNotFoundException(UserWeixinDTO.class, "id", userWeixinDTO.getId().toString()); | 590 | throw new EntityNotFoundException(UserWeixinDTO.class, "id", id.toString()); |
| 596 | } | 591 | } |
| 597 | 592 | ||
| 598 | // 会员 | 593 | // 会员 |
| 599 | Long memberId = userWeixinDTO.getMemberId(); | 594 | Long memberId = userWeixinDTO.getMemberId(); |
| 600 | if (Objects.isNull(memberId)) { | 595 | if (Objects.isNull(memberId)) { |
| 601 | log.error("param ==> memberId ==> [{}]",id); | 596 | log.error("appletBind ==> memberId ==> [{}]",memberId); |
| 602 | throw new EntityNotFoundException(UserWeixinDTO.class, "id", id.toString()); | 597 | throw new EntityNotFoundException(UserWeixinDTO.class, "memberId", memberId.toString()); |
| 603 | } | 598 | } |
| 604 | 599 | ||
| 605 | MemberDTO memberDTO = this.findMemberById(memberId); | 600 | MemberDTO memberDTO = this.findMemberById(memberId); |
| 606 | if (Objects.isNull(memberId)) { | 601 | // 主账户会员 |
| 607 | log.error("param ==> memberId ==> [{}]",id); | 602 | String code = memberDTO.getCode(); |
| 608 | throw new EntityNotFoundException(MemberDTO.class, "id", memberId.toString()); | ||
| 609 | } | ||
| 610 | 603 | ||
| 604 | // 更新大屏信息,同步大屏信息时使用 | ||
| 605 | userTvDTO.setMemberCode(code); | ||
| 611 | // 主账户 | 606 | // 主账户 |
| 612 | String priorityMemberCode = userTvDTO.getPriorityMemberCode(); | 607 | String priorityMemberCode = userTvDTO.getPriorityMemberCode(); |
| 613 | 608 | ||
| 614 | if (StringUtils.isBlank(priorityMemberCode)) { | 609 | if (StringUtils.isBlank(priorityMemberCode)) { |
| 615 | // 主账户会员 | ||
| 616 | String code = memberDTO.getCode(); | ||
| 617 | // 设置主账号 | 610 | // 设置主账号 |
| 618 | userTvDTO.setPriorityMemberCode(code); | 611 | userTvDTO.setPriorityMemberCode(code); |
| 619 | } | 612 | } |
| 620 | 613 | ||
| 621 | // 更新小屏账户更新时间,epg需要根据修改时间来让绑定的二维码消失 | ||
| 622 | this.doUpdateUserWeiXinUpdateTime(userWeixinDTO); | ||
| 623 | |||
| 624 | |||
| 625 | // 更新大屏信息,同步大屏信息时使用 | ||
| 626 | userTvDTO.setMemberCode(memberDTO.getCode()); | ||
| 627 | this.doUpdateUserTv(userTvDTO); | ||
| 628 | |||
| 629 | |||
| 630 | String platform = userTvDTO.getPlatform(); | 614 | String platform = userTvDTO.getPlatform(); |
| 631 | // 绑定IPTV平台 0:未知;1:电信;2:移动;3:联通 | 615 | // 绑定IPTV平台 0:未知;1:电信;2:移动;3:联通 |
| 632 | Integer bindIptvPlatformType = 0; | 616 | Integer bindIptvPlatformType = 0; |
| ... | @@ -646,8 +630,12 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -646,8 +630,12 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 646 | memberDTO.setBindIptvTime(LocalDateTime.now()); | 630 | memberDTO.setBindIptvTime(LocalDateTime.now()); |
| 647 | memberDTO.setBindIptvPlatformType(bindIptvPlatformType); | 631 | memberDTO.setBindIptvPlatformType(bindIptvPlatformType); |
| 648 | memberDTO.setPlatformAccount(platformAccount); | 632 | memberDTO.setPlatformAccount(platformAccount); |
| 633 | |||
| 634 | // 更新大屏账户 | ||
| 635 | this.doUpdateUserTv(userTvDTO); | ||
| 649 | // 修改会员信息 | 636 | // 修改会员信息 |
| 650 | this.doUpdateMemberByMemberDTO(memberDTO); | 637 | this.doUpdateMemberByMemberDTO(memberDTO); |
| 638 | |||
| 651 | return true; | 639 | return true; |
| 652 | } | 640 | } |
| 653 | 641 | ||
| ... | @@ -690,7 +678,7 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -690,7 +678,7 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 690 | // 大屏账户 | 678 | // 大屏账户 |
| 691 | UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount); | 679 | UserTvDTO userTvDTO = this.userTvService.findByPlatformAccount(platformAccount); |
| 692 | if (Objects.isNull(userTvDTO)) { | 680 | if (Objects.isNull(userTvDTO)) { |
| 693 | throw new BadRequestException("大屏信息不存在!"); | 681 | throw new BadRequestException(GlobeExceptionMsg.IPTV_IS_NULL); |
| 694 | } | 682 | } |
| 695 | 683 | ||
| 696 | // mq同步数据时使用 | 684 | // mq同步数据时使用 |
| ... | @@ -821,28 +809,6 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -821,28 +809,6 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 821 | } | 809 | } |
| 822 | 810 | ||
| 823 | /** | 811 | /** |
| 824 | * | ||
| 825 | * @param userWeixinDTO | ||
| 826 | * @param appId | ||
| 827 | * @param openId | ||
| 828 | */ | ||
| 829 | private void doUpdateUserWeiXinAndMember(UserWeixinDTO userWeixinDTO,String appId,String openId,String headImgUrl,String nickName) { | ||
| 830 | |||
| 831 | // 修改微信账户关注状态 | ||
| 832 | this.doUpdateUserWeiXinStatus(userWeixinDTO,SUBSCRIBE_STATUS); | ||
| 833 | |||
| 834 | // 小屏会员 | ||
| 835 | MemberDTO memberDTO_0 = this.findMemberByAppIdAndOpenId(appId,openId); | ||
| 836 | |||
| 837 | if (StringUtils.isNotBlank(headImgUrl) && StringUtils.isNotBlank(nickName)) { | ||
| 838 | memberDTO_0.setAvatarUrl(headImgUrl); | ||
| 839 | memberDTO_0.setNickname(nickName); | ||
| 840 | } | ||
| 841 | |||
| 842 | this.doUpdateMemberVip(memberDTO_0,1); | ||
| 843 | } | ||
| 844 | |||
| 845 | /** | ||
| 846 | * 获取小屏会员 | 812 | * 获取小屏会员 |
| 847 | * @param appId | 813 | * @param appId |
| 848 | * @param openId | 814 | * @param openId |
| ... | @@ -939,20 +905,20 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -939,20 +905,20 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 939 | * 修改会员 | 905 | * 修改会员 |
| 940 | * @param memberDTO | 906 | * @param memberDTO |
| 941 | */ | 907 | */ |
| 942 | private void doUpdateMemberByMemberDTO(MemberDTO memberDTO){ | 908 | private MemberDTO doUpdateMemberByMemberDTO(MemberDTO memberDTO){ |
| 943 | Member member = new Member(); | 909 | Member member = new Member(); |
| 944 | BeanUtils.copyProperties(memberDTO,member); | 910 | BeanUtils.copyProperties(memberDTO,member); |
| 945 | member.setUpdateTime(LocalDateTime.now()); | 911 | member.setUpdateTime(LocalDateTime.now()); |
| 946 | log.info("doUpdateMemberByMemberDTO=====?>>member ==>> [{}]",member); | 912 | log.info("doUpdateMemberByMemberDTO=====?>>member ==>> [{}]",member); |
| 947 | this.doUpdateMember(member); | 913 | return this.doUpdateMember(member); |
| 948 | } | 914 | } |
| 949 | 915 | ||
| 950 | /** | 916 | /** |
| 951 | * 修改会员 | 917 | * 修改会员 |
| 952 | * @param member | 918 | * @param member |
| 953 | */ | 919 | */ |
| 954 | private void doUpdateMember(Member member){ | 920 | private MemberDTO doUpdateMember(Member member){ |
| 955 | this.memberService.update(member); | 921 | return this.memberService.update(member); |
| 956 | } | 922 | } |
| 957 | 923 | ||
| 958 | 924 | ||
| ... | @@ -1062,46 +1028,43 @@ public class UserOperationServiceImpl implements UserOperationService { | ... | @@ -1062,46 +1028,43 @@ public class UserOperationServiceImpl implements UserOperationService { |
| 1062 | * @param member | 1028 | * @param member |
| 1063 | * @return | 1029 | * @return |
| 1064 | */ | 1030 | */ |
| 1065 | private Long createMember(Member member){ | 1031 | private MemberDTO createMember(Member member){ |
| 1066 | return this.memberService.create(member).getId(); | 1032 | return this.memberService.create(member); |
| 1067 | } | 1033 | } |
| 1068 | 1034 | ||
| 1069 | /** | 1035 | /** |
| 1070 | * | 1036 | * |
| 1071 | * @param resources | 1037 | * @param resources |
| 1072 | * @param member | 1038 | * @param memberId |
| 1073 | * @return | 1039 | * @return |
| 1074 | */ | 1040 | */ |
| 1075 | private UserTv createTvUser(UserTvDTO resources,Member member){ | 1041 | private UserTvDTO createTvUser(UserTv resources, Long memberId, String memberCode){ |
| 1076 | 1042 | ||
| 1077 | if (member != null) { | ||
| 1078 | Long memberId = this.createMember(member); | ||
| 1079 | resources.setMemberId(memberId); | 1043 | resources.setMemberId(memberId); |
| 1080 | } | 1044 | resources.setMemberCode(memberCode); |
| 1045 | UserTv userTv = this.userTvService.create(resources); | ||
| 1081 | 1046 | ||
| 1082 | UserTv _userTv = new UserTv(); | 1047 | UserTvDTO userTvDTO = new UserTvDTO(); |
| 1083 | BeanUtils.copyProperties(resources,_userTv); | 1048 | BeanUtils.copyProperties(userTv,userTvDTO); |
| 1084 | return this.userTvService.create(_userTv); | 1049 | return userTvDTO; |
| 1085 | } | 1050 | } |
| 1086 | 1051 | ||
| 1087 | /** | 1052 | /** |
| 1088 | * | 1053 | * |
| 1089 | * @param userWeixinDTO | 1054 | * @param resource |
| 1090 | * @param member | 1055 | * @param memberId |
| 1056 | * @param memberCode | ||
| 1091 | * @return | 1057 | * @return |
| 1092 | */ | 1058 | */ |
| 1093 | private UserWeixin createWeixinUser(UserWeixinDTO userWeixinDTO,Member member){ | 1059 | private UserWeixinDTO createWeixinUser(UserWeixin resource, Long memberId, String memberCode){ |
| 1094 | 1060 | ||
| 1095 | if (member != null) { | 1061 | resource.setMemberId(memberId); |
| 1096 | // 创建会员 | 1062 | resource.setMemberCode(memberCode); |
| 1097 | Long memberId = this.createMember(member); | 1063 | UserWeixin userWeixin = this.userWeixinService.create(resource); |
| 1098 | userWeixinDTO.setMemberId(memberId); | ||
| 1099 | } | ||
| 1100 | |||
| 1101 | UserWeixin _userWeixin = new UserWeixin(); | ||
| 1102 | BeanUtils.copyProperties(userWeixinDTO,_userWeixin); | ||
| 1103 | 1064 | ||
| 1104 | return this.userWeixinService.create(_userWeixin); | 1065 | UserWeixinDTO userWeixinDTO = new UserWeixinDTO(); |
| 1066 | BeanUtils.copyProperties(userWeixin,userWeixinDTO); | ||
| 1067 | return userWeixinDTO; | ||
| 1105 | } | 1068 | } |
| 1106 | 1069 | ||
| 1107 | } | 1070 | } | ... | ... |
| 1 | package com.topdraw.business.process.service.impl.member; | ||
| 2 | |||
| 3 | import com.topdraw.aspect.AsyncMqSend; | ||
| 4 | import com.topdraw.business.module.member.address.domain.MemberAddress; | ||
| 5 | 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.process.service.member.MemberAddressOperationService; | ||
| 8 | import lombok.extern.slf4j.Slf4j; | ||
| 9 | import org.springframework.beans.factory.annotation.Autowired; | ||
| 10 | import org.springframework.stereotype.Service; | ||
| 11 | import org.springframework.transaction.annotation.Propagation; | ||
| 12 | import org.springframework.transaction.annotation.Transactional; | ||
| 13 | |||
| 14 | /** | ||
| 15 | * @author XiangHan | ||
| 16 | * @date 2021-10-22 | ||
| 17 | */ | ||
| 18 | @Service | ||
| 19 | @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) | ||
| 20 | @Slf4j | ||
| 21 | public class MemberAddressOperationServiceImpl implements MemberAddressOperationService { | ||
| 22 | |||
| 23 | @Autowired | ||
| 24 | private MemberAddressService memberAddressService; | ||
| 25 | |||
| 26 | @Override | ||
| 27 | public MemberAddressDTO findById(Long id) { | ||
| 28 | return this.memberAddressService.findById(id); | ||
| 29 | } | ||
| 30 | |||
| 31 | @Override | ||
| 32 | @Transactional(rollbackFor = Exception.class) | ||
| 33 | @AsyncMqSend | ||
| 34 | public MemberAddressDTO create(MemberAddress resources) { | ||
| 35 | log.info("MemberAddressOperationServiceImpl ==>> create ==>> param ==>> [{}]",resources); | ||
| 36 | return this.memberAddressService.create(resources); | ||
| 37 | } | ||
| 38 | |||
| 39 | @Override | ||
| 40 | @Transactional(rollbackFor = Exception.class) | ||
| 41 | @AsyncMqSend | ||
| 42 | public MemberAddressDTO update(MemberAddress resources) { | ||
| 43 | log.info("MemberAddressOperationServiceImpl ==>> update ==>> param ==>> [{}]",resources); | ||
| 44 | |||
| 45 | return this.memberAddressService.update(resources); | ||
| 46 | } | ||
| 47 | |||
| 48 | @Override | ||
| 49 | @Transactional(rollbackFor = Exception.class) | ||
| 50 | @AsyncMqSend | ||
| 51 | public void delete(Long id) { | ||
| 52 | this.memberAddressService.delete(id); | ||
| 53 | } | ||
| 54 | |||
| 55 | } |
| 1 | package com.topdraw.business.process.service.impl; | 1 | package com.topdraw.business.process.service.impl.member; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ObjectUtil; | 3 | import cn.hutool.core.util.ObjectUtil; |
| 4 | import com.topdraw.business.module.member.domain.Member; | 4 | import com.topdraw.business.module.member.domain.Member; |
| 5 | 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.MemberProfileService; |
| 6 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; | 7 | import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; |
| 7 | import com.topdraw.business.module.member.service.MemberService; | 8 | import com.topdraw.business.module.member.service.MemberService; |
| ... | @@ -12,12 +13,12 @@ import com.topdraw.business.module.user.weixin.domain.UserWeixin; | ... | @@ -12,12 +13,12 @@ import com.topdraw.business.module.user.weixin.domain.UserWeixin; |
| 12 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; | 13 | import com.topdraw.business.module.user.weixin.service.UserWeixinService; |
| 13 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; | 14 | import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO; |
| 14 | import com.topdraw.business.process.domian.weixin.BuyVipBean; | 15 | import com.topdraw.business.process.domian.weixin.BuyVipBean; |
| 15 | import com.topdraw.business.process.service.MemberOperationService; | 16 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 17 | import com.topdraw.business.process.service.member.MemberProfileOperationService; | ||
| 16 | import com.topdraw.exception.EntityNotFoundException; | 18 | import com.topdraw.exception.EntityNotFoundException; |
| 17 | import org.springframework.beans.BeanUtils; | 19 | import org.springframework.beans.BeanUtils; |
| 18 | import org.springframework.beans.factory.annotation.Autowired; | 20 | import org.springframework.beans.factory.annotation.Autowired; |
| 19 | import org.springframework.cache.annotation.CacheConfig; | 21 | import org.springframework.cache.annotation.CacheConfig; |
| 20 | import org.springframework.cache.annotation.CacheEvict; | ||
| 21 | import org.springframework.cache.annotation.CachePut; | 22 | import org.springframework.cache.annotation.CachePut; |
| 22 | import org.springframework.cache.annotation.Cacheable; | 23 | import org.springframework.cache.annotation.Cacheable; |
| 23 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | 24 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| ... | @@ -35,7 +36,7 @@ public class MemberOperationServiceImpl implements MemberOperationService { | ... | @@ -35,7 +36,7 @@ public class MemberOperationServiceImpl implements MemberOperationService { |
| 35 | @Autowired | 36 | @Autowired |
| 36 | private MemberService memberService; | 37 | private MemberService memberService; |
| 37 | @Autowired | 38 | @Autowired |
| 38 | private MemberProfileService memberProfileService; | 39 | private MemberProfileOperationService memberProfileOperationService; |
| 39 | @Autowired | 40 | @Autowired |
| 40 | private MemberVipHistoryService memberVipHistoryService; | 41 | private MemberVipHistoryService memberVipHistoryService; |
| 41 | @Autowired | 42 | @Autowired |
| ... | @@ -103,6 +104,11 @@ public class MemberOperationServiceImpl implements MemberOperationService { | ... | @@ -103,6 +104,11 @@ public class MemberOperationServiceImpl implements MemberOperationService { |
| 103 | return member; | 104 | return member; |
| 104 | } | 105 | } |
| 105 | 106 | ||
| 107 | @Override | ||
| 108 | public MemberDTO findByCode(String code) { | ||
| 109 | return this.memberService.findByCode(code); | ||
| 110 | } | ||
| 111 | |||
| 106 | 112 | ||
| 107 | private UserWeixinDTO findWeiXinById(Long id) { | 113 | private UserWeixinDTO findWeiXinById(Long id) { |
| 108 | UserWeixinDTO userWeixinDTO = this.userWeixinService.findById(id); | 114 | UserWeixinDTO userWeixinDTO = this.userWeixinService.findById(id); |
| ... | @@ -178,18 +184,6 @@ public class MemberOperationServiceImpl implements MemberOperationService { | ... | @@ -178,18 +184,6 @@ public class MemberOperationServiceImpl implements MemberOperationService { |
| 178 | MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); | 184 | MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); |
| 179 | BeanUtils.copyProperties(memberProfileDTO_0,memberProfileDTO); | 185 | BeanUtils.copyProperties(memberProfileDTO_0,memberProfileDTO); |
| 180 | 186 | ||
| 181 | /*// 真实姓名 | ||
| 182 | String realname = memberProfileDTO.getRealname(); | ||
| 183 | if (StringUtils.isNotBlank(realname)) { | ||
| 184 | realname = new String(Base64.getEncoder().encode(realname.getBytes(StandardCharsets.UTF_8))); | ||
| 185 | } | ||
| 186 | |||
| 187 | // 昵称 | ||
| 188 | String nickname = memberDTO.getNickname(); | ||
| 189 | if (StringUtils.isNotBlank(nickname)) { | ||
| 190 | nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8))); | ||
| 191 | }*/ | ||
| 192 | |||
| 193 | // vip | 187 | // vip |
| 194 | Integer vip = memberDTO.getVip(); | 188 | Integer vip = memberDTO.getVip(); |
| 195 | // 过期时间 | 189 | // 过期时间 |
| ... | @@ -217,16 +211,12 @@ public class MemberOperationServiceImpl implements MemberOperationService { | ... | @@ -217,16 +211,12 @@ public class MemberOperationServiceImpl implements MemberOperationService { |
| 217 | 211 | ||
| 218 | // 过期时间 | 212 | // 过期时间 |
| 219 | memberProfileDTO.setVipExpireTime(timeLong); | 213 | memberProfileDTO.setVipExpireTime(timeLong); |
| 220 | // 真实姓名 | ||
| 221 | // memberProfileDTO.setRealname(realname); | ||
| 222 | // 头像 | 214 | // 头像 |
| 223 | memberProfileDTO.setAvatarUrl(memberDTO.getAvatarUrl()); | 215 | memberProfileDTO.setAvatarUrl(memberDTO.getAvatarUrl()); |
| 224 | // 生日 | 216 | // 生日 |
| 225 | memberProfileDTO.setBirthday(memberDTO.getBirthday()); | 217 | memberProfileDTO.setBirthday(memberDTO.getBirthday()); |
| 226 | // 性别 | 218 | // 性别 |
| 227 | memberProfileDTO.setGender(memberDTO.getGender()); | 219 | memberProfileDTO.setGender(memberDTO.getGender()); |
| 228 | // 昵称 | ||
| 229 | // memberProfileDTO.setNickname(nickname); | ||
| 230 | // 会员id | 220 | // 会员id |
| 231 | memberProfileDTO.setMemberId(memberDTO.getId()); | 221 | memberProfileDTO.setMemberId(memberDTO.getId()); |
| 232 | // vip | 222 | // vip |
| ... | @@ -285,6 +275,6 @@ public class MemberOperationServiceImpl implements MemberOperationService { | ... | @@ -285,6 +275,6 @@ public class MemberOperationServiceImpl implements MemberOperationService { |
| 285 | * @return | 275 | * @return |
| 286 | */ | 276 | */ |
| 287 | private MemberProfileDTO findMemberProfileByMemberId(Long memberId) { | 277 | private MemberProfileDTO findMemberProfileByMemberId(Long memberId) { |
| 288 | return this.memberProfileService.findByMemberId(memberId); | 278 | return this.memberProfileOperationService.findByMemberId(memberId); |
| 289 | } | 279 | } |
| 290 | } | 280 | } | ... | ... |
| 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.process.service.member.MemberProfileOperationService; | ||
| 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 17:34 | ||
| 16 | * @version: : | ||
| 17 | * @modified By: | ||
| 18 | * @since : modified in 2022/3/20 17:34 | ||
| 19 | */ | ||
| 20 | @Service | ||
| 21 | public class MemberProfileOperationServiceImpl implements MemberProfileOperationService { | ||
| 22 | |||
| 23 | @Autowired | ||
| 24 | private MemberProfileService memberProfileService; | ||
| 25 | |||
| 26 | @Override | ||
| 27 | public MemberProfileDTO findById(Long id) { | ||
| 28 | return this.memberProfileService.findById(id); | ||
| 29 | } | ||
| 30 | |||
| 31 | @Override | ||
| 32 | public MemberProfile create(MemberProfile resources) { | ||
| 33 | return this.memberProfileService.create(resources); | ||
| 34 | } | ||
| 35 | |||
| 36 | @Override | ||
| 37 | public MemberProfile createDefault(MemberProfile resources) { | ||
| 38 | return this.memberProfileService.createDefault(resources); | ||
| 39 | } | ||
| 40 | |||
| 41 | @Override | ||
| 42 | public MemberProfile createDefault(Member resources) { | ||
| 43 | return this.memberProfileService.createDefault(resources); | ||
| 44 | } | ||
| 45 | |||
| 46 | @Override | ||
| 47 | public MemberProfile createDefaultByMemberId(Long resources) { | ||
| 48 | return this.memberProfileService.createDefaultByMemberId(resources); | ||
| 49 | } | ||
| 50 | |||
| 51 | @Override | ||
| 52 | public MemberProfileDTO update(MemberProfile resources) { | ||
| 53 | return this.memberProfileService.update(resources); | ||
| 54 | } | ||
| 55 | |||
| 56 | @Override | ||
| 57 | public void delete(Long id) { | ||
| 58 | this.memberProfileService.delete(id); | ||
| 59 | } | ||
| 60 | |||
| 61 | @Override | ||
| 62 | public MemberProfileDTO findByMemberId(Long memberId) { | ||
| 63 | return this.memberProfileService.findByMemberId(memberId); | ||
| 64 | } | ||
| 65 | |||
| 66 | @Override | ||
| 67 | public MemberProfileDTO findByMemberCode(String memberCode) { | ||
| 68 | return this.memberProfileService.findByMemberCode(memberCode); | ||
| 69 | } | ||
| 70 | |||
| 71 | @Override | ||
| 72 | public void updateMemberProfileAndMember(MemberProfile resources) { | ||
| 73 | this.memberProfileService.updateMemberProfileAndMember(resources); | ||
| 74 | } | ||
| 75 | } |
| 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 MemberRelatedInfo findByIdCard(MemberRelatedInfo resources) { | ||
| 48 | return this.memberRelatedInfoService.findByIdCard(resources); | ||
| 49 | } | ||
| 50 | |||
| 51 | @Override | ||
| 52 | public MemberRelatedInfo findByIdCard(String idCard) { | ||
| 53 | return this.memberRelatedInfoService.findByIdCard(idCard); | ||
| 54 | } | ||
| 55 | |||
| 56 | @Override | ||
| 57 | public MemberRelatedInfo findByMemberIdAndIdCard(Long memberId, String idCard) { | ||
| 58 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(memberId, idCard); | ||
| 59 | } | ||
| 60 | |||
| 61 | @Override | ||
| 62 | public MemberRelatedInfo findByMemberCodeAndIdCard(String memberCode, String idCard) { | ||
| 63 | return this.memberRelatedInfoService.findByMemberCodeAndIdCard(memberCode, idCard); | ||
| 64 | } | ||
| 65 | |||
| 66 | @Override | ||
| 67 | public MemberRelatedInfo findByMemberIdAndIdCard(MemberRelatedInfo resources) { | ||
| 68 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(resources); | ||
| 69 | } | ||
| 70 | |||
| 71 | @Override | ||
| 72 | public MemberRelatedInfo findByMemberIdAndIdCard(Member member, MemberRelatedInfo resources) { | ||
| 73 | return this.memberRelatedInfoService.findByMemberIdAndIdCard(member, resources); | ||
| 74 | } | ||
| 75 | } |
| 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; | 1 | package com.topdraw.business.process.service.member; |
| 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.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.service.dto.MemberDTO; | 6 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 6 | import com.topdraw.business.process.domian.weixin.BuyVipBean; | 7 | import com.topdraw.business.process.domian.weixin.BuyVipBean; |
| ... | @@ -65,4 +66,10 @@ public interface MemberOperationService { | ... | @@ -65,4 +66,10 @@ public interface MemberOperationService { |
| 65 | */ | 66 | */ |
| 66 | MemberDTO update(Member resources); | 67 | MemberDTO update(Member resources); |
| 67 | 68 | ||
| 69 | /** | ||
| 70 | * | ||
| 71 | * @param code | ||
| 72 | * @return | ||
| 73 | */ | ||
| 74 | MemberDTO findByCode(String code); | ||
| 68 | } | 75 | } | ... | ... |
| 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 | void updateMemberProfileAndMember(MemberProfile resources); | ||
| 75 | |||
| 76 | } |
| 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 | MemberRelatedInfo findByIdCard(MemberRelatedInfo resources); | ||
| 44 | |||
| 45 | /** | ||
| 46 | * 通过身份证查询 | ||
| 47 | * @param idCard 身份证 | ||
| 48 | * @return | ||
| 49 | */ | ||
| 50 | MemberRelatedInfo findByIdCard(String idCard); | ||
| 51 | |||
| 52 | /** | ||
| 53 | * | ||
| 54 | * @param memberId | ||
| 55 | * @param idCard | ||
| 56 | * @return | ||
| 57 | */ | ||
| 58 | MemberRelatedInfo findByMemberIdAndIdCard(Long memberId, String idCard); | ||
| 59 | |||
| 60 | /** | ||
| 61 | * | ||
| 62 | * @param memberCode | ||
| 63 | * @param idCard | ||
| 64 | * @return | ||
| 65 | */ | ||
| 66 | MemberRelatedInfo findByMemberCodeAndIdCard(String memberCode, String idCard); | ||
| 67 | |||
| 68 | /** | ||
| 69 | * | ||
| 70 | * @param resources | ||
| 71 | * @return | ||
| 72 | */ | ||
| 73 | MemberRelatedInfo findByMemberIdAndIdCard(MemberRelatedInfo resources); | ||
| 74 | |||
| 75 | /** | ||
| 76 | * | ||
| 77 | * @param member | ||
| 78 | * @param resources | ||
| 79 | * @return | ||
| 80 | */ | ||
| 81 | MemberRelatedInfo findByMemberIdAndIdCard(Member member, MemberRelatedInfo resources); | ||
| 82 | } |
| ... | @@ -35,8 +35,15 @@ public interface GlobeExceptionMsg { | ... | @@ -35,8 +35,15 @@ public interface GlobeExceptionMsg { |
| 35 | /**************************************************************/ | 35 | /**************************************************************/ |
| 36 | 36 | ||
| 37 | /** 账户管理 **/ | 37 | /** 账户管理 **/ |
| 38 | |||
| 39 | /** iptv */ | ||
| 38 | String IPTV_ID_IS_NULL = "iptvId is null"; | 40 | String IPTV_ID_IS_NULL = "iptvId is null"; |
| 39 | String IPTV_PLATFORM_ACCOUNT_IS_NULL = "platformAccount is null"; | 41 | String IPTV_PLATFORM_ACCOUNT_IS_NULL = "platformAccount is null"; |
| 40 | String IPTV_IS_NULL = "iptv is null"; | 42 | String IPTV_IS_NULL = "iptv is null"; |
| 43 | String VIS_USER_ID_IS_NULL = "visUserId is null"; | ||
| 41 | 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"; | ||
| 42 | } | 49 | } | ... | ... |
| ... | @@ -2,9 +2,12 @@ | ... | @@ -2,9 +2,12 @@ |
| 2 | spring: | 2 | spring: |
| 3 | datasource: | 3 | datasource: |
| 4 | # 测试/演示库url: | 4 | # 测试/演示库url: |
| 5 | url: jdbc:log4jdbc:mysql://139.196.192.242:3306/tj_user_0819?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false | 5 | # url: jdbc:log4jdbc:mysql://139.196.192.242:3306/tj_user_0819?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false |
| 6 | # username: root | ||
| 7 | # password: Tjlh@2017 | ||
| 8 | url: jdbc:log4jdbc:mysql://122.112.214.149:3306/tj_user?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false | ||
| 6 | username: root | 9 | username: root |
| 7 | password: Tjlh@2017 | 10 | password: root |
| 8 | 11 | ||
| 9 | driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy | 12 | driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy |
| 10 | #Druid | 13 | #Druid | ... | ... |
| ... | @@ -3,7 +3,7 @@ package com.topdraw.test.business.basicdata.points; | ... | @@ -3,7 +3,7 @@ package com.topdraw.test.business.basicdata.points; |
| 3 | import com.topdraw.business.module.member.service.dto.MemberDTO; | 3 | import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 4 | import com.topdraw.business.module.points.detail.domain.PointsDetail; | 4 | import com.topdraw.business.module.points.detail.domain.PointsDetail; |
| 5 | import com.topdraw.business.module.points.detail.service.PointsDetailService; | 5 | import com.topdraw.business.module.points.detail.service.PointsDetailService; |
| 6 | import com.topdraw.business.process.service.MemberOperationService; | 6 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 7 | import com.topdraw.business.process.domian.TempPoints; | 7 | import com.topdraw.business.process.domian.TempPoints; |
| 8 | import com.topdraw.BaseTest; | 8 | import com.topdraw.BaseTest; |
| 9 | import com.topdraw.util.IdWorker; | 9 | import com.topdraw.util.IdWorker; | ... | ... |
| ... | @@ -5,7 +5,7 @@ import com.topdraw.business.module.member.service.dto.MemberDTO; | ... | @@ -5,7 +5,7 @@ import com.topdraw.business.module.member.service.dto.MemberDTO; |
| 5 | import com.topdraw.business.module.points.detail.domain.PointsDetail; | 5 | import com.topdraw.business.module.points.detail.domain.PointsDetail; |
| 6 | import com.topdraw.business.module.points.detail.service.PointsDetailService; | 6 | import com.topdraw.business.module.points.detail.service.PointsDetailService; |
| 7 | import com.topdraw.business.process.domian.TempPoints; | 7 | import com.topdraw.business.process.domian.TempPoints; |
| 8 | import com.topdraw.business.process.service.MemberOperationService; | 8 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 9 | import com.topdraw.util.IdWorker; | 9 | import com.topdraw.util.IdWorker; |
| 10 | import org.junit.Test; | 10 | import org.junit.Test; |
| 11 | import org.springframework.beans.BeanUtils; | 11 | import org.springframework.beans.BeanUtils; | ... | ... |
| ... | @@ -2,10 +2,9 @@ package com.topdraw.test.business.process.service; | ... | @@ -2,10 +2,9 @@ package com.topdraw.test.business.process.service; |
| 2 | 2 | ||
| 3 | import com.alibaba.fastjson.JSONObject; | 3 | import com.alibaba.fastjson.JSONObject; |
| 4 | import com.topdraw.business.module.member.domain.Member; | 4 | import com.topdraw.business.module.member.domain.Member; |
| 5 | import com.topdraw.business.process.service.MemberOperationService; | 5 | import com.topdraw.business.process.service.member.MemberOperationService; |
| 6 | import com.topdraw.BaseTest; | 6 | import com.topdraw.BaseTest; |
| 7 | import com.topdraw.util.IdWorker; | 7 | import com.topdraw.util.IdWorker; |
| 8 | import com.topdraw.util.TimestampUtil; | ||
| 9 | import org.junit.Test; | 8 | import org.junit.Test; |
| 10 | import org.springframework.beans.factory.annotation.Autowired; | 9 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | 10 | ... | ... |
| ... | @@ -2,6 +2,7 @@ package com.topdraw.test.business.process.service; | ... | @@ -2,6 +2,7 @@ package com.topdraw.test.business.process.service; |
| 2 | 2 | ||
| 3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
| 4 | import com.topdraw.BaseTest; | 4 | import com.topdraw.BaseTest; |
| 5 | import com.topdraw.business.module.user.weixin.domain.UserWeixin; | ||
| 5 | import com.topdraw.business.process.domian.weixin.WeiXinUserBean; | 6 | import com.topdraw.business.process.domian.weixin.WeiXinUserBean; |
| 6 | import com.topdraw.business.process.service.UserOperationService; | 7 | import com.topdraw.business.process.service.UserOperationService; |
| 7 | import com.topdraw.module.mq.DataSyncMsg; | 8 | import com.topdraw.module.mq.DataSyncMsg; |
| ... | @@ -31,8 +32,8 @@ public class UserOperationServiceTest extends BaseTest { | ... | @@ -31,8 +32,8 @@ public class UserOperationServiceTest extends BaseTest { |
| 31 | 32 | ||
| 32 | String s = JSON.toJSONString(dataSyncMsg);*/ | 33 | String s = JSON.toJSONString(dataSyncMsg);*/ |
| 33 | 34 | ||
| 34 | WeiXinUserBean weiXinUserBean = new WeiXinUserBean(); | 35 | UserWeixin weiXinUserBean = new UserWeixin(); |
| 35 | weiXinUserBean.setWxAppid("1"); | 36 | /*weiXinUserBean.setWxAppid("1"); |
| 36 | weiXinUserBean.setWxCode("1"); | 37 | weiXinUserBean.setWxCode("1"); |
| 37 | weiXinUserBean.setSourceType("1"); | 38 | weiXinUserBean.setSourceType("1"); |
| 38 | weiXinUserBean.setSourceId("1"); | 39 | weiXinUserBean.setSourceId("1"); |
| ... | @@ -41,7 +42,7 @@ public class UserOperationServiceTest extends BaseTest { | ... | @@ -41,7 +42,7 @@ public class UserOperationServiceTest extends BaseTest { |
| 41 | weiXinUserBean.setSourceEntity("1"); | 42 | weiXinUserBean.setSourceEntity("1"); |
| 42 | weiXinUserBean.setSourceDesc("1"); | 43 | weiXinUserBean.setSourceDesc("1"); |
| 43 | weiXinUserBean.setSourceUser(1L); | 44 | weiXinUserBean.setSourceUser(1L); |
| 44 | weiXinUserBean.setUserInfo("1"); | 45 | weiXinUserBean.setUserInfo("1");*/ |
| 45 | this.taskOperationService.appletLogin(weiXinUserBean); | 46 | this.taskOperationService.appletLogin(weiXinUserBean); |
| 46 | } | 47 | } |
| 47 | 48 | ... | ... |
-
Please register or sign in to post a comment