From 5f5e5dbbcd8ab92effb3d8658e9db19d1e0a8dec Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 03 Apr 2023 19:32:00 +0800
Subject: [PATCH] 巡查路线新增,修改调整

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml             |   12 ++-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java |   13 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/IdWorker.java                      |   97 ++++++++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/EnhancementServicesTool.java       |   46 +++++++++++++++
 4 files changed, 163 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
index dc3c1bd..da55685 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -92,17 +92,19 @@
     <insert id="savePatrolTask">
         INSERT INTO sm_patrol_task
         (
-        title,start_time,end_time,content,to_user_id,
+        id,title,start_time,end_time,content,to_user_id,
         route_id,state,source,task_type,project_id,
+        create_dept,create_time,create_user,update_user,update_time,is_deleted,status,
         patrol_group_item_id,route_coordinates
         )
         VALUES
         (
-        #{patrolTask.title},#{patrolTask.startTime},#{patrolTask.endTime},#{patrolTask.content},#{patrolTask.toUserId},
+        #{patrolTask.id},#{patrolTask.title},#{patrolTask.startTime},#{patrolTask.endTime},#{patrolTask.content},#{patrolTask.toUserId},
         #{patrolTask.routeId},#{patrolTask.state},#{patrolTask.source},#{patrolTask.taskType},#{patrolTask.projectId},
-        #{patrolTask.createDept},#{patrolTask.createTime},#{patrolTask.updateUser},
-        #{patrolTask.patrolGroupItemId},dmgeo.ST_LineFromText(${patrolTask.routeCoordinates})
-        );
+        #{patrolTask.createDept},#{patrolTask.createTime},#{patrolTask.createUser},#{patrolTask.updateUser},#{patrolTask.updateTime},
+        #{patrolTask.isDeleted},#{patrolTask.status},
+        #{patrolTask.patrolGroupItemId},dmgeo.ST_LineFromText(${patrolTask.routeCoordinates},0)
+        )
     </insert>
 
     <!--自定义查询详情-->
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
index db527ad..afdbc0f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -3,10 +3,15 @@
 import cn.gistack.sm.patrol.entity.PatrolTask;
 import cn.gistack.sm.patrol.mapper.PatrolTaskMapper;
 import cn.gistack.sm.patrol.service.IPatrolTaskService;
+import cn.gistack.sm.patrol.util.EnhancementServicesTool;
+import cn.gistack.sm.patrol.util.IdWorker;
 import cn.gistack.sm.patrol.vo.PatrolTaskVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.stereotype.Service;
