diff --git a/backend/inz.authentication/src/main/java/com/beecode/inz/authentication/web/TenantUserController.java b/backend/inz.authentication/src/main/java/com/beecode/inz/authentication/web/TenantUserController.java index 444e3ca..19818a3 100644 --- a/backend/inz.authentication/src/main/java/com/beecode/inz/authentication/web/TenantUserController.java +++ b/backend/inz.authentication/src/main/java/com/beecode/inz/authentication/web/TenantUserController.java @@ -1,7 +1,12 @@ package com.beecode.inz.authentication.web; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -10,13 +15,17 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import com.beecode.bcp.authc.passwd.service.PassWordService; import com.beecode.inz.authentication.TenantUser; +import com.beecode.inz.authentication.constants.AuthcConstants; import com.beecode.inz.authentication.constants.TenantUserConstants; import com.beecode.inz.authentication.service.SMSsendingService; import com.beecode.inz.authentication.service.TenantUserService; @@ -38,6 +47,8 @@ public class TenantUserController { @Qualifier("com.beecode.inz.authentication.config.RedisConfiguration.redisTemplate") RedisTemplate<String, String> redisTemplate; + private final static String REQUEST_CURRENTREGIONALCOMPANY_KEY = "currentRegionalCompany"; + @RequestMapping(value = "/user/modifyPassword", method = RequestMethod.POST) public ResponseEntity<String> modifyPassword(@RequestParam String tenant,@RequestParam String username,@RequestParam String password) throws Exception { HttpHeaders headers = new HttpHeaders(); @@ -233,6 +244,22 @@ public class TenantUserController { return new ResponseEntity<String>(result.toString(), headers, HttpStatus.OK); } } + @RequestMapping(value = "/changeOrg", method = RequestMethod.POST) + public void changeOrg(@RequestBody String param) { + ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); + HttpServletRequest request = attr.getRequest(); + HttpSession session = request.getSession(); + + //获取当前用户区域公司参数,存入当前用户数据集(session) + JSONObject obj = new JSONObject(param); + String currentRegionalCompany = obj.getString("regionalCompany"); + Map<String, String > datas = new ConcurrentHashMap<>(); + datas.put(REQUEST_CURRENTREGIONALCOMPANY_KEY, currentRegionalCompany); + + //目前数据集只存了用户区域公司 + session.setAttribute(AuthcConstants.CURRENTUSERDATAS, datas); + + } private String checkUserState(TenantUser tenantUser) { if(tenantUser.isLocked()) { return "该用户被禁止登录,无法找回密码,请联系系统管理员。";