diff --git a/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java b/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java
index 2dd521e..1a0b79f 100644
--- a/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java
+++ b/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java
@@ -56,8 +56,7 @@ public class MybatisPlusConfig {
"sys_tenant",
"sys_dictionary",
"sys_dictionary_data",
- "apps_test_data",
- "oa_task_count"
+ "apps_test_data"
).contains(tableName);
}
};
diff --git a/src/main/java/com/gxwebsoft/common/core/utils/CommonUtil.java b/src/main/java/com/gxwebsoft/common/core/utils/CommonUtil.java
index 3fb5008..d84e2ed 100644
--- a/src/main/java/com/gxwebsoft/common/core/utils/CommonUtil.java
+++ b/src/main/java/com/gxwebsoft/common/core/utils/CommonUtil.java
@@ -2,11 +2,14 @@ package com.gxwebsoft.common.core.utils;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
+import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.crypto.symmetric.AES;
+import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
import com.gxwebsoft.common.core.Constants;
import com.gxwebsoft.common.core.web.ApiResult;
-import com.gxwebsoft.common.system.entity.Dict;
import com.gxwebsoft.common.system.entity.Role;
import javax.servlet.http.HttpServletResponse;
@@ -26,6 +29,7 @@ import java.util.stream.Collectors;
* @since 2017-06-10 10:10:22
*/
public class CommonUtil {
+
// 生成uuid的字符
private static final String[] chars = new String[]{
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
@@ -269,4 +273,22 @@ public class CommonUtil {
}
return false;
}
+
+ public static AES aes(){
+ // 随机生成密钥
+ byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
+ return SecureUtil.aes(key);
+ }
+
+ // 机密文本
+ public static String encrypt(String text){
+ final AES aes = aes();
+ return aes.encryptHex(text);
+ }
+
+ // 解密
+ public static String decrypt(String encrypt){
+ final AES aes = aes();
+ return aes.decryptStr(encrypt, CharsetUtil.CHARSET_UTF_8);
+ }
}
diff --git a/src/main/java/com/gxwebsoft/oa/controller/TaskController.java b/src/main/java/com/gxwebsoft/oa/controller/TaskController.java
index 84b9e1d..3ffd210 100644
--- a/src/main/java/com/gxwebsoft/oa/controller/TaskController.java
+++ b/src/main/java/com/gxwebsoft/oa/controller/TaskController.java
@@ -97,6 +97,7 @@ public class TaskController extends BaseController {
public ApiResult> update(@RequestBody Task task) {
if (taskService.updateById(task)) {
// 更新统计表
+ task.setLoginUserId(getLoginUserId());
taskService.updateCount(task);
return success("修改成功");
}
@@ -199,7 +200,7 @@ public class TaskController extends BaseController {
*/
@Scheduled(cron="*/1 * * * * *")
public void updateProgressTask() {
- System.out.println("定时任务开始:updateProgressTask = " + DateUtil.now());
+// System.out.println("定时任务开始:updateProgressTask = " + DateUtil.now());
TaskParam taskParam = new TaskParam();
taskParam.setProgress(TOBECONFIRMED);
taskParam.setLimit(10L);
@@ -211,7 +212,6 @@ public class TaskController extends BaseController {
if (!CollectionUtils.isEmpty(list)) {
list.forEach(task -> {
try {
- System.out.println("task = " + task);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date newDate = DateUtil.offset(task.getUpdateTime(), DateField.MINUTE, 1);
Date date1 = df.parse(newDate.toString());
diff --git a/src/main/java/com/gxwebsoft/oa/entity/Task.java b/src/main/java/com/gxwebsoft/oa/entity/Task.java
index 9e14f07..6cfb11e 100644
--- a/src/main/java/com/gxwebsoft/oa/entity/Task.java
+++ b/src/main/java/com/gxwebsoft/oa/entity/Task.java
@@ -7,6 +7,7 @@ import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
+import com.gxwebsoft.common.system.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -137,4 +138,8 @@ public class Task implements Serializable {
@TableField(exist = false)
private Integer loginUserId;
+ @ApiModelProperty(value = "机密信息")
+ @TableField(exist = false)
+ private String confidential;
+
}
diff --git a/src/main/java/com/gxwebsoft/oa/entity/TaskRecord.java b/src/main/java/com/gxwebsoft/oa/entity/TaskRecord.java
index 192aa3a..b51a9e8 100644
--- a/src/main/java/com/gxwebsoft/oa/entity/TaskRecord.java
+++ b/src/main/java/com/gxwebsoft/oa/entity/TaskRecord.java
@@ -1,17 +1,16 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.*;
-
-import java.time.LocalDateTime;
-import java.io.Serializable;
-import java.util.Date;
-
+import com.gxwebsoft.common.core.utils.CommonUtil;
import com.gxwebsoft.common.system.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.util.Date;
+
/**
* 工单回复记录表
*
@@ -38,6 +37,9 @@ public class TaskRecord implements Serializable {
@ApiModelProperty(value = "任务内容")
private String content;
+ @ApiModelProperty(value = "机密信息")
+ private String confidential;
+
@ApiModelProperty(value = "工单附件")
private String files;
@@ -81,5 +83,4 @@ public class TaskRecord implements Serializable {
@ApiModelProperty(value = "回复者")
@TableField(exist = false)
private User user;
-
}
diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/TaskCountMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/TaskCountMapper.xml
index e5ad8f9..9f6182a 100644
--- a/src/main/java/com/gxwebsoft/oa/mapper/xml/TaskCountMapper.xml
+++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/TaskCountMapper.xml
@@ -13,6 +13,9 @@
AND a.user_id = #{param.userId}
+
+ AND a.role_code = #{param.roleCode}
+
AND a.pending = #{param.pending}
diff --git a/src/main/java/com/gxwebsoft/oa/param/TaskCountParam.java b/src/main/java/com/gxwebsoft/oa/param/TaskCountParam.java
index 53a9523..900f257 100644
--- a/src/main/java/com/gxwebsoft/oa/param/TaskCountParam.java
+++ b/src/main/java/com/gxwebsoft/oa/param/TaskCountParam.java
@@ -60,4 +60,7 @@ public class TaskCountParam extends BaseParam {
@ApiModelProperty(value = "角色ID")
private Integer roleId;
+ @ApiModelProperty(value = "角色标识")
+ private String roleCode;
+
}
diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/TaskCountServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/TaskCountServiceImpl.java
index cea528b..f1336a6 100644
--- a/src/main/java/com/gxwebsoft/oa/service/impl/TaskCountServiceImpl.java
+++ b/src/main/java/com/gxwebsoft/oa/service/impl/TaskCountServiceImpl.java
@@ -48,6 +48,7 @@ public class TaskCountServiceImpl extends ServiceImpl result = new PageResult<>(list, page.getTotal());
// 请求主服务器获取用户信息
final List taskCountList = result.getList();
+ System.out.println("taskCountList = " + taskCountList);
final Set userIds = taskCountList.stream().map(TaskCount::getUserId).collect(Collectors.toSet());
HashMap map = new HashMap<>();
map.put("userIds", userIds);
@@ -61,9 +62,12 @@ public class TaskCountServiceImpl extends ServiceImpl> userResult = JSONObject.parseObject(response, new TypeReference>>() {
});
final Map> collect = userResult.getData().getList().stream().collect(Collectors.groupingBy(User::getUserId));
+ System.out.println("collect = " + collect);
if (!CollectionUtils.isEmpty(collect)) {
taskCountList.forEach(item -> {
final List users = collect.get(item.getUserId());
diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/TaskServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/TaskServiceImpl.java
index b986a6e..ca1f566 100644
--- a/src/main/java/com/gxwebsoft/oa/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/gxwebsoft/oa/service/impl/TaskServiceImpl.java
@@ -199,8 +199,14 @@ public class TaskServiceImpl extends ServiceImpl implements Ta
// 查询受理人已处理的总工单数量
final int commanderTotalTasks = count(new LambdaQueryWrapper().eq(Task::getStatus, TASK_STATUS_1).eq(Task::getCommander,task.getCommander()));
- // 统计项目发起人
+ // 统计工单发起人
+ if (taskCountService.count(new LambdaQueryWrapper().eq(TaskCount::getUserId,task.getUserId())) == 0) {
+ final TaskCount taskCount = new TaskCount();
+ taskCount.setUserId(task.getUserId());
+ taskCountService.save(taskCount);
+ }
TaskCount user = taskCountService.getByUserId(task.getUserId());
+ System.out.println("user = " + user);
user.setPending(userPendingTasks);
user.setToday(userTodayTasks);
user.setMonth(userMonthTasks);
@@ -208,7 +214,7 @@ public class TaskServiceImpl extends ServiceImpl implements Ta
user.setTotal(userTotalTasks);
taskCountService.updateById(user);
if(!user.getUserId().equals(task.getCommander())){
- // 统计项目受理人
+ // 统计工单受理人
TaskCount commander = taskCountService.getByUserId(task.getCommander());
if(commander != null){
commander.setPending(commanderPendingTasks);
@@ -220,13 +226,18 @@ public class TaskServiceImpl extends ServiceImpl implements Ta
}
}
// 统计公司数据
- final TaskCount company = taskCountService.getByUserId(0);
- company.setPending(pendingTasks);
- company.setToday(todayTasks);
- company.setMonth(monthTasks);
- company.setYear(yearTasks);
- company.setTotal(totalTasks);
- taskCountService.updateById(company);
+ if (taskCountService.count(new LambdaQueryWrapper().eq(TaskCount::getUserId,0).eq(TaskCount::getRoleCode, "superAdmin")) == 0) {
+ final TaskCount taskCount = new TaskCount();
+ taskCount.setRoleCode("superAdmin");
+ taskCountService.save(taskCount);
+ }
+ final TaskCount superAdmin = taskCountService.getOne(new LambdaQueryWrapper().eq(TaskCount::getUserId,0).eq(TaskCount::getRoleCode, "superAdmin"));
+ superAdmin.setPending(pendingTasks);
+ superAdmin.setToday(todayTasks);
+ superAdmin.setMonth(monthTasks);
+ superAdmin.setYear(yearTasks);
+ superAdmin.setTotal(totalTasks);
+ taskCountService.updateById(superAdmin);
}
@Override
diff --git a/src/test/java/com/gxwebsoft/TestMain.java b/src/test/java/com/gxwebsoft/TestMain.java
index 86c1be2..1f0ac3d 100644
--- a/src/test/java/com/gxwebsoft/TestMain.java
+++ b/src/test/java/com/gxwebsoft/TestMain.java
@@ -1,6 +1,5 @@
package com.gxwebsoft;
-import com.gxwebsoft.common.core.security.JwtUtil;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -14,6 +13,12 @@ public class TestMain {
*/
@Test
public void testGenJwtKey() {
- System.out.println(JwtUtil.encodeKey(JwtUtil.randomKey()));
+// System.out.println(JwtUtil.encodeKey(JwtUtil.randomKey()));
+
+// final String encrypt = CommonUtil.encrypt("123");
+// System.out.println("encrypt = " + encrypt);
+//
+// final String decrypt = CommonUtil.decrypt(encrypt);
+// System.out.println("decrypt = " + decrypt);
}
}