1. 任务相关
This commit is contained in:
parent
b930217312
commit
218dfce34c
|
|
@ -0,0 +1,32 @@
|
|||
package com.chushang.common.core.util;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 树节点,所有需要实现树节点的,都需要继承该类
|
||||
*/
|
||||
@Data
|
||||
public class TreeNode<T> implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 上级ID
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 子节点列表
|
||||
*/
|
||||
private List<T> children = new ArrayList<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package com.chushang.common.core.util;
|
||||
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 树形结构工具类,如:菜单、机构等
|
||||
*/
|
||||
public class TreeUtils {
|
||||
|
||||
/**
|
||||
* 根据pid,构建树节点
|
||||
*/
|
||||
public static <T extends TreeNode<T>> List<T> build(List<T> treeNodes, Long parentId) {
|
||||
// pid不能为空
|
||||
Assert.notNull(parentId, "上级id不能为空");
|
||||
List<T> treeList = new ArrayList<>();
|
||||
for (T treeNode : treeNodes) {
|
||||
if (parentId.equals(treeNode.getParentId())) {
|
||||
treeList.add(findChildren(treeNodes, treeNode));
|
||||
}
|
||||
}
|
||||
return treeList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找子节点
|
||||
*/
|
||||
private static <T extends TreeNode<T>> T findChildren(List<T> treeNodes, T rootNode) {
|
||||
for (T treeNode : treeNodes) {
|
||||
if (rootNode.getId().equals(treeNode.getParentId())) {
|
||||
rootNode.getChildren().add(findChildren(treeNodes, treeNode));
|
||||
}
|
||||
}
|
||||
return rootNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建树节点
|
||||
*/
|
||||
public static <T extends TreeNode<T>> List<T> build(List<T> treeNodes) {
|
||||
List<T> result = new ArrayList<>();
|
||||
// list转map
|
||||
Map<Long, T> nodeMap = new LinkedHashMap<>(treeNodes.size());
|
||||
for (T treeNode : treeNodes) {
|
||||
nodeMap.put(treeNode.getId(), treeNode);
|
||||
}
|
||||
for (T node : nodeMap.values()) {
|
||||
T parent = nodeMap.get(node.getParentId());
|
||||
if (parent != null && !(node.getId().equals(parent.getId()))) {
|
||||
parent.getChildren().add(node);
|
||||
continue;
|
||||
}
|
||||
result.add(node);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.chushang.inspection.project.entity.dto;
|
||||
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 查询 任务
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/18 16:04
|
||||
*/
|
||||
@Data
|
||||
public class TaskQuery {
|
||||
|
||||
/** 任务名称或联系人 */
|
||||
@Size(max = 32, message = "任务名称或联系人长度不能超过32位")
|
||||
@Condition(name = "`name`,contact", type = Condition.ConditionType.or_eq)
|
||||
private String blurry;
|
||||
|
||||
/** 创建时间 */
|
||||
@Condition(name = "create_time", type = Condition.ConditionType.in)
|
||||
private List<LocalDateTime> createTime;
|
||||
|
||||
/** 上级任务id */
|
||||
@Condition(name = "parent_id", type = Condition.ConditionType.eq)
|
||||
private Long pid;
|
||||
|
||||
/** 是否查询未开启的状态1 不是 0是 */
|
||||
@Range(max = 1, message = "状态输入错误")
|
||||
@Condition(name = "enabled", type = Condition.ConditionType.eq)
|
||||
private Integer enabled;
|
||||
}
|
||||
|
|
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
|
@ -33,8 +35,8 @@ public class PollingTask extends BaseEntity {
|
|||
/**
|
||||
* 上级id
|
||||
*/
|
||||
@TableField(value = "pid")
|
||||
private Long pid;
|
||||
@TableField(value = "parent_id")
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
|
|
@ -64,25 +66,25 @@ public class PollingTask extends BaseEntity {
|
|||
* 是否有电子巡检单
|
||||
*/
|
||||
@TableField(value = "is_inspection")
|
||||
private Byte isInspection;
|
||||
private Integer isInspection;
|
||||
|
||||
/**
|
||||
* 巡检方式 (0 业务员领取 1 只能派给负责项目的业务员 2 只能派给商户对应的客户经理 )
|
||||
*/
|
||||
@TableField(value = "dispatch_method")
|
||||
private Byte dispatchMethod;
|
||||
private Integer dispatchMethod;
|
||||
|
||||
/**
|
||||
* 巡检方式
|
||||
*/
|
||||
@TableField(value = "review_method")
|
||||
private Byte reviewMethod;
|
||||
private Integer reviewMethod;
|
||||
|
||||
/**
|
||||
* 是否重复派单(领取)
|
||||
*/
|
||||
@TableField(value = "is_repeat")
|
||||
private Byte isRepeat;
|
||||
private Integer isRepeat;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
|
|
@ -94,13 +96,13 @@ public class PollingTask extends BaseEntity {
|
|||
* 开始时间
|
||||
*/
|
||||
@TableField(value = "start_time")
|
||||
private Date startTime;
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField(value = "end_time")
|
||||
private Date endTime;
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
|
|
@ -124,5 +126,5 @@ public class PollingTask extends BaseEntity {
|
|||
* 索引下标
|
||||
*/
|
||||
@TableField(value = "search_index")
|
||||
private Byte searchIndex;
|
||||
private Integer searchIndex;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.chushang.common.mybatis.annotation.Condition;
|
|||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.chushang.common.mybatis.annotation.Condition;
|
|||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.*;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
package com.chushang.inspection.project.entity.vo;
|
||||
|
||||
import com.chushang.common.core.util.TreeNode;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/18 15:58
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class TaskVO extends TreeNode<Long> {
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 任务联系人
|
||||
*/
|
||||
private String contact;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 索引
|
||||
*/
|
||||
private String searchNum;
|
||||
|
||||
/**
|
||||
* 项目开始时间
|
||||
*/
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 项目结束时间
|
||||
*/
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer enabled;
|
||||
|
||||
/**
|
||||
* 负责的部门 -- 负责的部门id 集合
|
||||
*/
|
||||
private List<Long> deptIds;
|
||||
|
||||
/**
|
||||
* 是否有电子巡检单(默认0 没有)
|
||||
*/
|
||||
private Integer isInspection;
|
||||
|
||||
/**
|
||||
* 派单方式
|
||||
*/
|
||||
private Integer dispatchMethod;
|
||||
|
||||
/**
|
||||
* 审核方式
|
||||
*/
|
||||
private Integer reviewMethod;
|
||||
|
||||
/**
|
||||
* 是否重复派单
|
||||
*/
|
||||
private Integer isRepeat;
|
||||
|
||||
/**
|
||||
* 银行编号
|
||||
*/
|
||||
private String number;
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +1,16 @@
|
|||
package com.chushang.inspection.project.controller;
|
||||
|
||||
import com.chushang.common.core.web.AjaxResult;
|
||||
import com.chushang.inspection.project.entity.dto.TaskQuery;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import com.chushang.security.utils.SecurityUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/18 15:41
|
||||
|
|
@ -13,6 +20,20 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
@RequestMapping(value = "/task")
|
||||
public class PollTaskController {
|
||||
|
||||
@Resource
|
||||
PollingTaskService pollingTaskService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询顶级任务列表
|
||||
*/
|
||||
@GetMapping("/list/top")
|
||||
// @RequiresPermissions("store:task:top")
|
||||
public AjaxResult findTopList(TaskQuery taskQuery) {
|
||||
// Long userId = SecurityUtils.getUserId();
|
||||
Long userId = 1L;
|
||||
return AjaxResult.success(pollingTaskService.findTopList(taskQuery, userId));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.chushang.inspection.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chushang.inspection.project.entity.dto.TaskQuery;
|
||||
import com.chushang.inspection.project.entity.po.PollingTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/18 15:39
|
||||
|
|
@ -10,4 +13,5 @@ import com.chushang.inspection.project.entity.po.PollingTask;
|
|||
public interface PollingTaskService extends IService<PollingTask>{
|
||||
|
||||
|
||||
List<PollingTask> findTopList(TaskQuery taskQuery, Long userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,32 @@
|
|||
package com.chushang.inspection.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.chushang.common.core.util.TreeUtils;
|
||||
import com.chushang.common.mybatis.page.CommonParam;
|
||||
import com.chushang.common.mybatis.utils.WrapperUtils;
|
||||
import com.chushang.inspection.project.entity.dto.TaskQuery;
|
||||
import com.chushang.inspection.project.service.PollingTaskService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.chushang.inspection.project.mapper.PollingTaskMapper;
|
||||
import com.chushang.inspection.project.entity.po.PollingTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @auther: zhao
|
||||
* @date: 2024/6/18 15:39
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, PollingTask> implements PollingTaskService {
|
||||
|
||||
@Override
|
||||
public List<PollingTask> findTopList(TaskQuery taskQuery, Long userId)
|
||||
{
|
||||
LambdaQueryWrapper<PollingTask> taskSql = WrapperUtils.builder(taskQuery, CommonParam.buildPageRequest());
|
||||
list(taskSql);
|
||||
return List.of();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,12 @@
|
|||
package com.chushang.system.entity.po;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.chushang.common.mybatis.annotation.Condition;
|
||||
import com.chushang.common.mybatis.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
package com.chushang.system.entity.po;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
|
@ -12,11 +8,8 @@ import com.chushang.common.mybatis.base.BaseEntity;
|
|||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import com.chushang.common.mybatis.base.BaseEntity;
|
|||
import com.chushang.system.entity.enums.LoginStatusEnum;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue