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 ea7733c..7f346e2 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/WorkController.java @@ -52,18 +52,23 @@ public class WorkController { @PostMapping public ResponseResult addWork(@RequestBody Work work) { - System.out.println(work); return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK, "success", workService.addWork(work)); } @DeleteMapping("/{id}") - public ResponseResult deleteById(@PathVariable long id) { + public ResponseResult deleteById(@PathVariable Long id) { System.out.println(id); return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK, "success", workService.deleteByWorkId(id)); } - @PutMapping("/setComplete") - public ResponseResult updateWork(@RequestBody UserWork userWork) { - return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK, "success", userWorkService.updateById(userWork)); + @PutMapping("/setStatus") + public ResponseResult updateStatus(@RequestBody UserWork userWork) { + System.out.println(userWork); + return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK, "success", workService.updateStatus(userWork)); + } + + @PutMapping + public ResponseResult updateWork(@RequestBody Work work) { + return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK, "success", workService.updateWork(work)); } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/User.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/User.java index 8df1ea5..64719d3 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/User.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/User.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.annotation.Version; import java.io.Serial; import java.io.Serializable; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.experimental.Accessors; @@ -29,6 +31,7 @@ public class User implements Serializable { private static final long serialVersionUID = 1L; @TableId("id") + @JsonSerialize(using = ToStringSerializer.class) private Long id; /** 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 136d17a..9cffbc0 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IWorkService.java @@ -1,5 +1,6 @@ package com.cfive.pinnacle.service; +import com.cfive.pinnacle.entity.UserWork; import com.cfive.pinnacle.entity.Work; import com.baomidou.mybatisplus.extension.service.IService; @@ -23,4 +24,8 @@ public interface IWorkService extends IService { String getUserName(Long userId); boolean addWork(Work work); boolean deleteByWorkId(Long wid); + + boolean updateStatus(UserWork userWork); + + boolean updateWork(Work work); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/UserWorkServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/UserWorkServiceImpl.java index 52d78a2..63d3fa9 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/UserWorkServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/UserWorkServiceImpl.java @@ -17,5 +17,4 @@ import org.springframework.stereotype.Service; @Service public class UserWorkServiceImpl extends ServiceImpl implements IUserWorkService { - } 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 a7ad604..e9ebdb6 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 @@ -1,6 +1,7 @@ package com.cfive.pinnacle.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.cfive.pinnacle.entity.User; import com.cfive.pinnacle.entity.UserWork; import com.cfive.pinnacle.entity.Work; @@ -43,12 +44,22 @@ public class WorkServiceImpl extends ServiceImpl implements IW @Override public List getTodo(Long userId) { - return workMapper.getTodo(userId); + List workList = workMapper.getTodo(userId); + for (Work work: + workList) { + work.setPublisherName(getUserName(work.getPublisherId())); + } + return workList; } @Override public List getComplete(Long userId) { - return workMapper.getComplete(userId); + List workList = workMapper.getComplete(userId); + for (Work work: + workList) { + work.setPublisherName(getUserName(work.getPublisherId())); + } + return workList; } @Override @@ -67,9 +78,9 @@ public class WorkServiceImpl extends ServiceImpl implements IW @Override public boolean addWork(Work work) { - boolean flag = false; - if (workMapper.insert(work) > 0) { - flag = true; + boolean flag = true; + if (workMapper.insert(work) <= 0) { + flag = false; } long workId = work.getId(); for (User user : @@ -93,5 +104,31 @@ public class WorkServiceImpl extends ServiceImpl implements IW return flag; } + @Override + public boolean updateStatus(UserWork userWork) { + return userWorkMapper.update(userWork, new UpdateWrapper().eq("work_id", userWork.getWorkId()).eq("user_id", userWork.getUserId())) > 0; + } + + @Override + public boolean updateWork(Work work) { + boolean flag = true; + if (userWorkMapper.delete(new QueryWrapper().eq("work_id", work.getId())) <= 0) { + flag = false; + } + if (workMapper.updateById(work)<=0) { + flag = false; + } + for (User user : + work.getWorker()) { + UserWork userWork = new UserWork(); + userWork.setWorkId(work.getId()); + userWork.setUserId(user.getId()); + if (userWorkMapper.insert(userWork) <= 0) { + flag = false; + } + } + return flag; + } + } diff --git a/Pinnacle/src/main/resources/mapper/WorkMapper.xml b/Pinnacle/src/main/resources/mapper/WorkMapper.xml index 1bef4b7..6029b0c 100644 --- a/Pinnacle/src/main/resources/mapper/WorkMapper.xml +++ b/Pinnacle/src/main/resources/mapper/WorkMapper.xml @@ -64,7 +64,7 @@ and status = false and w.deleted = 0 and tuw.deleted = 0 - order by u.id desc; + order by w.id desc; delete diff --git a/ui/index.html b/ui/index.html index 4ef8434..15e01c7 100644 --- a/ui/index.html +++ b/ui/index.html @@ -1,5 +1,5 @@ - + diff --git a/ui/src/assets/css/work/work.css b/ui/src/assets/css/work/work.css index c3b0bbd..f3a9606 100644 --- a/ui/src/assets/css/work/work.css +++ b/ui/src/assets/css/work/work.css @@ -3,8 +3,6 @@ } .main { display: flex; - height: 100vh; - width: 100vw; min-width: 600px; min-height: 600px; text-align: center; @@ -21,7 +19,7 @@ width: 100%; z-index: 999; bottom: 10vh; - justify-content: center; + text-align: center; } .main-add-box { display: flex; diff --git a/ui/src/assets/svg/work.svg b/ui/src/assets/svg/work.svg new file mode 100644 index 0000000..4547545 --- /dev/null +++ b/ui/src/assets/svg/work.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/src/components/Detail.vue b/ui/src/components/Detail.vue index 8c2907a..8853180 100644 --- a/ui/src/components/Detail.vue +++ b/ui/src/components/Detail.vue @@ -3,7 +3,7 @@ title="Vertical list with border" direction="vertical" :column="4" - :size="size" + :size="5" :data="taskData" border > diff --git a/ui/src/components/EditWork.vue b/ui/src/components/EditWork.vue index 9293718..b2254d6 100644 --- a/ui/src/components/EditWork.vue +++ b/ui/src/components/EditWork.vue @@ -22,6 +22,8 @@ @@ -31,18 +33,30 @@ - 创建 + + + 重置 取消 - diff --git a/ui/src/pages/work/Todo.vue b/ui/src/pages/work/Todo.vue index 0c9d563..889eb95 100644 --- a/ui/src/pages/work/Todo.vue +++ b/ui/src/pages/work/Todo.vue @@ -2,22 +2,14 @@
- - + - - - - +