+
+import java.util.Date;
 
 @Service
 public class PatrolTaskServiceImpl extends BaseServiceImpl<PatrolTaskMapper, PatrolTask> implements IPatrolTaskService {
@@ -40,6 +45,9 @@
 	@Override
 	public Boolean updatePatrolTask(PatrolTask patrolTask) {
 		Integer update = baseMapper.updatePatrolTask(patrolTask);
+		// 设置基础信息
+		EnhancementServicesTool enhancementServicesTool = new EnhancementServicesTool();
+		enhancementServicesTool.resolveEntity(patrolTask);
 		//返回
 		return update>0?true:false;
 	}
@@ -51,6 +59,11 @@
 	 */
 	@Override
 	public Boolean savePatrolTask(PatrolTask patrolTask) {
+		patrolTask.setId(IdWorker.getId());
+		// 设置基础信息
+		EnhancementServicesTool enhancementServicesTool = new EnhancementServicesTool();
+		enhancementServicesTool.resolveEntity(patrolTask);
+		// 新增
 		Integer save = baseMapper.savePatrolTask(patrolTask);
 		//返回
 		return save>0?true:false;
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/EnhancementServicesTool.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/EnhancementServicesTool.java
new file mode 100644
index 0000000..6bfd949
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/EnhancementServicesTool.java
@@ -0,0 +1,46 @@
+package cn.gistack.sm.patrol.util;
+
+import org.springblade.core.mp.base.BaseEntity;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+
+import java.util.Date;
+
+/**
+ * @ClassName EnhancementServicesTool
+ * @Description TODO 给框架重写save方法导致没有默认技术字段赋值的解决方法
+ * @Author guoshilong
+ * @Date 2022/11/25
+ * @Version 1.0
+ */
+public class EnhancementServicesTool<T extends BaseEntity> {
+	public void resolveEntity(T entity) {
+		try {
+			BladeUser user = AuthUtil.getUser();
+			Date now = DateUtil.now();
+			if (entity.getId() == null) {
+				if (user != null) {
+					entity.setCreateUser(user.getUserId());
+					entity.setCreateDept(Func.firstLong(user.getDeptId()));
+					entity.setUpdateUser(user.getUserId());
+				}
+
+				if (entity.getStatus() == null) {
+					entity.setStatus(1);
+				}
+
+				entity.setCreateTime(now);
+			} else if (user != null) {
+				entity.setUpdateUser(user.getUserId());
+			}
+
+			entity.setUpdateTime(now);
+			entity.setIsDeleted(0);
+
+		} catch (Throwable var8) {
+			throw var8;
+		}
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/IdWorker.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/IdWorker.java
new file mode 100644
index 0000000..5f766e6
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/util/IdWorker.java
@@ -0,0 +1,97 @@
+package cn.gistack.sm.patrol.util;
+
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * id 获取器
+ *
+ */
+public class IdWorker {
+
+	/**
+	 * 主机和进程的机器码
+	 */
+	private static IdentifierGenerator IDENTIFIER_GENERATOR = new DefaultIdentifierGenerator();
+
+	/**
+	 * 毫秒格式化时间
+	 */
+	public static final DateTimeFormatter MILLISECOND = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
+
+	/**
+	 * 获取唯一ID
+	 *
+	 * @return id
+	 */
+	public static long getId() {
+		return getId(new Object());
+	}
+
+	/**
+	 * 获取唯一ID
+	 *
+	 * @return id
+	 */
+	public static long getId(Object entity) {
+		return IDENTIFIER_GENERATOR.nextId(entity).longValue();
+	}
+
+	/**
+	 * 获取唯一ID
+	 *
+	 * @return id
+	 */
+	public static String getIdStr() {
+		return getIdStr(new Object());
+	}
+
+	/**
+	 * 获取唯一ID
+	 *
+	 * @return id
+	 */
+	public static String getIdStr(Object entity) {
+		return IDENTIFIER_GENERATOR.nextId(entity).toString();
+	}
+
+	/**
+	 * 格式化的毫秒时间
+	 */
+	public static String getMillisecond() {
+		return LocalDateTime.now().format(MILLISECOND);
+	}
+
+	/**
+	 * 时间 ID = Time + ID
+	 * <p>例如:可用于商品订单 ID</p>
+	 */
+	public static String getTimeId() {
+		return getMillisecond() + getIdStr();
+	}
+
+	/**
+	 * 有参构造器
+	 *
+	 * @param workerId     工作机器 ID
+	 * @param dataCenterId 序列号
+	 * @see #setIdentifierGenerator(IdentifierGenerator)
+	 */
+	public static void initSequence(long workerId, long dataCenterId) {
+		IDENTIFIER_GENERATOR = new DefaultIdentifierGenerator(workerId, dataCenterId);
+	}
+
+	/**
+	 * 自定义id 生成方式
+	 *
+	 * @param identifierGenerator id 生成器
+	 * @see GlobalConfig#setIdentifierGenerator(IdentifierGenerator)
+	 */
+	public static void setIdentifierGenerator(IdentifierGenerator identifierGenerator) {
+		IDENTIFIER_GENERATOR = identifierGenerator;
+	}
+}

--
Gitblit v1.9.3