From 5476f0366c2042d8b3858369fc0c149d57b2fb9f Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 24 七月 2025 17:47:27 +0800 Subject: [PATCH] 会员密码问题 --- framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 79 insertions(+), 5 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 469bfba..bb1d11d 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -3,6 +3,9 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.text.CharSequenceUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.crypto.digest.MD5; +import cn.lili.base.Result; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.aop.annotation.DemoSite; @@ -22,6 +25,10 @@ import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.service.ConnectService; +import cn.lili.modules.lmk.domain.entity.VideoAccount; +import cn.lili.modules.lmk.domain.form.MemberTagForm; +import cn.lili.modules.lmk.service.MemberTagService; +import cn.lili.modules.lmk.service.VideoAccountService; import cn.lili.modules.member.aop.annotation.PointLogPoint; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dto.*; @@ -41,12 +48,15 @@ import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; +import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.catalina.security.SecurityUtil; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; @@ -105,6 +115,15 @@ */ @Autowired private Cache cache; + + @Autowired + private VideoAccountService videoAccountService; + + @Autowired + private MemberTagService memberTagService; + + @Autowired + private COSUtil cosUtil; @Override public Member findByUsername(String userName) { @@ -193,6 +212,7 @@ throw new ServiceException(ResultCode.USER_NOT_EXIST); } //鍒ゆ柇瀵嗙爜鏄惁杈撳叆姝g‘ + if (!new BCryptPasswordEncoder().matches(password, member.getPassword())) { throw new ServiceException(ResultCode.USER_PASSWORD_ERROR); } @@ -238,19 +258,24 @@ @Override @Transactional - public Member autoRegister(ConnectAuthUser authUser) { + public Member autoRegister(ConnectAuthUser authUser,Boolean encryptTwice) { if (CharSequenceUtil.isEmpty(authUser.getNickname())) { authUser.setNickname(CommonUtil.getSpecialStr("鐢ㄦ埛")); } if (CharSequenceUtil.isEmpty(authUser.getAvatar())) { - authUser.setAvatar("https://i.loli.net/2020/11/19/LyN6JF7zZRskdIe.png"); + authUser.setAvatar(""); } try { // String username = UuidUtils.getUUID(); Member member = new Member(authUser.getUsername(), UuidUtils.getUUID(), authUser.getAvatar(), authUser.getNickname(), authUser.getGender() != null ? Convert.toInt(authUser.getGender().getCode()) : 0, authUser.getPhone()); - member.setPassword(DEFAULT_PASSWORD); + if(encryptTwice){ + member.setPassword( new BCryptPasswordEncoder().encode(SecureUtil.md5(DEFAULT_PASSWORD))); + }else { + member.setPassword( new BCryptPasswordEncoder().encode(DEFAULT_PASSWORD)); + } + member.setUuId(authUser.getUuid()); // 鍙戦�佷細鍛樻敞鍐屼俊鎭� registerHandler(member); @@ -306,10 +331,16 @@ * @param member */ @Transactional + @Override public void registerHandler(Member member) { member.setId(SnowFlake.getIdStr()); //淇濆瓨浼氬憳 this.save(member); + // 鍚屾椂鏂板涓�涓棰戣处鍙� + VideoAccount videoAccount = new VideoAccount(); + videoAccount.setUserId(member.getId()); + videoAccountService.save(videoAccount); + UserContext.settingInviter(member.getId(), cache); // 鍙戦�佷細鍛樻敞鍐屼俊鎭� applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), @@ -474,6 +505,7 @@ } @Override + @Transactional public Member updateMember(ManagerMemberEditDTO managerMemberEditDTO) { //杩囨护浼氬憳鏄电О鏁忔劅璇� if (CharSequenceUtil.isNotBlank(managerMemberEditDTO.getNickName())) { @@ -487,6 +519,33 @@ Member member = this.getById(managerMemberEditDTO.getId()); //浼犻�掍慨鏀逛細鍛樹俊鎭� BeanUtil.copyProperties(managerMemberEditDTO, member); + this.updateById(member); + if (managerMemberEditDTO.getTags() != null && !CollectionUtils.isEmpty(managerMemberEditDTO.getTags())) { + MemberTagForm memberTagForm = new MemberTagForm(); + memberTagForm.setMemberId(member.getId()); + memberTagForm.setTagIds(managerMemberEditDTO.getTags()); + memberTagForm.setCreateType("MANAGER"); + memberTagService.addMemberTag(memberTagForm); + } + return member; + } + + @Override + public Result resetPassword(String id) { + String password = "111111"; + Member member = this.getById(id); + member.setPassword(new BCryptPasswordEncoder().encode(password)); + this.updateById(member); + return Result.ok("閲嶇疆鎴愬姛"); + } + + + @Override + public Member updateMemberPartProperties(String id, String password, String mobile) { + //鏌ヨ浼氬憳淇℃伅 + Member member = this.getById(id); + member.setMobile(mobile); + member.setUsername(mobile); this.updateById(member); return member; } @@ -753,7 +812,11 @@ @Override public MemberVO getMember(String id) { - return new MemberVO(this.getById(id)); + MemberVO member = baseMapper.getVoById(id); + if (Objects.nonNull(member)) { + member.setFace(cosUtil.getPreviewUrl(member.getFace())); + } + return member; } @Override @@ -831,6 +894,13 @@ return result; } + @Override + public Member findByUUID(String uuid) { + QueryWrapper<Member> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("uu_id", uuid); + return this.baseMapper.selectOne(queryWrapper); + } + /** * 妫�娴嬩細鍛� * @@ -844,4 +914,8 @@ } } -} \ No newline at end of file + public static void main(String[] args) { + System.err.println(SecureUtil.md5("111111")); + } + +} -- Gitblit v1.8.0