| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @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 |
| | |
| | | } |
| | | |
| | | HappyActivityOption happyActivityOption = happyActivityOptionMapper.selectById(sourceOptionId); |
| | | if (happyActivityOption == null) { |
| | | if (null == happyActivityOption) { |
| | | throw new FebsException("投票对象不存在"); |
| | | } |
| | | if (StateUpDownEnum.VOTE_OPTION_STATE_AUDIT_SUCCESS.getCode() != happyActivityOption.getState()) { |
| | |
| | | .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(); |