diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java index 50aa099..cc2a7f3 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java @@ -35,8 +35,13 @@ public class WorkController { @Autowired private IWorkService workService; @GetMapping - public ResponseResult getAll() { - return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getAll()); + public ResponseResult getAll(String content) { + if (content != null) { + List workList = workService.getWorkByContent(content); + return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success",workList); + } else { + return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", workService.getAll()); + } } @GetMapping("/todo") diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/UserWork.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/UserWork.java index 540a9f8..1e3ba26 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/UserWork.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/UserWork.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.annotation.Version; import java.io.Serial; import java.io.Serializable; +import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -54,6 +56,10 @@ public class UserWork implements Serializable { @TableField("status") private Integer status; + @TableField("complete_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") + private LocalDateTime completeTime; + @TableField("deleted") @TableLogic private Integer deleted; diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/WorkMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/WorkMapper.java index 504637b..8da46d5 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/WorkMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/WorkMapper.java @@ -24,4 +24,6 @@ public interface WorkMapper extends BaseMapper { Work getWork(Long workId); + List getWorkByContent(String content); + } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java index baedef5..bd3efa4 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java @@ -19,6 +19,8 @@ public interface IWorkService extends IService { List getTodo(Long userId); List getComplete(Long userId); Work getOne(Long workId); + + List getWorkByContent(String content); double getProgress(Long workId); String getUserName(Long userId); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/WorkServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/WorkServiceImpl.java index 5031e34..9175679 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/WorkServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/WorkServiceImpl.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.DecimalFormat; +import java.time.LocalDateTime; import java.util.List; /** @@ -71,6 +72,17 @@ public class WorkServiceImpl extends ServiceImpl implements IW return work; } + @Override + public List getWorkByContent(String content) { + List workList = workMapper.getWorkByContent(content); + for (Work work: + workList) { + work.setProgress(getProgress(work.getId())); + work.setPublisherName(getUserName(work.getPublisherId())); + } + return workList; + } + @Override public double getProgress(Long workId) { double workNum = userWorkMapper.selectCount(new QueryWrapper().eq("work_id",workId)); diff --git a/Pinnacle/src/main/resources/mapper/WorkMapper.xml b/Pinnacle/src/main/resources/mapper/WorkMapper.xml index 02aedb0..38e5e89 100644 --- a/Pinnacle/src/main/resources/mapper/WorkMapper.xml +++ b/Pinnacle/src/main/resources/mapper/WorkMapper.xml @@ -9,6 +9,7 @@ + @@ -23,7 +24,8 @@ deadline, tuw.user_id worker_id, u.username worker_name, - tuw.status status + tuw.status status, + tuw.complete_time complete_time from t_work w, t_user u, t_user_work tuw @@ -41,7 +43,8 @@ deadline, tuw.user_id worker_id, u.username worker_name, - tuw.status status + tuw.status status, + tuw.complete_time completeTime from t_work w, t_user u, t_user_work tuw @@ -51,6 +54,25 @@ and w.deleted = 0 and tuw.deleted = 0; + - - delete - from t_task - where id = #{id}; - - - delete - from t_task - - - #{id} - - - - - update t_task - - - publisher_id = #{publisher_id} - - - task_status=#{taskStatus} - - - where id = #{id}; - - diff --git a/ui/src/assets/css/work/work.css b/ui/src/assets/css/work/work.css index be91bc7..3630a98 100644 --- a/ui/src/assets/css/work/work.css +++ b/ui/src/assets/css/work/work.css @@ -1,6 +1,9 @@ :root { --main-color: #00d4ff; } +.head { + display: flex; +} .main { display: flex; min-width: 600px; @@ -11,6 +14,7 @@ display: flex; height: 100%; width: 100%; + margin-top: 10px; } .main-add-content { position: fixed; diff --git a/ui/src/components/DetailComponents.vue b/ui/src/components/work/DetailComponents.vue similarity index 100% rename from ui/src/components/DetailComponents.vue rename to ui/src/components/work/DetailComponents.vue diff --git a/ui/src/components/EditWork.vue b/ui/src/components/work/EditWork.vue similarity index 98% rename from ui/src/components/EditWork.vue rename to ui/src/components/work/EditWork.vue index 4f4196f..5c5e9b5 100644 --- a/ui/src/components/EditWork.vue +++ b/ui/src/components/work/EditWork.vue @@ -11,7 +11,7 @@ > @@ -65,7 +65,7 @@ export default { }, workers: [ { - userId: '', + id: '', username: '' } ], diff --git a/ui/src/pages/work/Complete.vue b/ui/src/pages/work/Complete.vue index 8b57d4e..9a842e3 100644 --- a/ui/src/pages/work/Complete.vue +++ b/ui/src/pages/work/Complete.vue @@ -9,6 +9,18 @@ > + + + + + +