Browse Source

fix: 部分VO PO字段不一致修复

370774330@qq.com 5 years ago
parent
commit
e7421393f8

+ 4 - 15
web/src/main/java/seecoder/devcloud/web/aspect/TreeLoggingAspect.java

@@ -9,15 +9,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import seecoder.devcloud.web.aop.TreeLogging;
 import seecoder.devcloud.web.dao.tree.TreeLogMapper;
-import seecoder.devcloud.web.model.po.tree.TreeLog;
+import seecoder.devcloud.web.model.po.tree.TreeLogPO;
 import seecoder.devcloud.web.model.po.user.UserPO;
 import seecoder.devcloud.web.model.vo.Response;
 import seecoder.devcloud.web.model.vo.tree.TreeNodeVO;
 import seecoder.devcloud.web.service.user.UserService;
 
 import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 
 /**
  * 树操作日志类切面,关联@TreeLogging注解
@@ -37,7 +35,7 @@ public class TreeLoggingAspect {
     public void doAfterReturning(JoinPoint joinPoint, Response result) {
         // 只处理成功的情况
         if (result.getCode().equals(200)) {
-            TreeLog log = new TreeLog();
+            TreeLogPO log = new TreeLogPO();
             //从切面织入点处通过反射机制获取织入点处的方法
             MethodSignature signature = (MethodSignature) joinPoint.getSignature();
             //获取切入点所在的方法
@@ -49,25 +47,16 @@ public class TreeLoggingAspect {
             }
             //请求的参数
             Object[] args = joinPoint.getArgs();
-            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             for (Object arg : args) {
                 if (arg instanceof TreeNodeVO) {
                     TreeNodeVO node = (TreeNodeVO) arg;
                     log.setTreeId(node.getId());
-//                    log.setUserId();
-//                    log.setUserName();
-//                    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-//                    HttpSession session = request.getSession();
-//                    读取session中的用户
-//                    UserPO userPO = (UserPO) session.getAttribute("userPO");
-//                    请求的IP
-//                    String ip = request.getRemoteAddr();
                     UserPO userPO = UserService.loginUser();
                     log.setUserId(userPO.getId());
                     log.setUserName(userPO.getUsername());
-                    log.setTime(sf.format(new Date()));
+                    log.setTime(null);
                     System.out.println(log);
-                    treeLogMapper.insertTreeLog(log);
+                    treeLogMapper.insertTreeLog(log,"time");
                     break;
                 }
             }

+ 3 - 8
web/src/main/java/seecoder/devcloud/web/dao/tree/TreeLogMapper.java

@@ -4,7 +4,7 @@ package seecoder.devcloud.web.dao.tree;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 import seecoder.devcloud.web.dao.provider.GeneralInsertUpdateSqlProvider;
-import seecoder.devcloud.web.model.po.tree.TreeLog;
+import seecoder.devcloud.web.model.po.tree.TreeLogPO;
 
 import java.util.List;
 
@@ -17,13 +17,8 @@ public interface TreeLogMapper {
      */
     @InsertProvider(type = GeneralInsertUpdateSqlProvider.class, method = "insert")
     @Options(useGeneratedKeys = true, keyProperty = "param1.id")
-    int insertTreeLog(TreeLog project, String... ignoredCols);
+    int insertTreeLog(TreeLogPO project, String... ignoredCols);
 
     @Select("select * from tree_log where tree_id=#{treeId}")
-    @Results(id="treeLogMap",value = {
-            @Result(column = "user_name", property = "userName"),
-            @Result(column = "tree_id", property = "treeId"),
-            @Result(column = "user_id", property = "userId")
-    })
-    List<TreeLog> listTreeLogsByTreeId(int treeId);
+    List<TreeLogPO> listTreeLogsByTreeId(int treeId);
 }

+ 5 - 0
web/src/main/java/seecoder/devcloud/web/model/enums/BugListStateEnum.java

@@ -15,4 +15,9 @@ public enum  BugListStateEnum {
     BugListStateEnum(String value){
         this.value = value;
     }
+
+    @Override
+    public String toString(){
+        return value;
+    }
 }

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/model/po/project/BugListPO.java

