Browse Source

20220119添加sdk的token工具类

master
zy_Java 4 years ago
parent
commit
161fe20aba
  1. 6
      cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
  2. 2
      ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java
  3. 32
      tall_sdk/src/main/java/com/ccsens/tall_sdk/api/DebugController.java
  4. 18
      tall_sdk/src/main/java/com/ccsens/tall_sdk/api/ProjectController.java
  5. 4
      tall_sdk/src/main/java/com/ccsens/tall_sdk/api/RoleController.java
  6. 12
      tall_sdk/src/main/java/com/ccsens/tall_sdk/api/TaskController.java
  7. 24
      tall_sdk/src/main/java/com/ccsens/tall_sdk/service/ITallService.java
  8. 56
      tall_sdk/src/main/java/com/ccsens/tall_sdk/util/TokenUtil.java

6
cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java

@ -55,10 +55,12 @@ public class MustLoginAspect {
//TODO 获取设备id
final String deviceId = request.getHeader("deviceId");
//TODO 获取客户端类型
final String clientType = request.getHeader("clientType");
final String clientType = request.getHeader("appType");
//TODO 获取ip地址
final String clientIp = ServletUtil.getClientIP(request);
Object attribute = request.getAttribute("X-Forwarder-For");
String clientIp = attribute == null ? null : attribute.toString();
log.info("获取请求方的ip:{}",clientIp);
Object[] args = pjp.getArgs();
QueryDto dto = args == null || args.length < 1 ? null : (QueryDto) args[0];

2
ptos_open/src/main/java/com/ccsens/ptos_open/bean/vo/PluginVo.java

@ -24,7 +24,7 @@ public class PluginVo {
@ApiModelProperty("详细说明")
private String description;
@ApiModelProperty("更新时间")
private Long updateTime;
private Long updatedTime;
@ApiModelProperty("作者id(userId)")
private Long authorId;
@ApiModelProperty("作者名")

32
tall_sdk/src/main/java/com/ccsens/tall_sdk/api/DebugController.java

@ -1,32 +0,0 @@
//package com.ccsens.tall_sdk.api;
//
//import com.ccsens.util.JsonResponse;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiImplicitParams;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.servlet.http.HttpServletRequest;
//
///**
// * @author 逗
// */
//@Api(tags = "DEBUG" , description = "DebugController | ")
//@RestController
//@RequestMapping("/debug")
//@Slf4j
//public class DebugController {
//
// @ApiOperation(value = "/测试",notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
// public JsonResponse debug(HttpServletRequest request) throws Exception {
//
// return JsonResponse.newInstance().ok("测试");
// }
//
//}

18
tall_sdk/src/main/java/com/ccsens/tall_sdk/api/ProjectController.java

@ -7,6 +7,7 @@ import com.ccsens.tall_sdk.service.ITallService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
@ -15,6 +16,7 @@ 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.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
@ -31,13 +33,23 @@ public class ProjectController {
@Resource
private ITallService tallService;
@MustLogin
@ApiOperation(value = "日历页获取项目列表", notes = "")
@RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProjectVo.ProjectInfo>> queryProjectByUser(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.QueryProjectDto> params) throws Exception{
public JsonResponse<List<ProjectVo.ProjectInfo>> queryProjectByUser(@ApiParam @Validated @RequestBody ProjectDto.QueryProjectDto params) throws Exception{
log.info("查询用户所有域下所有业务内的所有项目:{}",params);
List<ProjectVo.ProjectInfo> projectInfoList = tallService.queryProjectByUser(params.getPhone(),params.getParam(),params.getUserId());
List<ProjectVo.ProjectInfo> projectInfoList = tallService.queryProjectByUser(params);
log.info("返回用户所有域下所有业务内的所有项目");
return JsonResponse.newInstance().ok(projectInfoList);
}
@MustLogin
@ApiOperation(value = "导入Wbs", notes = "")
@RequestMapping(value = "/wbs", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.ProjectInfo> queryProjectByUser(@ApiParam @Validated @RequestBody MultipartFile params) throws Exception{
log.info("导入Wbs:{}",params);
List<ProjectVo.ProjectInfo> projectInfoList = tallService.importWbs(params);
log.info("导入Wbs");
return JsonResponse.newInstance().ok(projectInfoList);
}
}

4
tall_sdk/src/main/java/com/ccsens/tall_sdk/api/RoleController.java

@ -33,9 +33,9 @@ public class RoleController {
@MustLogin
@ApiOperation(value = "根据项目id查找角色", notes = "")
@RequestMapping(value = "/show", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<RoleVo.QueryRole> queryByProjectId(@ApiParam @Validated @RequestBody QueryDto<RoleDto.QueryRoleById> params) {
public JsonResponse<RoleVo.QueryRole> queryByProjectId(@ApiParam @Validated @RequestBody RoleDto.QueryRoleById params) {
log.info("根据项目id查找角色{}",params);
RoleVo.QueryRole queryRole = tallService.queryShowRole(params.getParam(), params.getUserId());
RoleVo.QueryRole queryRole = tallService.queryShowRole(params);
log.info("项目id查找角色列表{}",queryRole);
return JsonResponse.newInstance().ok(queryRole);
}

12
tall_sdk/src/main/java/com/ccsens/tall_sdk/api/TaskController.java

@ -34,24 +34,24 @@ public class TaskController {
@MustLogin
@ApiOperation(value = "查找永久日常任务", notes = "")
@RequestMapping(value = "/permanent", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<TaskVo.QueryTask>> queryPermanentGlobalTask(@ApiParam @Validated @RequestBody QueryDto<TaskDto.QueryPermanentGlobalTask> params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryPermanentGlobalTask(params.getParam(), params.getUserId());
public JsonResponse<List<TaskVo.QueryTask>> queryPermanentGlobalTask(@ApiParam @Validated @RequestBody TaskDto.QueryPermanentGlobalTask params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryPermanentGlobalTask(params);
return JsonResponse.newInstance().ok(queryTasks);
}
@MustLogin
@ApiOperation(value = "查找带时间的日常任务", notes = "")
@RequestMapping(value = "/global", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<TaskVo.QueryTask>> queryGlobalTask(@ApiParam @Validated @RequestBody QueryDto<TaskDto.QueryGlobalTask> params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryGlobalTask(params.getParam(), params.getUserId());
public JsonResponse<List<TaskVo.QueryTask>> queryGlobalTask(@ApiParam @Validated @RequestBody TaskDto.QueryGlobalTask params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryGlobalTask(params);
return JsonResponse.newInstance().ok(queryTasks);
}
@MustLogin
@ApiOperation(value = "查找定期任务", notes = "")
@RequestMapping(value = "/regular", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<TaskVo.QueryTask>> queryRegularTask(@ApiParam @Validated @RequestBody QueryDto<TaskDto.QueryRegularTask> params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryRegularTask(params.getParam(), params.getUserId());
public JsonResponse<List<TaskVo.QueryTask>> queryRegularTask(@ApiParam @Validated @RequestBody TaskDto.QueryRegularTask params) {
List<TaskVo.QueryTask> queryTasks = tallService.queryRegularTask(params);
return JsonResponse.newInstance().ok(queryTasks);
}
}

24
tall_sdk/src/main/java/com/ccsens/tall_sdk/service/ITallService.java

@ -6,6 +6,7 @@ import com.ccsens.tall_sdk.bean.dto.TaskDto;
import com.ccsens.tall_sdk.bean.vo.ProjectVo;
import com.ccsens.tall_sdk.bean.vo.RoleVo;
import com.ccsens.tall_sdk.bean.vo.TaskVo;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -15,42 +16,43 @@ import java.util.List;
public interface ITallService {
/**
* 查询用户可见的项目
* @param phone 用户手机号
* @param param 开始结束时间
* @param userId userId
* @return 返回项目列表
*/
List<ProjectVo.ProjectInfo> queryProjectByUser(String phone, ProjectDto.QueryProjectDto param, Long userId);
List<ProjectVo.ProjectInfo> queryProjectByUser(ProjectDto.QueryProjectDto param);
/**
* 查询项目下的角色列表
* @param param 项目id
* @param userId userId
* @return 返回角色列表
*/
RoleVo.QueryRole queryShowRole(RoleDto.QueryRoleById param, Long userId);
RoleVo.QueryRole queryShowRole(RoleDto.QueryRoleById param);
/**
* 查询没有时间的日常任务
* @param param 角色id等
* @param userId userId
* @return 返回任务列表
*/
List<TaskVo.QueryTask> queryPermanentGlobalTask(TaskDto.QueryPermanentGlobalTask param, Long userId);
List<TaskVo.QueryTask> queryPermanentGlobalTask(TaskDto.QueryPermanentGlobalTask param);
/**
* 查询有时间的日常任务
* @param param 角色id和时间
* @param userId userId
* @return 返回任务列表
*/
List<TaskVo.QueryTask> queryGlobalTask(TaskDto.QueryGlobalTask param, Long userId);
List<TaskVo.QueryTask> queryGlobalTask(TaskDto.QueryGlobalTask param);
/**
* 查询定期任务
* @param param 角色id和时间
* @param userId userId
* @return 返回任务列表
*/
List<TaskVo.QueryTask> queryRegularTask(TaskDto.QueryRegularTask param, Long userId);
List<TaskVo.QueryTask> queryRegularTask(TaskDto.QueryRegularTask param);
/**
* 导入wbs
* @param params wbs文件
* @return 返回项目信息
*/
List<ProjectVo.ProjectInfo> importWbs(MultipartFile params);
}

56
tall_sdk/src/main/java/com/ccsens/tall_sdk/util/TokenUtil.java

@ -0,0 +1,56 @@
package com.ccsens.tall_sdk.util;
import com.ccsens.util.PropUtil;
import com.ccsens.util.RedisUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
* @author
*/
@Component
public class TokenUtil {
public static final String REDIS_IS_OPEN = "1";
public static String openRedis;
@Value("${spring.application.sdk-cache-redis:}")
public void setApplication(String redis) {
openRedis = redis;
}
@Resource
private RedisUtil redisUtil;
private static TokenUtil util;
@PostConstruct
public void init(){
util = this;
util.redisUtil = this.redisUtil;
}
/**
* 获取accessToken
* @param appId appId
* @param secret secret
* @return 返回accessToken
*/
public static String getAccessToken(String appId,String secret){
//查看业务是否开启redis缓存
if(REDIS_IS_OPEN.equals(openRedis)){
util.redisUtil.get(appId);
}
//redis开启则通过appId去redis内查询
//否则查找Map内是否存在
//如果map内存在,则判断数据的时间是否到期
//如果redis内未查到,或map内未查到,或map内时间到期,则调用tall的接口获取accessToken
//在redis内缓存,或存在map内
return null;
}
}
Loading…
Cancel
Save