Commit d2c40b5c by chenweisong

添加了一些基础类

parent 30017157
package com.keymobile.rest.ctrl; package com.keymobile.rest.ctrl;
import com.google.common.collect.ImmutableMap;
import com.keymobile.rest.model.Task;
import com.keymobile.rest.service.TaskService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RequestMapping("/") @RequestMapping("/")
@RestController @RestController
public class IndexCtrl { public class IndexCtrl {
private int pageSize = 10;
private String orderBy = "descending"; //
private String propBy = "id"; // groupBy
@Autowired
private TaskService taskService;
@ApiOperation(value = "获取首页收数列表")
@PostMapping(value = "/task/list")
public Map getTaskList(@RequestParam(required = false) String name, @RequestParam(required = false) Integer pageNo) {
if (pageNo == null) {
pageNo = 1;
}
Page<Task> taskList;
if (name != null) {
taskList = taskService.findAllByName(name, pageNo, pageSize, orderBy, propBy);
} else {
taskList = taskService.findAll(pageNo, pageSize, orderBy, propBy);
}
return ImmutableMap.of("code", 200, "data", taskList.getContent());
}
@ApiOperation(value = "查看收数")
@PostMapping(value = "/task/get")
public Map get(int id) {
Task task = taskService.get(id);
return ImmutableMap.of("code", 200, "data", task);
}
@ApiOperation(value = "新建收数")
@PostMapping(value = "/task/create")
public Map createTask() {
return ImmutableMap.of("code", 200);
}
@ApiOperation(value = "手动发起收数")
@PostMapping(value = "/task/start")
public Map startTask(@RequestParam int id) {
return ImmutableMap.of("code", 200);
}
@ApiOperation(value = "审核收数")
@PostMapping(value = "/task/adjust")
public Map adjustTask(@RequestParam int id) {
return ImmutableMap.of("code", 200);
}
} }
package com.keymobile.rest.dao;
import com.keymobile.rest.model.Excel;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface ExcelDao extends JpaRepository<Excel, Long> {
}
package com.keymobile.rest.dao;
import com.keymobile.rest.model.RecordData;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ExcelDataDao extends JpaRepository<RecordData, Long> {
}
package com.keymobile.rest.dao;
import com.keymobile.rest.model.Task;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface TaskDao extends JpaRepository<Task, Long> {
Page<Task> findAll(Pageable pageable);
Page<Task> findAllByNameLike(String valueOf, Pageable pageable);
}
package com.keymobile.rest.dao;
import com.keymobile.rest.service.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface UserDao extends JpaRepository<User, Long> {
List<User> findAllByRole(int role);
}
package com.keymobile.rest.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
/**
* spreadJs 配置的报表
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
public class Excel implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JsonIgnore
private Task task;
}
package com.keymobile.rest.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
/**
* spreadJs 填写的数据
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
public class RecordData implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
private RecordInfo recordInfo;
}
package com.keymobile.rest.model;
import com.keymobile.rest.service.User;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.List;
/**
* spreadJs 补录人员信息
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
public class RecordInfo implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany
List<RecordData> recordDataList;
@OneToOne
private User user;
}
package com.keymobile.rest.model; package com.keymobile.rest.model;
import com.keymobile.rest.service.User;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @name 流程、任务 * @name 流程、任务
* @desc 包含属于哪个activiti流程、相关人员、附件信息id * @desc 包含属于哪个activiti流程、相关人员、附件信息id
*/ */
@NoArgsConstructor // 自动生成无参数构造函数。 @NoArgsConstructor // 自动生成无参数构造函数。
@AllArgsConstructor // 自动生成全参数构造函数。 @AllArgsConstructor // 自动生成全参数构造函数。
...@@ -22,7 +21,23 @@ public class Task implements Serializable { ...@@ -22,7 +21,23 @@ public class Task implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id; private Long id;
@Column(columnDefinition = "varchar(100) COMMENT '活动标题")
private String name;
@Column(columnDefinition = "int(2) COMMENT '发起类型 1 手动 2 自动 '")
private Integer type = 1;
@Column(columnDefinition = "int(2) COMMENT '当前任务状态 1 待发起 2 已发起 '")
private Integer status = 1;
@Column(columnDefinition = "int(2) default 1 COMMENT '是否需要审核 1 不需要 2 需要'")
private Integer adjust = 2;
@OneToMany
private List<Excel> excelList;
@ManyToOne
private User user;
} }
package com.keymobile.rest.service;
import com.keymobile.rest.dao.ExcelDao;
import com.keymobile.rest.dao.ExcelDataDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ExcelService {
@Autowired
private ExcelDao excelDao;
@Autowired
private ExcelDataDao excelDataDao;
}
package com.keymobile.rest.service;
import com.keymobile.rest.dao.TaskDao;
import com.keymobile.rest.model.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TaskService {
@Autowired
private TaskDao taskDao;
public Task get(long id) {
return taskDao.getOne(id);
}
public void save() {
}
public void start(long id) {
}
public Page<Task> findAll(int pageNo, int pageSize, String orderBy, String propBy) {
Pageable pageable = convert(pageNo, pageSize, orderBy, propBy);
return taskDao.findAll(pageable);
}
public Page<Task> findAllByName(String name, int pageNo, int pageSize, String orderBy, String propBy) {
Pageable pageable = convert(pageNo, pageSize, orderBy, propBy);
return taskDao.findAllByNameLike(("%" + name + "%"), pageable);
}
private Pageable convert(int pageNo, int pageSize, String orderBy, String propBy) {
Sort.Direction direction = orderBy.equals("descending") ? Sort.Direction.DESC : Sort.Direction.ASC;
Sort order_;
if (propBy.contains("-")) {
order_ = Sort.by(direction, propBy.split("-"));
} else {
order_ = Sort.by(direction, propBy);
}
Pageable pageable = PageRequest.of(pageNo, pageSize, order_);
return pageable;
}
}
package com.keymobile.rest.service;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, columnDefinition = "varchar(50) COMMENT '名称'")
private String username;
@Column(nullable = false, columnDefinition = "role(2) COMMENT '角色 1 补录人员 2 审核人员 3 发起人员'")
private Integer role;
}
package com.keymobile.rest.service;
import com.keymobile.rest.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserDao userDao;
public List<User> findAllByRole(int role) {
return userDao.findAllByRole(role);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment