Просмотр исходного кода

客户经理App增加退出功能
客户经理App增加修改密码功能

sakuya 3 лет назад
Родитель
Сommit
03991729c1

+ 13 - 1
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankLoginController.java

@@ -21,6 +21,7 @@ import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -40,7 +41,7 @@ import java.util.List;
 @RequestMapping("${fqgz.bank.app.url-prefix}")
 @Slf4j
 @RequiredArgsConstructor
-public class BankLoginController extends BaseController {
+public class BankAuthController extends BaseController {
     private final BankLoginService bankLoginService;
     private final FileInfoService fileInfoService;
     private final UserAXQInfoRepository userAXQInfoRepository;
@@ -57,6 +58,17 @@ public class BankLoginController extends BaseController {
     }
 
     /**
+     * 退出登录
+     *
+     * @return
+     */
+    @GetMapping("/logout")
+    public ResponseDTO logout() {
+        bankLoginService.logout(getAuthorization());
+        return ResponseDTO.success();
+    }
+
+    /**
      * 文件和图片
      *
      * @return

+ 32 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankUserController.java

@@ -0,0 +1,32 @@
+package me.zhengjie.application.bank.controller;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import me.zhengjie.application.bank.controller.vo.BankUserPwdVO;
+import me.zhengjie.application.bank.service.BankUserService;
+import me.zhengjie.base.ResponseDTO;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Validated
+@RestController
+@RequestMapping("${fqgz.bank.app.url-prefix}/user")
+@Slf4j
+@RequiredArgsConstructor
+public class BankUserController {
+    private final BankUserService bankUserService;
+
+    /**
+     * 修改秘密
+     *
+     * @param userPwdVO
+     * @return
+     */
+    @PostMapping("/update-pwd")
+    public ResponseDTO updatePwd(BankUserPwdVO userPwdVO) {
+        bankUserService.updatePwd(userPwdVO);
+        return ResponseDTO.success();
+    }
+}

+ 9 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BankUserPwdVO.java

@@ -0,0 +1,9 @@
+package me.zhengjie.application.bank.controller.vo;
+
+import lombok.Data;
+
+@Data
+public class BankUserPwdVO {
+    private String oldPwd;
+    private String newPwd;
+}

+ 8 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/service/BankLoginService.java

@@ -14,8 +14,16 @@ public interface BankLoginService {
 
 	/**
 	 * 登录
+	 *
 	 * @param sms
 	 * @return
 	 */
 	ResponseDTO<BankLoginVO> login(BankLoginVO sms);
+
+	/**
+	 * 退出
+	 *
+	 * @param authToken
+	 */
+	void logout(String authToken);
 }

+ 8 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/service/BankUserService.java

@@ -0,0 +1,8 @@
+package me.zhengjie.application.bank.service;
+
+import me.zhengjie.application.bank.controller.vo.BankUserPwdVO;
+
+public interface BankUserService {
+
+    void updatePwd(BankUserPwdVO userPwdVO);
+}

+ 4 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankLoginServiceImpl.java

@@ -41,4 +41,8 @@ public class BankLoginServiceImpl implements BankLoginService {
 		}
 		return ResponseDTO.error(ResultCode.USER_LOGIN_ERROR);
 	}
+
+	public void logout(String authToken){
+		tokenProvider.delToken(authToken);
+	}
 }

+ 40 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankUserServiceImpl.java

@@ -0,0 +1,40 @@
+package me.zhengjie.application.bank.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import me.zhengjie.application.admin.service.dto.UserDto;
+import me.zhengjie.application.admin.service.mapstruct.UserMapper;
+import me.zhengjie.application.bank.controller.vo.BankUserPwdVO;
+import me.zhengjie.application.bank.service.BankUserService;
+import me.zhengjie.base.AppBaseResponse;
+import me.zhengjie.base.util.ApplicationContextUtil;
+import me.zhengjie.config.RsaProperties;
+import me.zhengjie.dao.mybatis.entity.User;
+import me.zhengjie.dao.mybatis.mapper.UserRepository;
+import me.zhengjie.exception.BadRequestException;
+import me.zhengjie.utils.RsaUtils;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class BankUserServiceImpl implements BankUserService {
+    private final UserRepository userRepository;
+    private final ApplicationContextUtil contextUtil;
+    private final PasswordEncoder passwordEncoder;
+
+
+    public void updatePwd(BankUserPwdVO userPwdVO) {
+        User user = userRepository.findByUsername(contextUtil.getCurrentUsername());
+        if (!passwordEncoder.matches(userPwdVO.getOldPwd(), user.getPassword())) {
+            throw new BadRequestException("修改失败,旧密码错误");
+        }
+        if (passwordEncoder.matches(userPwdVO.getNewPwd(), user.getPassword())) {
+            throw new BadRequestException("新密码不能与旧密码相同");
+        }
+        userRepository.updatePass(user.getUsername(), userPwdVO.getNewPwd(), new Date());
+    }
+}