|
@ -29,8 +29,7 @@ import com.yihu.wlyy.web.third.gateway.service.GcLabelService;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.DictModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.HealthEduArticlePatientModel;
|
|
|
import io.searchbox.client.JestClient;
|
|
|
import io.searchbox.core.Search;
|
|
|
import io.searchbox.core.SearchResult;
|
|
|
import io.searchbox.core.*;
|
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
|
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
|
@ -117,10 +116,10 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
sql2.append(" and sendType='"+sendType+"' ");
|
|
|
}
|
|
|
if(!StringUtils.isEmpty(firstLevelCategoryId)){
|
|
|
sql2.append("and level1Type="+firstLevelCategoryId);
|
|
|
sql2.append("and firstLevelCategoryId="+firstLevelCategoryId);
|
|
|
}
|
|
|
if(!StringUtils.isEmpty(secondLevelCategoryId)){
|
|
|
sql2.append("and level2Type="+secondLevelCategoryId);
|
|
|
sql2.append("and secondLevelCategoryId="+secondLevelCategoryId);
|
|
|
}
|
|
|
if(myArticle==1){
|
|
|
sql2.append(" and operatorId="+sendCode);
|
|
@ -139,7 +138,7 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
sql2.append(" and createTime <='"+sendTimeEnd+"'");
|
|
|
}
|
|
|
sql2.append(" order by createTime limit " + page + "," + pagesize);
|
|
|
List<com.yihu.es.entity.HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql2.toString(), com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
|
|
|
List<HealthEduArticleES> esList = elasticsearchUtil.excute(sql2.toString(), HealthEduArticleES.class, esIndex, esType);
|
|
|
Map<String, HealthEduArticlePatientModel> result = new HashMap<>();
|
|
|
HealthEduArticlePatientModel heapm = null;
|
|
|
com.alibaba.fastjson.JSONObject article = null;
|
|
@ -147,7 +146,7 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
|
|
|
List<HealthEduArticlePatientModel> resultList = new ArrayList<>();
|
|
|
|
|
|
for (HealthEduArticlePatient one : esList) {
|
|
|
for (HealthEduArticleES one : esList) {
|
|
|
article = thirdJkEduArticleService.getArticalById(one.getArticleId(),"");
|
|
|
if (result.get(one.getArticleId()) != null) {
|
|
|
heapm = result.get(one.getArticleId());
|
|
@ -162,19 +161,27 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
heapm.setAttachedTitle(article.getString("articleTitle"));
|
|
|
heapm.setAttachedContent(article.getString("articleContent"));
|
|
|
heapm.setArticleType(article.getString("articleType"));
|
|
|
heapm.setLevel1Type(article.getString("firstLevelCategoryId"));
|
|
|
heapm.setLevel2Type(article.getString("secondLevelCategoryId"));
|
|
|
heapm.setLevel1Type(one.getFirstLevelCategoryId());
|
|
|
heapm.setLevel1TypeName(one.getFirstLevelCategoryName());
|
|
|
heapm.setLevel2Type(one.getSecondLevelCategoryId());
|
|
|
heapm.setLevel2TypeName(one.getSecondLevelCategoryName());
|
|
|
heapm.setLevel(article.getString("articlelevel"));
|
|
|
heapm.setAllCount(heapm.getAllCount() + one.getPatients().size());
|
|
|
if(article.getString("browseNumber") != null){
|
|
|
// heapm.setAllCount(heapm.getAllCount() + one.getPatients().size());
|
|
|
if(!StringUtils.isEmpty(article.getString("browseNumber"))){
|
|
|
heapm.setBrowseNumbere(Integer.valueOf(article.getString("browseNumber")));//文章浏览数
|
|
|
}else{
|
|
|
heapm.setBrowseNumbere(0);//文章浏览数
|
|
|
}
|
|
|
if(article.getString("commentNumber") != null){
|
|
|
if(!StringUtils.isEmpty(article.getString("commentNumber"))){
|
|
|
heapm.setCommentNumber(Integer.valueOf(article.getString("commentNumber")));//文章评论数
|
|
|
}else{
|
|
|
heapm.setCommentNumber(0);//文章评论数
|
|
|
}
|
|
|
|
|
|
if(article.getString("pointNumber") != null){
|
|
|
if(!StringUtils.isEmpty(article.getString("pointNumber"))){
|
|
|
heapm.setPointNumber(Integer.valueOf(article.getString("pointNumber")));//文章点赞数
|
|
|
}else{
|
|
|
heapm.setPointNumber(0);//文章点赞数
|
|
|
}
|
|
|
|
|
|
heapm.setArticleCover(article.getString("articleCover"));//封面
|
|
@ -201,20 +208,20 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public List<HealthEduArticlePatient> pushArticleListCount(String sendCode, String firstLevelCategoryId,String secondLevelCategoryId,Integer myArticle,Integer sendType,String currentUserRole,
|
|
|
public List<HealthEduArticleES> pushArticleListCount(String sendCode, String firstLevelCategoryId,String secondLevelCategoryId,Integer myArticle,Integer sendType,String currentUserRole,
|
|
|
String currentUserRoleLevel,String articleTitle,String sendTimeStart,String sendTimeEnd) throws Exception {
|
|
|
|
|
|
StringBuffer sql2 = new StringBuffer("select * from " + esType +
|
|
|
" where doctorCode='" + sendCode + "'");
|
|
|
" where sendCode='" + sendCode + "'");
|
|
|
if(sendType==1){
|
|
|
|
|
|
sql2.append(" and sendType='"+sendType+"' ");
|
|
|
}
|
|
|
if(!StringUtils.isEmpty(firstLevelCategoryId)){
|
|
|
sql2.append("and level1Type="+firstLevelCategoryId);
|
|
|
sql2.append("and firstLevelCategoryId="+firstLevelCategoryId);
|
|
|
}
|
|
|
if(!StringUtils.isEmpty(secondLevelCategoryId)){
|
|
|
sql2.append("and level2Type="+secondLevelCategoryId);
|
|
|
sql2.append("and secondLevelCategoryId="+secondLevelCategoryId);
|
|
|
}
|
|
|
if(myArticle==1){
|
|
|
sql2.append(" and operatorId="+sendCode);
|
|
@ -232,7 +239,7 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
sendTimeEnd = elasticsearchUtil.changeTime(sendTimeEnd);
|
|
|
sql2.append(" and createTime <='"+sendTimeEnd+"'");
|
|
|
}
|
|
|
List<HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql2.toString(), com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
|
|
|
List<HealthEduArticleES> esList = elasticsearchUtil.excute(sql2.toString(),HealthEduArticleES.class, esIndex, esType);
|
|
|
return esList;
|
|
|
}
|
|
|
|
|
@ -1041,31 +1048,68 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 一键修改居民推送文章的文章为已读
|
|
|
* @param patient
|
|
|
*/
|
|
|
public void readAllArticleNew(String patient){
|
|
|
JestClient jestClient = null;
|
|
|
|
|
|
try {
|
|
|
jestClient = elasticFactory.getJestClient();
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
searchSourceBuilder.query(
|
|
|
new BoolQueryBuilder()
|
|
|
.must(QueryBuilders.matchQuery("patientCode", patient))
|
|
|
);
|
|
|
Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType).build();
|
|
|
SearchResult result = jestClient.execute(search);
|
|
|
List<HealthEduArticleES> dataList = result.getSourceAsObjectList(HealthEduArticleES.class);
|
|
|
if(!dataList.isEmpty()){
|
|
|
//根据id批量删除
|
|
|
Bulk.Builder bulk = new Bulk.Builder().defaultIndex(esIndex).defaultType(esType);
|
|
|
for (HealthEduArticleES obj : dataList) {
|
|
|
Delete index = new Delete.Builder(obj.getId()).build();
|
|
|
bulk.addAction(index);
|
|
|
}
|
|
|
BulkResult br = jestClient.execute(bulk.build());
|
|
|
}
|
|
|
for (HealthEduArticleES healthEduArticleES:dataList) {
|
|
|
healthEduArticleES.setIsRead(1);
|
|
|
}
|
|
|
elastricSearchSave.save(dataList,esIndex,esType);
|
|
|
jestClient.shutdownClient();
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
} finally {
|
|
|
if (jestClient != null) {
|
|
|
jestClient.shutdownClient();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
public JSONArray pushArticleLogs(int page, int pagesize, String patientCode,String level1Type) throws Exception {
|
|
|
|
|
|
pagesize = page * pagesize;
|
|
|
page = (page - 1) * pagesize;
|
|
|
//
|
|
|
// StringBuffer sql2 = new StringBuffer("select * from " + esType +
|
|
|
// " where sendCode='" + sendCode + "' ");
|
|
|
// sql2.append(" order by createTime limit " + page + "," + pagesize);
|
|
|
String sql = "SELECT * FROM " + esType + " where nested(patients.code)= '" + patientCode + "' ";
|
|
|
|
|
|
String sql = "SELECT * FROM " + esType + " where patientCode= '" + patientCode + "' ";
|
|
|
|
|
|
if(!StringUtils.isEmpty(level1Type)){
|
|
|
sql= sql + " and level1Type = '"+level1Type+"' ";
|
|
|
sql= sql + " and firstLevelCategoryId = '"+level1Type+"' ";
|
|
|
}
|
|
|
|
|
|
if(page !=0 && pagesize !=0){
|
|
|
sql= sql+ " order by createTime desc limit " + page + "," + pagesize;
|
|
|
}
|
|
|
|
|
|
List<com.yihu.es.entity.HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql, com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
|
|
|
List<HealthEduArticleES> esList = elasticsearchUtil.excute(sql, HealthEduArticleES.class, esIndex, esType);
|
|
|
HealthEduArticlePatientModel heapm = null;
|
|
|
com.alibaba.fastjson.JSONObject article = null;
|
|
|
List<HealthEduArticlePatientModel> result = new ArrayList<>();
|
|
|
Doctor doctor = null;
|
|
|
for (HealthEduArticlePatient one : esList) {
|
|
|
for (HealthEduArticleES one : esList) {
|
|
|
article = thirdJkEduArticleService.getArticalById(one.getArticleId(),"");
|
|
|
heapm = new HealthEduArticlePatientModel();
|
|
|
heapm.setSendName(one.getSendName());
|
|
@ -1078,7 +1122,7 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
heapm.setLevel1Type(article.getString("firstLevelCategoryId"));
|
|
|
heapm.setLevel2Type(article.getString("secondLevelCategoryId"));
|
|
|
heapm.setLevel(article.getString("articlelevel"));
|
|
|
heapm.setAllCount(heapm.getAllCount() + one.getPatients().size());
|
|
|
// heapm.setAllCount(heapm.getAllCount() + one.getPatients().size());
|
|
|
heapm.setBrowseNumbere(Integer.valueOf(article.getString("browseNumber")));//文章浏览数
|
|
|
heapm.setCommentNumber(Integer.valueOf(article.getString("commentNumber")));//文章评论数
|
|
|
heapm.setPointNumber(Integer.valueOf(article.getString("pointNumber")));//文章点赞数
|
|
@ -1086,8 +1130,8 @@ public class JMJkEduArticleService extends BaseService {
|
|
|
heapm.setComputeTime(computeTime(article.getString("insertTime")));
|
|
|
heapm.setOperatorName(article.getString("operatorName"));
|
|
|
heapm.setSendType(one.getSendType());//发送类型
|
|
|
heapm.setIsread(one.getIsread());//已读未读标识,1已读,2未读
|
|
|
heapm.setLeaveWords(one.getLeaveWords());
|
|
|
heapm.setIsread(String.valueOf(one.getIsRead()));//已读未读标识,1已读,2未读
|
|
|
heapm.setLeaveWords(one.getLeaveWords());//医生留言
|
|
|
doctor = doctorDao.findByCode(one.getDoctorCode());
|
|
|
heapm.setPhoto(doctor.getPhoto());
|
|
|
result.add(heapm);
|