Ver código fonte

申述bug修改

wangmh 7 anos atrás
pai
commit
01a75cb0c0

+ 1 - 1
sso-server/src/main/java/com/uas/sso/SSOConfiguration.java

@@ -37,7 +37,7 @@ public class SSOConfiguration extends WebMvcConfigurerAdapter {
          */
         registry.addInterceptor(ssoInterceptor).addPathPatterns("/**").
                 excludePathPatterns("/sso/*/register/**", "/sso/login/**", "/api/user/**", "/api/userspace/**",
-                        "/sso/resetPwd/**", "/appeal/resetPwd", "/api/partners");
+                        "/sso/resetPwd/**", "/appeal/resetPwd", "/api/partners", "/appeal/**");
 
     }
 

+ 22 - 15
sso-server/src/main/java/com/uas/sso/controller/AppealController.java

@@ -27,6 +27,9 @@ public class AppealController extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private UserspaceService userspaceService;
+
     @Autowired
     private AppealService appealService;
 
@@ -79,10 +82,9 @@ public class AppealController extends BaseController {
      */
     @RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
     public ModelMap resetPwd(Appeal appeal, @RequestParam String token, String code, String password) {
-        // 获取申述人
-        SSOToken ssoToken = SSOHelper.getToken(request);
-        UserAccount loginUser = JSON.parseObject(ssoToken.getData(), UserAccount.class);
-        Long submitterUU = loginUser == null ? (Long) request.getSession().getAttribute("userUU") : loginUser.getUserUU();
+        // 获取申述人,将修改的账号作为申述人
+        User user = userService.findByMobile(appeal.getMobile());
+        Long submitterUU = user.getUserUU();
 
         // 校验token
         Token existToken = tokenService.findOne(token);
@@ -102,34 +104,39 @@ public class AppealController extends BaseController {
     }
 
     @RequestMapping(value = "/changeAdmin", method = RequestMethod.POST)
-    public ModelMap changeAdmin(Appeal appeal, @RequestParam String token, String code, Userspace userspace) throws Exception {
-        // 校验用户是否登录
-        UserAccount userAccount = SystemSession.getUserAccount();
-        if (userAccount == null) {
-            return error("用户未登录");
-        }
-
+    public ModelMap changeAdmin(Appeal appeal, @RequestParam String token, String code, Userspace userspace) {
         // 校验token
         Token existToken = tokenService.findOne(token);
         if (existToken == null || existToken.isExpired()) {
             return error("验证码已过期,请重新获取");
         }
 
+        // 校验企业信息
+        Userspace checkSpace = userspaceService.findBySpaceName(userspace.getSpaceName());
+        if (checkSpace == null) {
+            return error("该企业未被注册,请确认");
+        }
+
         // TODO 参数空检验
 
         // 校验验证码
         checkMobileCode(token, appeal.getMobile(), code);
 
-        // 保存申述信息
-        appeal.setSubmitterUU(userAccount.getUserUU());
-        appealService.submitChangeAdmin(appeal, userspace, userAccount.getSpaceUU());
+        // 保存申述信息,把新管理员当作申请人
+        User submitter = userService.findByMobile(appeal.getMobile());
+        appeal.setSubmitterUU(submitter.getUserUU());
+        appealService.submitChangeAdmin(appeal, userspace, checkSpace.getSpaceUU());
         return success();
     }
 
     @RequestMapping(value = "/account", method = RequestMethod.POST)
     public ModelMap validAccount(Appeal appeal, String token, String code, String password) {
         // 校验用户是否登录
-        UserAccount userAccount = SystemSession.getUserAccount();
+        SSOToken ssoToken = SSOHelper.getToken(request);
+        if (ssoToken == null) {
+            return error("用户未登录");
+        }
+        UserAccount userAccount = JSON.parseObject(ssoToken.getData(), UserAccount.class);
         if (userAccount == null) {
             return error("用户未登录");
         }