| New file |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.BaseModel; |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.query.CommunityActivityListQuery; |
| | | import com.ruoyi.system.query.ConvenientInformationListQuery; |
| | | import com.ruoyi.system.query.DeliberationVoteListQuery; |
| | | import com.ruoyi.system.query.MicroWishListQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/convenience") |
| | | @Api(tags = "普惠便民模块") |
| | | public class ConvenienceController { |
| | | |
| | | private final THtmlConfigService tHtmlConfigService; |
| | | private final TServiceGuideFileService tServiceGuideFileService; |
| | | private final TConvenientInformationService tConvenientInformationService; |
| | | private final TMicroWishService tMicroWishService; |
| | | private final TokenService tokenService; |
| | | private final TCommunityActivityService tCommunityActivityService; |
| | | private final TCommunityActivityRegistrationService tCommunityActivityRegistrationService; |
| | | private final TDeliberationVoteService tDeliberationVoteService; |
| | | private final TDeliberationVoteOptionService tDeliberationVoteOptionService; |
| | | private final TAppealServicesService tAppealServicesService ; |
| | | |
| | | public ConvenienceController(THtmlConfigService tHtmlConfigService, TServiceGuideFileService tServiceGuideFileService, TConvenientInformationService tConvenientInformationService, TMicroWishService tMicroWishService, TokenService tokenService, TCommunityActivityService tCommunityActivityService, TCommunityActivityRegistrationService tCommunityActivityRegistrationService, TDeliberationVoteService tDeliberationVoteService, TDeliberationVoteOptionService tDeliberationVoteOptionService, TAppealServicesService tAppealServicesService) { |
| | | this.tHtmlConfigService = tHtmlConfigService; |
| | | this.tServiceGuideFileService = tServiceGuideFileService; |
| | | this.tConvenientInformationService = tConvenientInformationService; |
| | | this.tMicroWishService = tMicroWishService; |
| | | this.tokenService = tokenService; |
| | | this.tCommunityActivityService = tCommunityActivityService; |
| | | this.tCommunityActivityRegistrationService = tCommunityActivityRegistrationService; |
| | | this.tDeliberationVoteService = tDeliberationVoteService; |
| | | this.tDeliberationVoteOptionService = tDeliberationVoteOptionService; |
| | | this.tAppealServicesService = tAppealServicesService; |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "说明--1=托育服务 2=阅芽计划 3=办事指南图文指引 4=暖心服务图片 5=注册协议 6=隐私政策 7=学习申请书 8=安全告知书 9=购买支付说明 10=微心愿风险提示 11=群众诉求服务说明 12=随手拍说明 13=康年年图文介绍 ", response = THtmlConfig.class) |
| | | @GetMapping("/getServiceGuide") |
| | | public R<THtmlConfig> getServiceGuide(int type) { |
| | | return R.ok(tHtmlConfigService.getOne( |
| | | Wrappers.<THtmlConfig>lambdaQuery().eq(THtmlConfig::getConfigType, type) |
| | | )); |
| | | } |
| | | |
| | | @ApiOperation(value = "办事指南--流程指引文件", response = TServiceGuideFile.class) |
| | | @PostMapping("/getServiceGuideFile") |
| | | public R<Page<TServiceGuideFile>> getServiceGuideFile(@RequestBody BasePage basePage) { |
| | | return R.ok(tServiceGuideFileService.page(new Page<TServiceGuideFile>(basePage.getPageNum(), basePage.getPageSize()), |
| | | Wrappers.<TServiceGuideFile>lambdaQuery().orderByDesc(TServiceGuideFile::getCreateTime) |
| | | )); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "便民信息--便民信息列表", response = TConvenientInformation.class) |
| | | @PostMapping("/getConvenientInformationList") |
| | | public R<Page<TConvenientInformation>> getConvenientInformationList(@RequestBody ConvenientInformationListQuery query) { |
| | | Page<TConvenientInformation> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TConvenientInformation> tConvenientInformationPage = tConvenientInformationService.page(page, new LambdaQueryWrapper<TConvenientInformation>().like(Objects.nonNull(query.getName()), TConvenientInformation::getConvenientName, query.getName()).orderByDesc(BaseModel::getCreateTime)); |
| | | return R.ok(tConvenientInformationPage); |
| | | |
| | | } |
| | | |
| | | @ApiOperation(value = "便民信息--便民信息详情", response = TConvenientInformation.class) |
| | | @GetMapping("/getConvenientInformationDetail/{id}") |
| | | public R<TConvenientInformation> getConvenientInformationDetail(@PathVariable String id) { |
| | | return R.ok(tConvenientInformationService.getById(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "微心愿--微心愿列表", response = TMicroWish.class) |
| | | @PostMapping("/getMicroWishList") |
| | | public R<Page<TMicroWish>> getMicroWishList(@RequestBody MicroWishListQuery query) { |
| | | Page<TMicroWish> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TMicroWish> tMicroWishPage = tMicroWishService.page(page, new LambdaQueryWrapper<TMicroWish>().eq(TMicroWish::getWishType, 1).eq(TMicroWish::getStatus, 2).like(Objects.nonNull(query.getWishDescription()), TMicroWish::getWishDescription, query.getWishDescription()).orderByDesc(BaseModel::getCreateTime)); |
| | | return R.ok(tMicroWishPage); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "微心愿--发布心愿", response = TMicroWish.class) |
| | | @PostMapping("/addMicroWish") |
| | | public R<?> addMicroWish(@RequestBody TMicroWish dto) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | dto.setAppUserId(userId); |
| | | dto.setStatus(1); |
| | | tMicroWishService.save(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "社区活动--列表", response = TCommunityActivity.class) |
| | | @PostMapping("/getCommunityActivityList") |
| | | public R<Page<TCommunityActivity>> getCommunityActivityList(@RequestBody CommunityActivityListQuery query) { |
| | | String userId = null; |
| | | try { |
| | | userId = tokenService.getLoginUserApplet().getUserId(); |
| | | } catch (Exception e) { |
| | | } |
| | | Page<TCommunityActivity> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TCommunityActivity> tCommunityActivityPage = tCommunityActivityService.page(page, new LambdaQueryWrapper<TCommunityActivity>().eq(TCommunityActivity::getStatus, 2).like(Objects.nonNull(query.getName()), TCommunityActivity::getActivityTitle, query.getName()).orderByDesc(BaseModel::getCreateTime)); |
| | | List<TCommunityActivity> activityList = tCommunityActivityPage.getRecords(); |
| | | // 判断是否已经报名 |
| | | if (!activityList.isEmpty() && userId != null) { |
| | | List<String> activityIds = activityList.stream().map(TCommunityActivity::getId).collect(Collectors.toList()); |
| | | List<TCommunityActivityRegistration> activityRegistrationList = tCommunityActivityRegistrationService.list(new LambdaQueryWrapper<TCommunityActivityRegistration>().in(TCommunityActivityRegistration::getActivityId, activityIds).eq(TCommunityActivityRegistration::getAppUserId, userId)); |
| | | for (TCommunityActivity tCommunityActivity : activityList) { |
| | | TCommunityActivityRegistration tCommunityActivityRegistration = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).findFirst().orElse(null); |
| | | if (tCommunityActivityRegistration != null) { |
| | | tCommunityActivity.setState(2); |
| | | } |
| | | } |
| | | |
| | | } |
| | | tCommunityActivityPage.setRecords(activityList); |
| | | return R.ok(tCommunityActivityPage); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "社区活动--详情", response = TCommunityActivity.class) |
| | | @GetMapping("/getCommunityActivityDetail/{id}") |
| | | public R<TCommunityActivity> getCommunityActivityDetail(@PathVariable String id) { |
| | | TCommunityActivity tCommunityActivity = tCommunityActivityService.getById(id); |
| | | if (tCommunityActivity == null) { |
| | | return R.fail("活动不存在"); |
| | | } |
| | | String userId = null; |
| | | try { |
| | | userId = tokenService.getLoginUserApplet().getUserId(); |
| | | } catch (Exception e) { |
| | | } |
| | | if (userId != null) { |
| | | long count = tCommunityActivityRegistrationService.count(new LambdaQueryWrapper<TCommunityActivityRegistration>().eq(TCommunityActivityRegistration::getActivityId, id).eq(TCommunityActivityRegistration::getAppUserId, userId)); |
| | | if (count > 0) { |
| | | tCommunityActivity.setState(2); |
| | | } |
| | | } |
| | | return R.ok(tCommunityActivity); |
| | | } |
| | | |
| | | @ApiOperation(value = "社区活动--报名", response = TCommunityActivity.class) |
| | | @PostMapping("/addCommunityActivityRegistration") |
| | | public R<?> addCommunityActivityRegistration(@RequestBody TCommunityActivityRegistration dto) { |
| | | |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TCommunityActivity activity = tCommunityActivityService.getById(dto.getActivityId()); |
| | | if (activity == null) { |
| | | return R.fail("活动不存在"); |
| | | } |
| | | if (activity.getEndTime().isBefore(LocalDateTime.now())) { |
| | | return R.fail("报名已结束"); |
| | | } |
| | | if (activity.getStartTime().isAfter(LocalDateTime.now())) { |
| | | return R.fail("报名未开始"); |
| | | } |
| | | if (activity.getStatus() == 3) { |
| | | return R.fail("活动已结束"); |
| | | } |
| | | if (activity.getStatus() == 1) { |
| | | return R.fail("活动未发布"); |
| | | } |
| | | if (tCommunityActivityRegistrationService.count(new LambdaQueryWrapper<TCommunityActivityRegistration>().eq(TCommunityActivityRegistration::getActivityId, dto.getActivityId()).eq(TCommunityActivityRegistration::getAppUserId, userId)) > 0) { |
| | | return R.fail("你已报名"); |
| | | } |
| | | |
| | | dto.setAppUserId(userId); |
| | | tCommunityActivityRegistrationService.save(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "议事投票--列表", response = TDeliberationVote.class) |
| | | @PostMapping("/getDeliberationVoteList") |
| | | public R<Page<TDeliberationVote>> getDeliberationVoteList(@RequestBody DeliberationVoteListQuery query) { |
| | | String userId = null; |
| | | try { |
| | | userId = tokenService.getLoginUserApplet().getUserId(); |
| | | } catch (Exception e) { |
| | | } |
| | | Page<TDeliberationVote> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TDeliberationVote> tDeliberationVotePage = tDeliberationVoteService.page(page, new LambdaQueryWrapper<TDeliberationVote>().eq(TDeliberationVote::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime)); |
| | | List<TDeliberationVote> tDeliberationVoteList = tDeliberationVotePage.getRecords(); |
| | | if(!tDeliberationVoteList.isEmpty()){ |
| | | List<String> voteIds = tDeliberationVoteList.stream().map(TDeliberationVote::getId).collect(Collectors.toList()); |
| | | List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().in(TDeliberationVoteOption::getVoteId, voteIds)); |
| | | for (TDeliberationVote tDeliberationVote : tDeliberationVoteList) { |
| | | List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList()); |
| | | for (TDeliberationVoteOption option : options) { |
| | | |
| | | String[] split = option.getVoteCount().split(","); |
| | | // split转为数组 |
| | | List<String> list = Arrays.asList(split); |
| | | option.setVoteCountNum(list.size()); |
| | | if(tDeliberationVote.getVoteState()==1 && userId!=null && list.contains(userId)){ |
| | | tDeliberationVote.setVoteState(2); |
| | | } |
| | | |
| | | } |
| | | tDeliberationVote.setOptions(options); |
| | | } |
| | | } |
| | | tDeliberationVotePage.setRecords(tDeliberationVoteList); |
| | | return R.ok(tDeliberationVotePage); |
| | | } |
| | | |
| | | @ApiOperation(value = "议事投票--投票") |
| | | @PostMapping("/addDeliberationVoteOption") |
| | | public R<?> addDeliberationVoteOption(@RequestBody TDeliberationVoteOption dto) { |
| | | String voteId = dto.getVoteId(); |
| | | TDeliberationVote tDeliberationVote = tDeliberationVoteService.getById(voteId); |
| | | if (tDeliberationVote == null) { |
| | | return R.fail("投票不存在"); |
| | | } |
| | | if (tDeliberationVote.getStatus() == 3) { |
| | | return R.fail("投票已结束"); |
| | | } |
| | | if (tDeliberationVote.getStatus() == 1) { |
| | | return R.fail("投票未开始"); |
| | | } |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | List<TDeliberationVoteOption> list = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, dto.getVoteId())); |
| | | for (TDeliberationVoteOption tDeliberationVoteOption : list) { |
| | | String voteCount = tDeliberationVoteOption.getVoteCount(); |
| | | String[] split = voteCount.split(","); |
| | | if (Arrays.asList(split).contains(userId)) { |
| | | return R.fail("你已经投票"); |
| | | } |
| | | } |
| | | TDeliberationVoteOption tDeliberationVoteOption = list.stream().filter(e -> e.getOptionContent().equals(dto.getOptionContent())).findFirst().orElse(null); |
| | | if (tDeliberationVoteOption == null) { |
| | | return R.fail("选项不存在"); |
| | | } |
| | | tDeliberationVoteOption.setVoteCount(tDeliberationVoteOption.getVoteCount() + "," + userId); |
| | | tDeliberationVoteOptionService.updateById(tDeliberationVoteOption); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "群众服务诉求/随手拍--提交") |
| | | @PostMapping("/addAppealServices") |
| | | public R<?> addAppealServices(@RequestBody TAppealServices dto) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | dto.setAppUserId(userId); |
| | | dto.setStatus(1); |
| | | tAppealServicesService.save(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |