dc94f8c819a6340556157960eb629fba9e8dbfd0..d900bdc7b712666cdeafe36f01e485f4672e4651
5 天以前 zxl
修改奖品bug
d900bd 对比 | 目录
5 天以前 peng
添加已完成标识
095c52 对比 | 目录
5 天以前 peng
中奖用户打* 解决首页视频显示不全问题
9fe0ae 对比 | 目录
4个文件已修改
71 ■■■■■ 已修改文件
framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeDrawVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeDrawVO.java
@@ -30,7 +30,7 @@
    /** 优惠卷id */
    @ApiModelProperty("优惠卷id")
    private Long couponId;
    private String couponId;
    /** 奖品内容 */
    @ApiModelProperty("奖品内容")
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);
    }
}
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
@@ -10,10 +10,7 @@
import cn.lili.modules.lmk.domain.entity.*;
import cn.lili.modules.lmk.domain.form.AddPrizeNumForm;
import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
import cn.lili.modules.lmk.domain.vo.PrizeDetailVO;
import cn.lili.modules.lmk.domain.vo.PrizeProbabilityVO;
import cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO;
import cn.lili.modules.lmk.domain.vo.PrizeResultVO;
import cn.lili.modules.lmk.domain.vo.*;
import cn.lili.modules.lmk.enums.general.*;
import cn.lili.modules.lmk.service.*;
import cn.lili.modules.member.entity.dos.Member;
@@ -842,6 +839,42 @@
    @Override
    public Result getPrizeRule() {
        List<AddPrizeRule> list = addPrizeRuleService.list(Wrappers.<AddPrizeRule>lambdaQuery().orderByDesc(AddPrizeRule::getId));
        AuthUser currentUser = UserContext.getCurrentUser();
        if (Objects.nonNull(currentUser)) {
            String id = currentUser.getId();
            LambdaQueryWrapper<PrizeActivity> eq = Wrappers.<PrizeActivity>lambdaQuery()
                    .eq(PrizeActivity::getDeleteFlag, Boolean.FALSE)
                    .eq(PrizeActivity::getEnableStatus, PrizeActivityStatusEnum.ON.name())
                    .eq(PrizeActivity::getPopup, Boolean.TRUE);
            List<PrizeActivity> activities = prizeActivityService.list(eq);
            PrizeActivity activity = activities.get(0);
            if (Objects.nonNull(activity)) {
                try {
                    List<PrizeNumber> prizeNumberList = getPrizeNumberList(activity.getId(), id);
                    Set<String> completedActionSet = prizeNumberList.stream().map(PrizeNumber::getUserAction).collect(Collectors.toSet());
                    List<AddPrizeRule> finalRuleList = list.stream()
                            .map(rule -> {
                                if (Objects.isNull(rule.getRuleCode())) {
                                    return rule;
                                }
                                boolean isCompleted = completedActionSet.contains(rule.getRuleCode());
                                if (!isCompleted) {
                                    return rule;
                                }
                                AddPrizeRule completedRule = new AddPrizeRule();
                                BeanUtils.copyProperties(rule, completedRule);
                                String originalName = Optional.ofNullable(completedRule.getRuleName()).orElse("");
                                if (!originalName.contains("(已完成)")) {
                                    completedRule.setRuleName(originalName + "(已完成)");
                                }
                                return completedRule;
                            }).collect(Collectors.toList());
                    return Result.ok().data(finalRuleList);
                } catch (Exception e) {
                    return Result.ok().data(list);
                }
            }
        }
        return Result.ok().data(list);
    }
}
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 -> {