From 658898d28cded745ca15ee0a89e3025358356259 Mon Sep 17 00:00:00 2001
From: xinyb <574600396@qq.com>
Date: 星期一, 23 九月 2024 17:53:56 +0800
Subject: [PATCH] CRM邮箱功能调整

---
 src/com/yc/crm/mail/service/MailTagIfc.java           |    2 
 src/com/yc/crm/mail/action/MailController.java        |   28 ++++++
 src/com/yc/crm/mail/action/MailQuickText.java         |    4 
 src/com/yc/crm/mail/service/MailFolderIfc.java        |    2 
 src/com/yc/crm/mail/service/MailBlackListIfc.java     |    2 
 src/com/yc/crm/mail/service/MailIfc.java              |    2 
 src/com/yc/crm/mail/entity/MailModuleBelowEntity.java |   38 +++++++++
 src/com/yc/crm/mail/service/MailServiceImpl.java      |    2 
 src/com/yc/crm/mail/action/MailTag.java               |   10 +-
 src/com/yc/crm/mail/service/MailBlackListImpl.java    |   13 ++-
 src/com/yc/crm/mail/action/MailFolder.java            |   24 +++++-
 src/com/yc/crm/mail/action/MailBlacklist.java         |   39 +++++++--
 src/com/yc/crm/mail/action/MailSignature.java         |    4 
 src/com/yc/crm/mail/service/MailImpl.java             |   41 +++++++++-
 src/com/yc/crm/mail/service/MailFolderImpl.java       |   15 ++-
 src/com/yc/crm/mail/service/MailTagImpl.java          |    7 +
 src/com/yc/crm/mail/entity/t482101HList.java          |    5 +
 17 files changed, 196 insertions(+), 42 deletions(-)

