diff --git a/ruoyi-admin/src/main/java/org/dromara/app/AppSearchController.java b/ruoyi-admin/src/main/java/org/dromara/app/AppSearchController.java index ef00f4018..41a4f288b 100644 --- a/ruoyi-admin/src/main/java/org/dromara/app/AppSearchController.java +++ b/ruoyi-admin/src/main/java/org/dromara/app/AppSearchController.java @@ -36,7 +36,7 @@ public class AppSearchController { @Tag(name = "视频、商品和用户检索") @PostMapping("") - public R> searchApp(@RequestBody SearchBO searchBO, @RequestBody Page page) { + public R> search(@RequestBody SearchBO searchBO, @RequestBody Page page) { try { LoginUser loginUser = LoginHelper.getLoginUser(); if (loginUser == null) { @@ -44,7 +44,7 @@ public class AppSearchController { } searchBO.setUserId(String.valueOf(loginUser.getUserId())); } catch (Exception e) { - log.error("用户没登陆11", e); + log.error("用户没登陆", e); } IPage pages = null; diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/SearchBO.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/SearchBO.java index aa4d6cee9..9307e7609 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/SearchBO.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/SearchBO.java @@ -39,10 +39,4 @@ public class SearchBO { @Schema(description = "城市编码") private String cityCode; - /** - * 状态 - */ - @Schema(description = "状态") - private String status; - } diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/enums/VlogStatusEnum.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/enums/VlogStatusEnum.java new file mode 100644 index 000000000..3d11b57bb --- /dev/null +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/enums/VlogStatusEnum.java @@ -0,0 +1,17 @@ +package com.wzj.soopin.content.enums; + +import lombok.AllArgsConstructor; + +@AllArgsConstructor +public enum VlogStatusEnum { + AUDITING(0, "待审核"), + APPROVED(1, "通过"), + AUDITI_REJECT(2, "审核驳回"), + NEED_REEXAMINE (3, "需复审"), + OFF_SHELF(4, "下架"), + DELETE(5, "删除"); + + public final Integer type; + public final String value; + +} diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/VlogServiceImpl.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/VlogServiceImpl.java index 547759fab..253393237 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/VlogServiceImpl.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/VlogServiceImpl.java @@ -15,6 +15,7 @@ import com.wzj.soopin.content.domain.po.MyLikedVlog; import com.wzj.soopin.content.domain.po.Vlog; import com.wzj.soopin.content.domain.po.Users; import com.wzj.soopin.content.domain.vo.VlogerVO; +import com.wzj.soopin.content.enums.VlogStatusEnum; import com.wzj.soopin.member.domain.po.Member; import com.wzj.soopin.content.domain.vo.IndexVlogVO; import com.wzj.soopin.content.enums.YesOrNo; @@ -84,6 +85,8 @@ public class VlogServiceImpl extends ServiceImpl implements Vl @Autowired private IMemberService memberService; + @Autowired + private RedisOperator redis; @Transactional(rollbackFor = Exception.class) @Override @@ -654,8 +657,50 @@ public class VlogServiceImpl extends ServiceImpl implements Vl if (StringUtils.isNotBlank(bo.getCityCode())) { queryWrapper.eq(Vlog::getCityCode, bo.getCityCode()); } - if (StringUtils.isNotBlank(bo.getStatus())) { - queryWrapper.eq(Vlog::getStatus, bo.getStatus()); + + queryWrapper.eq(Vlog::getStatus, VlogStatusEnum.APPROVED.type); + + // 去掉黑名单的视频 + if (StringUtils.isNotBlank(userId)) { + String redisKey = REDIS_VIDEO_BLOCK + ":" + userId; + if (redis.keyIsExist(redisKey)) { + List blockVdList = new ArrayList<>(); + ObjectMapper objectMapper = new ObjectMapper(); + List reports = redis.lrange(redisKey, 0, -1); + for (String report : reports) { + try { + Map reportMap = objectMapper.readValue(report, new TypeReference>() {}); + String vlogId = (String) reportMap.get("vlogId"); + blockVdList.add(vlogId); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + if (!blockVdList.isEmpty()) { + queryWrapper.notIn(Vlog::getId, blockVdList); + } + } + } + // 去掉黑名单的用户 + if (StringUtils.isNotBlank(userId)) { + String redisKey = REDIS_USER_BLOCK + ":" + userId; + if (redis.keyIsExist(redisKey)) { + List blockUserList = new ArrayList<>(); + ObjectMapper objectMapper = new ObjectMapper(); + List reports = redis.lrange(redisKey, 0, -1); + for (String report : reports) { + try { + Map reportMap = objectMapper.readValue(report, new TypeReference>() {}); + String memberId = (String) reportMap.get("MemberId"); + blockUserList.add(memberId); + } catch (JsonProcessingException e) { + log.error(e.getMessage()); + } + } + if (!blockUserList.isEmpty()) { + queryWrapper.notIn(Vlog::getMemberId, blockUserList); + } + } } Page vlogPage = vlogMapper.selectPage(pageParam, queryWrapper); diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/utils/RedisOperator.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/utils/RedisOperator.java index 8756f9d7f..de3497d60 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/utils/RedisOperator.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/utils/RedisOperator.java @@ -25,14 +25,14 @@ public class RedisOperator { // Key(键),简单的key-value操作 // -// /** -// * 判断key是否存在 -// * @param key -// * @return -// */ -// public boolean keyIsExist(String key) { -// return redisTemplate.hasKey(key); -// } + /** + * 判断key是否存在 + * @param key + * @return + */ + public boolean keyIsExist(String key) { + return redisTemplate.hasKey(key); + } // // /** // * 实现命令:TTL key,以秒为单位,返回给定 key的剩余生存时间(TTL, time to live)。 @@ -283,18 +283,18 @@ public class RedisOperator { // public long rpush(String key, String value) { // return redisTemplate.opsForList().rightPush(key, value); // } -// // List(列表) -// /** -// * 实现命令:LRANGE key start stop,返回列表key中指定区间内的元素 -// * -// * @param key Redis key -// * @param start 开始索引 -// * @param stop 结束索引 -// * @return 返回指定区间的元素 -// */ -// public List lrange(String key, long start, long stop) { -// return redisTemplate.opsForList().range(key, start, stop); -// } + // List(列表) + /** + * 实现命令:LRANGE key start stop,返回列表key中指定区间内的元素 + * + * @param key Redis key + * @param start 开始索引 + * @param stop 结束索引 + * @return 返回指定区间的元素 + */ + public List lrange(String key, long start, long stop) { + return redisTemplate.opsForList().range(key, start, stop); + } // /** // * 实现命令:LREM key count value,移除列表中与 value 相等的元素 // * diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberServiceImpl.java index cf124c115..4b3689c15 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberServiceImpl.java @@ -293,10 +293,6 @@ public class MemberServiceImpl extends ServiceImpl implemen */ @Override public IPage getMemberPageList(MemberBO query, Page page) { -// int current = (int) page.getCurrent(); -// int size = (int) page.getSize(); -// Page pageParam = new Page<>(current, size); - System.out.println("aaa"); return memberMapper.getMember(page, query); } }