| | |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | |
| | | @Autowired |
| | | private IntegralService integralService; |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String,Object> redisTemplate; |
| | | |
| | | @Override |
| | | public Integer create(Member member) { |
| | |
| | | member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ |
| | | systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl()); |
| | | //创建token |
| | | JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId()); |
| | | String token = JwtTokenUtil.generateToken(payLoad); |
| | | // JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId()); |
| | | // String token = JwtTokenUtil.generateToken(payLoad); |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setOpenid(openId); |
| | | accountResponse.setMember(member); |
| | | }else{ |
| | | accountResponse.setOpenid(openId); |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public AccountResponse wxLoginTest( Integer memberId){ |
| | | //创建token |
| | | JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+memberId); |
| | | String token = JwtTokenUtil.generateToken(payLoad); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(token); |
| | | return accountResponse; |
| | | } |
| | | // @Override |
| | | // public AccountResponse wxLoginTest( Integer memberId){ |
| | | // //创建token |
| | | //// JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+memberId); |
| | | //// String token = JwtTokenUtil.generateToken(payLoad); |
| | | // String token = JwtTokenUtil.generateTokenForRedis(memberId, Constants.ZERO, JSONObject.toJSONString(null), redisTemplate); |
| | | // AccountResponse accountResponse = new AccountResponse(); |
| | | // accountResponse.setToken(token); |
| | | // return accountResponse; |
| | | // } |
| | | |
| | | @Override |
| | | public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){ |
| | |
| | | member.setRecId(Constants.getInviteCode(wxPhoneRequest.getRecId())); |
| | | } |
| | | member.setOpenId(wxPhoneRequest.getOpenid()); |
| | | member.setIntegral(BigDecimal.ZERO); |
| | | } |
| | | member.setPhone(phone); |
| | | member.setEditDate(new Date()); |
| | |
| | | } |
| | | memberMapper.updateById(member); |
| | | } |
| | | JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId()); |
| | | String token = JwtTokenUtil.generateToken(payLoad); |
| | | // JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId()); |
| | | // String token = JwtTokenUtil.generateToken(payLoad); |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setMember(member); |
| | |
| | | platformConfigDTO.getShareIntegralReward():BigDecimal.ZERO); |
| | | inviteRecord.setFirstOrderStatus(Constants.ZERO); |
| | | inviteRecordMapper.insert(inviteRecord); |
| | | //赠送邀请积分 |
| | | //开启邀请注册送积分 |
| | | if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){ |
| | | DealIntegralRequest dealIntegralRequest = new DealIntegralRequest(); |
| | | dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward()); |
| | | dealIntegralRequest.setDealType(Constants.ZERO); |
| | | dealIntegralRequest.setMemberId(member.getRecId()); |
| | | dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER); |
| | | dealIntegralRequest.setParam1(member.getNickname()); |
| | | integralService.dealIntegral(dealIntegralRequest); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | |
| | | @Override |
| | | public Member updateMember(UpdateMemberRequest updateMemberRequest){ |
| | | public void updateMember(UpdateMemberRequest updateMemberRequest){ |
| | | if(StringUtils.isBlank(updateMemberRequest.getImgurl()) |
| | | && StringUtils.isBlank(updateMemberRequest.getNickname()) |
| | | && StringUtils.isBlank(updateMemberRequest.getName()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | Member member = new Member(); |
| | | BeanUtils.copyProperties(updateMemberRequest,member); |
| | | member.setId(updateMemberRequest.getMemberId()); |
| | | member.setEditor(updateMemberRequest.getMemberId()); |
| | | member.setEditDate(new Date()); |
| | | memberMapper.updateById(member); |
| | | Member dbMember = memberMapper.selectById(updateMemberRequest.getMemberId()); |
| | | dbMember.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ |
| | | systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+dbMember.getImgurl()); |
| | | return dbMember; |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(StringUtils.isNotBlank(updateMemberRequest.getImgurl()),Member::getImgurl,updateMemberRequest.getImgurl()) |
| | | .set(StringUtils.isNotBlank(updateMemberRequest.getNickname()),Member::getNickname,updateMemberRequest.getNickname()) |
| | | .set(StringUtils.isNotBlank(updateMemberRequest.getName()),Member::getName,updateMemberRequest.getName()) |
| | | .set(Member::getEditDate,DateUtil.getCurrDateTime()) |
| | | .eq(Member::getId,updateMemberRequest.getMemberId()) |
| | | ); |
| | | } |
| | | |
| | | |
| | |
| | | if(StringUtils.isNotBlank(member.getPhone())&&!member.getPhone().equals(request.getPhone())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"手机号错误"); |
| | | } |
| | | this.verifyPhoneCode(request.getCode(),request.getMemberId()); |
| | | this.verifyPhoneCode(request.getCode(),request.getPhone()); |
| | | } |
| | | |
| | | public void verifyPhoneCode(String code,Integer memberId){ |
| | | public void verifyPhoneCode(String code,String phone){ |
| | | //验证码 |
| | | Smsrecord smsrecord = smsrecordMapper.selectOne(new QueryWrapper<Smsrecord>().lambda() |
| | | .eq(Smsrecord::getIsdeleted,Constants.ZERO) |
| | | .eq(Smsrecord::getCode,code) |
| | | .eq(Smsrecord::getMemberId,memberId) |
| | | .eq(Smsrecord::getPhone,phone) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.isNull(smsrecord)){ |
| | |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | //判断新手机号是否已被使用 |
| | | if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getPhone,request.getPhone()))>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,新手机号已被绑定,无法进行换绑!"); |
| | | } |
| | | Member member = memberMapper.selectById(request.getMemberId()); |
| | | if(StringUtils.isNotBlank(member.getPhone())&&member.getPhone().equals(request.getPhone())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无法更换相同手机号"); |
| | | } |
| | | this.verifyPhoneCode(request.getCode(),request.getMemberId()); |
| | | this.verifyPhoneCode(request.getCode(),request.getPhone()); |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getPhone,request.getPhone()) |
| | | .eq(Member::getId,request.getMemberId()) |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void logOut(String token,Integer memberId){ |
| | | Member member = memberMapper.selectById(memberId); |
| | | if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenId())){ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getOpenId,null) |
| | | .eq(Member::getId,member.getId()) |
| | | ); |
| | | } |
| | | redisTemplate.delete(token); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void logOff(String token,Integer memberId){ |
| | | Member member = memberMapper.selectById(memberId); |
| | | if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenId())){ |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getOpenId,null) |
| | | .set(Member::getPhone,null) |
| | | .eq(Member::getId,member.getId()) |
| | | ); |
| | | } |
| | | redisTemplate.delete(token); |
| | | } |
| | | |
| | | |
| | | |