|
@@ -13,6 +13,7 @@ import me.zhengjie.annotation.rest.AnonymousPostMapping;
|
|
|
import me.zhengjie.base.BaseResponse;
|
|
|
import me.zhengjie.base.QueryPageParams;
|
|
|
import me.zhengjie.exception.BadRequestException;
|
|
|
+import me.zhengjie.modules.dm.user.domain.DmUser;
|
|
|
import me.zhengjie.modules.dm.user.service.DmUserService;
|
|
|
import me.zhengjie.modules.dm.user.service.dto.DmUserDto;
|
|
|
import me.zhengjie.modules.dm.user.service.dto.DmUserQueryCriteria;
|
|
@@ -23,6 +24,7 @@ import me.zhengjie.modules.security.service.OnlineUserService;
|
|
|
import me.zhengjie.modules.security.service.dto.JwtUserDto;
|
|
|
import me.zhengjie.modules.system.service.*;
|
|
|
import me.zhengjie.modules.system.service.dto.*;
|
|
|
+import me.zhengjie.utils.EncryptUtils;
|
|
|
import me.zhengjie.utils.SecurityUtils;
|
|
|
import me.zhengjie.utils.StringUtils;
|
|
|
import org.hibernate.Criteria;
|
|
@@ -45,9 +47,8 @@ import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@RestController
|
|
|
@RequiredArgsConstructor
|
|
@@ -70,6 +71,8 @@ public class UserApiController {
|
|
|
|
|
|
private final String erpapiUrl = "http://222.84.157.37:30170";
|
|
|
|
|
|
+ private final String key = "DMERPYT!@#$QWER2021+{:>";
|
|
|
+
|
|
|
@Log("获取ERP用户数据")
|
|
|
@ApiOperation("获取ERP用户数据")
|
|
|
@AnonymousGetMapping(value = "/busi/comm/usky/queryUser")
|
|
@@ -90,46 +93,95 @@ public class UserApiController {
|
|
|
return new ResponseEntity<>(json, HttpStatus.OK);
|
|
|
}
|
|
|
|
|
|
+// @Log("单点登录")
|
|
|
+// @ApiOperation("单点登录")
|
|
|
+// @AnonymousGetMapping(value = "/sso")
|
|
|
+// public ResponseEntity<Object> sso(HttpServletRequest request) {
|
|
|
+// String token = request.getParameter("token");
|
|
|
+// String url = request.getParameter("url");
|
|
|
+//
|
|
|
+// if (StringUtils.isBlank(token) || StringUtils.isBlank(url)) {
|
|
|
+// throw new BadRequestException("参数错误");
|
|
|
+// }
|
|
|
+//
|
|
|
+// String res = HttpRequest.get(erpapiUrl + "/api-third-party/busi/comm/authLogin/api/verifyToken?token=" + token).execute().body();
|
|
|
+// JSONObject json = JSONObject.parseObject(res);
|
|
|
+//
|
|
|
+// if (json != null) {
|
|
|
+// JSONObject data = json.getJSONObject("data");
|
|
|
+//
|
|
|
+// if (data != null) {
|
|
|
+//
|
|
|
+// UserDto userDto = userService.findByName(data.getString("username"));
|
|
|
+//
|
|
|
+// if (userDto != null) {
|
|
|
+// UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(data.getString("username"), userDto.getPassword());
|
|
|
+// Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
|
|
+// SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
|
+// // 生成令牌
|
|
|
+// String n_token = tokenProvider.createToken(authentication);
|
|
|
+// final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
|
|
|
+// // 保存在线信息
|
|
|
+// onlineUserService.save(jwtUserDto, n_token, request);
|
|
|
+// // 返回 token 与 用户信息
|
|
|
+// Map<String, Object> authInfo = new HashMap<String, Object>(2) {{
|
|
|
+// put("token", properties.getTokenStartWith() + n_token);
|
|
|
+// put("user", jwtUserDto);
|
|
|
+// }};
|
|
|
+// if (loginProperties.isSingleLogin()) {
|
|
|
+// //踢掉之前已经登录的token
|
|
|
+// onlineUserService.checkLoginOnUser(data.getString("username"), n_token);
|
|
|
+// }
|
|
|
+// return ResponseEntity.ok(authInfo);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// throw new BadRequestException("认证失败");
|
|
|
+// }
|
|
|
+
|
|
|
@Log("单点登录")
|
|
|
@ApiOperation("单点登录")
|
|
|
- @AnonymousGetMapping(value = "/sso")
|
|
|
- public ResponseEntity<Object> sso(HttpServletRequest request) {
|
|
|
- String token = request.getParameter("token");
|
|
|
- String url = request.getParameter("url");
|
|
|
+ @AnonymousGetMapping(value = "/sso11")
|
|
|
+ public BaseResponse<Object> sso11(String token) {
|
|
|
+ Map<String,Object> newToken = SecurityUtils.getToken(key);
|
|
|
+ UserDto userDto = userService.findByName("chaoshengqin");
|
|
|
+ //组装返回值
|
|
|
+ JSONObject returnData = new JSONObject();
|
|
|
+ returnData.put("nonce",newToken.get("nonce"));
|
|
|
+ returnData.put("timestamp",newToken.get("timestamp"));
|
|
|
+ returnData.put("token",newToken.get("token"));
|
|
|
+ returnData.put("user", userDto);
|
|
|
+ Map<String, Object> authInfo = new HashMap<String, Object>(1) {{
|
|
|
+ put("data", returnData);
|
|
|
+ }};
|
|
|
+ return new BaseResponse<>(authInfo);
|
|
|
+ }
|
|
|
|
|
|
- if (StringUtils.isBlank(token) || StringUtils.isBlank(url)) {
|
|
|
+ @Log("单点登录")
|
|
|
+ @ApiOperation("单点登录")
|
|
|
+ @AnonymousGetMapping(value = "/sso")
|
|
|
+ public BaseResponse<Object> sso(String token) {
|
|
|
+ if (StringUtils.isBlank(token)) {
|
|
|
throw new BadRequestException("参数错误");
|
|
|
}
|
|
|
-
|
|
|
String res = HttpRequest.get(erpapiUrl + "/api-third-party/busi/comm/authLogin/api/verifyToken?token=" + token).execute().body();
|
|
|
JSONObject json = JSONObject.parseObject(res);
|
|
|
-
|
|
|
if (json != null) {
|
|
|
JSONObject data = json.getJSONObject("data");
|
|
|
-
|
|
|
if (data != null) {
|
|
|
-
|
|
|
UserDto userDto = userService.findByName(data.getString("username"));
|
|
|
-
|
|
|
if (userDto != null) {
|
|
|
- UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(data.getString("username"), userDto.getPassword());
|
|
|
- Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
|
|
- SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
|
- // 生成令牌
|
|
|
- String n_token = tokenProvider.createToken(authentication);
|
|
|
- final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
|
|
|
- // 保存在线信息
|
|
|
- onlineUserService.save(jwtUserDto, n_token, request);
|
|
|
- // 返回 token 与 用户信息
|
|
|
- Map<String, Object> authInfo = new HashMap<String, Object>(2) {{
|
|
|
- put("token", properties.getTokenStartWith() + n_token);
|
|
|
- put("user", jwtUserDto);
|
|
|
+ Map<String,Object> newToken = SecurityUtils.getToken(key);
|
|
|
+ //组装返回值
|
|
|
+ JSONObject returnData = new JSONObject();
|
|
|
+ returnData.put("nonce",newToken.get("nonce"));
|
|
|
+ returnData.put("timestamp",newToken.get("timestamp"));
|
|
|
+ returnData.put("token",newToken.get("token"));
|
|
|
+ returnData.put("user", userDto);
|
|
|
+ Map<String, Object> authInfo = new HashMap<String, Object>(1) {{
|
|
|
+ put("data", returnData);
|
|
|
}};
|
|
|
- if (loginProperties.isSingleLogin()) {
|
|
|
- //踢掉之前已经登录的token
|
|
|
- onlineUserService.checkLoginOnUser(data.getString("username"), n_token);
|
|
|
- }
|
|
|
- return ResponseEntity.ok(authInfo);
|
|
|
+ return new BaseResponse<>(authInfo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -175,4 +227,14 @@ public class UserApiController {
|
|
|
|
|
|
return new BaseResponse<>(list);
|
|
|
}
|
|
|
+
|
|
|
+ @Log("修改人员数据")
|
|
|
+ @ApiOperation("修改人员数据")
|
|
|
+ @AnonymousPostMapping(value = "/updateZkUsers")
|
|
|
+ public BaseResponse<Object> updateZkUsers(@RequestBody QueryPageParams<DmUser> params) {
|
|
|
+ SecurityUtils.CheckApiAuth(params);
|
|
|
+ System.out.println("params:"+params.getQuery().getId());
|
|
|
+ dmUserService.update(params.getQuery());
|
|
|
+ return new BaseResponse<>(null);
|
|
|
+ }
|
|
|
}
|