|
@@ -9,6 +9,8 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ebei.screen.common.config.auth.LoginUtils;
|
|
|
import com.ebei.screen.common.constants.EbaMessageCode;
|
|
|
import com.ebei.screen.common.constants.EbaSystemConstants;
|
|
|
+import com.ebei.screen.common.response.BasePageBean;
|
|
|
+import com.ebei.screen.common.response.PageBean;
|
|
|
import com.ebei.screen.common.response.ResponseBean;
|
|
|
import com.ebei.screen.common.response.ResponseBuilder;
|
|
|
import com.ebei.screen.common.util.EbaUtils;
|
|
@@ -30,7 +32,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Supplier;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* EBA系统大屏
|
|
@@ -359,7 +363,10 @@ public class EbaSystemServiceImpl implements EbaSystemService {
|
|
|
Map data = (Map) map.get("data");
|
|
|
data.keySet().forEach(x -> results.add((Map) data.get(x)));
|
|
|
}
|
|
|
- return ResponseBuilder.ok(results);
|
|
|
+ JSONObject obj = mongoTemplate.findById("relevanceProject", JSONObject.class, "relevanceProject");
|
|
|
+ JSONObject dd = obj != null ? obj.getJSONObject("data") : new JSONObject();
|
|
|
+ List<String> collect = dd.values().stream().map(x -> (String) x).distinct().collect(Collectors.toList());
|
|
|
+ return ResponseBuilder.ok(results.stream().filter(x -> !collect.contains(x.get("projectId").toString())).collect(Collectors.toList()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -515,10 +522,52 @@ public class EbaSystemServiceImpl implements EbaSystemService {
|
|
|
String str = HttpRequest.get(getProjectList + LoginUtils.getUserId())
|
|
|
.execute().body();
|
|
|
List<Map> projectLists = LeviUtils.getJsonFieldMany(str, "items", Map.class);
|
|
|
+ JSONObject obj = mongoTemplate.findById("relevanceProject", JSONObject.class, "relevanceProject");
|
|
|
+ JSONObject dd = obj != null ? obj.getJSONObject("data") : new JSONObject();
|
|
|
+ Set<String> projectIds = dd.keySet();
|
|
|
+ List<Map> projectListsNew = projectLists.stream().filter(x -> !projectIds.contains(x.get("projectId").toString())).collect(Collectors.toList());
|
|
|
JSONObject data = new JSONObject();
|
|
|
- projectLists.forEach(x -> data.put(x.get("projectId").toString(), x.get("projectName").toString()));
|
|
|
+ projectListsNew.forEach(x -> data.put(x.get("projectId").toString(), x.get("projectName").toString()));
|
|
|
EbaUtils.crmProjectInfo = data;
|
|
|
- return ResponseBuilder.ok(projectLists);
|
|
|
+ return ResponseBuilder.ok(projectListsNew);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页查询所有已配置关联的项目列表
|
|
|
+ *
|
|
|
+ * @param pageBean
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean getProjectListByPage(BasePageBean pageBean) {
|
|
|
+ JSONObject obj = mongoTemplate.findById("relevanceProject", JSONObject.class, "relevanceProject");
|
|
|
+ JSONObject data = obj != null ? obj.getJSONObject("data") : new JSONObject();
|
|
|
+ JSONObject crmProjectInfo = EbaUtils.crmProjectInfo;
|
|
|
+ List<Map> list = new ArrayList<>();
|
|
|
+ data.keySet().forEach(x -> list.add(Levi.by("ebaProjectId", x).set("ebaProjectName", crmProjectInfo.get(x)).set("ebeiProjectId", data.getString(x)).set("ebeiProjectName", EbaUtils.project.getJSONObject(data.getString(x)).getString("projectName"))));
|
|
|
+ Supplier<Stream<Map>> resStream = () -> list.stream();
|
|
|
+ List<Map> results = resStream.get().skip((pageBean.getPageNum() - 1) * pageBean.getPageSize()).limit(pageBean.getPageSize()).collect(Collectors.toList());
|
|
|
+ return ResponseBuilder.ok(PageBean.<Map>builder().total(resStream.get().count()).row(results).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除已有的关联项目
|
|
|
+ *
|
|
|
+ * @param ebeiProjectId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean deleteRelevance(String ebeiProjectId) {
|
|
|
+ JSONObject obj = mongoTemplate.findById("relevanceProject", JSONObject.class, "relevanceProject");
|
|
|
+ JSONObject data = obj != null ? obj.getJSONObject("data") : new JSONObject();
|
|
|
+ data.remove(ebeiProjectId);
|
|
|
+ Query query = new Query();
|
|
|
+ query.addCriteria(Criteria.where("_id").is("relevanceProject"));
|
|
|
+ Update update = new Update();
|
|
|
+ update.set("data", data);
|
|
|
+ mongoTemplate.upsert(query, update, "relevanceProject");
|
|
|
+ return ResponseBuilder.ok("删除成功");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|