diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java index d0729bab..695b5252 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java @@ -39,6 +39,6 @@ public class FieldCommon { public static final String STR_TO_DATE_PREFIX = "str_to_date('"; // 格式化时间格式的前缀 public static final String STR_TO_DATE_SUFFIX = "','%Y-%m-%d %H:%i:%s')"; // 格式化时间格式的后缀 - + public static final String COLLECTION_FLAG = "collectionFlag"; // 收藏标识 } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index a74e71af..9d632e98 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -14,6 +14,8 @@ import com.jero.modules.laws.common.mapper.LawsCommonMapper; import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.personal.entity.LawsStandardCollection; +import com.jero.modules.personal.service.ILawsStandardCollectionService; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysDepartService; @@ -24,6 +26,7 @@ import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.LawsFieldTypeEnum; import com.jero.modules.tag.service.ILawsAreaService; import com.spire.ms.System.Collections.ArrayList; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -52,6 +55,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService { private ISysDepartService sysDepartService; @Autowired private IOSSFileService ossFileService; + @Autowired + private ILawsStandardCollectionService lawsStandardCollectionService; /** * @Author: liao @@ -86,10 +91,44 @@ public class LawsCommonServiceImpl implements ILawsCommonService { IPage> infoPage = lawsCommonMapper.getCommonPage(page, tableName, selectField, selectCondition); // 对返回的数据做处理 infoPage.getRecords().forEach(map -> processResultMap(map, fieldListSelect)); + // 是否收藏判断标识 + collectionFlag(infoPage.getRecords()); // 待处理 return infoPage; } + /** + * @Author: liao + * @Date: 2023/9/11 14:49 + * @Description: 是否收藏标识判断 + **/ + private void collectionFlag(List> records) { + // 获取全部id集合 + List ids = records.stream().map(kv -> + String.valueOf(kv.get("id"))).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(ids)) return; + // 获取登录用户 + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + // 查询标准收藏表 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LawsStandardCollection::getCollectorId, loginUser.getId()); + queryWrapper.in(LawsStandardCollection::getStandardId, ids); + List standardCollectionList = lawsStandardCollectionService.list(queryWrapper); + if (CollectionUtils.isEmpty(standardCollectionList)) { + records.forEach(map -> map.put(FieldCommon.COLLECTION_FLAG, false)); + return; + } + List standardIdList = standardCollectionList.stream() + .map(LawsStandardCollection::getStandardId).collect(Collectors.toList()); + records.forEach(map -> { + if (standardIdList.contains(String.valueOf(map.get("id")))) { + map.put(FieldCommon.COLLECTION_FLAG, true); + } else { + map.put(FieldCommon.COLLECTION_FLAG, false); + } + }); + } + /** * @Author: liao * @Date: 2023/8/25 11:52