| | |
| | | |
| | | 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; |
| | |
| | | .collect(Collectors.toList()); |
| | | return Result.ok().data(vos); |
| | | } |
| | | |
| | | @Override |
| | | public Result grantRecord(String 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 ==1){ |
| | | return trimNick + "*"; |
| | | } |
| | | if (length == 2) { |
| | | return trimNick.charAt(0) + "*"; |
| | | } |
| | | 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); |
| | | } |
| | | } |