From 3565ef641c4204aaf7d9a2eaf770ca034110f67a Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 20 十一月 2025 09:16:04 +0800
Subject: [PATCH] 名称加*
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeDrawServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 84 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 e2936a7..89d69d3 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
@@ -1,5 +1,12 @@
package cn.lili.modules.lmk.service.impl;
+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;
+import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.PrizeDraw;
import cn.lili.modules.lmk.mapper.PrizeDrawMapper;
@@ -14,7 +21,9 @@
import cn.lili.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -29,6 +38,41 @@
public class PrizeDrawServiceImpl extends ServiceImpl<PrizeDrawMapper, PrizeDraw> implements PrizeDrawService {
private final PrizeDrawMapper prizeDrawMapper;
+
+ private final ActivityRefPrizeService activityRefPrizeService;
+
+ private final CouponService couponService;
+
+ private final COSUtil cOSUtil;
+
+ @Override
+ public Result canUpDatePrizeDraw(String prizeDrawId) {
+ PrizeDraw prizeDraw = baseMapper.selectById(prizeDrawId);
+ CouponVO detail = new CouponVO();
+ if (StringUtils.isNotBlank(prizeDraw.getCouponId())){
+ detail = couponService.getDetail(prizeDraw.getCouponId());
+ }
+ Result result = Result.ok();
+ result.data(detail);
+ Object data = activityRefPrizeService.getPrizeByIdAndPrizeActivityId(prizeDrawId).get("data");
+
+ if (data instanceof List<?>) {
+ List<?> rawList = (List<?>) data;
+ List<ActivityRefPrize> list = new ArrayList<>();
+ for (Object item : rawList) {
+ if (item instanceof ActivityRefPrize) {
+ list.add((ActivityRefPrize) item);
+ }
+ }
+ if (CollectionUtils.isEmpty(list)) {
+ return result.put("state",true);
+ }else{
+ return result.put("state",false);
+ }
+ // 浣跨敤 list
+ }
+ return result.put("state",false);
+ }
/**
* 娣诲姞
@@ -50,7 +94,6 @@
@Override
public Result update(PrizeDrawForm form) {
PrizeDraw entity = baseMapper.selectById(form.getId());
-
// 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
BeanUtils.copyProperties(form, entity);
@@ -89,6 +132,14 @@
public Result page(PrizeDrawQuery query) {
IPage<PrizeDrawVO> page = PageUtil.getPage(query, PrizeDrawVO.class);
baseMapper.getPage(page, query);
+ for (PrizeDrawVO vo : page.getRecords()) {
+ if (StringUtils.isNotBlank(vo.getPrizeCover())){
+ vo.setPrizeCoverUrl(cOSUtil.getPreviewUrl(vo.getPrizeCover()));
+ }
+ if (StringUtils.isNotBlank(vo.getPrizeImg())){
+ vo.setPrizeImgUrl(cOSUtil.getPreviewUrl(vo.getPrizeImg()));
+ }
+ }
return Result.ok().data(page.getRecords()).total(page.getTotal());
}
@@ -116,4 +167,36 @@
.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);
+ }
}
--
Gitblit v1.8.0