@@ -29,7 +29,7 @@ public class BugListPO {
     /**
      * 预计需要时间
      */
-    private Long expectedTimeCost;
+    private Long timeToTake;
 
     private Timestamp startTime;
 

+ 4 - 2
web/src/main/java/seecoder/devcloud/web/model/po/tree/TreeLog.java → web/src/main/java/seecoder/devcloud/web/model/po/tree/TreeLogPO.java

@@ -4,19 +4,21 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import seecoder.devcloud.web.model.enums.OperationEnum;
 
+import java.sql.Timestamp;
+
 /**
  * 树操作的日志类,用于后序进行数据分析
  */
 @Data
 @NoArgsConstructor
-public class TreeLog {
+public class TreeLogPO {
 
     private Integer id;
 
     /**
      * 操作时间
      */
-    private String time;
+    private Timestamp time;
 
     /**
      * 操作类型

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/model/vo/project/BugListCreateVO.java

@@ -24,7 +24,7 @@ public class BugListCreateVO {
     private String description;
 
     @ApiModelProperty("预计花销时间,单位意义按前端来,比如可以是 x 人天")
-    private Long expectedTimeCost;
+    private Long timeToTake;
 
     @ApiModelProperty("优先级:‘紧急’、‘一般’、‘宽松’。默认一般")
     private PriorityEnum priority = PriorityEnum.MIDDLE;

+ 2 - 2
web/src/main/java/seecoder/devcloud/web/model/vo/project/BugListUpdateBasicVO.java

@@ -23,7 +23,7 @@ public class BugListUpdateBasicVO {
     @ApiModelProperty("描述")
     private String description;
     @ApiModelProperty("预计花销时间,单位毫秒")
-    private Long expectedTimeCost;
+    private Long timeToTake;
     @ApiModelProperty("负责人")
-    private String processor_id;
+    private String processorId;
 }

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/model/vo/project/BugListVO.java

@@ -32,7 +32,7 @@ public class BugListVO {
     private String description;
 
     @ApiModelProperty("预计花销时间,单位毫秒")
-    private Long ExpectedTimeCost;
+    private Long timeToTake;
 
     @ApiModelProperty("创建时间")
     private Timestamp startTime;

+ 5 - 9
web/src/main/java/seecoder/devcloud/web/model/vo/tree/TreeNodeVO.java

@@ -25,14 +25,6 @@ public class TreeNodeVO {
 
     @ApiModelProperty("树节点id")
     private int id;
-
-    @ApiModelProperty("负责人的用户id")
-    private int userId; /*操作用户的ID*/
-
-
-    @ApiModelProperty("负责人的用户名")
-    private String username; /*操作用户的ID*/
-
     @ApiModelProperty("节点名称")
     private String title;
     @ApiModelProperty("节点描述")
@@ -60,10 +52,14 @@ public class TreeNodeVO {
     private int deep;
     @ApiModelProperty("关联的Commit信息")
     List<CommitVO> commits;
+    @ApiModelProperty("负责人id")
+    private int processorId;
+    @ApiModelProperty("负责人用户名")
+    private String processorName;
 
     public TreeNodeVO(TreeNodePO po, String username, List<CommitPO> commits){
         BeanUtils.copyProperties(po,this);
-        this.username = username;
+        this.processorName = username;
         this.commits = commits.stream().map(CommitVO::new).collect(Collectors.toList());
     }
 }

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/service/impl/project/BugListServiceImpl.java

@@ -50,7 +50,7 @@ public class BugListServiceImpl implements BugListService {
         BugListPO po = BugListPO.builder()
                 .title(vo.getTitle())
                 .description(vo.getDescription())
-                .expectedTimeCost(vo.getExpectedTimeCost())
+                .timeToTake(vo.getTimeToTake())
                 .state(BugListStateEnum.CREATED)
                 .priority(vo.getPriority())
                 .startTime(new Timestamp(new Date().getTime()))

+ 0 - 5
web/src/main/java/seecoder/devcloud/web/service/impl/tree/TreeNodeServiceImpl.java

@@ -41,11 +41,6 @@ public class TreeNodeServiceImpl implements TreeNodeService {
         this.userMapper = userMapper;
         this.commitMapper = commitMapper;
     }
-//    @Override
-//    public List<TreeNodeVO> getAllNodes() {
-//        List<TreeNodePO> nodes = treeNodeMapper.listAllTreeNodes();
-//        return nodes.stream().map(TreeNodeVO::new).collect(Collectors.toList());
-//    }
 
     @Override
     public List<TreeNodeVO> listTreeNodesByProjectId(int projectId) {

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/service/project/BugListService.java

@@ -23,7 +23,7 @@ public interface BugListService {
      *     private PriorityEnum priority;
      *     private String title;
      *     private String description;
-     *     private Long ExpectedTimeCost;
+     *     private Long timeToTake;
      */
     void updateBasicInfo(BugListUpdateBasicVO vo);
 

+ 1 - 1
web/src/main/resources/sql/bug_list.sql

@@ -4,7 +4,7 @@ create table if not exists devcloud.bug_list
         primary key,
     title              varchar(31)                         null,
     description        text                                null,
-    expected_time_cost mediumtext                          null,
+    time_to_take mediumtext                          null,
     start_time         timestamp default CURRENT_TIMESTAMP not null,
     end_time           timestamp                           null,
     priority           varchar(10)                         null,

+ 15 - 74
web/src/main/resources/sql/trees.sql

@@ -1,82 +1,23 @@
-SET foreign_key_checks = 0;
-# 需求执行者
-drop table if exists treenode_processor;
-create table treenode_processor
+create table if not exists devcloud.tree_node
 (
     id           int auto_increment,
-    PRIMARY KEY (id),
-    tree_node_id int not null ,
-    processor_id int not null,
-    processor_name varchar(64) not null
-);
-insert into treenode_processor(tree_node_id, processor_id, processor_name) VALUES (1,1,"qinliu");
-
-# 需求节点
-drop table if exists tree_nodes;
-create table tree_nodes
-(
-    id           int auto_increment,
-    title        varchar(24)                        not null,
-    description  varchar(512)                       null,
-    type         varchar(32)      default 0                 not null,
-    priority     int      default 0                 null,
-    state        varchar(32)      default 0                 not null,
-    time_to_take int      default 0                 not null,
-    start_time   datetime default CURRENT_TIMESTAMP null,
-    end_time     datetime                           null,
-    is_leaf      int      default 0                 null,
-    group_id     int                                null,
-    project_id   int                                null,
-    deep         int                                null,
-    parent_id     int                                null,
+    title        varchar(24)                           not null,
+    description  varchar(512)                          null,
+    type         varchar(32) default '0'               not null,
+    priority     int         default 0                 null,
+    state        varchar(32) default '0'               not null,
+    time_to_take int         default 0                 not null,
+    start_time   datetime    default CURRENT_TIMESTAMP not null,
+    end_time     datetime                              null,
+    leaf         tinyint(1)  default 0                 null,
+    project_id   int                                   null,
+    deep         int                                   null,
+    parent_id    int                                   null,
+    processor_id int                                   null,
     constraint tree_nodes_id_uindex
         unique (id)
 );
 
-alter table tree_nodes
+alter table devcloud.tree_node
     add primary key (id);
-insert into tree_nodes(title, description, type, priority, state, time_to_take, start_time, end_time, is_leaf, group_id, project_id, deep,parent_id) values ("test1","test1","REQUIREMENT",0,"PROCESSING",10,"2021-1-1","2021-2-13",1,1,1,1,1);
-insert into tree_nodes(title, description, type, priority, state, time_to_take, start_time, end_time, is_leaf, group_id, project_id, deep,parent_id) values ("test2","test2","REQUIREMENT",0,"PROCESSING",10,"2021-1-2","2021-2-13",1,1,1,1,1);
-insert into tree_nodes(title, description, type, priority, state, time_to_take, start_time, end_time, is_leaf, group_id, project_id, deep,parent_id) values ("test3","test3","REQUIREMENT",0,"PROCESSING",10,"2021-1-3","2021-2-13",1,1,1,1,1);
-
-# 信息 留言
-drop table if exists messages;
-drop table if exists tree_messages;
-create table tree_messages
-(
-    message_id   int auto_increment,
-    creator      varchar(64)  not null,
-    tree_node_id int          null,
-    detail       varchar(512) null,
-    constraint tree_messages_message_id_uindex
-        unique (message_id),
-    constraint tree_node_fk
-        foreign key (tree_node_id) references tree_nodes (id)
-            on update cascade on delete cascade
-);
-alter table tree_messages
-    add primary key (message_id);
-
-drop table if exists tree_sides;
-create table tree_sides
-(
-    side_id   int auto_increment,
-    parent_id int null,
-    child_id  int null,
-    constraint tree_sides_side_id_uindex
-        unique (side_id),
-    constraint child_fk
-        foreign key (child_id) references tree_nodes (id)
-            on update cascade on delete cascade,
-    constraint parent_fk
-        foreign key (parent_id) references tree_nodes (id)
-            on update cascade on delete cascade
-);
-# 树边,暂时用不到了
-alter table tree_sides
-    add primary key (side_id);
-
-insert into tree_sides(parent_id, child_id) VALUES (1,2);
-insert into tree_sides(parent_id, child_id) VALUES (1,3);
 
-SET foreign_key_checks = 1;

+ 2 - 2
web/src/test/java/seecoder/devcloud/web/dao/project/BugListMapperTest.java

@@ -34,7 +34,7 @@ class BugListMapperTest {
                 .title("大bug")
                 .description("全是错误")
                 .state(BugListStateEnum.CREATED)
-                .expectedTimeCost(1L)
+                .timeToTake(1L)
                 .priority(PriorityEnum.HIGH)
                 .projectId(2)
                 .processorId(1)
@@ -49,7 +49,7 @@ class BugListMapperTest {
                 .id(1)
                 .title("小bug")
                 .description("小错误")
-                .expectedTimeCost(10L)
+                .timeToTake(10L)
                 .priority(PriorityEnum.MIDDLE)
                 .processorId(2)
                 .build();

+ 10 - 13
web/src/test/java/seecoder/devcloud/web/dao/tree/TreeLogMapperTest.java

@@ -7,10 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
 import org.springframework.test.context.junit4.SpringRunner;
 import seecoder.devcloud.web.model.enums.OperationEnum;
-import seecoder.devcloud.web.model.po.tree.TreeLog;
+import seecoder.devcloud.web.model.po.tree.TreeLogPO;
 
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.List;
 
 @RunWith(SpringRunner.class)
@@ -22,17 +20,16 @@ public class TreeLogMapperTest {
 
     @Test
     public void testInsertAndSelect(){
-        TreeLog treeLog = new TreeLog();
-        treeLog.setTreeId(1);
-        treeLog.setUserId(1);
-        treeLog.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-        treeLog.setUserName("test");
-        treeLog.setOperation(OperationEnum.START);
-        treeLogMapper.insertTreeLog(treeLog);
-        List<TreeLog> logList = treeLogMapper.listTreeLogsByTreeId(1);
+        TreeLogPO treeLogPO = new TreeLogPO();
+        treeLogPO.setTreeId(1);
+        treeLogPO.setUserId(1);
+        treeLogPO.setUserName("test");
+        treeLogPO.setOperation(OperationEnum.START);
+        treeLogMapper.insertTreeLog(treeLogPO,"time");
+        List<TreeLogPO> logList = treeLogMapper.listTreeLogsByTreeId(1);
         boolean res = false;
-        for(TreeLog log:logList){
-            if(log.equals(treeLog)){
+        for(TreeLogPO log:logList){
+            if(log.equals(treeLogPO)){
                 res = true;
                 System.out.println(log);
                 break;

+ 29 - 0
web/src/test/java/seecoder/devcloud/web/service/project/BugListServiceTest.java

@@ -0,0 +1,29 @@
+package seecoder.devcloud.web.service.project;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * @author PuHong Weng
+ * @date 2021/3/25
+ * @description:
+ */
+class BugListServiceTest {
+
+    @Test
+    void create() {
+    }
+
+    @Test
+    void list() {
+    }
+
+    @Test
+    void updateBasicInfo() {
+    }
+
+    @Test
+    void updateState() {
+    }
+}