From 9fe0aefb466a87815ef450cb4ef99405dad63b4e Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 17 十一月 2025 11:49:11 +0800
Subject: [PATCH] 中奖用户打* 解决首页视频显示不全问题

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java |   27 ++++++++++++++++++++++++++-
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java     |    1 +
 2 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java
index 365366d..4646bb1 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.lili.common.utils.StringUtils;
 import cn.lili.modules.lmk.domain.entity.ActivityRefPrize;
+import cn.lili.modules.lmk.domain.vo.GrantRecordVO;
 import cn.lili.modules.lmk.service.ActivityRefPrizeService;
 import cn.lili.modules.promotion.entity.vos.CouponVO;
 import cn.lili.modules.promotion.service.CouponService;
@@ -169,6 +170,30 @@
 
     @Override
     public Result grantRecord(String prizeActivityId) {
-        return Result.ok().data(baseMapper.grantRecord(prizeActivityId));
+        List<GrantRecordVO> data = baseMapper.grantRecord(prizeActivityId);
+        for (GrantRecordVO datum : data) {
+            datum.setNickname(nicknameDesensitize(datum.getNickname()));
+        }
+        return Result.ok().data(data);
+    }
+    /**
+     * 鏄电О鑴辨晱锛氫繚鐣欏墠1鍚�1浣嶏紝涓棿*濉厖锛堥暱搴︹墹2涓嶈劚鏁忥級
+     */
+    public static String nicknameDesensitize(String nickname) {
+        if (nickname == null || nickname.trim().isEmpty()) {
+            return nickname;
+        }
+        String trimNick = nickname.trim();
+        int length = trimNick.length();
+
+        // JDK 8 涓嶆敮鎸� String.repeat锛岀敤 StringBuilder 鎷兼帴鑴辨晱瀛楃
+        if (length <= 2) {
+            return trimNick;
+        }
+        StringBuilder mask = new StringBuilder();
+        for (int i = 0; i < length - 2; i++) {
+            mask.append('*'); // 涓棿濉厖 *锛岄暱搴� = 鎬婚暱搴� - 2锛堝墠1浣� + 鍚�1浣嶏級
+        }
+        return trimNick.charAt(0) + mask.toString() + trimNick.substring(length - 1);
     }
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
index b2561c6..5f525a8 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -757,6 +757,7 @@
 
                 } else if (VideoContentTypeEnum.IMG.getValue().equals(v.getVideoContentType()) && StringUtils.isNotBlank(v.getVideoImgs())) {
                     v.setImgs(JSON.parseArray(v.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList()));
+                    v.setVideoUrl("");
                 }
                 if (CollectionUtils.isNotEmpty(v.getGoodsList())) {
                     v.getGoodsList().stream().forEach(goods -> {

--
Gitblit v1.8.0