Commit 07a5bc8c 07a5bc8cf2759a04435a8e2faecc701086125c28 by xianghan

1.优化

1 parent 2cca5ac9
Showing 18 changed files with 311 additions and 49 deletions
......@@ -89,13 +89,13 @@ public class MemberAddressBuilder {
MemberAddress memberAddress = new MemberAddress();
memberAddress.setId(Objects.nonNull(id)?null:id);
memberAddress.setMemberId(Objects.nonNull(memberId)?null:memberId);
memberAddress.setMemberId(Objects.isNull(memberId)?null:memberId);
memberAddress.setMemberCode(stringIsNull(memberCode));
memberAddress.setSequence(Objects.nonNull(sequence)?null:DEFAULT_VALUE_1);
memberAddress.setType(Objects.nonNull(type)?null:DEFAULT_VALUE_0);
memberAddress.setType(Objects.isNull(type)?null:DEFAULT_VALUE_0);
memberAddress.setIsDefault(Objects.nonNull(isDefault)?null:DEFAULT_VALUE_0);
memberAddress.setStatus(Objects.nonNull(status)?null:DEFAULT_VALUE_1);
memberAddress.setStatus(Objects.isNull(status)?null:DEFAULT_VALUE_1);
memberAddress.setContactor(stringIsNull(contactor));
memberAddress.setCellphone(stringIsNull(cellphone));
......
package com.topdraw.business.module.member.address.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.common.validated.CreateGroup;
import com.topdraw.business.module.common.validated.UpdateGroup;
......@@ -30,6 +31,7 @@ public class MemberAddressController {
@Log("新增会员地址")
@RequestMapping(value = "/create")
@ApiOperation("新增会员地址")
@AnonymousAccess
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) {
log.info("memberAddress ==>> create ==> param ==>> [{}]",resources);
this.memberAddressOperationService.create(resources);
......@@ -40,6 +42,7 @@ public class MemberAddressController {
@Log("修改会员地址")
@RequestMapping(value = "/update")
@ApiOperation("修改会员地址")
@AnonymousAccess
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberAddress resources) {
log.info("memberAddress ==>> update ==> param ==>> [{}]",resources);
this.memberAddressOperationService.update(resources);
......@@ -50,6 +53,7 @@ public class MemberAddressController {
@Log("删除会员地址")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除会员地址")
@AnonymousAccess
public ResultInfo delete(@PathVariable Long resources) {
log.info("memberAddress ==>> delete ==> param ==>> [{}]",resources);
this.memberAddressOperationService.delete(resources);
......
package com.topdraw.business.module.member.profile.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.common.validated.UpdateGroup;
import com.topdraw.business.process.service.member.MemberProfileOperationService;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.profile.domain.MemberProfile;
......@@ -28,8 +30,9 @@ public class MemberProfileController {
@Log("修改会员属性")
@RequestMapping(value = "/update")
@ApiOperation("修改会员属性")
@AnonymousAccess
@Deprecated
public ResultInfo update(@Validated @RequestBody MemberProfile resources) {
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberProfile resources) {
log.info("memberProfile ==>> update ==>> resources ===>> [{}]",resources);
this.memberProfileOperationService.update(resources);
......@@ -38,4 +41,12 @@ public class MemberProfileController {
return ResultInfo.success();
}
@PutMapping
@ApiOperation("修改MemberProfile")
@AnonymousAccess
public ResultInfo updateMemberProfileAndMember(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
this.memberProfileOperationService.updateMemberProfileAndMember(resources);
return ResultInfo.success();
}
}
......
......@@ -4,6 +4,7 @@ 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;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
......@@ -79,5 +80,5 @@ public interface MemberProfileService {
* 修改会员属性并同步会员信息
* @param resources
*/
void updateMemberProfileAndMember(MemberProfile resources);
void updateMemberProfileAndMember(MemberProfile resources, MemberDTO memberDTO);
}
......
......@@ -123,8 +123,7 @@ public class MemberProfileServiceImpl implements MemberProfileService {
MemberProfile memberProfile = new MemberProfile();
BeanUtils.copyProperties(resources,memberProfile);
MemberProfile _memberProfile = this.memberProfileRepository.save(memberProfile);
// 同步会员信息
this.synchronizedMemberData(resources);
MemberProfileDTO memberProfileDTO = new MemberProfileDTO();
BeanUtils.copyProperties(_memberProfile,memberProfileDTO);
......@@ -150,36 +149,27 @@ public class MemberProfileServiceImpl implements MemberProfileService {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateMemberProfileAndMember(MemberProfile resources) {
public void updateMemberProfileAndMember(MemberProfile resources, MemberDTO memberDTO) {
log.info("MemberProfileServiceImpl ==>> updateMemberProfileAndMember ==>> resources ===>> [{}]",resources);
this.update(resources);
// 同步会员信息
this.synchronizedMemberData(resources, memberDTO);
}
private void synchronizedMemberData(String nickName , Integer gender , String birthday,
String avatarUrl,Long memberId,String memberCode) {
MemberProfile memberProfile = new MemberProfile();
memberProfile.setMemberId(memberId);
memberProfile.setMemberCode(memberCode);
memberProfile.setRealname(nickName);
memberProfile.setGender(gender);
memberProfile.setBirthday(birthday);
memberProfile.setAvatarUrl(avatarUrl);
this.synchronizedMemberData(memberProfile);
}
private void synchronizedMemberData(MemberProfile resources) {
private void synchronizedMemberData(MemberProfile resources, MemberDTO memberDTO) {
log.info("updateMemberProfileAndMember ==>> resources ==>> [{}]",resources);
memberDTO.setId(resources.getMemberId());
memberDTO.setCode(resources.getMemberCode());
memberDTO.setNickname(resources.getRealname());
memberDTO.setGender(resources.getGender());
memberDTO.setBirthday(resources.getBirthday());
memberDTO.setAvatarUrl(resources.getAvatarUrl());
Member member = new Member();
member.setId(resources.getMemberId());
member.setCode(resources.getMemberCode());
member.setNickname(resources.getRealname());
member.setGender(resources.getGender());
member.setBirthday(resources.getBirthday());
member.setAvatarUrl(resources.getAvatarUrl());
BeanUtils.copyProperties(memberDTO,member);
this.memberService.update(member);
}
}
......
......@@ -23,7 +23,7 @@ public class MemberRelatedInfoBuilder {
private static final Integer DEFAULT_VALUE_0 = 0;
public static MemberRelatedInfo build(MemberRelatedInfo memberRelatedInfo){
return build(memberRelatedInfo.getId(),memberRelatedInfo.getMemberCode(),memberRelatedInfo.getId(),memberRelatedInfo.getName(),memberRelatedInfo.getSex(),
return build(memberRelatedInfo.getMemberId(),memberRelatedInfo.getMemberCode(),memberRelatedInfo.getId(),memberRelatedInfo.getName(),memberRelatedInfo.getSex(),
memberRelatedInfo.getCellphone(),memberRelatedInfo.getIdCard(),memberRelatedInfo.getBirthday(),memberRelatedInfo.getAvatarUrl(),memberRelatedInfo.getType());
}
......
package com.topdraw.business.module.member.relatedinfo.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.common.validated.CreateGroup;
import com.topdraw.business.module.common.validated.UpdateGroup;
......@@ -37,6 +38,7 @@ public class MemberRelatedInfoController {
@Log("新增相关人员")
@RequestMapping(value = "/create")
@ApiOperation("新增相关人员")
@AnonymousAccess
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberRelatedInfo resources) {
log.info("memberRelatedInfo ==>> create ==>> resources ===>> [{}]",resources);
......@@ -48,6 +50,7 @@ public class MemberRelatedInfoController {
@Log("修改相关人员")
@RequestMapping(value = "/update")
@ApiOperation("修改相关人员")
@AnonymousAccess
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberRelatedInfo resources) {
log.info("memberRelatedInfo ==>> update ==>> resources ===>> [{}]",resources);
......@@ -73,6 +76,7 @@ public class MemberRelatedInfoController {
@Log("删除相关人员")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除相关人员")
@AnonymousAccess
public ResultInfo delete(@PathVariable(value = "id") Long resources) {
log.info("memberRelatedInfo ==>> delete ==>> resources ===>> [{}]",resources);
this.memberRelatedInfoOperationService.delete(resources);
......
......@@ -15,13 +15,13 @@ import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoS
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
import com.topdraw.business.module.member.relatedinfo.service.mapper.MemberRelatedInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import java.util.Objects;
......@@ -61,7 +61,7 @@ public class MemberRelatedInfoServiceImpl implements MemberRelatedInfoService {
log.info("MemberRelatedInfoServiceImpl ==>> create ==>> param ==>> [{}]",resources);
String idCard = resources.getIdCard();
Long memberId = resources.getMemberId();
if (Objects.nonNull(memberId) && !StringUtils.hasText(idCard) && !idCard.equalsIgnoreCase(DEFAULT_IDCARD) ) {
if (Objects.nonNull(memberId) && StringUtils.isNotBlank(idCard) && !idCard.equalsIgnoreCase(DEFAULT_IDCARD) ) {
MemberRelatedInfo memberRelatedInfo = this.findByMemberIdAndIdCard(resources);
if (Objects.nonNull(memberRelatedInfo))
// 数据已存在
......@@ -95,7 +95,7 @@ public class MemberRelatedInfoServiceImpl implements MemberRelatedInfoService {
*/
private void encodeRealname(MemberRelatedInfo resources){
String name = resources.getName();
if (StringUtils.hasText(name)) {
if (StringUtils.isNotBlank(name)) {
String nickNameEncode = Base64Util.encode(name);
if (!nickNameEncode.equalsIgnoreCase(name))
resources.setName(nickNameEncode);
......
package com.topdraw.business.module.member.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.common.validated.CreateGroup;
import com.topdraw.business.module.common.validated.UpdateGroup;
import com.topdraw.business.module.member.domain.Member;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.user.iptv.domain.UserTv;
import com.topdraw.business.process.service.member.MemberOperationService;
import com.topdraw.business.process.service.UserOperationService;
......@@ -12,9 +14,12 @@ 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
......@@ -33,7 +38,8 @@ public class MemberController {
@Log("为大屏账户创建会员")
@RequestMapping(value = "/createMemberByUserTv")
@RequestMapping(value = "/createMemberByUs" +
"@AnonymousAccesserTv")
@ApiOperation("为大屏账户创建会员")
@Deprecated
public ResultInfo createMemberByUserTv(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) {
......@@ -45,6 +51,7 @@ public class MemberController {
@Log("手动修改vip")
@RequestMapping(value = "/doUpdateVipByCode")
@AnonymousAccess
@ApiOperation("手动修改vip")
public ResultInfo doUpdateVipByCode(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) {
log.info("member ==>> doUpdateVipByCode ==>> param ==>> [{}]",resources);
......@@ -52,4 +59,17 @@ public class MemberController {
log.info("member ==>> doUpdateVipByCode ==>> result ==>> [{}]",resources);
return ResultInfo.success();
}
@Log("修改会员信息")
@PutMapping(value = "/update")
@ApiOperation("修改会员信息")
@AnonymousAccess
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) {
log.info("member ==>> update ==>> param ==>> [{}]",resources);
MemberDTO memberDTO = this.memberOperationService.update(resources);
log.info("member ==>> update ==>> result ==>> [{}]",resources);
return ResultInfo.success(memberDTO);
}
}
......
package com.topdraw.business.module.user.weixin.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.topdraw.business.module.common.domain.AsyncMqModule;
import com.topdraw.business.module.common.validated.CreateGroup;
import lombok.Data;
......@@ -135,6 +136,7 @@ public class UserWeixin extends AsyncMqModule implements Serializable {
private String sourceEntity;
/** 授权时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@Column(name = "auth_time")
private Timestamp authTime;
......
......@@ -41,6 +41,7 @@ public class UserWeixinBuilder {
public static UserWeixin build(UserWeixin userWeixin){
return build(userWeixin.getId(),
userWeixin.getMemberId(),
userWeixin.getMemberCode(),
userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(),
userWeixin.getStatus(),userWeixin.getSyncStatus(),
userWeixin.getNickname(),userWeixin.getHeadimgurl(),
......@@ -51,10 +52,24 @@ public class UserWeixinBuilder {
userWeixin.getCity(),userWeixin.getSex());
}
public static UserWeixin build(Long memberId , String memberCode, UserWeixin userWeixin){
return build(userWeixin.getId(),
memberId,
memberCode,
userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(),
userWeixin.getStatus(),userWeixin.getSyncStatus(),
userWeixin.getNickname(),userWeixin.getHeadimgurl(),
userWeixin.getPrivilege(), userWeixin.getRefreshToken(),userWeixin.getAccessToken(),
userWeixin.getExpiresIn(),userWeixin.getExpiresTime(),userWeixin.getDescription(),
userWeixin.getCreateBy(),userWeixin.getUpdateBy(),userWeixin.getSourceType(),userWeixin.getSourceId(),
userWeixin.getSourceDesc(),userWeixin.getSourceUser(),userWeixin.getSourceEntity(),userWeixin.getCountry(),userWeixin.getProvince(),
userWeixin.getCity(),userWeixin.getSex());
}
public static UserWeixin build(Long memberId , UserWeixin userWeixin){
return build(userWeixin.getId(),
memberId,
userWeixin.getMemberCode(),
userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(),
userWeixin.getStatus(),userWeixin.getSyncStatus(),
userWeixin.getNickname(),userWeixin.getHeadimgurl(),
......@@ -68,6 +83,7 @@ public class UserWeixinBuilder {
public static UserWeixin build(Member member , UserWeixin userWeixin) {
return build(userWeixin.getId(),
member.getId(),
member.getCode(),
userWeixin.getUnionid(),userWeixin.getAppid(),userWeixin.getOpenid(),
userWeixin.getStatus(),userWeixin.getSyncStatus(),
userWeixin.getNickname(),userWeixin.getHeadimgurl(),
......@@ -81,6 +97,7 @@ public class UserWeixinBuilder {
public static UserWeixin build(Long id ,
Long memberId,
String memberCode,
String unionId, String appId,String openId,
Integer status, Integer syncStatus,
String nickname,String headimgurl,
......@@ -100,6 +117,7 @@ public class UserWeixinBuilder {
UserWeixin userWeixin = new UserWeixin();
userWeixin.setId(Objects.nonNull(id)?id:null);
userWeixin.setMemberId(memberId);
userWeixin.setMemberCode(memberCode);
userWeixin.setUnionid(StringUtils.isNotBlank(unionId)?unionId:"");
userWeixin.setAppid(StringUtils.isNotBlank(appId)?appId:"");
userWeixin.setOpenid(StringUtils.isNotBlank(openId)?openId:"");
......
......@@ -20,6 +20,7 @@ import com.topdraw.business.process.service.UserOperationService;
import com.topdraw.common.ResultInfo;
import com.topdraw.config.RedisKeyUtil;
import com.topdraw.exception.BadRequestException;
import com.topdraw.exception.EntityNotFoundException;
import com.topdraw.exception.GlobeExceptionMsg;
import com.topdraw.util.Base64Util;
import com.topdraw.util.JSONUtil;
......@@ -205,8 +206,7 @@ public class UserOperationController {
@AnonymousAccess
public ResultInfo saveUserInfo(@RequestBody String data) {
log.info("UserOperationController ==> saveUserInfo ==>> param ==> [{}]",data);
log.info("saveUserInfo ==> input ==> [{}]",data);
Assert.notNull(data, "用户数据不可为空");
JSONObject json = JSONObject.parseObject(data);
......@@ -214,23 +214,42 @@ public class UserOperationController {
String unionid = json.getString("unionid");
Assert.state(StrUtil.isNotBlank(unionid), "unionid不可为空");
List<Object> resultList = new ArrayList<>();
// 大屏侧通过返回值来展示对应的小程序页面
String result = SUBSCRIBE;
String platformAccount1 = "";
// 保存大小屏信息到redis同时返回小屏信息
UserWeixinDTO userWeixinDTO = this.userOperationService.saveUserInfo(data);
// 小屏会员
MemberDTO memberDTO = this.memberService.findById(userWeixinDTO.getMemberId());
// 小屏用户不存在或者关注状态为未关注(0),返回未关注
if (Objects.isNull(userWeixinDTO) || Objects.isNull(userWeixinDTO.getId()) || userWeixinDTO.getStatus() != SUBSCRIBE_STATUS) {
result = UNSUBSCRIBE;
return ResultInfo.success(result);
if (Objects.nonNull(memberDTO)) {
// 检查是否绑定,返回绑定的大屏账户
UserTvDTO userTvDTO = this.userOperationService.checkBind(memberDTO);
if (Objects.nonNull(userTvDTO)) {
platformAccount1 = userTvDTO.getPlatformAccount();
}
} else {
log.info("userWeixinDTO ==>> [{}]",userWeixinDTO);
throw new EntityNotFoundException(MemberDTO.class,"code","member is null !!");
}
resultList.add(result);
resultList.add(platformAccount1);
log.info("saveUserInfo ==>> result ==>> [{}]",resultList);
return ResultInfo.success(resultList);
}
/***************************************************************************************/
String platformAccount1 = "";
// 关注未绑定
if (result.equalsIgnoreCase(SUBSCRIBE)) {
// 小屏会员
MemberDTO memberDTO = this.memberService.findById(userWeixinDTO.getMemberId());
// redis中的大小屏信息
String content = (String) this.redisUtils.get(RedisKeyUtil.genSeSuSubscribeKey(unionid));
......@@ -268,7 +287,7 @@ public class UserOperationController {
}
/****************************************************************************************/
List<Object> resultList = new ArrayList<>();
resultList.add(result);
resultList.add(platformAccount1);
......
......@@ -7,7 +7,6 @@ import com.topdraw.business.module.user.weixin.domain.UserWeixin;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
import com.topdraw.business.process.domian.weixin.BindBean;
import com.topdraw.business.process.domian.weixin.SubscribeBean;
import com.topdraw.business.process.domian.weixin.WeiXinUserBean;
public interface UserOperationService {
......@@ -52,8 +51,6 @@ public interface UserOperationService {
*/
void changeMainAccount(UserTv userTv);
/**
* 微信公众号关注
* 1.团粉,会员vip=0,则修改为vip=1
......@@ -128,4 +125,10 @@ public interface UserOperationService {
*/
UserTvDTO bind(MemberDTO memberDTO, String platformAccount);
/**
*
* @param memberDTO
* @return
*/
UserTvDTO checkBind(MemberDTO memberDTO);
}
......
......@@ -179,7 +179,7 @@ public class UserOperationServiceImpl implements UserOperationService {
MemberDTO memberDTO = this.createMember(_member);
if (Objects.nonNull(memberDTO)) {
UserWeixin userWeixin = UserWeixinBuilder.build(resources);
UserWeixin userWeixin = UserWeixinBuilder.build(memberDTO.getId(), resources);
return this.createWeixinUser(userWeixin, memberDTO.getId(), memberDTO.getCode());
}
......@@ -1057,9 +1057,9 @@ public class UserOperationServiceImpl implements UserOperationService {
* @return
*/
private UserWeixinDTO createWeixinUser(UserWeixin resource, Long memberId, String memberCode){
if (Objects.nonNull(memberId)) resource.setMemberId(memberId);
if (StringUtils.isNotBlank(memberCode)) resource.setMemberCode(memberCode);
resource.setMemberId(memberId);
resource.setMemberCode(memberCode);
UserWeixin userWeixin = this.userWeixinService.create(resource);
UserWeixinDTO userWeixinDTO = new UserWeixinDTO();
......@@ -1067,4 +1067,14 @@ public class UserOperationServiceImpl implements UserOperationService {
return userWeixinDTO;
}
@Override
public UserTvDTO checkBind(MemberDTO memberDTO) {
MemberDTO memberDTO1 = this.memberService.findByCode(memberDTO.getCode());
if (Objects.nonNull(memberDTO1.getUserIptvId())) {
UserTvDTO userTvDTO = this.userTvService.findById(memberDTO1.getUserIptvId());
return userTvDTO;
}
return null;
}
}
......
......@@ -100,8 +100,8 @@ public class MemberOperationServiceImpl implements MemberOperationService {
@CachePut(key = "#resources.id")
@Override
public MemberDTO update(Member resources) {
MemberDTO member = this.memberService.update(resources);
return member;
MemberDTO memberDTO = this.memberService.update(resources);
return memberDTO;
}
@Override
......
......@@ -4,9 +4,14 @@ 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.MemberProfileService;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.process.service.member.MemberOperationService;
import com.topdraw.business.process.service.member.MemberProfileOperationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.validation.constraints.NotNull;
/**
* @author :
......@@ -22,6 +27,8 @@ public class MemberProfileOperationServiceImpl implements MemberProfileOperation
@Autowired
private MemberProfileService memberProfileService;
@Autowired
private MemberOperationService memberOperationService;
@Override
public MemberProfileDTO findById(Long id) {
......@@ -70,6 +77,14 @@ public class MemberProfileOperationServiceImpl implements MemberProfileOperation
@Override
public void updateMemberProfileAndMember(MemberProfile resources) {
this.memberProfileService.updateMemberProfileAndMember(resources);
String memberCode = resources.getMemberCode();
MemberDTO memberDTO = null;
if (StringUtils.isEmpty(memberCode)) {
Long memberId = resources.getMemberId();
memberDTO = this.memberOperationService.findById(memberId);
resources.setMemberCode(memberDTO.getCode());
}
this.memberProfileService.updateMemberProfileAndMember(resources, memberDTO);
}
}
......
package com.topdraw.business.process.service.impl.user;
import com.topdraw.business.module.user.weixin.domain.UserWeixin;
import com.topdraw.business.module.user.weixin.domain.UserWeixinBuilder;
import com.topdraw.business.module.user.weixin.repository.UserWeixinRepository;
import com.topdraw.business.module.user.weixin.service.UserWeixinService;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
import com.topdraw.business.module.user.weixin.service.mapper.UserWeixinMapper;
import com.topdraw.business.process.service.user.UserWeixinOperationService;
import com.topdraw.utils.ValidationUtil;
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 org.springframework.util.Assert;
/**
* @author XiangHan
* @date 2021-12-16
*/
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class UserWeixinOperationServiceImpl implements UserWeixinOperationService {
@Autowired
private UserWeixinService userWeixinService;
@Override
public UserWeixinDTO findById(Long id) {
return this.userWeixinService.findById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public UserWeixin create(UserWeixin resources) {
return this.userWeixinService.create(resources);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UserWeixin resources) {
this.userWeixinService.update(resources);
}
@Override
public void updateTime(UserWeixin resources) {
this.userWeixinService.updateTime(resources);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Long id) {
this.userWeixinService.delete(id);
}
@Override
public UserWeixinDTO findFirstByMemberIdAndAppid(Long memberId, String appid) {
return this.userWeixinService.findFirstByMemberIdAndAppid(memberId,appid);
}
@Override
public UserWeixinDTO findFirstByUnionIdAndAppIdAndOpenId(String unionId, String appId, String openId) {
return this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId,openId);
}
@Override
public UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId) {
return this.userWeixinService.findFirstByAppIdAndOpenId(appId,openId);
}
@Override
public UserWeixinDTO findFirstByUnionId(String unionid) {
return this.userWeixinService.findFirstByUnionId(unionid);
}
@Override
public UserWeixinDTO findFirstByUnionidAndAppid(String unionid, String appId) {
return this.userWeixinService.findFirstByUnionidAndAppid(unionid,appId);
}
}
package com.topdraw.business.process.service.user;
import com.topdraw.business.module.user.weixin.domain.UserWeixin;
import com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO;
/**
* @author XiangHan
* @date 2021-12-16
*/
public interface UserWeixinOperationService {
/**
* 根据ID查询
* @param id ID
* @return UserWeixinDTO
*/
UserWeixinDTO findById(Long id);
/**
*
* @param resources
* @return
*/
UserWeixin create(UserWeixin resources);
/**
*
* @param resources
*/
void update(UserWeixin resources);
/**
*
* @param resources
*/
void updateTime(UserWeixin resources);
/**
*
* @param id
*/
void delete(Long id);
/**
*
* @param memberId
* @param appid
* @return
*/
UserWeixinDTO findFirstByMemberIdAndAppid(Long memberId, String appid);
/**
*
* @param unionId
* @param appId
* @param openId
* @return
*/
UserWeixinDTO findFirstByUnionIdAndAppIdAndOpenId(String unionId, String appId, String openId);
/**
*
* @param appId
* @param openId
* @return
*/
UserWeixinDTO findFirstByAppIdAndOpenId(String appId, String openId);
/**
*
* @param unionid
* @return
*/
UserWeixinDTO findFirstByUnionId(String unionid);
/**
*
* @param unionid
* @param appId
* @return
*/
UserWeixinDTO findFirstByUnionidAndAppid(String unionid, String appId);
}