zxl
2 天以前 b13706ac876d0ab5d4d6e38a59b66cc323e86e3a
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
@@ -1,5 +1,11 @@
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.ActivityRefPrizeInfoVO;
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;
@@ -14,7 +20,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;
@@ -28,7 +36,45 @@
@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 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.getDescription().equals(prizeActivity.getEnableStatus())) {
            prizeActivity.setEnableStatus(PrizeActivityStatusEnum.ON.getDescription());
            baseMapper.updateById(prizeActivity);
            return Result.ok("启动成功");
        }else {
            prizeActivity.setEnableStatus(PrizeActivityStatusEnum.OFF.getDescription());
            baseMapper.updateById(prizeActivity);
            return Result.ok("关闭成功");
        }
    }
    /**
     * 添加
@@ -89,6 +135,15 @@
    public Result page(PrizeActivityQuery query) {
        IPage<PrizeActivityVO> page = PageUtil.getPage(query, PrizeActivityVO.class);
        baseMapper.getPage(page, query);
        for (PrizeActivityVO vo : page.getRecords()) {
            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());
    }