Browse Source

用户模块 增加修改用户名、获取账号信息接口

songfuqiang 2 years ago
parent
commit
4e26e11025

+ 24 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/MembersController.java

@@ -11,8 +11,10 @@ import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.params.UserResetPwdParams;
 import cn.kdan.pdf.backend.core.pojo.app.BindAccountVo;
+import cn.kdan.pdf.backend.core.pojo.app.MemberVo;
 import cn.kdan.pdf.backend.core.service.AuthService;
 import cn.kdan.pdf.backend.core.service.MemberService;
+import com.sun.org.apache.xpath.internal.objects.XString;
 import constant.CommonConstant;
 import exception.BackendRuntimeException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -156,4 +158,26 @@ public class MembersController {
         return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,bindAccountVo);
     }
 
+    /**
+     * app端获取用户信息
+     * @param subscription 1:不显示订阅信息 0:显示订阅信息
+     * @param withSocial 如果是QQ、微信登录,传入字段可实现第三方登录的信息。0:不显示, 1:显示
+     * @return 用户信息
+     */
+    @GetMapping("appGetMemberInfo")
+    public AppResultMap<MemberInfoResp> appGetMemberInfo(@RequestParam("subscription") String subscription, @RequestParam("withSocial") String withSocial){
+        return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,memberService.getMemberDetail(null));
+    }
+
+    /**
+     * app端修改昵称
+     * @param param 用户输入新昵称
+     * @return 用户信息
+     */
+    @PutMapping("appModifyName")
+    public AppResultMap<MemberVo> appModifyName(@RequestParam("name") AppRequestParam<String> param){
+        return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,memberService.appModifyName(param.getData()));
+    }
+
+
 }

+ 7 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/MemberService.java

@@ -8,6 +8,7 @@ import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.params.UserResetPwdParams;
 import cn.kdan.pdf.backend.core.pojo.app.BindAccountVo;
+import cn.kdan.pdf.backend.core.pojo.app.MemberVo;
 
 public interface MemberService {
 
@@ -96,4 +97,10 @@ public interface MemberService {
      */
     BindAccountVo unbindAccount(BindAccountParam param);
 
+    /**
+     * 修改用户昵称
+     * @param name 用户输入新昵称
+     * @return 用户信息
+     */
+    MemberVo appModifyName(String name);
 }

+ 1 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/AuthServiceImpl.java

@@ -287,6 +287,7 @@ public class AuthServiceImpl implements AuthService {
             //如果members为空并且account为手机号,新增一条members数据;邮箱不支持注册,只允许输入账号密码登录
             if(account.matches(mobileRegex)){
                 if(ObjectUtils.isEmpty(member)) {
+                    member = new Members();
                     member.setName(String.valueOf(System.currentTimeMillis()).substring(0, 10));
                     memberId = memberService.insertMembers(member, password);
                     memberVo.setName(member.getName());

+ 24 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -565,4 +565,28 @@ public class MemberServiceImpl implements MemberService {
         }
         return bindAccountVo;
     }
+
+    @Override
+    public MemberVo appModifyName(String name) {
+        modifyNickname(name);
+        Members currentUser = getCurrentUser();
+        return createMemberVo(currentUser);
+    }
+
+    /**
+     * 返回一个memberVo对象
+     * @param member 当前用户
+     * @return memberVo
+     */
+    public MemberVo createMemberVo(Members member){
+        MemberVo vo = new MemberVo();
+        BeanUtils.copyProperties(member,vo);
+        AvatarsExample example = new AvatarsExample();
+        example.createCriteria().andMemberIdEqualTo(member.getId());
+        List<Avatars> avatars = avatarsMapper.selectByExample(example);
+        if(!CollectionUtils.isEmpty(avatars)){
+            vo.setAvatarUrl(avatars.get(0).getAvatar());
+        }
+        return vo;
+    }
 }