From 40d3bb9fe638a0bd79e829e7fd5114871101390b Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 20 十一月 2025 10:52:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/user_action' into user_action
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java | 138 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 137 insertions(+), 1 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
index 619d1eb..51227cb 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
@@ -1,10 +1,18 @@
package cn.lili.modules.lmk.service.impl;
+import cn.lili.common.utils.StringUtils;
+import cn.lili.modules.lmk.domain.vo.ActivityRefPrizeInfoVO;
+import cn.lili.modules.lmk.domain.vo.PrizeDetailVO;
+import cn.lili.modules.lmk.enums.general.PrizeActivityStatusEnum;
+import cn.lili.modules.lmk.service.ActivityRefPrizeService;
+import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.PrizeActivity;
import cn.lili.modules.lmk.mapper.PrizeActivityMapper;
import cn.lili.modules.lmk.service.PrizeActivityService;
import cn.lili.base.Result;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.lili.modules.lmk.domain.form.PrizeActivityForm;
import cn.lili.modules.lmk.domain.vo.PrizeActivityVO;
@@ -14,7 +22,10 @@
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.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,7 +39,101 @@
@RequiredArgsConstructor
public class PrizeActivityServiceImpl extends ServiceImpl<PrizeActivityMapper, PrizeActivity> implements PrizeActivityService {
+ private final ActivityRefPrizeService activityRefPrizeService;
private final PrizeActivityMapper prizeActivityMapper;
+
+ private final COSUtil cOSUtil;
+
+ @Override
+ public Result getONPrizeActivity(){
+ PrizeActivity prizeActivity = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(PrizeActivity::getDeleteFlag,Boolean.FALSE)
+ .eq(PrizeActivity::getEnableStatus,PrizeActivityStatusEnum.ON.name())
+ .eq(PrizeActivity::getPopup,Boolean.TRUE)
+ .one();
+ PrizeActivityVO prizeActivityVO = new PrizeActivityVO();
+ if (prizeActivity != null){
+ PrizeActivityVO vo = PrizeActivityVO.getVoByEntity(prizeActivity, prizeActivityVO);
+ if (StringUtils.isNotBlank(vo.getActivityCover())){
+ vo.setActivityCoverUrl(cOSUtil.getPreviewUrl(vo.getActivityCover()));
+ }
+ }
+ return Result.ok().data(prizeActivityVO);
+ }
+
+ @Override
+ public Result getPopup() {
+ //鑾峰緱寮圭獥娲诲姩
+ PrizeActivity prizeActivity = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(PrizeActivity::getDeleteFlag,Boolean.FALSE)
+ .eq(PrizeActivity::getPopup,Boolean.TRUE)
+ .eq(PrizeActivity::getEnableStatus,PrizeActivityStatusEnum.ON.name())
+ .one();
+ PrizeActivityVO prizeActivityVO = new PrizeActivityVO();
+ if (prizeActivity != null){
+ PrizeActivityVO vo = PrizeActivityVO.getVoByEntity(prizeActivity, prizeActivityVO);
+ if (StringUtils.isNotBlank(vo.getActivityCover())){
+ vo.setActivityCoverUrl(cOSUtil.getPreviewUrl(vo.getActivityCover()));
+ }
+ }
+ return Result.ok().data(prizeActivityVO);
+ }
+
+ @Override
+ public Result popup(String id){
+ //璁剧疆id鐨勬椿鍔ㄤ负寮圭獥娲诲姩锛屽皢鍏朵粬娲诲姩鐨勫脊绐楃姸鎬佹敼涓篺alse.
+ PrizeActivity prizeActivity = baseMapper.selectById(id);
+ if (prizeActivity.getPopup()){
+ prizeActivity.setPopup(Boolean.FALSE);
+ prizeActivityMapper.updateById(prizeActivity);
+ return Result.ok("鍙栨秷寮圭獥娲诲姩鎴愬姛!");
+ }else {
+ prizeActivity.setPopup(Boolean.TRUE);
+ //淇敼鍏朵粬娲诲姩鐨勬帹鑽愮姸鎬佸悗锛屼慨鏀硅瀵硅薄鐨勪慨鏀圭姸鎬�
+ prizeActivityMapper.updateById(prizeActivity);
+ new LambdaUpdateChainWrapper<>(baseMapper).eq(PrizeActivity::getPopup,Boolean.TRUE)
+ .eq(PrizeActivity::getDeleteFlag,Boolean.FALSE)
+ .set(PrizeActivity::getPopup, Boolean.FALSE)
+ .ne(PrizeActivity::getId, prizeActivity.getId())
+ .set(PrizeActivity::getUpdateTime, new Date())
+ .update();
+ return Result.ok("寮圭獥娲诲姩寮�鍚垚鍔�");
+ }
+
+ }
+
+ @Override
+ public Result publishPrizeActivity(String id) {
+ PrizeActivity prizeActivity = baseMapper.selectById(id);
+ //鍒ゆ柇娲诲姩鏄惁瀛樺湪濂栧搧 瀛樺湪鍏佽寮�鍚�
+
+ Object data = activityRefPrizeService.getActivityRefPrizeByActivityId(id).get("data");
+
+ if (data instanceof List<?>) {
+ List<?> rawList = (List<?>) data;
+ List<ActivityRefPrizeInfoVO> list = new ArrayList<>();
+ for (Object item : rawList) {
+ if (item instanceof ActivityRefPrizeInfoVO) {
+ list.add((ActivityRefPrizeInfoVO) item);
+ }
+ }
+ if (CollectionUtils.isEmpty(list)) {
+ return Result.error("寮�鍚娊濂栨椿鍔ㄥ墠璇疯缃鍝�");
+ }
+ // 浣跨敤 list
+ }
+ if (PrizeActivityStatusEnum.OFF.name().equals(prizeActivity.getEnableStatus())) {
+ prizeActivity.setEnableStatus(PrizeActivityStatusEnum.ON.name());
+ baseMapper.updateById(prizeActivity);
+ return Result.ok("鍚姩鎴愬姛");
+ }else {
+ prizeActivity.setEnableStatus(PrizeActivityStatusEnum.OFF.name());
+ baseMapper.updateById(prizeActivity);
+ return Result.ok("鍏抽棴鎴愬姛");
+ }
+
+
+ }
/**
* 娣诲姞
@@ -38,6 +143,8 @@
@Override
public Result add(PrizeActivityForm form) {
PrizeActivity entity = PrizeActivityForm.getEntityByForm(form, null);
+ entity.setEnableStatus(PrizeActivityStatusEnum.OFF.name());
+ entity.setPopup(Boolean.FALSE);
baseMapper.insert(entity);
return Result.ok("娣诲姞鎴愬姛");
}
@@ -54,6 +161,7 @@
// 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
BeanUtils.copyProperties(form, entity);
+ entity.setEnableStatus(PrizeActivityStatusEnum.OFF.name());
baseMapper.updateById(entity);
return Result.ok("淇敼鎴愬姛");
}
@@ -89,6 +197,30 @@
public Result page(PrizeActivityQuery query) {
IPage<PrizeActivityVO> page = PageUtil.getPage(query, PrizeActivityVO.class);
baseMapper.getPage(page, query);
+ //
+
+ for (PrizeActivityVO vo : page.getRecords()) {
+ Object data = activityRefPrizeService.getActivityRefPrizeByActivityId(vo.getId()).get("data");
+
+ if (data instanceof List<?>) {
+ List<?> rawList = (List<?>) data;
+ List<ActivityRefPrizeInfoVO> list = new ArrayList<>();
+ for (Object item : rawList) {
+ if (item instanceof ActivityRefPrizeInfoVO) {
+ list.add((ActivityRefPrizeInfoVO) item);
+ }
+ }
+ vo.setCanSet(CollectionUtils.isEmpty(list));
+ // 浣跨敤 list
+ }
+
+ if (StringUtils.isNotBlank(vo.getActivityCover())){
+ vo.setActivityCoverUrl(cOSUtil.getPreviewUrl(vo.getActivityCover()));
+ }
+ if (StringUtils.isNotBlank(vo.getActivityImg())){
+ vo.setActivityImgUrl(cOSUtil.getPreviewUrl(vo.getActivityImg()));
+ }
+ }
return Result.ok().data(page.getRecords()).total(page.getTotal());
}
@@ -103,7 +235,6 @@
Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
return Result.ok().data(vo);
}
-
/**
* 鍒楄〃
* @return
@@ -116,4 +247,9 @@
.collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+ @Override
+ public PrizeDetailVO prizeInfo(String id) {
+ return prizeActivityMapper.prizeInfo(id);
+ }
}
--
Gitblit v1.8.0