From 10c2e86f67ef4a992e5cdd4f8d28a5893b066e4d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 24 十二月 2022 12:38:22 +0800
Subject: [PATCH] 2022-12-24

---
 src/main/java/com/lf/server/service/show/ApplyService.java |   76 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/lf/server/service/show/ApplyService.java b/src/main/java/com/lf/server/service/show/ApplyService.java
index 4ce705e..e916120 100644
--- a/src/main/java/com/lf/server/service/show/ApplyService.java
+++ b/src/main/java/com/lf/server/service/show/ApplyService.java
@@ -1,10 +1,17 @@
 package com.lf.server.service.show;
 
+import com.lf.server.entity.ctrl.DownloadReqEntity;
 import com.lf.server.entity.show.ApplyEntity;
+import com.lf.server.entity.show.FlowEntity;
+import com.lf.server.entity.sys.UserEntity;
+import com.lf.server.helper.Md5Helper;
+import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.show.ApplyMapper;
+import org.hsqldb.rights.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -15,6 +22,9 @@
 public class ApplyService implements ApplyMapper {
     @Autowired
     ApplyMapper applyMapper;
+
+    @Autowired
+    FlowService flowService;
 
     @Override
     public Integer selectCount(Integer userid) {
@@ -66,9 +76,71 @@
         return applyMapper.updates(list);
     }
 
-    public Integer insertApply(){
+    /**
+     * 鎻掑叆鏁版嵁鐢宠
+     */
+    public Integer insertApply(UserEntity ue, DownloadReqEntity dr) {
+        ApplyEntity apply = getApplyEntity(ue, dr);
+        int rows = applyMapper.insert(apply);
+        if (0 == rows) {
+            return 0;
+        }
 
+        List<FlowEntity> list = getFlowEntities(apply.getId(), ue, dr);
+        rows = flowService.inserts(list);
 
-        return 0;
+        return rows;
+    }
+
+    /**
+     * 鑾峰彇鏁版嵁鐢宠瀹炰綋绫�
+     */
+    private ApplyEntity getApplyEntity(UserEntity ue, DownloadReqEntity dr) {
+        String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd()));
+
+        ApplyEntity apply = new ApplyEntity();
+        apply.setUserid(ue.getId());
+        apply.setDepids(StringHelper.join(dr.getIds(), ","));
+        apply.setTabs(StringHelper.join(dr.getTabs(), ","));
+        apply.setEntities(StringHelper.join(dr.getEntities(), ","));
+        apply.setWkt(dr.getWkt());
+        apply.setPwd(dbPwd);
+        apply.setStatus(0);
+        apply.setCount(dr.getIds().size());
+        apply.setDescr(dr.getDescr());
+        apply.setCreateUser(ue.getId());
+
+        return apply;
+    }
+
+    /**
+     * 鑾峰彇鐢宠娴佺▼瀹炰綋绫婚泦鍚�
+     */
+    private List<FlowEntity> getFlowEntities(Integer applyId, UserEntity ue, DownloadReqEntity dr) {
+        List<FlowEntity> list = new ArrayList<>();
+        for (Integer depid : dr.getIds()) {
+            UserEntity user = selectUserByDepid(depid);
+
+            FlowEntity flow = new FlowEntity();
+            flow.setApplyid(applyId);
+            flow.setDepid(depid);
+            flow.setUserid(user.getId());
+            flow.setStatus(0);
+            flow.setDescr(null);
+            flow.setCreateUser(ue.getId());
+
+            list.add(flow);
+        }
+
+        return list;
+    }
+
+    /**
+     * 鏍规嵁鍗曚綅ID鏌ヨ鐢ㄦ埛
+     */
+    private UserEntity selectUserByDepid(Integer depid) {
+        //
+
+        return null;
     }
 }

--
Gitblit v1.9.3