瀏覽代碼

OKR业务代码提交

hcst_sunzhen 5 年之前
父節點
當前提交
64efa5b973

+ 1 - 1
src/main/java/cn/com/ctop/okr/entity/OkrContentStatus.java

@@ -16,7 +16,7 @@ public class OkrContentStatus {
     private Integer quarter;
     private Integer year;
     private String content;
-    private Integer type;
+    private String type;
     private Integer status;
     private Date createTime;
     private Date updateTime;

+ 4 - 3
src/main/java/cn/com/ctop/okr/entity/OkrLog.java

@@ -12,12 +12,13 @@ import java.util.Date;
 public class OkrLog {
     @TableId(value = "id",type = IdType.AUTO)
     private Long id;
+    private Long operationId;
     private Integer type;
     private Integer quarter;
     private Integer year;
-    private String oldContent;
-    private String newContent;
-    private Integer operation;
+    private String content;
+    private Integer operation;  //1.目标2.关键成果3.本周任务4.未来四周任务5.关键指标'
+    private String userId;
     private Date createTime;
     private Date updateTime;
 }

+ 1 - 1
src/main/java/cn/com/ctop/okr/entity/OkrTaskInfo.java

@@ -18,7 +18,7 @@ public class OkrTaskInfo {
     private Integer quarter;
     private Integer year;
     private Integer type;
-    private Integer priority;
+    private String priority;
     private Date createTime;
     private Date updateTime;
 }

+ 2 - 0
src/main/java/cn/com/ctop/okr/mapper/OkrKrInfoMapper.java

@@ -15,5 +15,7 @@ public interface OkrKrInfoMapper extends BaseMapper<OkrContentStatus> {
 
     void insertBatchOkrKrInfo(@Param("krList")List<OkrKrInfo> krList, @Param("userId")String userId, @Param("objectId")Long objectId, @Param("year")Integer year, @Param("quarter")Integer quarter);
 
+    Long insertOkrKrInfo(@Param("kr")OkrKrInfo kr);
+
     void deleteKrById(@Param("kr")OkrKrInfo kr);
 }

+ 4 - 0
src/main/java/cn/com/ctop/okr/mapper/OkrLogMapper.java

@@ -1,8 +1,12 @@
 package cn.com.ctop.okr.mapper;
 
 import cn.com.ctop.okr.entity.OkrContentStatus;
+import cn.com.ctop.okr.entity.OkrLog;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 public interface OkrLogMapper extends BaseMapper<OkrContentStatus> {
 
+    void insertOkrLog(@Param("okrLog")OkrLog okrLog);
+
 }

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/OkrTaskInfoMapper.java

@@ -9,7 +9,7 @@ import java.util.List;
 public interface OkrTaskInfoMapper extends BaseMapper<OkrTaskInfo> {
     List<OkrTaskInfo> getTaskInfo(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter, @Param("type")Integer type);
 
-    void insertTaskInfo(@Param("taskInfo")OkrTaskInfo taskInfo);
+    Integer insertTaskInfo(@Param("taskInfo")OkrTaskInfo taskInfo);
 
     void updateTaskInfo(@Param("taskInfo")OkrTaskInfo taskInfo);
 

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/xml/OkrContentStatusMapper.xml

@@ -17,7 +17,7 @@
         status = 1
     </select>
 
-    <insert id="insertContentStatus">
+    <insert id="insertContentStatus" useGeneratedKeys="true" keyProperty="id">
         insert into
         okr_content_status
             (

+ 24 - 0
src/main/java/cn/com/ctop/okr/mapper/xml/OkrKrInfoMapper.xml

@@ -45,6 +45,30 @@
         </foreach>
     </insert>
 
+    <insert id="insertOkrKrInfo" useGeneratedKeys="true" keyProperty="kr.id">
+        insert into
+        okr_kr_info
+            (
+                user_id,
+                object_id,
+                kr_info,
+                year,
+                quarter,
+                status,
+                completion
+            )
+        values
+            (
+                #{kr.userId},
+                #{kr.objectId},
+                #{kr.krInfo},
+                #{kr.year},
+                #{kr.quarter},
+                1,
+                #{kr.completion}
+            )
+    </insert>
+
     <update id="updateKrInfo">
         update
         okr_kr_info

+ 26 - 0
src/main/java/cn/com/ctop/okr/mapper/xml/OkrLogMapper.xml

@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.okr.mapper.OkrLogMapper">
 
+    <insert id="insertOkrLog">
+        insert into
+        okr_log
+            (
+                operation_id,
+                type,
+                operation,
+                content,
+                year,
+                quarter,
+                user_id
+            )
+        values
+            (
+                #{okrLog.operationId},
+                #{okrLog.type},
+                #{okrLog.operation},
+                #{okrLog.content},
+                #{okrLog.year},
+                #{okrLog.quarter},
+                #{okrLog.userId}
+            )
+
+    </insert>
+
+
 </mapper>

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/xml/OkrObjectInfoMapper.xml

@@ -35,7 +35,7 @@
             #{object.year},
             #{object.quarter},
             1,
-            #{completion}
+            #{object.completion}
         )
     </insert>
 

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/xml/OkrTaskInfoMapper.xml

@@ -20,7 +20,7 @@
     </select>
 
     <!-- 增加任务 -->
-    <insert id="insertTaskInfo">
+    <insert id="insertTaskInfo" useGeneratedKeys="true" keyProperty="id">
         insert into
         okr_task_info
             (

+ 178 - 10
src/main/java/cn/com/ctop/okr/service/impl/OkrServiceImpl.java

@@ -1,23 +1,19 @@
 package cn.com.ctop.okr.service.impl;
 
-import cn.com.ctop.okr.dto.OkrDto;
 import cn.com.ctop.okr.dto.UserInfoDto;
-import cn.com.ctop.okr.entity.OkrContentStatus;
-import cn.com.ctop.okr.entity.OkrKrInfo;
-import cn.com.ctop.okr.entity.OkrObjectInfo;
-import cn.com.ctop.okr.entity.OkrTaskInfo;
+import cn.com.ctop.okr.entity.*;
 import cn.com.ctop.okr.mapper.*;
 import cn.com.ctop.okr.service.OkrService;
 import cn.com.ctop.okr.utils.DateUtils;
 import cn.com.ctop.okr.vo.LoginUser;
+import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StopWatch;
 
+import java.time.Year;
 import java.util.*;
 
 @Service
@@ -109,16 +105,50 @@ public class OkrServiceImpl implements OkrService {
     public void insertTaskInfo(OkrTaskInfo taskInfo){
         //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        Integer year = DateUtils.getYear(new Date());
+        Integer quarter = DateUtils.getQuarter(new Date());
         taskInfo.setUserId(userId);
-        taskInfo.setYear(DateUtils.getYear(new Date()));
-        taskInfo.setQuarter(DateUtils.getQuarter(new Date()));
+        taskInfo.setYear(year);
+        taskInfo.setQuarter(quarter);
         okrTaskInfoMapper.insertTaskInfo(taskInfo);
+
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(1); //操作:1.创建2.修改3.删除
+        if(taskInfo.getType() == 1){
+            okrLog.setOperation(3);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        }else{
+            okrLog.setOperation(4);
+        }
+        okrLog.setOperationId(taskInfo.getId());
+        okrLog.setYear(year);
+        okrLog.setQuarter(quarter);
+        okrLog.setContent(JSONObject.toJSONString(taskInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     //更新任务
     @Override
     public void updateTaskInfo(OkrTaskInfo taskInfo){
         okrTaskInfoMapper.updateTaskInfo(taskInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(2); //操作:1.创建2.修改3.删除
+        if(taskInfo.getType() == 1){
+            okrLog.setOperation(3);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        }else{
+            okrLog.setOperation(4);
+        }
+        okrLog.setOperationId(taskInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(taskInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     //保存任务
@@ -130,12 +160,36 @@ public class OkrServiceImpl implements OkrService {
         content.setYear(DateUtils.getYear(new Date()));
         content.setQuarter(DateUtils.getQuarter(new Date()));
         okrContentStatusMapper.insertContentStatus(content);
+
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(1); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(5);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(content.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(content));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     //更新任务
     @Override
     public void updateContentStatus(OkrContentStatus content){
         okrContentStatusMapper.updateContentStatus(content);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(2); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(5);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(content.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(content));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     //同时保存O和krList
@@ -151,17 +205,74 @@ public class OkrServiceImpl implements OkrService {
         objectInfo.setQuarter(quarter);
         objectInfo.setUserId(userId);
         okrObjectInfoMapper.insertObjectInfo(objectInfo);
-        okrKrInfoMapper.insertBatchOkrKrInfo(krList,userId, objectInfo.getId(),year,quarter);
+        //日志留存
+        OkrLog okrObjectLog = new OkrLog();
+        okrObjectLog.setType(1); //操作:1.创建2.修改3.删除
+        okrObjectLog.setOperation(1);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrObjectLog.setOperationId(objectInfo.getId());
+        okrObjectLog.setYear(DateUtils.getYear(new Date()));
+        okrObjectLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrObjectLog.setContent(JSONObject.toJSONString(objectInfo));
+        okrObjectLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrObjectLog);
+        //
+
+        // 由于需要返回主键id作为日志留存,故放弃批量插入的接口
+        // okrKrInfoMapper.insertBatchOkrKrInfo(krList,userId, objectInfo.getId(),year,quarter);
+        for(OkrKrInfo kr:krList){
+            kr.setUserId(userId);
+            kr.setObjectId(objectInfo.getId());
+            kr.setYear(year);
+            kr.setQuarter(quarter);
+            okrKrInfoMapper.insertOkrKrInfo(kr);
+
+            //日志留存
+            OkrLog okrKrLog = new OkrLog();
+            okrKrLog.setType(1); //操作:1.创建2.修改3.删除
+            okrKrLog.setOperation(2);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+            okrKrLog.setOperationId(objectInfo.getId());
+            okrKrLog.setYear(year);
+            okrKrLog.setQuarter(quarter);
+            okrKrLog.setContent(JSONObject.toJSONString(kr));
+            okrKrLog.setUserId(userId);
+            okrLogMapper.insertOkrLog(okrKrLog);
+        }
     }
 
     @Override
     public void updateObject(OkrObjectInfo objectInfo){
         okrObjectInfoMapper.updateObjectInfo(objectInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(2); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(1);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(objectInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(objectInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     @Override
     public void updateKr(OkrKrInfo okrKrInfo){
         okrKrInfoMapper.updateKrInfo(okrKrInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(2); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(2);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(okrKrInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(okrKrInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     //获取本季度同步给我OKR的同事的列表
@@ -180,21 +291,78 @@ public class OkrServiceImpl implements OkrService {
     @Override
     public void deleteObjectInfoById(OkrObjectInfo objectInfo){
         okrObjectInfoMapper.deleteObjectInfoById(objectInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(3); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(1);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(objectInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(objectInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     @Override
     public void deleteKrById(OkrKrInfo krInfo){
         okrKrInfoMapper.deleteKrById(krInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(3); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(2);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(krInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(krInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     @Override
     public void deleteContentStatusById(OkrContentStatus content){
         okrContentStatusMapper.deleteContentStatuaById(content);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(3); //操作:1.创建2.修改3.删除
+        okrLog.setOperation(5);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        okrLog.setOperationId(content.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(content));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
     @Override
     public void deleteTaskInfoById(OkrTaskInfo okrTaskInfo){
         okrTaskInfoMapper.deleteTaskInfoById(okrTaskInfo);
+
+        //LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //日志留存
+        OkrLog okrLog = new OkrLog();
+        okrLog.setType(3); //操作:1.创建2.修改3.删除
+        if(okrTaskInfoMapper.selectById(okrTaskInfo.getId()).getType()==1){
+            okrLog.setOperation(3);  //日志类型:1.目标2.关键成果3.本周任务4.未来四周任务5.状态指标
+        }else{
+            okrLog.setOperation(4);
+        }
+
+        okrLog.setOperationId(okrTaskInfo.getId());
+        okrLog.setYear(DateUtils.getYear(new Date()));
+        okrLog.setQuarter(DateUtils.getQuarter(new Date()));
+        okrLog.setContent(JSONObject.toJSONString(okrTaskInfo));
+        okrLog.setUserId(userId);
+        okrLogMapper.insertOkrLog(okrLog);
     }
 
 }