diff --git a/src/com/yc/crm/mail/action/MailBlacklist.java b/src/com/yc/crm/mail/action/MailBlacklist.java
index 353f822..b7b424b 100644
--- a/src/com/yc/crm/mail/action/MailBlacklist.java
+++ b/src/com/yc/crm/mail/action/MailBlacklist.java
@@ -14,7 +14,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @BelongsProject: eCoWorksV3
@@ -77,13 +80,13 @@
     public AllBackMsg updateBlackList(@RequestBody T482106Entity BlackList, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if(BlackList.getBlackId()==0){
+            if (BlackList.getBlackId() == null || BlackList.getBlackId().equals(0)) {
                 msg.setFail("鑾峰彇涓嶅埌榛戝悕鍗旾D锛岃妫�鏌�");
                 return msg;
             }
             HttpSession session = request.getSession();
             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
-            if(StringUtils.isBlank(userCode)){
+            if (StringUtils.isBlank(userCode)) {
                 msg.setFail("鐧诲綍鐢ㄦ埛宸茶繃鏈燂紝璇锋鏌�");
                 return msg;
             }
@@ -112,19 +115,19 @@
     public AllBackMsg deleteBlackList(@RequestParam(defaultValue = "0") Integer blackId, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (blackId == 0) {
+            if (blackId.equals(0)) {
                 msg.setFail("榛戝悕鍗旾D鑾峰彇涓嶅埌");
                 return msg;
             }
             HttpSession session = request.getSession();
             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
-            if(StringUtils.isBlank(userCode)){
+            if (StringUtils.isBlank(userCode)) {
                 msg.setFail("鐧诲綍鐢ㄦ埛宸茶繃鏈燂紝璇锋鏌�");
                 return msg;
             }
             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//鑾峰彇鏁版嵁婧�
             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
-            Integer cont = mailBlackListIfc.deleteBlackList(userCode,blackId);
+            Integer cont = mailBlackListIfc.deleteBlackList(userCode, blackId);
             if (cont > 0) {
                 msg.setOk("宸插垹闄�");
             }
@@ -143,19 +146,37 @@
      * @return
      */
     @GetMapping("/getBlackList.do")
-    public AllBackMsg getSignature(String search, HttpServletRequest request, HttpServletResponse response) {
+    public AllBackMsg getSignature(String search, @RequestParam(defaultValue = "-1") Integer type, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
             HttpSession session = request.getSession();
             String userCode = (String) session.getAttribute(SessionKey.USERCODE);
-            if(StringUtils.isBlank(userCode)){
+            if (StringUtils.isBlank(userCode)) {
                 msg.setFail("鐧诲綍鐢ㄦ埛宸茶繃鏈燂紝璇锋鏌�");
                 return msg;
             }
             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//鑾峰彇鏁版嵁婧�
             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
-            List<T482106Entity> list = mailBlackListIfc.getBlackList(userCode,search);
-            msg.setSuccess("鎵ц鎴愬姛", list);
+            List<T482106Entity> list = mailBlackListIfc.getBlackList(userCode, search, type);
+            Map<String, Object> map = new HashMap<>();
+            if (list.size() > 0) {
+                List<T482106Entity> mail = new ArrayList<>();
+                List<T482106Entity> domain = new ArrayList<>();
+                for (T482106Entity t482106 : list) {
+                    if (t482106.isBlackType()) {//true琛ㄧず鍩熷悕
+                        domain.add(t482106);
+                    } else {//閭鍦板潃
+                        mail.add(t482106);
+                    }
+                }
+                map.put("code", 0);
+                map.put("mail", mail);
+                map.put("domain", domain);
+            } else {
+                map.put("code", 0);
+                map.put("msg", "鏁版嵁鑾峰彇涓虹┖");
+            }
+            msg.setSuccess("鎵ц鎴愬姛", map);
         } catch (Exception e) {
             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
         } finally {
diff --git a/src/com/yc/crm/mail/action/MailController.java b/src/com/yc/crm/mail/action/MailController.java
index 6bc36d7..5649883 100644
--- a/src/com/yc/crm/mail/action/MailController.java
+++ b/src/com/yc/crm/mail/action/MailController.java
@@ -57,7 +57,7 @@
 
 
     /**
-     * 宸﹁竟缁撴瀯灞�
+     * 宸﹁竟缁撴瀯涓婂眰
      *
      * @return
      */
@@ -82,6 +82,32 @@
         }
         return msg;
     }
+    /**
+     * 宸﹁竟缁撴瀯涓嬪眰
+     *
+     * @return
+     */
+    @GetMapping("/getEmailModuleBelow.do")
+    public AllBackMsg getEmailModuleBelow(HttpServletRequest request, HttpServletResponse response) throws Exception {
+        AllBackMsg msg = new AllBackMsg();
+        try {
+            HttpSession session = request.getSession();
+            String userCode = (String) session.getAttribute(SessionKey.USERCODE);//褰撳墠鐧诲綍鐢ㄦ埛
+            if (StringUtils.isBlank(userCode)) {//鑾峰彇涓嶅埌褰撳墠鐢ㄦ埛鐩存帴缁撴潫
+                msg.setFail("鑾峰彇涓嶅埌鐢ㄦ埛淇℃伅");
+                return msg;
+            }
+            DataSourceEntity dataSourceEntity = MultiDataSource.getDataSourceMap(request);//鑾峰彇鏁版嵁婧愪俊鎭�
+            SpObserver.setDBtoInstance("_" + dataSourceEntity.getDbId());//鍒囨崲鏁版嵁婧�
+            List<MailModuleBelowEntity> list =emailIfc.getMailModuleBelowList(userCode);
+            msg.setSuccess("鎵ц鎴愬姛", list);
+        } catch (Exception e) {
+            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
+        } finally {
+            SpObserver.setDBtoInstance();
+        }
+        return msg;
+    }
 
     /**
      * 鑾峰彇閭欢鍒楄〃锛堝寘鎷崏绋跨锛屾敹浠剁锛�
diff --git a/src/com/yc/crm/mail/action/MailFolder.java b/src/com/yc/crm/mail/action/MailFolder.java
index 30dfdcf..ae8b3b9 100644
--- a/src/com/yc/crm/mail/action/MailFolder.java
+++ b/src/com/yc/crm/mail/action/MailFolder.java
@@ -16,7 +16,9 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -30,6 +32,10 @@
 @RestController
 @RequestMapping("/crm/mail/folder")
 public class MailFolder {
+
+    /**
+     * 瑕佽幏鍙杛owId鐩存帴璋冪敤鎺ュ彛 http://yingchen.onbus.cn:9010/getRowid.do
+     */
     @Autowired
     MailFolderIfc mailFolderIfc;
 
@@ -57,8 +63,17 @@
             folder.setUserName(userName);
             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//鑾峰彇鏁版嵁婧�
             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
-            mailFolderIfc.saveFolder(folder);
-            msg.setOk("宸蹭繚瀛�");
+            String rowId = mailFolderIfc.saveFolder(folder);
+            Map<String, Object> map = new HashMap<>();
+            if (StringUtils.isNotBlank(rowId)) {
+                map.put("cod", 0);
+                map.put("rowId", rowId);
+                msg.setSuccess("宸蹭繚瀛�", map);
+            } else {
+                map.put("cod", -1);
+                map.put("msg", "淇濆瓨鍚庤繑鍥瀝owId鍑洪敊");
+                msg.setSuccess("宸蹭繚瀛�", map);
+            }
         } catch (Exception e) {
             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
         } finally {
@@ -80,7 +95,7 @@
     public AllBackMsg updateFolder(@RequestBody T482107Entity folder, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (folder.getFolderId().equals(0)) {
+            if (folder.getFolderId() == null || folder.getFolderId().equals(0)) {
                 msg.setFail("缂哄皯鏂囨湰澶笽D鍊硷紝璇锋鏌�");
                 return msg;
             }
@@ -159,6 +174,7 @@
             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
             List<T482107Entity> t482107Entities = mailFolderIfc.getMailFolder(userCode, search);
             if (t482107Entities.size() > 0) {
+                //杩斿洖鏍戠粨鏋�
                 msg.setSuccess("鎵ц鎴愬姛", getFolderList(t482107Entities, ""));
             }
         } catch (Exception e) {
@@ -190,7 +206,7 @@
                             folderEntity.setRowId(y.getRowId());
                             folderEntity.setParentRowId(y.getParentRowId());
                             folderEntity.setTreeControl(y.getTreeControl());
-                            folderEntity.setList(getFolderList(fo, y.getRowId()));
+                            folderEntity.setList(getFolderList(t482107, y.getRowId()));
                             folder.add(folderEntity);
                         }
                     }
diff --git a/src/com/yc/crm/mail/action/MailQuickText.java b/src/com/yc/crm/mail/action/MailQuickText.java
index 74c33ea..addbd9f 100644
--- a/src/com/yc/crm/mail/action/MailQuickText.java
+++ b/src/com/yc/crm/mail/action/MailQuickText.java
@@ -81,7 +81,7 @@
     public AllBackMsg updateQuickText(@RequestBody T482108Entity quickText, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (quickText.getTextId() == 0) {
+            if (quickText.getTextId() == null || quickText.getTextId().equals(0)) {
                 msg.setFail("缂哄皯蹇�熸枃鏈琁D鍊硷紝璇锋鏌�");
                 return msg;
             }
@@ -116,7 +116,7 @@
     public AllBackMsg deleteQuickText(@RequestParam(defaultValue = "0") Integer textId, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (textId == 0) {
+            if (textId.equals(0)) {
                 msg.setFail("蹇�熸枃鏈紪鍙稩D鑾峰彇涓嶅埌");
                 return msg;
             }
diff --git a/src/com/yc/crm/mail/action/MailSignature.java b/src/com/yc/crm/mail/action/MailSignature.java
index 3f9fda8..b205b03 100644
--- a/src/com/yc/crm/mail/action/MailSignature.java
+++ b/src/com/yc/crm/mail/action/MailSignature.java
@@ -77,7 +77,7 @@
     public AllBackMsg updateSignature(@RequestBody T482109Entity signature, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (signature.getSignId() == null) {
+            if (signature.getSignId() == null || signature.getSignId().equals(0)) {
                 msg.setFail("缂哄皯SignId鍊硷紝璇锋鏌�");
                 return msg;
             }
@@ -112,7 +112,7 @@
     public AllBackMsg deleteSignature(@RequestParam(defaultValue = "0") Integer signId, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (signId == 0) {
+            if (signId.equals(0)) {
                 msg.setFail("绛惧悕ID鑾峰彇涓嶅埌");
                 return msg;
             }
diff --git a/src/com/yc/crm/mail/action/MailTag.java b/src/com/yc/crm/mail/action/MailTag.java
index cb8447b..58a390a 100644
--- a/src/com/yc/crm/mail/action/MailTag.java
+++ b/src/com/yc/crm/mail/action/MailTag.java
@@ -1,6 +1,7 @@
 package com.yc.crm.mail.action;
 
 //import com.yc.crm.mail.entity.T482115Entity;
+
 import com.yc.crm.base.entity.T482115Entity;
 import com.yc.crm.mail.service.MailTagIfc;
 import com.yc.crm.mail.util.AllBackMsg;
@@ -78,7 +79,7 @@
     public AllBackMsg updateTag(@RequestBody T482115Entity tag, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (tag.getTagId() == null) {
+            if (tag.getTagId() == null || tag.getTagId().equals(0)) {
                 msg.setFail("缂哄皯tagId鍊硷紝璇锋鏌�");
                 return msg;
             }
@@ -113,7 +114,7 @@
     public AllBackMsg deleteTag(@RequestParam(defaultValue = "0") Integer tagId, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
-            if (tagId == 0) {
+            if (tagId.equals(0)) {
                 msg.setFail("鏍囩ID鑾峰彇涓嶅埌");
                 return msg;
             }
@@ -139,13 +140,14 @@
 
     /**
      * 鏍囩鏌ヨ
+     *
      * @param search   鎼滅储
      * @param request
      * @param response
      * @return
      */
     @GetMapping("/getTagList.do")
-    public AllBackMsg getTagList(String search, HttpServletRequest request, HttpServletResponse response) {
+    public AllBackMsg getTagList(String search,@RequestParam(defaultValue = "-1") Integer type, HttpServletRequest request, HttpServletResponse response) {
         AllBackMsg msg = new AllBackMsg();
         try {
             HttpSession session = request.getSession();
@@ -156,7 +158,7 @@
             }
             DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//鑾峰彇鏁版嵁婧�
             SpObserver.setDBtoInstance("_" + dataSource.getDbId());
-            List<T482115Entity> list = mailTagIfc.getTagList(userCode, search);
+            List<T482115Entity> list = mailTagIfc.getTagList(userCode, search,type);
             msg.setSuccess("鎵ц鎴愬姛", list);
         } catch (Exception e) {
             msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
diff --git a/src/com/yc/crm/mail/entity/MailModuleBelowEntity.java b/src/com/yc/crm/mail/entity/MailModuleBelowEntity.java
new file mode 100644
index 0000000..b15c381
--- /dev/null
+++ b/src/com/yc/crm/mail/entity/MailModuleBelowEntity.java
@@ -0,0 +1,38 @@
+package com.yc.crm.mail.entity;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @BelongsProject: eCoWorksV3
+ * @BelongsPackage: com.yc.crm.mail.entity
+ * @author: xinyb
+ * @CreateTime: 2024-09-23  11:32
+ * @Description:
+ */
+@Data
+public class MailModuleBelowEntity {
+    private String key;//key
+    private String name;//鍚嶇О
+    private Integer number = 0;//鏁伴噺
+    private Object list;//涓嬭妭鐐�
+
+    public static List<MailModuleBelowEntity> setMailInitial() {
+        List<MailModuleBelowEntity> list1 = new ArrayList<>();
+        MailModuleBelowEntity a = new MailModuleBelowEntity();
+        a.setKey("moduleBelowA");
+        a.setName("鏂囦欢澶�");
+        list1.add(a);
+        MailModuleBelowEntity b = new MailModuleBelowEntity();
+        b.setKey("moduleBelowB");
+        b.setName("鏍囩閭欢");
+        list1.add(b);
+        MailModuleBelowEntity c = new MailModuleBelowEntity();
+        c.setKey("moduleBelowC");
+        c.setName("鏄剧ず鏇村");
+        list1.add(c);
+        return list1;
+    }
+}
diff --git a/src/com/yc/crm/mail/entity/t482101HList.java b/src/com/yc/crm/mail/entity/t482101HList.java
index ae383e5..122a485 100644
--- a/src/com/yc/crm/mail/entity/t482101HList.java
+++ b/src/com/yc/crm/mail/entity/t482101HList.java
@@ -4,6 +4,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @BelongsProject: eCoWorksV3
@@ -21,7 +22,9 @@
     private Integer mailType;// [note: '0锛氳崏绋跨1锛氭敹浠剁2锛氬彂浠剁']
     private String senderName;//鍙戜欢浜哄悕绉�
     private String sender;// [note:'鍙戦�佷汉']
+    private String senderTime;//鍙戦�佹椂闂�
     private List<String> receiver = new ArrayList<>();//鏀朵欢浜洪泦鍚�
+    private String receivingTime;//鏀朵欢鏃堕棿
     private Integer folderId = 0;// [note:'鏂囦欢澶筰d']
     private Integer deleteFlag = 0; //[note:'鏄惁宸插垹闄�']
     private Integer readFlag = 0;// [note:'鏄惁宸茶']
@@ -32,6 +35,8 @@
     private String updateTime;
     private String receiveTime;// [note:'鍥炲鏃堕棿']
     private String plainText;
+    private String attachmentList;//闄勪欢缂栫爜
+    private Map attachmentPath;//闄勪欢璇︽儏
     private String eMail;
     private Integer handle;//鏄惁寰呭鐞� 1鏄� 0涓嶆槸
     private String handleTime;//寰呭鐞嗘椂闂�
diff --git a/src/com/yc/crm/mail/service/MailBlackListIfc.java b/src/com/yc/crm/mail/service/MailBlackListIfc.java
index c752b94..bb88abc 100644
--- a/src/com/yc/crm/mail/service/MailBlackListIfc.java
+++ b/src/com/yc/crm/mail/service/MailBlackListIfc.java
@@ -31,5 +31,5 @@
      * @param name
      * @return
      */
-    List<T482106Entity> getBlackList(String userCode,String search);
+    List<T482106Entity> getBlackList(String userCode,String search,Integer type);
 }
diff --git a/src/com/yc/crm/mail/service/MailBlackListImpl.java b/src/com/yc/crm/mail/service/MailBlackListImpl.java
index 08daa55..9e2ee75 100644
--- a/src/com/yc/crm/mail/service/MailBlackListImpl.java
+++ b/src/com/yc/crm/mail/service/MailBlackListImpl.java
@@ -26,7 +26,7 @@
         try {
             sql += "insert into t482106(companyId,companyName,black_content,userCode,userName,create_time,update_time,black_type) values " +
                     "(" + GridUtils.prossSqlParm(black.getCompanyId()) + "," + GridUtils.prossSqlParm(black.getCompanyName()) + "," +
-                    GridUtils.prossSqlParm(black.getBlackContent())+","+GridUtils.prossSqlParm(black.getUserCode()) + "," +
+                    GridUtils.prossSqlParm(black.getBlackContent()) + "," + GridUtils.prossSqlParm(black.getUserCode()) + "," +
                     GridUtils.prossSqlParm(black.getUserName()) + ",getdate(),getdate(),'" + black.isBlackType() + "')";
             jdbcTemplate.update(sql);
         } catch (Exception e) {
@@ -50,7 +50,7 @@
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Integer deleteBlackList(String userCode,Integer blackId) {
+    public Integer deleteBlackList(String userCode, Integer blackId) {
         String sql = "set nocount on \n";
         try {
             sql += "delete t482106 where black_id=" + blackId + " and userCode='" + userCode + "'\n";
@@ -62,13 +62,16 @@
     }
 
     @Override
-    public List<T482106Entity> getBlackList(String userCode,String search) {
+    public List<T482106Entity> getBlackList(String userCode, String search, Integer type) {
         String sql = "set nocount on \n";
         try {
             sql += "select companyId,companyName,black_id,black_content,userCode,userName,create_time,update_time,black_type,DocVersion " +
-                    "from  t482106 where userCode="+GridUtils.prossSqlParm(userCode);
+                    "from  t482106 where userCode=" + GridUtils.prossSqlParm(userCode);
+            if (!type.equals(-1)) {
+                sql += " and black_type=" + type;
+            }
             if (StringUtils.isNotBlank(search)) {
-                sql += " and black_content like '%" + search+"%'";
+                sql += " and black_content like '%" + search + "%'";
             }
             sql += "order by black_id \n";
             return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(T482106Entity.class));
diff --git a/src/com/yc/crm/mail/service/MailFolderIfc.java b/src/com/yc/crm/mail/service/MailFolderIfc.java
index 1530fa3..1f79aec 100644
--- a/src/com/yc/crm/mail/service/MailFolderIfc.java
+++ b/src/com/yc/crm/mail/service/MailFolderIfc.java
@@ -9,7 +9,7 @@
      * 淇濆瓨閭欢鏂囦欢澶�
      * @param quickText
      */
-    void saveFolder(T482107Entity folder);
+    String saveFolder(T482107Entity folder);
 
     /**
      * 淇敼閭欢鏂囦欢澶�
diff --git a/src/com/yc/crm/mail/service/MailFolderImpl.java b/src/com/yc/crm/mail/service/MailFolderImpl.java
index 15f2d30..394f6ec 100644
--- a/src/com/yc/crm/mail/service/MailFolderImpl.java
+++ b/src/com/yc/crm/mail/service/MailFolderImpl.java
@@ -21,26 +21,30 @@
 public class MailFolderImpl extends BaseService implements MailFolderIfc {
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void saveFolder(T482107Entity folder) {
+    public String saveFolder(T482107Entity folder) {
         String sql = "set nocount on\n";
         try {
+            sql += "declare @rowId varchar(40),@parentRowId varchar(40) =" + GridUtils.prossSqlParm(folder.getParentRowId()) + "\n";
+            sql += "exec getXXXX @rowId output \n";//鑾峰彇涓�涓猺owId
             sql += "insert into t482107(companyId,companyName,folder_name,userCode,userName,sort_id,create_time,update_time,rowId,treeControl,parentRowId) " +
                     "values (" + GridUtils.prossSqlParm(folder.getCompanyId()) + "," + GridUtils.prossSqlParm(folder.getCompanyName()) + "," +
                     GridUtils.prossSqlParm(folder.getFolderName()) + "," + GridUtils.prossSqlParm(folder.getUserCode()) + "," +
-                    GridUtils.prossSqlParm(folder.getUserName()) + "," + folder.getSortId() + ",getdate(),getdate()," +
-                    GridUtils.prossSqlParm(folder.getRowId()) + "," + GridUtils.prossSqlParm(folder.getTreeControl()) + "," + GridUtils.prossSqlParm(folder.getParentRowId()) + ")";
-            jdbcTemplate.update(sql);
+                    GridUtils.prossSqlParm(folder.getUserName()) + "," + folder.getSortId() + ",getdate(),getdate(),@rowId," +
+                    GridUtils.prossSqlParm(folder.getTreeControl()) + ",@parentRowId)";
+            sql += "select @rowId as rowId";
+            return jdbcTemplate.queryForObject(sql, String.class);
         } catch (Exception e) {
             throw e;
         }
     }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer updateFolder(T482107Entity folder) {
         String sql = "set nocount on\n";
         try {
             sql += "update t482107 set folder_name=" + GridUtils.prossSqlParm(folder.getFolderName()) +
-                    ",sort_id=" + folder.getSortId() + ",update_time=getdate() " + ",rowId=" + GridUtils.prossSqlParm(folder.getRowId()) +
+                    ",sort_id=" + folder.getSortId() + ",update_time=getdate() " + //",rowId=" + GridUtils.prossSqlParm(folder.getRowId()) +
                     ",treeControl=" + GridUtils.prossSqlParm(folder.getTreeControl()) + ",parentRowId=" + GridUtils.prossSqlParm(folder.getParentRowId()) +
                     "where folder_id=" + folder.getFolderId() + " and userCode=" + GridUtils.prossSqlParm(folder.getUserCode()) + "\n";
             sql += "select @@ROWCOUNT";
@@ -49,6 +53,7 @@
             throw e;
         }
     }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer deleteFolder(String userCode, Integer folderId) {
diff --git a/src/com/yc/crm/mail/service/MailIfc.java b/src/com/yc/crm/mail/service/MailIfc.java
index 47b581a..2a200e9 100644
--- a/src/com/yc/crm/mail/service/MailIfc.java
+++ b/src/com/yc/crm/mail/service/MailIfc.java
@@ -1,5 +1,6 @@
 package com.yc.crm.mail.service;
 
+import com.yc.crm.mail.entity.MailModuleBelowEntity;
 import com.yc.crm.mail.entity.MailModuleEntity;
 import com.yc.crm.mail.entity.t482101HEntity;
 import com.yc.crm.mail.entity.t482101HList;
@@ -134,6 +135,7 @@
      */
     abstract List<MailModuleEntity> getMailModuleList(String userCode);
 
+    abstract List<MailModuleBelowEntity> getMailModuleBelowList(String userCode);
     /**
      * 寰呭鐞嗛偖浠�
      * @param handleTime
diff --git a/src/com/yc/crm/mail/service/MailImpl.java b/src/com/yc/crm/mail/service/MailImpl.java
index 9f55ada..2002cfd 100644
--- a/src/com/yc/crm/mail/service/MailImpl.java
+++ b/src/com/yc/crm/mail/service/MailImpl.java
@@ -1,6 +1,7 @@
 package com.yc.crm.mail.service;
 
 import com.yc.action.grid.GridUtils;
+import com.yc.crm.mail.action.MailFolder;
 import com.yc.crm.mail.entity.*;
 import com.yc.entity.AttachmentConfig;
 import com.yc.sdk.shopping.service.imagedata.ShoppingImageDataIfc;
@@ -29,6 +30,10 @@
     MailAccountIfc emailAccountIfc;
     @Autowired
     ShoppingImageDataIfc imgData;
+    @Autowired
+    MailTagIfc mailTagIfc;
+    @Autowired
+    MailFolderIfc mailFolderIfc;
 
     final static String shoppingImageServer = AttachmentConfig.get("attachment.server");
 
@@ -180,7 +185,7 @@
         String sql = "set nocount on\n";
         try {
             sql += "declare @messageId varchar(200) ='" + messageId + "' \n";
-            sql += "delete t482101H where messageId in (select list from GetInStr(@messageId))\n";//鍒犻櫎
+            sql += "update  t482101H where messageId in (select list from GetInStr(@messageId))\n";//鍒犻櫎
             sql += " select @@ROWCOUNT";
             return jdbcTemplate.queryForObject(sql, Integer.class);
         } catch (Exception e) {
@@ -194,7 +199,7 @@
         try {
             sql += "select top 1 DocCode,companyId,companyName,senderName,senderName,sender,receiver,mailType,subject,content,plain_text,file_unid as fileUNID,messageId," +
                     "read_flag,delete_flag,attach_flag,urgent_flag,receipt_flag,track_flag,userCode,userName,create_time,update_time," +
-                    "send_status,receive_time,sign_id,attachment_list,remark,remark," +
+                    "send_status,receive_time,sign_id,attachment_list,remark,remark,sender_time,receiving_time," +
                     "(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle,handle_time," +
                     "DocVersion from t482101H " +
                     "where docCode=" + GridUtils.prossSqlParm(docCode);
@@ -209,9 +214,9 @@
         String sql = "set nocount on\n";
         try {
             sql += "select companyId,companyName,mailType,DocCode,senderName,sender,receiver,subject,plain_text," +
-                    "receive_time,update_time,create_time,senderName,sender,userCode,userName,folder_id,delete_Flag, " +
+                    "receive_time,update_time,create_time,senderName,sender,userCode,userName,folder_id,delete_Flag,attachment_list," +
                     "read_Flag,(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle," +
-                    "handle_time from t482101H ";
+                    "handle_time,sender_time,receiving_time from t482101H ";
             sql += " where userCode=" + GridUtils.prossSqlParm(userCode);
             sql += " and mailType=" + mailType;//0锛氳崏绋跨 1锛氭敹浠剁 2锛氬彂浠剁
             if (StringUtils.isNotBlank(email)) {
@@ -239,7 +244,7 @@
             sql += "select companyId,companyName,mailType,DocCode,senderName,sender,receiver,subject,plain_text," +
                     "receive_time,update_time,create_time,senderName,sender,userCode,userName,folder_id,delete_Flag, " +
                     "read_Flag,(case when (isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()) then 1 else 0 end) as handle," +
-                    "handle_time from t482101H ";
+                    "handle_time,sender_time,receiving_time from t482101H ";
             sql += " where isnull(handle_time,'') <> '' and isnull(handle_time,'') < getdate()";
             sql += " and userCode=" + GridUtils.prossSqlParm(userCode) + " and receiver like '%" + email + "%'";
             sql += " order by docCode asc \n";
@@ -391,6 +396,32 @@
         }
     }
 
+    @Override
+    public List<MailModuleBelowEntity> getMailModuleBelowList(String userCode) {
+        List<MailModuleBelowEntity> below = MailModuleBelowEntity.setMailInitial();
+        try {
+            for (MailModuleBelowEntity b : below) {
+                String key = b.getKey();
+                if (key.equals("moduleBelowA")) {//鏂囦欢澶�
+                    List<T482107Entity> t482107 = mailFolderIfc.getMailFolder(userCode, "");
+                    b.setList(MailFolder.getFolderList(t482107, ""));
+                }
+                if (key.equals("moduleBelowB")) {//鏍囩閭欢
+                    b.setList(mailTagIfc.getTagList(userCode, "", -1));
+                }
+                if (key.equals("moduleBelowC")) {//鏄剧ず鏇村
+                    List<MailModuleBelowEntity> CList = new ArrayList<>();
+                    MailModuleBelowEntity belowC = new MailModuleBelowEntity();
+
+
+                }
+            }
+            return below;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void updateMailHandle(String handleTime, String docCode) {
diff --git a/src/com/yc/crm/mail/service/MailServiceImpl.java b/src/com/yc/crm/mail/service/MailServiceImpl.java
index 96e0c40..05c828e 100644
--- a/src/com/yc/crm/mail/service/MailServiceImpl.java
+++ b/src/com/yc/crm/mail/service/MailServiceImpl.java
@@ -501,7 +501,7 @@
                 textHtmlFound = true;
             }
         }
-        return textPlainFound && textHtmlFound;
+        return textPlainFound || textHtmlFound;
     }
 
     /**
diff --git a/src/com/yc/crm/mail/service/MailTagIfc.java b/src/com/yc/crm/mail/service/MailTagIfc.java
index 5412c8f..f2af4cb 100644
--- a/src/com/yc/crm/mail/service/MailTagIfc.java
+++ b/src/com/yc/crm/mail/service/MailTagIfc.java
@@ -33,5 +33,5 @@
      * @param name
      * @return
      */
-    List<T482115Entity> getTagList(String userCode, String search);
+    List<T482115Entity> getTagList(String userCode, String search,Integer type);
 }
diff --git a/src/com/yc/crm/mail/service/MailTagImpl.java b/src/com/yc/crm/mail/service/MailTagImpl.java
index 9cd54a5..121bd23 100644
--- a/src/com/yc/crm/mail/service/MailTagImpl.java
+++ b/src/com/yc/crm/mail/service/MailTagImpl.java
@@ -34,6 +34,7 @@
             throw e;
         }
     }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer updateTag(T482115Entity tag) {
@@ -49,6 +50,7 @@
             throw e;
         }
     }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer deleteTag(String userCode, Integer tagId) {
@@ -63,11 +65,14 @@
     }
 
     @Override
-    public List<T482115Entity> getTagList(String userCode, String search) {
+    public List<T482115Entity> getTagList(String userCode, String search, Integer type) {
         String sql = "set nocount on\n";
         try {
             sql += "select companyId,companyName,tag_id,tag_name,userCode,userName,sort_id,create_time,update_time,tag_desc,system_flag,tag_color,tag_type " +
                     "from t482115 where userCode=" + GridUtils.prossSqlParm(userCode);
+            if (!type.equals(-1)) {
+                sql += " and system_flag=" + type;
+            }
             if (StringUtils.isNotBlank(search)) {
                 sql += " and tag_name like '%" + search + "%'";
             }

--
Gitblit v1.8.0