From 85bfb06f479206d48721ee2c67c31cad8251b018 Mon Sep 17 00:00:00 2001 From: maochaoying <925670706@qq.com> Date: Thu, 29 Jun 2023 17:53:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iflytop/nuclear/controller/TaskController.java | 59 ++++++++++++++++++++++ src/main/java/com/iflytop/nuclear/model/Task.java | 14 +++-- .../com/iflytop/nuclear/service/TaskService.java | 5 ++ .../nuclear/service/impl/TaskServiceImpl.java | 35 +++++++++++++ src/main/java/com/iflytop/nuclear/vo/TaskVO.java | 39 ++++++++++++++ 5 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/iflytop/nuclear/controller/TaskController.java create mode 100644 src/main/java/com/iflytop/nuclear/vo/TaskVO.java diff --git a/src/main/java/com/iflytop/nuclear/controller/TaskController.java b/src/main/java/com/iflytop/nuclear/controller/TaskController.java new file mode 100644 index 0000000..0cd11e8 --- /dev/null +++ b/src/main/java/com/iflytop/nuclear/controller/TaskController.java @@ -0,0 +1,59 @@ +package com.iflytop.nuclear.controller; + +import com.alibaba.fastjson2.JSONObject; +import com.iflytop.nuclear.model.Task; +import com.iflytop.nuclear.service.TaskService; +import com.iflytop.nuclear.utils.JwtTokenUtils; +import com.iflytop.nuclear.utils.ResponseData; +import com.iflytop.nuclear.vo.TaskVO; +import io.jsonwebtoken.Claims; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * @author cool + * @date 2023/6/29 15:21 + */ +@Slf4j +@RestController +@CrossOrigin +@RequestMapping("/task") +@PreAuthorize("hasRole('ADMIN')") +public class TaskController { + + @Autowired + TaskService taskService; + @Autowired + HttpServletRequest request; + + @PostMapping("/create") + public ResponseData createTask(@RequestBody Task taskInfo) { + taskInfo.setPublishTime(new Date()); + taskInfo.setStatus(0); + boolean save = taskService.save(taskInfo); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("result", save); + return ResponseData.success(jsonObject); + } + + @GetMapping("list") + public ResponseData getTaskListByUserId() { + String token = request.getHeader("Authorization"); + if (token.length() > 0){ + String[] s = token.split(" "); + String username = JwtTokenUtils.getUsername(s[1]); + String user_role = JwtTokenUtils.getUserRole(s[1]); + List taskList = taskService.getTaskInfoByUsername(username, user_role); + JSONObject jo = new JSONObject(); + jo.put("list", taskList); + return ResponseData.success(taskList); + } + return ResponseData.fail("用户登陆信息错误"); + } +} diff --git a/src/main/java/com/iflytop/nuclear/model/Task.java b/src/main/java/com/iflytop/nuclear/model/Task.java index 8dd7e3f..610a2b6 100644 --- a/src/main/java/com/iflytop/nuclear/model/Task.java +++ b/src/main/java/com/iflytop/nuclear/model/Task.java @@ -22,9 +22,9 @@ import java.util.Date; public class Task { @TableId - private Long id; + private int id; @TableField("operator_id") - private Long operatorId; + private String operatorId; @TableField("excel_position") private String excelPosition; @@ -41,8 +41,14 @@ public class Task { private Date publishTime; @TableField("task_name") - private Date taskName; + private String taskName; @TableField("check_order") - private Date checkOrder; + private int checkOrder; + + @TableField("start_time") + private Date startTime; + + @TableField("end_time") + private Date endTime; } diff --git a/src/main/java/com/iflytop/nuclear/service/TaskService.java b/src/main/java/com/iflytop/nuclear/service/TaskService.java index 08925d5..23a8c68 100644 --- a/src/main/java/com/iflytop/nuclear/service/TaskService.java +++ b/src/main/java/com/iflytop/nuclear/service/TaskService.java @@ -2,12 +2,17 @@ package com.iflytop.nuclear.service; import com.baomidou.mybatisplus.extension.service.IService; import com.iflytop.nuclear.model.Task; +import com.iflytop.nuclear.vo.TaskVO; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * @author cool * @date 2023/6/28 13:59 */ @Transactional public interface TaskService extends IService { + List getTaskInfoByUsername(String username, String user_role); + } diff --git a/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java b/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java index 6eab8b3..7e5856e 100644 --- a/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java @@ -1,15 +1,50 @@ package com.iflytop.nuclear.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.iflytop.nuclear.mapper.TaskMapper; +import com.iflytop.nuclear.model.Account; import com.iflytop.nuclear.model.Task; import com.iflytop.nuclear.service.TaskService; +import com.iflytop.nuclear.vo.TaskVO; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * @author cool * @date 2023/6/28 14:04 */ @Service public class TaskServiceImpl extends ServiceImpl implements TaskService { + + @Override + public List getTaskInfoByUsername(String username, String user_role) { + List list = null; + if (user_role == "ROLE_USER"){ + QueryWrapper taskQueryWrapper = new QueryWrapper<>(); + taskQueryWrapper.eq("operator_id", username); + list = this.list(taskQueryWrapper); + }else { + list = this.list(); + } + List result= new ArrayList<>(); + for (Task task: list) { + TaskVO taskVO = TaskVO.builder() + .taskName(task.getTaskName()) + .checkOrder(task.getCheckOrder()) + .id(task.getId()) + .nuclearCoreName("1") + .nuclearStationName("2") + .publishTime(task.getPublishTime()) + .operatorName(task.getOperatorId()) + .startTime(task.getStartTime()) + .endTime(task.getEndTime()) + .build(); + result.add(taskVO); + } + return result; + } } diff --git a/src/main/java/com/iflytop/nuclear/vo/TaskVO.java b/src/main/java/com/iflytop/nuclear/vo/TaskVO.java new file mode 100644 index 0000000..2fbf056 --- /dev/null +++ b/src/main/java/com/iflytop/nuclear/vo/TaskVO.java @@ -0,0 +1,39 @@ +package com.iflytop.nuclear.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author cool + * @date 2023/6/29 17:23 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaskVO { + private int id; + private String operatorName; + + private String nuclearCoreName; + + private String nuclearStationName; + + private int status; + + private Date publishTime; + + private String taskName; + + private int checkOrder; + + private Date startTime; + + private Date endTime; +}