Administrator
2025-04-23 2f67dbf8e585cbff4ed5737c08d0b0061e8b4d50
src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.dto.activity.ApiVoteOptionInPageDto;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.HappyActivityService;
@@ -134,37 +135,11 @@
    }
    @Override
    public FebsResponse voteOptionList(Long id) {
        ArrayList<ApiActivityOptionListVo> apiActivityOptionListVos = new ArrayList<>();
        HappyActivity happyActivity = this.baseMapper.selectById(id);
        if(StateUpDownEnum.ACTIVITY_TYPE_VOTE.getCode() != happyActivity.getType()){
            throw new FebsException("投票活动才可获取投票选项");
        }
        List<HappyActivityOption> happyActivityOptions = happyActivityOptionMapper.selectList(
                new LambdaQueryWrapper<HappyActivityOption>()
                        .select(
                                HappyActivityOption::getId,
                                HappyActivityOption::getOptionName,
                                HappyActivityOption::getRank,
                                HappyActivityOption::getLikesCnt,
                                HappyActivityOption::getImage
                        )
                .eq(HappyActivityOption::getActivityId,id)
                .eq(HappyActivityOption::getState,StateUpDownEnum.VOTE_OPTION_STATE_AUDIT_SUCCESS.getCode())
                .eq(HappyActivityOption::getDeleteFlag,StateUpDownEnum.DOWN.getCode())
                .orderByAsc(HappyActivityOption::getRank)
        );
        if(CollUtil.isNotEmpty(happyActivityOptions)){
            happyActivityOptions.forEach(option -> {
                ApiActivityOptionListVo apiActivityOptionListVo = new ApiActivityOptionListVo();
                BeanUtil.copyProperties(option, apiActivityOptionListVo);
                apiActivityOptionListVos.add(apiActivityOptionListVo);
            });
        }
        return new FebsResponse().success().data(apiActivityOptionListVos);
    public FebsResponse voteOptionInPage(ApiVoteOptionInPageDto dto) {
        // 创建分页对象,传入当前页和每页大小
        Page<ApiActivityOptionListVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
        Page<ApiActivityOptionListVo> voteRecordInPage = this.baseMapper.getVoteOptionInPage(page, dto);
        return new FebsResponse().success().data(voteRecordInPage);
    }
    @Override
@@ -252,7 +227,7 @@
        }
        HappyActivityOption happyActivityOption = happyActivityOptionMapper.selectById(sourceOptionId);
        if (happyActivityOption == null) {
        if (null == happyActivityOption) {
            throw new FebsException("投票对象不存在");
        }
        if (StateUpDownEnum.VOTE_OPTION_STATE_AUDIT_SUCCESS.getCode() != happyActivityOption.getState()) {
@@ -268,17 +243,17 @@
                        .gt(HappyFollow::getCreatedTime, DateUtil.beginOfDay(new Date()))
        );
        if (CollUtil.isNotEmpty(happyFollows) && happyFollows.size() >= happyActivity.getVoteCnt()){
            throw new FebsException("今日已经投票");
            throw new FebsException("今日已经投完票");
        }
        this.baseMapper.updateHappyActivityOptionLikeCnt(sourceOptionId);
        this.operateDoVote(memberId, sourceType, sourceId, sourceOptionId, type);
        this.addLikeCnt(sourceOptionId);
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse voteRecordInPage(ApiVoteRecordInPageDto dto) {
        // 创建分页对象,传入当前页和每页大小
        Page<ApiActivityInfoVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
        Page<ApiVoteRecordInPageVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
        Page<ApiVoteRecordInPageVo> voteRecordInPage = this.baseMapper.getVoteRecordInPage(page, dto);
        List<ApiVoteRecordInPageVo> records = voteRecordInPage.getRecords();