Commit c83b7a48 c83b7a482a1a7295a0bd169d0b4a88efb06c4216 by xianghan

1.优化部分会员信息与会员属性逻辑

1 parent 384f3018
Showing 34 changed files with 364 additions and 381 deletions
package com.topdraw.business.module.common.domain;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.Transient;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
/**
* @author :
......@@ -23,6 +22,7 @@ import java.io.Serializable;
public class DefaultAsyncMqModule {
@Transient
@NotNull(message = "memberCode can't be null" , groups = {CreateGroup.class, UpdateGroup.class})
private String memberCode;
}
......
package com.topdraw.business.module.member.address.domain;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
......@@ -11,7 +12,6 @@ import javax.validation.constraints.NotNull;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.sql.Timestamp;
import java.io.Serializable;
import java.time.LocalDateTime;
......@@ -27,74 +27,74 @@ import java.time.LocalDateTime;
@Table(name="uc_member_address")
public class MemberAddress implements Serializable {
// 主键
/** 主键 */
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
// 会员id
/** 会员id */
@Column(name = "member_id", nullable = false)
@NotNull(message = "" , groups= {CreateGroup.class})
private Long memberId;
@Transient
@NotNull(message = "memberCode can't be null" , groups= {CreateGroup.class})
private String memberCode;
// 类型 1:家;2:公司;3:学校
/** 类型 1:家;2:公司;3:学校 */
@Column(name = "type", nullable = false)
private Integer type;
// 是否默认地址
/** 是否默认地址 */
@Column(name = "is_default", nullable = false)
private Integer isDefault;
// 显示顺序
/** 显示顺序 */
@Column(name = "sequence")
private Integer sequence;
// 状态 0:不可用;1-可用
/** 状态 0:不可用;1-可用 */
@Column(name = "status", nullable = false)
private Integer status;
// 联系人姓名
/** 联系人姓名 */
@Column(name = "contactor", nullable = false)
private String contactor;
// 联系人电话
/** 联系人电话 */
@Column(name = "cellphone", nullable = false)
private String cellphone;
// 国家
/** 国家 */
@Column(name = "country", nullable = false)
private String country;
// 省份
/** 省份 */
@Column(name = "province", nullable = false)
private String province;
// 城市
/** 城市 */
@Column(name = "city", nullable = false)
private String city;
// 区县
/** 区县 */
@Column(name = "district", nullable = false)
private String district;
// 地址
/** 地址 */
@Column(name = "address", nullable = false)
private String address;
// 邮编
/** 邮编 */
@Column(name = "zip_code")
private String zipCode;
// 创建时间
/** 创建时间 */
@CreatedDate
@Column(name = "create_time")
private LocalDateTime createTime;
// 更新时间
/** 更新时间 */
@LastModifiedDate
@Column(name = "update_time")
private LocalDateTime updateTime;
......
......@@ -2,20 +2,16 @@ package com.topdraw.business.module.member.address.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.common.UpdateGroup;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.address.domain.MemberAddress;
import com.topdraw.business.module.member.address.service.MemberAddressService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.util.Objects;
/**
* @author XiangHan
* @date 2021-10-22
......@@ -28,47 +24,25 @@ import java.util.Objects;
public class MemberAddressController {
@Autowired
private MemberAddressService MemberAddressService;
@Autowired
private MemberService memberService;
private MemberAddressService memberAddressService;
@Log("查询指定会员地址")
@GetMapping(value = "/findById/{id}")
@ApiOperation("查询指定会员地址")
public ResultInfo findById(@PathVariable(value = "id") Long resources) {
log.info("MemberAddressController ==>> create ==>> param ==>> [{}]",resources);
return ResultInfo.success(MemberAddressService.findById(resources));
}
@Log("查询指定会员地址")
@Log("新增会员地址")
@RequestMapping(value = "/create")
@ApiOperation("新增会员地址")
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> create ==> param ==>> [{}]",resources);
Long memberId = resources.getMemberId();
MemberDTO memberDTO = this.memberService.findById(memberId);
String code = memberDTO.getCode();
resources.setMemberCode(code);
MemberAddressService.create(resources);
log.info("memberAddress ==>> create ==> param ==>> [{}]",resources);
this.memberAddressService.create(resources);
log.info("memberAddress ==>> create ==> result ==>> [{}]",resources);
return ResultInfo.success();
}
@Log("修改会员地址")
@RequestMapping(value = "/update")
@ApiOperation("修改会员地址")
public ResultInfo update(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> update ==> param ==>> [{}]",resources);
Long memberId = resources.getMemberId();
Integer sequence = resources.getSequence();
Assert.notNull(memberId,"memberId can't be null");
Assert.notNull(sequence,"sequence can't be null");
MemberDTO memberDTO = this.memberService.findById(memberId);
if (Objects.nonNull(memberDTO)) {
String code = memberDTO.getCode();
Assert.notNull(code,"code can't be null");
resources.setMemberCode(code);
MemberAddressService.update(resources);
}
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberAddress resources) {
log.info("memberAddress ==>> update ==> param ==>> [{}]",resources);
this.memberAddressService.update(resources);
log.info("memberAddress ==>> update ==> result ==>> [{}]",resources);
return ResultInfo.success();
}
......@@ -76,8 +50,8 @@ public class MemberAddressController {
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除会员地址")
public ResultInfo delete(@PathVariable Long resources) {
log.info("MemberAddressController ==>> delete ==> param ==>> [{}]",resources);
MemberAddressService.delete(resources);
log.info("memberAddress ==>> delete ==> param ==>> [{}]",resources);
this.memberAddressService.delete(resources);
return ResultInfo.success();
}
......
......@@ -3,6 +3,7 @@ package com.topdraw.business.module.member.address.service.impl;
import com.topdraw.aspect.AsyncMqSend;
import com.topdraw.business.module.member.address.domain.MemberAddress;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.utils.ValidationUtil;
import com.topdraw.business.module.member.address.repository.MemberAddressRepository;
import com.topdraw.business.module.member.address.service.MemberAddressService;
......@@ -22,6 +23,7 @@ import com.topdraw.utils.QueryHelp;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @author XiangHan
......@@ -33,9 +35,10 @@ public class MemberAddressServiceImpl implements MemberAddressService {
@Autowired
private MemberAddressRepository MemberAddressRepository;
@Autowired
private MemberAddressMapper MemberAddressMapper;
@Autowired
private MemberService memberService;
@Override
public MemberAddressDTO findById(Long id) {
......@@ -48,6 +51,10 @@ public class MemberAddressServiceImpl implements MemberAddressService {
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void create(MemberAddress resources) {
Long memberId = resources.getMemberId();
MemberDTO memberDTO = this.memberService.findById(memberId);
String code = memberDTO.getCode();
resources.setMemberCode(code);
MemberAddressRepository.save(resources);
}
......@@ -55,12 +62,24 @@ public class MemberAddressServiceImpl implements MemberAddressService {
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void update(MemberAddress resources) {
Long memberId = resources.getMemberId();
Integer sequence = resources.getSequence();
Assert.notNull(memberId,"memberId can't be null");
Assert.notNull(sequence,"sequence can't be null");
MemberDTO memberDTO = this.memberService.findById(memberId);
if (Objects.nonNull(memberDTO)) {
String code = memberDTO.getCode();
Assert.notNull(code,"code can't be null");
resources.setMemberCode(code);
MemberAddress MemberAddress = MemberAddressRepository.findById(resources.getId()).orElseGet(MemberAddress::new);
ValidationUtil.isNull( MemberAddress.getId(),"MemberAddress","id",resources.getId());
MemberAddress.copy(resources);
MemberAddressRepository.save(MemberAddress);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
......
......@@ -12,7 +12,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
/**
......
package com.topdraw.business.module.member.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.topdraw.util.IdWorker;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Objects;
/**
......@@ -22,20 +14,56 @@ import java.util.Objects;
*/
public class MemberBuilder {
private static final Long DEFAULT_VALUE = 0L;
private static final Integer DEFAULT_VALUE_1 = 1;
private static final Integer DEFAULT_VALUE_ = -1;
public static Member build(Member member){
Member _member = checkMemberData(member);
return _member;
}
private static Member checkMemberData(Member member) {
String code = member.getCode();
member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code);
Integer gender = member.getGender();
member.setGender(Objects.nonNull(gender) ? gender : 0);
Integer type = member.getType();
member.setType(Objects.nonNull(type) ? type:-1);
Integer status = member.getStatus();
member.setStatus(Objects.nonNull(status) ? status:1);
Integer vip = member.getVip();
member.setVip(Objects.nonNull(vip) ? vip:0);
Integer level = member.getLevel();
member.setLevel(Objects.nonNull(level) ? level:1);
member.setExp(DEFAULT_VALUE);
member.setPoints(DEFAULT_VALUE);
member.setDuePoints(DEFAULT_VALUE);
member.setCouponAmount(DEFAULT_VALUE);
member.setDueCouponAmount(DEFAULT_VALUE);
member.setBlackStatus(DEFAULT_VALUE);
String nickname = member.getNickname();
if (com.topdraw.utils.StringUtils.isNotEmpty(nickname)) {
String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
member.setNickname(base64Nickname);
}
return member;
}
public static Member build(Integer type,String avatarUrl,String nickname,int vip){
// todo 原型模式
Member member = new Member();
member.setType(type);
member.setBlackStatus(0L);
member.setGender(-1);
member.setBlackStatus(DEFAULT_VALUE);
member.setGender(DEFAULT_VALUE_);
member.setVip(vip);
member.setLevel(1);
member.setStatus(1);
member.setPoints(0L);
member.setDuePoints(0L);
member.setExp(0L);
member.setCouponAmount(0L);
member.setDueCouponAmount(0L);
member.setLevel(DEFAULT_VALUE_1);
member.setStatus(DEFAULT_VALUE_1);
member.setPoints(DEFAULT_VALUE);
member.setDuePoints(DEFAULT_VALUE);
member.setExp(DEFAULT_VALUE);
member.setCouponAmount(DEFAULT_VALUE);
member.setDueCouponAmount(DEFAULT_VALUE);
member.setAvatarUrl(StringUtils.isBlank(avatarUrl)?"":avatarUrl);
member.setCode(IdWorker.generator() + "");
member.setNickname(StringUtils.isBlank(nickname)?"":nickname);
......
......@@ -4,10 +4,8 @@ import com.topdraw.aop.log.Log;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.group.domain.MemberGroup;
import com.topdraw.business.module.member.group.service.MemberGroupService;
import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
......@@ -24,14 +22,15 @@ import io.swagger.annotations.*;
public class MemberGroupController {
@Autowired
private MemberGroupService MemberGroupService;
private MemberGroupService memberGroupService;
@Log("新增会员分组")
@RequestMapping(value = "/create")
@ApiOperation("新增会员分组")
public ResultInfo create(@Validated @RequestBody MemberGroup resources) {
log.info("MemberGroupController ==>> create ==>> param ==>> [{}]",resources);
MemberGroupService.create(resources);
log.info("memberGroup ==>> create ==>> param ==>> [{}]",resources);
this.memberGroupService.create(resources);
log.info("memberGroup ==>> create ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
......@@ -39,8 +38,9 @@ public class MemberGroupController {
@RequestMapping(value = "/update")
@ApiOperation("修改会员分组")
public ResultInfo update(@Validated @RequestBody MemberGroup resources) {
log.info("MemberGroupController ==>> update ==>> param ==>> [{}]",resources);
MemberGroupService.update(resources);
log.info("memberGroup ==>> update ==>> param ==>> [{}]",resources);
this.memberGroupService.update(resources);
log.info("memberGroup ==>> update ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
......@@ -48,8 +48,9 @@ public class MemberGroupController {
@RequestMapping(value = "/{id}")
@ApiOperation("删除会员分组")
public ResultInfo delete(@PathVariable(value = "id") Long resources) {
log.info("MemberGroupController ==>> delete ==>> param ==>> [{}]",resources);
MemberGroupService.delete(resources);
log.info("memberGroup ==>> delete ==>> param ==>> [{}]",resources);
this.memberGroupService.delete(resources);
log.info("memberGroup ==>> delete ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
......
package com.topdraw.business.module.member.level.domain;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.*;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import org.springframework.data.annotation.CreatedDate;
......@@ -51,6 +53,8 @@ public class MemberLevel implements Serializable {
/** 等级(不可重复,数字越大等级越高) */
@Column(name = "level", nullable = false)
@Min(message = "level can't less then 1" , value = 1)
@NotNull(message = "level can't be null" , groups = {CreateGroup.class,UpdateGroup.class})
private Integer level;
/** 会员徽标 */
......
package com.topdraw.business.module.member.level.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import com.topdraw.business.module.member.level.domain.MemberLevel;
import com.topdraw.common.ResultInfo;
......@@ -17,28 +18,41 @@ import io.swagger.annotations.*;
*/
@Api(tags = "等级管理")
@RestController
@RequestMapping("/ucEngine/api/MemberLevel")
@RequestMapping("/ucEngine/api/memberLevel")
@CrossOrigin
@Slf4j
public class MemberLevelController {
@Autowired
private MemberLevelService MemberLevelService;
private MemberLevelService memberLevelService;
@Log("新增会员等级")
@RequestMapping(value = "/create")
@ApiOperation("新增会员等级")
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberLevel resources) {
log.info("memberLevel ==>> update ==>> param ==>> [{}]",resources);
this.memberLevelService.update(resources);
log.info("memberLevel ==>> update ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
@Log("修改等级")
@RequestMapping(value = "/update")
@ApiOperation("修改等级")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberLevel resources) {
log.info("MemberLevelController ==>> update ==>> param ==>> [{}]",resources);
MemberLevelService.update(resources);
log.info("memberLevel ==>> update ==>> param ==>> [{}]",resources);
this.memberLevelService.update(resources);
log.info("memberLevel ==>> update ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
@Log("根据标识查询")
@GetMapping(value = "/getByCode/{code}")
@ApiOperation(value = "根据标识查询")
public ResultInfo getByCode(@PathVariable String code) {
log.info("MemberLevelController ==>> getByCode ==>> param ==>> [{}]",code);
return ResultInfo.success(MemberLevelService.getByCode(code));
@Log("删除等级")
@DeleteMapping(value = "/delete/{id}")
@ApiOperation("删除等级")
public ResultInfo delete(@PathVariable Long resources) {
log.info("memberLevel ==>> delete ==>> param ==>> [{}]",resources);
this.memberLevelService.delete(resources);
log.info("memberLevel ==>> delete ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
}
......
......@@ -37,4 +37,7 @@ public interface MemberLevelService {
* @return
*/
List<MemberLevelDTO> findLevelAndStatus(Integer i, Integer status);
void delete(Long resources);
}
......
......@@ -64,4 +64,9 @@ public class MemberLevelServiceImpl implements MemberLevelService {
public List<MemberLevelDTO> findLevelAndStatus(Integer level, Integer status) {
return MemberLevelMapper.toDto(MemberLevelRepository.findByLevelAndStatus(level,status));
}
@Override
public void delete(Long resources) {
MemberLevelRepository.deleteById(resources);
}
}
......
......@@ -15,6 +15,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.sql.Timestamp;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @author XiangHan
......@@ -28,7 +29,7 @@ import java.io.Serializable;
public class MemberProfile implements Serializable {
@Transient
@NotNull(message = "memberCode not be null!!" , groups = CreateGroup.class)
@NotNull(message = "memberCode not be null!!" , groups = {CreateGroup.class,UpdateGroup.class})
private String memberCode;
// 主键
......@@ -52,7 +53,7 @@ public class MemberProfile implements Serializable {
// 生日
@Column(name = "birthday", nullable = false)
private Timestamp birthday;
private String birthday;
// 手机号
@Column(name = "phone")
......
package com.topdraw.business.module.member.profile.domain;
import com.topdraw.utils.StringUtils;
import com.topdraw.business.module.member.domain.Member;
import org.apache.commons.lang3.StringUtils;
import java.sql.Timestamp;
import java.util.Objects;
public class MemberProfileBuild {
public static MemberProfile build(Long memberId , String realname , Integer gender, Timestamp birthday){
public static MemberProfile build(Member member){
MemberProfile memberProfile = build(member.getId(),member.getNickname(),member.getGender(),"","","","","","",
"","","",member.getBirthday());
return memberProfile;
}
public static MemberProfile build(Long memberId){
MemberProfile memberProfile = build(memberId,"",-1,"","","","","","",
"","","","");
return memberProfile;
}
public static MemberProfile build(Long memberId , String realname , Integer gender, String birthday){
MemberProfile memberProfile = build(memberId,realname,gender,"","","","","","",
"","","",birthday);
return memberProfile;
......@@ -20,9 +32,9 @@ public class MemberProfileBuild {
}
public static MemberProfile build(Long memberId, String realName, Integer sex,
String contry, String district, String city, String idCard, String province,
String country, String district, String city, String idCard, String province,
String email, String description, String phone, String constellation,
Timestamp timestamp) {
String birthday) {
if (memberId == null)
throw new NullPointerException("memberId is null");
......@@ -31,16 +43,16 @@ public class MemberProfileBuild {
memberProfile.setMemberId(memberId);
memberProfile.setRealname(stringIsNull(realName));
memberProfile.setGender(sex == null ? 0 : sex);
memberProfile.setCountry(stringIsNull(contry));
memberProfile.setCountry(stringIsNull(country));
memberProfile.setDistrict(stringIsNull(district));
memberProfile.setCity(stringIsNull(city));
memberProfile.setIdCard(stringIsNull(idCard));
memberProfile.setIdCard(StringUtils.isBlank(idCard)?"000000000000000000":idCard);
memberProfile.setProvince(stringIsNull(province));
memberProfile.setEmail(stringIsNull(email));
memberProfile.setDescription(stringIsNull(description));
memberProfile.setPhone(stringIsNull(phone));
memberProfile.setConstellation(stringIsNull(constellation));
memberProfile.setBirthday(timestamp);
memberProfile.setBirthday(stringIsNull(birthday));
return memberProfile;
}
......@@ -53,4 +65,25 @@ public class MemberProfileBuild {
return Objects.nonNull(s)?null:s;
}
public static MemberProfile build(MemberProfile resources) {
if (resources.getMemberId() == null)
throw new NullPointerException("memberId is null");
MemberProfile memberProfile = new MemberProfile();
memberProfile.setId(resources.getId());
memberProfile.setMemberId(resources.getMemberId());
memberProfile.setRealname(stringIsNull(resources.getRealname()));
memberProfile.setGender(resources.getGender() == null ? -1 : resources.getGender());
memberProfile.setCountry(stringIsNull(resources.getCountry()));
memberProfile.setDistrict(stringIsNull(resources.getDistrict()));
memberProfile.setCity(stringIsNull(resources.getCity()));
memberProfile.setIdCard(StringUtils.isBlank(resources.getIdCard())?"000000000000000000":resources.getIdCard());
memberProfile.setProvince(stringIsNull(resources.getProvince()));
memberProfile.setEmail(stringIsNull(resources.getEmail()));
memberProfile.setDescription(stringIsNull(resources.getDescription()));
memberProfile.setPhone(stringIsNull(resources.getPhone()));
memberProfile.setConstellation(stringIsNull(resources.getConstellation()));
memberProfile.setBirthday(stringIsNull(resources.getBirthday()));
return memberProfile;
}
}
......
package com.topdraw.business.module.member.profile.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.profile.domain.MemberProfile;
import com.topdraw.business.module.member.profile.service.MemberProfileService;
import com.topdraw.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.util.Objects;
/**
* @author XiangHan
* @date 2021-10-22
*/
@Api(tags = "会员基础信息管理")
@Api(tags = "会员属性管理")
@RestController
@RequestMapping("/ucEngine/api/memberProfile")
@CrossOrigin
......@@ -29,59 +22,17 @@ import java.util.Objects;
public class MemberProfileController {
@Autowired
private MemberProfileService MemberProfileService;
@Autowired
private MemberService memberService;
@Log("新增会员基础信息")
@RequestMapping(value = "/create")
@ApiOperation("新增会员基础信息")
public ResultInfo create(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileController ==>> create ==>> resources ===>> [{}]",resources);
MemberProfileService.create(resources);
return ResultInfo.success();
}
private MemberProfileService memberProfileService;
@Log("修改会员基础信息")
@Log("修改会员属性")
@RequestMapping(value = "/update")
@ApiOperation("修改会员基础信息")
@ApiOperation("修改会员属性")
public ResultInfo update(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileController ==>> update ==>> resources ===>> [{}]",resources);
Long memberId = resources.getMemberId();
Assert.notNull(memberId,"memberId can't be null");
MemberDTO memberDTO = this.memberService.findById(memberId);
if (Objects.nonNull(memberDTO)) {
String code = memberDTO.getCode();
if (StringUtils.isNotEmpty(code)) {
resources.setMemberCode(code);
MemberProfileDTO memberProfile = this.MemberProfileService.findByMemberId(memberId);
if (Objects.nonNull(memberProfile)) {
resources.setId(memberProfile.getId());
MemberProfileService.update(resources);
} else {
resources.setId(null);
this.create(resources);
}
}
}
return ResultInfo.success();
}
@Log("修改会员基础信息")
@RequestMapping(value = "/updateMemberProfileAndMember")
@ApiOperation("修改会员基础信息")
public ResultInfo updateMemberProfileAndMember(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileController ==>> updateMemberProfileAndMember ==>> resources ===>> [{}]",resources);
this.MemberProfileService.updateMemberProfileAndMember(resources);
return ResultInfo.success();
}
log.info("memberProfile ==>> update ==>> resources ===>> [{}]",resources);
this.memberProfileService.update(resources);
log.info("memberProfile ==>> update ==>> result ===>> [{}]",resources);
@Log("删除会员基础信息")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除会员基础信息")
public ResultInfo delete(@PathVariable Long resources) {
log.info("MemberProfileController ==>> delete ==>> resources ===>> [{}]",resources);
MemberProfileService.delete(resources);
return ResultInfo.success();
}
......
package com.topdraw.business.module.member.profile.service;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.profile.domain.MemberProfile;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileQueryCriteria;
......@@ -28,33 +29,54 @@ public interface MemberProfileService {
MemberProfile create(MemberProfile resources);
/**
* 保存默认会员基本信息
* 默认属性
* @param resources
* @return
*/
MemberProfile createDefault(MemberProfile resources);
/**
*
* 通过会员创建默认属性
* @param resources
* @return
*/
MemberProfile createDefault(Member resources);
/**
* 通过会员id创建默认属性
* @param resources
* @return
*/
MemberProfile createDefaultByMemberId(Long resources);
/**
* 修改
* @param resources
*/
void update(MemberProfile resources);
/**
*
* 删除
* @param id
*/
void delete(Long id);
/**
*
* 通过会员id查询
* @param memberId
* @return
*/
MemberProfileDTO findByMemberId(Long memberId);
/**
*
* 通过会员code查询
* @param memberCode
* @return
*/
MemberProfileDTO findByMemberCode(String memberCode);
/**
* 修改会员属性并同步会员信息
* @param resources
*/
void updateMemberProfileAndMember(MemberProfile resources);
......
......@@ -27,10 +27,7 @@ public class MemberProfileDTO implements Serializable {
private Integer gender;
// 生日
private Timestamp birthday;
// 生日字符串
private String birthdayStr;
private String birthday;
// vip
private Integer vip;
......
package com.topdraw.business.module.member.relatedinfo.domain;
import com.topdraw.business.module.common.domain.DefaultAsyncMqModule;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
......@@ -24,7 +25,7 @@ import java.time.LocalDate;
@EntityListeners(AuditingEntityListener.class)
@Accessors(chain = true)
@Table(name="uc_member_related_info")
public class MemberRelatedInfo implements Serializable {
public class MemberRelatedInfo extends DefaultAsyncMqModule implements Serializable {
// ID
@Id
......@@ -37,9 +38,6 @@ public class MemberRelatedInfo implements Serializable {
@Column(name = "member_id", nullable = false)
private Long memberId;
@Transient
private String memberCode;
// 人物关系 0:子女;1:父母
@Column(name = "type")
private Integer type;
......
package com.topdraw.business.module.member.relatedinfo.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.module.member.relatedinfo.domain.UpdateGroup;
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
import com.topdraw.business.module.member.service.MemberService;
......@@ -39,8 +40,8 @@ public class MemberRelatedInfoController {
@Log("新增相关人员")
@RequestMapping(value = "/create")
@ApiOperation("新增相关人员")
public ResultInfo create(@Validated @RequestBody MemberRelatedInfo resources) {
log.info("MemberRelatedInfoController ==>> create ==>> resources ===>> [{}]",resources);
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberRelatedInfo resources) {
log.info("memberRelatedInfo ==>> create ==>> resources ===>> [{}]",resources);
String name = resources.getName();
if (StringUtils.hasText(name)) {
String nickNameEncode = Base64Util.encode(name);
......@@ -56,7 +57,7 @@ public class MemberRelatedInfoController {
@ApiOperation("修改相关人员")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberRelatedInfo resources) {
log.info("MemberRelatedInfoController ==>> update ==>> resources ===>> [{}]",resources);
log.info("memberRelatedInfo ==>> update ==>> resources ===>> [{}]",resources);
String name = resources.getName();
if (StringUtils.hasText(name)) {
......@@ -85,18 +86,14 @@ public class MemberRelatedInfoController {
return ResultInfo.success();
}
@Log("查询指定相关人员")
@GetMapping(value = "/findById/{id}")
@ApiOperation("查询指定相关人员")
public ResultInfo findById(@PathVariable("id") Long id) {
return ResultInfo.success(this.memberRelatedInfoService.findById(id));
}
@Log("删除相关人员")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除相关人员")
public ResultInfo delete(@PathVariable(value = "id") Long id) {
this.memberRelatedInfoService.delete(id);
public ResultInfo delete(@PathVariable(value = "id") Long resources) {
log.info("memberRelatedInfo ==>> delete ==>> resources ===>> [{}]",resources);
this.memberRelatedInfoService.delete(resources);
log.info("memberRelatedInfo ==>> delete ==>> result ===>> [{}]",resources);
return ResultInfo.success();
}
......
......@@ -16,4 +16,6 @@ public interface MemberRepository extends JpaRepository<Member, Long>, JpaSpecif
Optional<Member> findFirstByCode(String code);
List<Member> findByUserIptvId(Long id);
Optional<Member> findByIdOrCode(Long id,String code);
}
......
......@@ -5,7 +5,6 @@ import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.user.iptv.domain.UserTv;
import com.topdraw.business.process.service.UserOperationService;
import com.topdraw.common.ResultInfo;
......@@ -13,13 +12,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
* @author XiangHan
* @date 2021-10-22
......@@ -36,35 +31,14 @@ public class MemberController {
@Autowired
private UserOperationService userTvOperationService;
@Log("通过id查询会员")
@GetMapping(value = "/findById/{id}")
@ApiOperation("通过id查询会员")
public ResultInfo findById(@PathVariable Long resources) {
log.info("member ==>> findById ==>> param ==>> [{}]",resources);
Assert.notNull(resources,"id can't be null!!");
MemberDTO memberDTO = this.memberService.findById(resources);
log.info("member ==>> findById ==>> memberDTO ==>> [{}]",memberDTO);
return ResultInfo.success(memberDTO);
}
@Log("为大屏账户创建会员")
@RequestMapping(value = "/createMemberByUserTv")
@ApiOperation("为大屏账户创建会员")
public ResultInfo createMemberByUserTv(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) {
// todo 此接口废弃,将移动至UserTvController中,AppEngine也要同步修改
log.info("member ==>> createMemberByUserTv ==>> param ==>> [{}]",resources);
String platformAccount = resources.getPlatformAccount();
Assert.notNull(platformAccount, "The given platformAccount must not be null!");
boolean result = this.userTvOperationService.createMemberByUserTv(resources);
log.info("member ==>> createMemberByUserTv ==>> result ==>> [{}]",result);
return ResultInfo.success(result);
}
......@@ -73,20 +47,18 @@ public class MemberController {
@ApiOperation("新增会员")
public ResultInfo create(@Validated @RequestBody Member resources) {
log.info("member ==>> create ==>> param ==>> [{}]",resources);
Long id = memberService.create(resources);
log.info("member ==>> create ==>> result ==>> [{}]",resources);
return ResultInfo.success(id);
}
@Log("手动修改vip")
@RequestMapping(value = "/doUpdateVip")
@RequestMapping(value = "/doUpdateVipByCode")
@ApiOperation("手动修改vip")
public ResultInfo doUpdateVipByCode(@Validated @RequestBody Member resources) {
// TODO mall-service需要修改
log.info("member ==>> create ==>> param ==>> [{}]",resources);
public ResultInfo doUpdateVipByCode(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) {
log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources);
memberService.update(resources);
log.info("member ==>> doUpdateVipByCode ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
......@@ -94,22 +66,9 @@ public class MemberController {
@RequestMapping(value = "/update")
@ApiOperation("修改会员")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) {
Long memberId = resources.getId();
Assert.notNull(memberId,"memberId can't be null");
MemberDTO memberDTO = this.memberService.findById(memberId);
if (Objects.nonNull(memberDTO)) {
String code = memberDTO.getCode();
Assert.notNull(code, "code can't be null");
resources.setCode(code);
log.info("member ==>> update ==>> param ==>> [{}]",resources);
memberService.update(resources);
}
log.info("member ==>> update ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
@Log("根据标识查询")
@GetMapping(value = "/getByCode/{code}")
@ApiOperation(value = "根据标识查询")
public ResultInfo getByCode(@PathVariable String code) {
return ResultInfo.success(memberService.getByCode(code));
}
}
......
......@@ -2,11 +2,8 @@ package com.topdraw.business.module.member.service;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.member.service.dto.MemberQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @author XiangHan
......@@ -15,13 +12,6 @@ import java.util.Map;
public interface MemberService {
/**
* 数据不分页
* @param criteria 条件参数
* @return List<MemberDTO>
*/
List<MemberDTO> queryAll(MemberQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return MemberDTO
......@@ -29,6 +19,21 @@ public interface MemberService {
MemberDTO findById(Long id);
/**
* 通过code查询会员
* @param code 会员编码
* @return MemberDTO
*/
MemberDTO findByCode(String code);
/**
*
* @param id
* @param code
* @return
*/
MemberDTO findByIdOrCode(Long id,String code);
/**
* 保存
* @param resources
* @return Long id
......@@ -56,26 +61,13 @@ public interface MemberService {
void unbind(Member resources);
/**
* 删除
* @param id
*/
void delete(Long id);
/**
* Code校验
* @param code
* @return MemberDTO
*/
MemberDTO getByCode(String code);
/**
*
* @param member
* 修改会员积分
* @param member 会员
*/
void doUpdateMemberPoints(Member member);
/**
* 查询数据分页
* 查询绑定了大屏会员列表
* @param id 条件参数
* @return Map<String,Object>
*/
......
......@@ -2,26 +2,24 @@ package com.topdraw.business.module.member.service.impl;
import com.topdraw.aspect.AsyncMqSend;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.domain.MemberBuilder;
import com.topdraw.business.module.member.profile.service.MemberProfileService;
import com.topdraw.business.module.member.repository.MemberRepository;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.member.service.dto.MemberQueryCriteria;
import com.topdraw.business.module.member.service.mapper.MemberMapper;
import com.topdraw.util.IdWorker;
import com.topdraw.exception.BadRequestException;
import com.topdraw.util.RedissonUtil;
import com.topdraw.utils.QueryHelp;
import com.topdraw.utils.StringUtils;
import com.topdraw.utils.ValidationUtil;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.nio.charset.StandardCharsets;
import java.util.*;
/**
......@@ -39,25 +37,47 @@ public class MemberServiceImpl implements MemberService {
private RedissonClient redissonClient;
@Autowired
private MemberRepository memberRepository;
@Autowired
private MemberProfileService memberProfileService;
@Override
public List<MemberDTO> queryAll(MemberQueryCriteria criteria) {
return memberMapper.toDto(memberRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
public MemberDTO findById(Long id) {
Member member = this.memberRepository.findById(id).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(),"Member","id",id);
return memberMapper.toDto(member);
}
@Override
public MemberDTO findById(Long id) {
Member member = memberRepository.findById(id).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(),"Member","id",id);
public MemberDTO findByCode(String code) {
Member member = this.memberRepository.findFirstByCode(code).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(),"Member","id",code);
return memberMapper.toDto(member);
}
@Override
public MemberDTO findByIdOrCode(Long id,String code) {
Member member = this.memberRepository.findByIdOrCode(id,code).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(),"Member","param",code);
return memberMapper.toDto(member);
}
@Override
public List<MemberDTO> findByUserIptvId(Long id) {
List<Member> memberList = this.memberRepository.findByUserIptvId(id);
return memberMapper.toDto(memberList);
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public Long create(Member resources) {
Member member = this.checkMemberData(resources);
memberRepository.save(member);
Member member = MemberBuilder.build(resources);
Long memberId = this.save(member);
if (Objects.nonNull(memberId))
// 保存会员属性
this.memberProfileService.createDefault(member);
return member.getId();
}
......@@ -65,50 +85,28 @@ public class MemberServiceImpl implements MemberService {
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public Member createAndReturnMember(Member resources) {
// 检查并初始化数据
Member member = this.checkMemberData(resources);
memberRepository.save(member);
Member member = MemberBuilder.build(resources);
this.create(member);
return resources;
}
private Member checkMemberData(Member member) {
Long defaultValue = 0L;
String code = member.getCode();
member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code);
Integer gender = member.getGender();
member.setGender(Objects.nonNull(gender) ? gender : 0);
Integer type = member.getType();
member.setType(Objects.nonNull(type) ? type:-1);
Integer status = member.getStatus();
member.setStatus(Objects.nonNull(status) ? status:1);
Integer vip = member.getVip();
member.setVip(Objects.nonNull(vip) ? vip:0);
Integer level = member.getLevel();
member.setLevel(Objects.nonNull(level) ? level:1);
member.setExp(defaultValue);
member.setPoints(defaultValue);
member.setDuePoints(defaultValue);
member.setCouponAmount(defaultValue);
member.setDueCouponAmount(defaultValue);
member.setBlackStatus(0L);
String nickname = member.getNickname();
if (StringUtils.isNotEmpty(nickname)) {
String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
member.setNickname(base64Nickname);
}
return member;
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void update(Member resources) {
RLock rLock = this.redissonClient.getLock("member::update::code" + resources.getCode().toString());
log.info("MemberServiceImpl ==>> update ==>> resources ==>> [{}]" , resources);
String code = resources.getCode();
if (StringUtils.isBlank(code))
throw new BadRequestException("memberCode can't be null!!");
RLock rLock = this.redissonClient.getLock("member::update::code" + resources.getCode());
try {
RedissonUtil.lock(rLock);
Member member = memberRepository.findById(resources.getId()).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId());
Member member = this.memberRepository.findFirstByCode(code).orElseGet(Member::new);
ValidationUtil.isNull(member.getCode(), "Member", "code", resources.getCode());
member.copy(resources);
this.save(member);
} catch (Exception e) {
e.printStackTrace();
......@@ -122,10 +120,10 @@ public class MemberServiceImpl implements MemberService {
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void unbind(Member resources) {
RLock rLock = this.redissonClient.getLock("member::update::code" + resources.getId().toString());
RLock rLock = this.redissonClient.getLock("member::update::code" + resources.getCode());
try {
RedissonUtil.lock(rLock);
Member member = memberRepository.findById(resources.getId()).orElseGet(Member::new);
Member member = this.memberRepository.findById(resources.getId()).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId());
member.copy(resources);
this.save(member);
......@@ -137,32 +135,10 @@ public class MemberServiceImpl implements MemberService {
}
}
private void save(Member member){
memberRepository.save(member);
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void delete(Long id) {
RLock rLock = this.redissonClient.getLock("member::delete::code" + id);
try {
RedissonUtil.lock(rLock);
Member member = memberRepository.findById(id).orElseThrow(
() -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", Member.class, id), 1));
//memberRepository.delete(member);
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
RedissonUtil.unlock(rLock);
}
}
@Override
public MemberDTO getByCode(String code) {
return StringUtils.isNotEmpty(code) ? memberMapper.toDto(memberRepository.findFirstByCode(code).orElseGet(Member::new))
: new MemberDTO();
@Transactional(propagation = Propagation.REQUIRES_NEW)
public Long save(Member member){
this.memberRepository.save(member);
return member.getId();
}
@Override
......@@ -172,7 +148,7 @@ public class MemberServiceImpl implements MemberService {
RLock rLock = this.redissonClient.getLock("member::update::code" + resources.getId().toString());
try {
RedissonUtil.lock(rLock);
Member member = memberRepository.findById(resources.getId()).orElseGet(Member::new);
Member member = this.memberRepository.findById(resources.getId()).orElseGet(Member::new);
ValidationUtil.isNull(member.getId(), "Member", "id", resources.getId());
member.copy(resources);
this.save(member);
......@@ -184,10 +160,6 @@ public class MemberServiceImpl implements MemberService {
}
}
@Override
public List<MemberDTO> findByUserIptvId(Long id) {
List<Member> memberList = this.memberRepository.findByUserIptvId(id);
return memberMapper.toDto(memberList);
}
}
......
......@@ -65,7 +65,7 @@ public class UserTvServiceImpl implements UserTvService {
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend
public Long create(UserTv resources) {
MemberDTO memberDTO = memberService.getByCode(resources.getMemberCode());
MemberDTO memberDTO = memberService.findByCode(resources.getMemberCode());
if (Objects.nonNull(memberDTO)) {
Long id = memberDTO.getId();
resources.setMemberId(id);
......
......@@ -163,7 +163,7 @@ public class UserOperationController {
String memberCode1 = resources.getMemberCode();
if (Objects.nonNull(memberCode1)) {
MemberDTO memberDTO = this.memberService.getByCode(memberCode1);
MemberDTO memberDTO = this.memberService.findByCode(memberCode1);
String memberCode = memberDTO.getCode();
if (StringUtils.isNotBlank(memberCode)) {
userTv.setMemberCode(memberCode);
......@@ -188,7 +188,7 @@ public class UserOperationController {
String memberCode1 = resources.getMemberCode();
if (Objects.nonNull(memberCode1)) {
MemberDTO memberDTO = this.memberService.getByCode(memberCode1);
MemberDTO memberDTO = this.memberService.findByCode(memberCode1);
String memberCode = memberDTO.getCode();
if (StringUtils.isNotBlank(memberCode)) {
......
......@@ -232,7 +232,7 @@ public class MemberOperationServiceImpl implements MemberOperationService {
// 头像
memberProfileDTO.setAvatarUrl(memberDTO.getAvatarUrl());
// 生日
memberProfileDTO.setBirthdayStr(memberDTO.getBirthday());
memberProfileDTO.setBirthday(memberDTO.getBirthday());
// 性别
memberProfileDTO.setGender(memberDTO.getGender());
// 昵称
......
......@@ -102,7 +102,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
String memberCode = msgData.getMemberCode();
Long memberId = msgData.getMemberId();
if (StringUtils.hasText(memberCode)) {
MemberDTO memberDTO = this.memberService.getByCode(memberCode);
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
memberId = memberDTO.getId();
}
......
......@@ -912,7 +912,7 @@ public class UserOperationServiceImpl implements UserOperationService {
* @return
*/
private MemberDTO findMemberByMemberCode(String memberCode) {
return this.memberService.getByCode(memberCode);
return this.memberService.findByCode(memberCode);
}
/**
......@@ -929,7 +929,7 @@ public class UserOperationServiceImpl implements UserOperationService {
String memberCode = resources.getMemberCode();
// 大屏会员
List<MemberDTO> memberDTOS = this.findMemberByCodeAndUserIptvId(id,memberCode);
MemberDTO memberDTOS = this.findMemberByCodeAndUserIptvId(id,memberCode);
// 解绑(置空大屏信息)
this.resetIptvColumn(memberDTOS);
......@@ -968,18 +968,16 @@ public class UserOperationServiceImpl implements UserOperationService {
* 解绑(置空大屏信息)
* @param memberDTOS
*/
private void resetIptvColumn(List<MemberDTO> memberDTOS) {
private void resetIptvColumn(MemberDTO memberDTOS) {
// 若无关系,不做处理
if (CollUtil.isEmpty(memberDTOS))
if (Objects.nonNull(memberDTOS))
return;
Member member = new Member();
memberDTOS.get(0).setBindIptvTime(null);
memberDTOS.get(0).setUserIptvId(null);
memberDTOS.get(0).setBindIptvPlatformType(null);
BeanUtils.copyProperties(memberDTOS.get(0), member);
memberDTOS.setBindIptvTime(null);
memberDTOS.setUserIptvId(null);
memberDTOS.setBindIptvPlatformType(null);
BeanUtils.copyProperties(memberDTOS, member);
this.memberService.unbind(member);
}
......@@ -989,12 +987,9 @@ public class UserOperationServiceImpl implements UserOperationService {
* @param memberCode 会员编码
* @return
*/
private List<MemberDTO> findMemberByCodeAndUserIptvId(Long tvUserId,String memberCode) {
MemberQueryCriteria memberQueryCriteria = new MemberQueryCriteria();
memberQueryCriteria.setCode(memberCode);
memberQueryCriteria.setUserIptvId(tvUserId);
List<MemberDTO> memberDTOS = memberService.queryAll(memberQueryCriteria);
return memberDTOS;
private MemberDTO findMemberByCodeAndUserIptvId(Long tvUserId,String memberCode) {
MemberDTO memberDTO = memberService.findByCode(memberCode);
return memberDTO;
}
/**
......@@ -1567,7 +1562,7 @@ public class UserOperationServiceImpl implements UserOperationService {
@Override
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public void bind(String memberCode, String platformAccount) {
MemberDTO memberDTO = this.memberService.getByCode(memberCode);
MemberDTO memberDTO = this.memberService.findByCode(memberCode);
this.bind(memberDTO,platformAccount);
}
......@@ -1582,7 +1577,7 @@ public class UserOperationServiceImpl implements UserOperationService {
@Override
public UserTvDTO bind(MemberDTO memberDTO, String platformAccount) {
MemberDTO memberDTO1 = this.memberService.getByCode(memberDTO.getCode());
MemberDTO memberDTO1 = this.memberService.findByCode(memberDTO.getCode());
if (Objects.nonNull(memberDTO1.getUserIptvId())) {
UserTvDTO userTvDTO = this.userTvService.findById(memberDTO1.getUserIptvId());
return userTvDTO;
......
package com.topdraw.exception;
/**
* @author :
* @description:
* @function :
* @date :Created in 2022/3/10 17:16
* @version: :
* @modified By:
* @since : modified in 2022/3/10 17:16
*/
public interface GlobeExceptionCode {
// 会员信息
Integer MEMBER_CODE_IS_NULL = 000100001;
}
......@@ -16,9 +16,9 @@ public class MemberServiceTest extends BaseTest {
@Test
public void findById(){
Long memberId = 1L;
/*Long memberId = 1L;
ResultInfo memberDTO = this.memberController.findById(memberId);
LOG.info("=====>>>" + memberDTO);
LOG.info("=====>>>" + memberDTO);*/
}
}
......
......@@ -19,7 +19,7 @@ public class MemberProfileServiceTest extends BaseTest {
MemberProfile resources = new MemberProfile();
resources.setMemberId(memberId);
resources.setIdCard("422827199208010713");
resources.setBirthday(TimestampUtil.now());
resources.setBirthday(TimestampUtil.now().toString());
resources.setGender(1);
resources.setDescription("");
resources.setRealname("");
......
......@@ -57,14 +57,14 @@ public class MemberAddressControllerTest extends BaseTest {
memberAddress.setAddress("");
memberAddress.setZipCode("");
String s = JSON.toJSONString(memberAddress);
ResultInfo byId = this.memberAddressController.create(memberAddress);
LOG.info("===>>>"+byId);
// ResultInfo byId = this.memberAddressController.create(memberAddress);
// LOG.info("===>>>"+byId);
}
@Test
public void findById(){
ResultInfo byId = this.memberAddressController.findById(1L);
LOG.info("===>>>"+byId);
// ResultInfo byId = this.memberAddressController.findById(1L);
// LOG.info("===>>>"+byId);
}
@Test
......
......@@ -19,7 +19,7 @@ public class MemberProfileControllerTest extends BaseTest {
MemberProfile resources = new MemberProfile();
resources.setMemberId(memberId);
resources.setIdCard("422827199208010713");
resources.setBirthday(TimestampUtil.now());
resources.setBirthday(TimestampUtil.now().toString());
resources.setGender(1);
resources.setDescription("");
resources.setRealname("");
......@@ -29,7 +29,7 @@ public class MemberProfileControllerTest extends BaseTest {
resources.setEmail("");
resources.setDistrict("");
String s = JSON.toJSONString(resources);
this.memberProfileController.create(resources);
// this.memberProfileController.create(resources);
LOG.info("=====>>>"+s);
}
......@@ -48,7 +48,7 @@ public class MemberProfileControllerTest extends BaseTest {
@Test
public void delete(){
Long memberId = 1L;
this.memberProfileController.delete(memberId);
// this.memberProfileController.delete(memberId);
LOG.info("=====>>>s=====>>>");
}
......
......@@ -60,8 +60,8 @@ public class MemberRelatedInfoControllerTest extends BaseTest {
@Test
public void findById(){
ResultInfo byId = this.memberRelatedInfoController.findById(1L);
LOG.info("===>>>"+byId);
// ResultInfo byId = this.memberRelatedInfoController.findById(1L);
// LOG.info("===>>>"+byId);
}
@Test
......