Browse Source

Merge branch 'tall3' of dd.tall.wiki:ccsens_wiki/ccsenscloud into tall3

tall3
hyy-alt 4 years ago
parent
commit
2326d58579
  1. 4
      common/src/main/java/com/ccsens/common/bean/vo/TaskVo.java
  2. 99
      common/src/main/java/com/ccsens/common/service/TaskService.java
  3. 2
      common/src/main/java/com/ccsens/common/util/CommonCodeError.java
  4. 6
      common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

4
common/src/main/java/com/ccsens/common/bean/vo/TaskVo.java

@ -65,9 +65,9 @@ public class TaskVo {
@ApiModel("任务下的插件信息")
public static class TaskPluginInfo{
@ApiModelProperty("插件id")
private int pluginId;
private Long pluginId;
@ApiModelProperty("参数")
private int param;
private String param;
@ApiModelProperty("行")
private int row;
@ApiModelProperty("列")

99
common/src/main/java/com/ccsens/common/service/TaskService.java

@ -55,7 +55,7 @@ public class TaskService implements ITaskService{
byte visitor = 0;
Long projectId = roleDao.findRoleOfProjectId(roleId);
if (ObjectUtil.isNull(projectId)){
throw new BaseException("角色信息错误!");
throw new BaseException(CommonCodeError.ROLE_ERROR);
}
Long memberId = memberDao.findUserOfMemberId(projectId,userId);
//不是项目成员则为游客
@ -89,42 +89,90 @@ public class TaskService implements ITaskService{
*/
public void queryPluginForTask(List<TaskVo.QueryTask> taskList){
if (CollectionUtil.isNotEmpty(taskList)){
List<List<TaskVo.TaskPluginInfo>> plugins = new ArrayList<>();
for (TaskVo.QueryTask queryTask : taskList) {
List<List<TaskVo.TaskPluginInfo>> plugins = new ArrayList<>();
//如果任务面板信息不为空,则根据任务面板的行/列创建二维数组
if (ObjectUtil.isNotNull(queryTask.getPanel())){
int panelRow = queryTask.getPanel().getRow();
int panelCol = queryTask.getPanel().getCol();
//创建任务面板的二维数组
for (int i = 0; i < panelRow; i++) {
List<TaskVo.TaskPluginInfo> pluginInfoList = new ArrayList<>();
for (int j = 0; j < panelCol; j++) {
pluginInfoList.add(null);
}
plugins.add(pluginInfoList);
}
//将插件放入二维数组对应的位置中
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
for (TaskVo.TaskPluginInfo taskPlugin : taskPluginInfoList) {
int pluginCol = taskPlugin.getCol();
int pluginRow = taskPlugin.getRow();
plugins.get(pluginRow - 1).set(pluginCol-1,taskPlugin);
if (0 != panelRow && 0 != panelCol){
//创建任务面板的二维数组
createSecondPanel(plugins,panelRow,panelCol);
//将插件放入二维数组对应的位置中
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
putDateInList(taskPluginInfoList,plugins,queryTask);
}else{
//根据插件最大的行和列创建二维数组
createPanelByPlugin(queryTask.getDetailId(),plugins,queryTask);
}
}else {
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
plugins.add(taskPluginInfoList);
//根据插件最大的行和列创建二维数组
createPanelByPlugin(queryTask.getDetailId(),plugins,queryTask);
}
queryTask.setPlugins(plugins);
}
}
}
/**
* 根据插件的最大行列创建面板
* @param taskDetailId 任务详情id
* @param plugins 插件列表
* @param queryTask 任务
*/
public void createPanelByPlugin(Long taskDetailId,List<List<TaskVo.TaskPluginInfo>> plugins,TaskVo.QueryTask queryTask){
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(taskDetailId);
if (CollectionUtil.isNotEmpty(taskPluginInfoList)){
List<Integer> col = taskPluginInfoList.stream().map(TaskVo.TaskPluginInfo::getCol).collect(Collectors.toList());
List<Integer> row = taskPluginInfoList.stream().map(TaskVo.TaskPluginInfo::getRow).collect(Collectors.toList());
Integer newCol = Collections.max(col);
Integer newRow = Collections.max(row);
//创建任务面板的二维数组
createSecondPanel(plugins,newRow,newCol);
//将插件放入二维数组对应的位置中
putDateInList(taskPluginInfoList,plugins,queryTask);
}
}
/**
* 创建面板
* @param plugins 插件列表
* @param row
* @param col
*/
public void createSecondPanel(List<List<TaskVo.TaskPluginInfo>> plugins,int row,int col){
for (int i = 0; i < row; i++) {
List<TaskVo.TaskPluginInfo> pluginInfoList = new ArrayList<>();
for (int j = 0; j < col; j++) {
pluginInfoList.add(null);
}
plugins.add(pluginInfoList);
}
}
/**
* 向空面板里插入插件详情
* @param taskPluginInfoList 插件详情列表
* @param plugins 插件列表
* @param queryTask 任务
*/
public void putDateInList(List<TaskVo.TaskPluginInfo> taskPluginInfoList,List<List<TaskVo.TaskPluginInfo>> plugins,TaskVo.QueryTask queryTask){
for (TaskVo.TaskPluginInfo taskPlugin : taskPluginInfoList) {
int pluginCol = taskPlugin.getCol();
int pluginRow = taskPlugin.getRow();
if (0 == pluginCol || 0 == pluginRow) {
continue;
}
plugins.get(pluginRow - 1).set(pluginCol - 1, taskPlugin);
}
queryTask.setPlugins(plugins);
}
@Override
public List<TaskVo.QueryTask> queryPermanentGlobalTask(TaskDto.QueryPermanentGlobalTask param, Long userId) {
//查找角色权限
//查找当前角色是否有查看权限
Boolean isLook = queryRoleIsLook(param.getRoleId(),userId);
if (BooleanUtil.isFalse(isLook)){
throw new BaseException("没有查看权限!");
throw new BaseException(CommonCodeError.NOT_PERMISSION);
}
List<TaskVo.QueryTask> permanentGlobalTask = taskDetailDao.queryPermanentGlobalTask(param.getRoleId());
//查找项目面板和插件信息
@ -135,10 +183,10 @@ public class TaskService implements ITaskService{
@Override
public List<TaskVo.QueryTask> queryGlobalTask(TaskDto.QueryGlobalTask param, Long userId) {
//查找角色权限
//查找当前角色是否有查看权限
Boolean isLook = queryRoleIsLook(param.getRoleId(),userId);
if (BooleanUtil.isFalse(isLook)){
throw new BaseException("没有查看权限!");
throw new BaseException(CommonCodeError.NOT_PERMISSION);
}
List<TaskVo.QueryTask> globalTask = taskDetailDao.queryGlobalTask(param.getRoleId(),param.getTimeNode(),param.getTimeUnit());
queryPluginForTask(globalTask);
@ -157,10 +205,10 @@ public class TaskService implements ITaskService{
}else{
query +="interval "+(param.getQueryNum()-1)+" "+unit;
}
//查找角色权限
//查找当前角色是否有查看权限
Boolean isLook = queryRoleIsLook(param.getRoleId(),userId);
if (BooleanUtil.isFalse(isLook)){
throw new BaseException("没有查看权限!");
throw new BaseException(CommonCodeError.NOT_PERMISSION);
}
//TODO 季度未实现
List<TaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(param.getRoleId(),param.getTimeUnit(),param.getTimeNode(),param.getQueryType(),query,timeFormat);
@ -186,6 +234,7 @@ public class TaskService implements ITaskService{
queryPluginForTask(replenishTask);
return replenishTask;
}
queryPluginForTask(regularTask);
return regularTask;
}

2
common/src/main/java/com/ccsens/common/util/CommonCodeError.java

@ -9,5 +9,7 @@ public class CommonCodeError extends CodeError {
public static final Code TASK_VITAL_LABEL_ERROR = new Code(1,"任务标签异常", true);
public static final Code NOT_TASK = new Code(2,"未找到对应任务", true);
public static final Code NOT_PERMISSION = new Code(3,"没有权限!", true);
public static final Code ROLE_ERROR = new Code(4,"角色信息错误!", true);
}

6
common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

@ -66,7 +66,7 @@
AND rt.role_id = #{roleId}
</select>
<select id="queryGlobalTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="queryGlobalTask" resultMap="queryTask">
SELECT
alltask.*
FROM
@ -130,7 +130,7 @@
AND ll.`level` >= #{timeUnit}
</select>
<select id="queryRegularTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="queryRegularTask" resultMap="queryTask">
SELECT
alltask.*
FROM
@ -206,7 +206,7 @@
AND ll.`level` >= #{timeUnit}
</select>
<select id="continueQueryTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="continueQueryTask" resultMap="queryTask">
SELECT
alltask.*
FROM

Loading…
Cancel
Save