From ba60cfb550f4eca98481c28b85efe87005cea263 Mon Sep 17 00:00:00 2001 From: Ziin Date: Mon, 4 Aug 2025 14:44:45 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9pk=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pk/controller/PkController.java | 53 +----------------- .../vvpkassistant/pk/service/PKService.java | 5 ++ .../pk/service/PKServiceImpl.java | 55 +++++++++++++++++++ 3 files changed, 61 insertions(+), 52 deletions(-) diff --git a/src/main/java/vvpkassistant/pk/controller/PkController.java b/src/main/java/vvpkassistant/pk/controller/PkController.java index 278231f..617d644 100644 --- a/src/main/java/vvpkassistant/pk/controller/PkController.java +++ b/src/main/java/vvpkassistant/pk/controller/PkController.java @@ -65,58 +65,7 @@ public class PkController { // pk列表 @PostMapping("pkList") public ResponseData pkList(@RequestBody Map map) { - - Integer page = (Integer) map.get("page"); - Integer size = (Integer) map.get("size"); - Map condition = (Map) map.get("condition"); - - Map todayTimeStampMap = VVTools.startAndEndTimeStampForToday(); - Long start = VVTools.currentTimeStamp(); - Long end = todayTimeStampMap.get("end"); - - List pkModels = pkDao.selectPkInfoByCondition(page * size, size, condition, start, end); - - long currentTimeStamp = VVTools.currentTimeStamp(); - - //如果传了用户id - if (map.containsKey("userId")) { - Long begin = VVTools.currentTimeStamp(); - Integer userId = Integer.valueOf(map.get("userId").toString()); - // 查询出当前用户大于等于今天的已接受邀请的pk数据 - List pkRecords = recordDao.fetchDataFromTodayWithUserId(userId, begin); - // 遍历查询出的数据。如果文章的id相同。就显示完整的主播名称, - for (PkInfoModel pkModel : pkModels) { - pkModel.setDisPlayId(pkModel.getAnchorId()); - // 设置是否为置顶 - pkModel.setIsPin(pkModel.getPinExpireTime() > currentTimeStamp); - // 如果文章的发布者不是当前登录主播。 - if (pkModel.getSenderId().intValue() != userId) { - boolean showId = false; - // 查找是否和当前登录的账号有pk关系。 - for (PkRecord pkRecord : pkRecords) { - // 如果当前用户是邀请pk的,并且对方已接受pk,也可以看到主播id - if (pkRecord.getUserIdB().intValue() == userId && - pkRecord.getPkIdA().intValue() == pkModel.getId().intValue() && - pkRecord.getPkStatus() == 1) { - showId = true; - break; - } - } - // 条件不满足则隐藏主播id' - if (!showId) { - pkModel.setDisPlayId(VVTools.replaceChar(pkModel.getAnchorId(), '*')); - } - } - } - }else{ - for (PkInfoModel pkModel : pkModels) { - // 设置是否为置顶 - pkModel.setIsPin(pkModel.getPinExpireTime() > currentTimeStamp); - pkModel.setDisPlayId(VVTools.replaceChar(pkModel.getAnchorId(), '*')); - } - } - - return ResponseData.success(pkModels); + return ResponseData.success(pkService.getPKList(map)); } // 查询用户发布的大于当前时间的pk数据 diff --git a/src/main/java/vvpkassistant/pk/service/PKService.java b/src/main/java/vvpkassistant/pk/service/PKService.java index 1fa58b2..d10cc07 100644 --- a/src/main/java/vvpkassistant/pk/service/PKService.java +++ b/src/main/java/vvpkassistant/pk/service/PKService.java @@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import vvpkassistant.pk.model.PkInfoModel; import vvpkassistant.pk.model.PkRecord; +import java.util.List; +import java.util.Map; + /* * @author: ziin * @date: 2025/8/4 13:53 @@ -14,4 +17,6 @@ public interface PKService extends IService { Boolean updatePkStatus(PkRecord recordModel); PkRecord createPKRecord(PkRecord record); + + List getPKList(Map map); } diff --git a/src/main/java/vvpkassistant/pk/service/PKServiceImpl.java b/src/main/java/vvpkassistant/pk/service/PKServiceImpl.java index 9634d76..b57ba20 100644 --- a/src/main/java/vvpkassistant/pk/service/PKServiceImpl.java +++ b/src/main/java/vvpkassistant/pk/service/PKServiceImpl.java @@ -145,4 +145,59 @@ public class PKServiceImpl extends ServiceImpl implement }else throw new BusinessException(ErrorCode.SYSTEM_ERROR); } + + @Override + public List getPKList(Map map) { + + Integer page = (Integer) map.get("page"); + Integer size = (Integer) map.get("size"); + Map condition = (Map) map.get("condition"); + + Map todayTimeStampMap = VVTools.startAndEndTimeStampForToday(); + Long start = VVTools.currentTimeStamp(); + Long end = todayTimeStampMap.get("end"); + + List pkModels = pkInfoDao.selectPkInfoByCondition(page * size, size, condition, start, end); + + long currentTimeStamp = VVTools.currentTimeStamp(); + + //如果传了用户id + if (map.containsKey("userId")) { + Long begin = VVTools.currentTimeStamp(); + Integer userId = Integer.valueOf(map.get("userId").toString()); + // 查询出当前用户大于等于今天的已接受邀请的pk数据 + List pkRecords = pkRecordDao.fetchDataFromTodayWithUserId(userId, begin); + // 遍历查询出的数据。如果文章的id相同。就显示完整的主播名称, + for (PkInfoModel pkModel : pkModels) { + pkModel.setDisPlayId(pkModel.getAnchorId()); + // 设置是否为置顶 + pkModel.setIsPin(pkModel.getPinExpireTime() > currentTimeStamp); + // 如果文章的发布者不是当前登录主播。 + if (pkModel.getSenderId().intValue() != userId) { + boolean showId = false; + // 查找是否和当前登录的账号有pk关系。 + for (PkRecord pkRecord : pkRecords) { + // 如果当前用户是邀请pk的,并且对方已接受pk,也可以看到主播id + if (pkRecord.getUserIdB().intValue() == userId && + pkRecord.getPkIdA().intValue() == pkModel.getId().intValue() && + pkRecord.getPkStatus() == 1) { + showId = true; + break; + } + } + // 条件不满足则隐藏主播id' + if (!showId) { + pkModel.setDisPlayId(VVTools.replaceChar(pkModel.getAnchorId(), '*')); + } + } + } + }else{ + for (PkInfoModel pkModel : pkModels) { + // 设置是否为置顶 + pkModel.setIsPin(pkModel.getPinExpireTime() > currentTimeStamp); + pkModel.setDisPlayId(VVTools.replaceChar(pkModel.getAnchorId(), '*')); + } + } + return pkModels; + } }