xinyb
2024-09-21 53241c9e1a7e4cbb7383b77919a86bba9c1a91e7
src/com/yc/crm/mail/action/MailFolder.java
@@ -1,5 +1,6 @@
package com.yc.crm.mail.action;
import com.yc.crm.mail.entity.FolderEntity;
import com.yc.crm.mail.entity.T482107Entity;
import com.yc.crm.mail.service.MailFolderIfc;
import com.yc.crm.mail.util.AllBackMsg;
@@ -14,7 +15,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @BelongsProject: eCoWorksV3
@@ -64,6 +67,7 @@
        return msg;
    }
    /**
     * 修改邮件文件夹
     *
@@ -76,7 +80,7 @@
    public AllBackMsg updateFolder(@RequestBody T482107Entity folder, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            if (folder.getFolderId() == 0) {
            if (folder.getFolderId().equals(0)) {
                msg.setFail("缺少文本夹ID值,请检查");
                return msg;
            }
@@ -111,7 +115,7 @@
    public AllBackMsg deleteFolder(@RequestParam(defaultValue = "0") Integer folderId, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            if (folderId == 0) {
            if (folderId.equals(0)) {
                msg.setFail("邮件文件夹编号ID获取不到");
                return msg;
            }
@@ -155,7 +159,7 @@
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            List<T482107Entity> t482107Entities = mailFolderIfc.getMailFolder(userCode, search);
            if (t482107Entities.size() > 0) {
                msg.setSuccess("执行成功", t482107Entities);
                msg.setSuccess("执行成功", getFolderList(t482107Entities, ""));
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
@@ -164,4 +168,37 @@
        }
        return msg;
    }
    /**
     * 文件夹树结构
     *
     * @param t482107
     * @param rowId
     * @return
     */
    public static List<FolderEntity> getFolderList(List<T482107Entity> t482107, String rowId) {
        List<FolderEntity> folder = new ArrayList<>();
        try {
            for (T482107Entity t : t482107) {
                if (folder.stream().filter(f -> f.getParentRowId().equals(rowId)).count() == 0) {
                    List<T482107Entity> fo = t482107.stream().filter(o -> o.getParentRowId().equals(rowId)).collect(Collectors.toList());
                    if (fo.size() > 0) {
                        for (T482107Entity y : fo) {
                            FolderEntity folderEntity = new FolderEntity();
                            folderEntity.setFolderId(y.getFolderId());
                            folderEntity.setFolderName(y.getFolderName());
                            folderEntity.setRowId(y.getRowId());
                            folderEntity.setParentRowId(y.getParentRowId());
                            folderEntity.setTreeControl(y.getTreeControl());
                            folderEntity.setList(getFolderList(fo, y.getRowId()));
                            folder.add(folderEntity);
                        }
                    }
                }
            }
            return folder;
        } catch (Exception e) {
            throw e;
        }
    }
}