From f7b8440195e817fe0d32513d0a8e57e64f15d590 Mon Sep 17 00:00:00 2001
From: xueqingkun <xueqingkun@126.com>
Date: Fri, 8 Dec 2023 11:11:05 +0800
Subject: [PATCH] =?UTF-8?q?web=20=EF=BC=9A=E6=B7=BB=E5=8A=A0=E9=97=AE?=
 =?UTF-8?q?=E8=AF=8A=E5=BA=8F=E5=88=97=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/impl/AskProcessServiceImpl.java   |  3 ++
 .../com/supervision/util/SequenceUtil.java    | 29 +++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 virtual-patient-web/src/main/java/com/supervision/util/SequenceUtil.java

diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java
index 0f243623..695e08d6 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java
@@ -7,6 +7,7 @@ import com.supervision.model.User;
 import com.supervision.service.AskProcessService;
 import com.supervision.service.MedicalRecService;
 import com.supervision.service.ProcessService;
+import com.supervision.util.SequenceUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -32,6 +33,8 @@ public class AskProcessServiceImpl implements AskProcessService {
         process.setStatus(0);
         process.setCreateUserId(user.getId());
         process.setUpdateUserId(user.getId());
+        process.setProcessType(0);//默认学习类型
+        process.setProcessNo(SequenceUtil.getProcessNo());
         processService.save(process);
         return process;
     }
diff --git a/virtual-patient-web/src/main/java/com/supervision/util/SequenceUtil.java b/virtual-patient-web/src/main/java/com/supervision/util/SequenceUtil.java
new file mode 100644
index 00000000..802ce6b1
--- /dev/null
+++ b/virtual-patient-web/src/main/java/com/supervision/util/SequenceUtil.java
@@ -0,0 +1,29 @@
+package com.supervision.util;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+
+@Slf4j
+public class SequenceUtil {
+
+  private static final RedisTemplate<String, String> redisTemplate = SpringBeanUtil.getBean("redisTemplate", RedisTemplate.class);
+
+
+    public static String getProcessNo(){
+
+        // 从零开始计算
+        long processNoSeq = getIncrement("process_no_seq") -1;
+
+        char prefix = (char) ('a' + processNoSeq / 1000000);
+        Long suffix = processNoSeq % 1000000;
+        return prefix + String.format("%06d", suffix);
+
+    }
+
+    public static Long getIncrement(String key){
+        ValueOperations<String, String> operations = redisTemplate.opsForValue();
+        return operations.increment( key,1L);
+    }
+
+}