diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dao/CasesRecordDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dao/CasesRecordDao.java index 21a377f8..dd15c9da 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dao/CasesRecordDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dao/CasesRecordDao.java @@ -24,8 +24,7 @@ public interface CasesRecordDao extends JpaRepository, JpaSpecifi @Query(nativeQuery = true, value = "select c.* from ( select b.*" + " from boe_cases_recommend_push_record a INNER JOIN boe_cases b on a.case_id = b.id" + - " where b.deleted=0 and a.push_status = 3 and a.push_user_id= :#{#condition.userId}" + - " and if(IFNULL(:#{#condition.refId},'') !='' ,a.recommend_id = :#{#condition.refId},1=1) " + + " where b.deleted=0 and a.push_status = 3 and a.deleted=0 and a.push_user_id= :#{#condition.userId}" + " and if(IFNULL(:#{#condition.keyWord},'')!='',b.title like CONCAT('%',:#{#condition.keyWord},'%')" + " or b.author_name like CONCAT('%',:#{#condition.keyWord},'%')" + " or b.keyword1 like CONCAT('%',:#{#condition.keyWord},'%')" + @@ -41,8 +40,7 @@ public interface CasesRecordDao extends JpaRepository, JpaSpecifi " order by a.sys_create_time DESC, a.read_flag ASC) as c group by c.id", countQuery = "select count(*) FROM (select c.* from ( select b.*" + " from boe_cases_recommend_push_record a INNER JOIN boe_cases b on a.case_id = b.id " + - " where b.deleted=0 and a.push_status = 3 and a.push_user_id= :#{#condition.userId}" + - " and if(IFNULL(:#{#condition.refId},'') !='' ,a.recommend_id = :#{#condition.refId},1=1) " + + " where b.deleted=0 and a.push_status = 3 and a.deleted=0 and a.push_user_id= :#{#condition.userId}" + " and if(IFNULL(:#{#condition.keyWord},'')!='',b.title like CONCAT('%',:#{#condition.keyWord},'%')" + " or b.author_name like CONCAT('%',:#{#condition.keyWord},'%')" + " or b.keyword1 like CONCAT('%',:#{#condition.keyWord},'%')" + diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index eb399718..8fdc68f2 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -267,14 +267,14 @@ public class Cases extends BaseEntity { private String recommendOrgName; @Transient - private Long recommendId; + private String refId; - public Long getRecommendId() { - return recommendId; + public String getRefId() { + return refId; } - public void setRecommendId(Long recommendId) { - this.recommendId = recommendId; + public void setRefId(String refId) { + this.refId = refId; } public String getTitle() { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/CasesRecommendPushRecord.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/CasesRecommendPushRecord.java index 78233e86..d3e73305 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/CasesRecommendPushRecord.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/CasesRecommendPushRecord.java @@ -94,7 +94,8 @@ public class CasesRecommendPushRecord extends BaseEntity { public CasesRecommendPushRecord() { } - public CasesRecommendPushRecord(String recommendId,String caseId) { + public CasesRecommendPushRecord(String id,String recommendId,String caseId) { + this.setId(id); this.recommendId = recommendId; this.caseId = caseId; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java index 55f1cdf7..11f3ca36 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java @@ -211,6 +211,7 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR .addUpdateField("readFlag", 1) .addUpdateField("readStartTime", new Date()) .addFilter(FieldFilters.eq("id", caseRecommendId)) + .addFilter(FieldFilters.eq("readFlag", 0)) .builder()) > 0; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 3b042444..1fa5ad91 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -288,7 +288,7 @@ public class CasesServiceImpl implements ICasesService { if (CollUtil.isNotEmpty(list) && StrUtil.isNotBlank(caseVo.getUserId())) { List caseIds = list.stream().map(Cases::getId).collect(Collectors.toList()); QueryBuilder recommendCasesQuery = QueryBuilder.from(CasesRecommendPushRecord.class); - recommendCasesQuery.addField("new CasesRecommendPushRecord(recommendId,caseId)"); + recommendCasesQuery.addField("new CasesRecommendPushRecord(id,recommendId,caseId)"); List subFilters = new ArrayList<>(); subFilters.add(FieldFilters.eq("pushUserId", caseVo.getUserId())); subFilters.add(FieldFilters.in("caseId", caseIds)); @@ -341,7 +341,7 @@ public class CasesServiceImpl implements ICasesService { String userId = caseVo.getUserId(); if (CollUtil.isNotEmpty(caseIds)) { QueryBuilder recommendCasesQuery = QueryBuilder.from(CasesRecommendPushRecord.class); - recommendCasesQuery.addField("new CasesRecommendPushRecord(recommendId,caseId)"); + recommendCasesQuery.addField("new CasesRecommendPushRecord(id,recommendId,caseId)"); List subFilters = new ArrayList<>(); subFilters.add(FieldFilters.eq("pushUserId", userId)); subFilters.add(FieldFilters.in("caseId", caseIds)); @@ -367,6 +367,7 @@ public class CasesServiceImpl implements ICasesService { if (Objects.nonNull(one)) { CasesRecommend recommend = collect.get(one.getRecommendId()); it.setBreCommend(1); + it.setRefId(one.getId()); it.setRecommendOrgName(recommend.getRecommendOrgName()); it.setSysCreateTime(recommend.getRecommendTime()); } @@ -925,7 +926,7 @@ public class CasesServiceImpl implements ICasesService { String accountId = current.getAccountId(); List result = new ArrayList<>(); try { - String hql = "select a.caseId FROM CasesRecommendPushRecord a left join Cases b ON a.caseId = b.id WHERE a.pushUserId=?1 and a.pushStatus=3 and b.deleted = false group by a.caseId ORDER By a.pushTime DESC"; + String hql = "select a.caseId FROM CasesRecommendPushRecord a left join Cases b ON a.caseId = b.id WHERE a.pushUserId=?1 and a.pushStatus=3 and a.deleted = false and b.deleted = false group by a.caseId ORDER By a.pushTime DESC"; List listFields = casesRecommendDao.findListFields(hql, CASE_LEN, ListUtil.toList(accountId)); // List listFields = new ArrayList<>(); List caseIds = new ArrayList<>();