| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | |
| | | private final TCommunityActivityRegistrationService tCommunityActivityRegistrationService; |
| | | private final TDeliberationVoteService tDeliberationVoteService; |
| | | private final TDeliberationVoteOptionService tDeliberationVoteOptionService; |
| | | private final TAppealServicesService tAppealServicesService ; |
| | | private final TAppealServicesService tAppealServicesService; |
| | | private final TAppUserService appUserService; |
| | | |
| | | public ConvenienceController(THtmlConfigService tHtmlConfigService, TServiceGuideFileService tServiceGuideFileService, TConvenientInformationService tConvenientInformationService, TMicroWishService tMicroWishService, TokenService tokenService, TCommunityActivityService tCommunityActivityService, TCommunityActivityRegistrationService tCommunityActivityRegistrationService, TDeliberationVoteService tDeliberationVoteService, TDeliberationVoteOptionService tDeliberationVoteOptionService, TAppealServicesService tAppealServicesService) { |
| | | public ConvenienceController(THtmlConfigService tHtmlConfigService, TServiceGuideFileService tServiceGuideFileService, TConvenientInformationService tConvenientInformationService, TMicroWishService tMicroWishService, TokenService tokenService, TCommunityActivityService tCommunityActivityService, TCommunityActivityRegistrationService tCommunityActivityRegistrationService, TDeliberationVoteService tDeliberationVoteService, TDeliberationVoteOptionService tDeliberationVoteOptionService, TAppealServicesService tAppealServicesService, TAppUserService appUserService) { |
| | | this.tHtmlConfigService = tHtmlConfigService; |
| | | this.tServiceGuideFileService = tServiceGuideFileService; |
| | | this.tConvenientInformationService = tConvenientInformationService; |
| | |
| | | this.tDeliberationVoteService = tDeliberationVoteService; |
| | | this.tDeliberationVoteOptionService = tDeliberationVoteOptionService; |
| | | this.tAppealServicesService = tAppealServicesService; |
| | | this.appUserService = appUserService; |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "说明--3流程指引 11=群众诉求服务说明 12=随手拍说明 ", response = THtmlConfig.class) |
| | | @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") |
| | |
| | | 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}") |
| | |
| | | @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)); |
| | | Page<TMicroWish> tMicroWishPage = tMicroWishService.page(page, new LambdaQueryWrapper<TMicroWish>().eq(TMicroWish::getWishType, 1).eq(TMicroWish::getState, 1).eq(TMicroWish::getStatus, 2).like(Objects.nonNull(query.getWishDescription()), TMicroWish::getWishDescription, query.getWishDescription()).orderByDesc(BaseModel::getCreateTime)); |
| | | List<TMicroWish> records = tMicroWishPage.getRecords(); |
| | | List<String> appUserIds = records.stream().map(TMicroWish::getAppUserId).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(appUserIds)) { |
| | | List<TAppUser> appUsers = appUserService.list(Wrappers.lambdaQuery(TAppUser.class) |
| | | .in(TAppUser::getId, appUserIds)); |
| | | for (TMicroWish microWish : records) { |
| | | List<TAppUser> appUserList = appUsers.stream().filter(appUser -> microWish.getAppUserId().equals(appUser.getId())).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(appUserList)) { |
| | | microWish.setUserName(appUserList.get(0).getNickName()); |
| | | microWish.setAvatar(appUserList.get(0).getAvatar()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return R.ok(tMicroWishPage); |
| | | } |
| | | |
| | |
| | | public R<?> addMicroWish(@RequestBody TMicroWish dto) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | dto.setAppUserId(userId); |
| | | dto.setStatus(1); |
| | | if (dto.getWishType() == 1) { |
| | | dto.setStatus(1); |
| | | } else { |
| | | dto.setStatus(4); |
| | | } |
| | | tMicroWishService.save(dto); |
| | | return R.ok(); |
| | | } |
| | |
| | | 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) { |
| | | if (!activityList.isEmpty()) { |
| | | 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)); |
| | | List<TCommunityActivityRegistration> activityRegistrationList = tCommunityActivityRegistrationService.list(new LambdaQueryWrapper<TCommunityActivityRegistration>().in(TCommunityActivityRegistration::getActivityId, activityIds)); |
| | | for (TCommunityActivity tCommunityActivity : activityList) { |
| | | TCommunityActivityRegistration tCommunityActivityRegistration = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).findFirst().orElse(null); |
| | | if (tCommunityActivityRegistration != null) { |
| | | tCommunityActivity.setState(2); |
| | | List<TCommunityActivityRegistration> tCommunityActivityRegistrations = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).collect(Collectors.toList()); |
| | | tCommunityActivity.setUserNum(tCommunityActivityRegistrations.size()); |
| | | String finalUserId = userId; |
| | | if (finalUserId != null) { |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | long count = tCommunityActivityRegistrationService.count(new LambdaQueryWrapper<TCommunityActivityRegistration>().eq(TCommunityActivityRegistration::getActivityId, id)); |
| | | if (count > 0) { |
| | | tCommunityActivity.setUserNum((int) count); |
| | | } |
| | | if(userId!=null){ |
| | | tCommunityActivity.setState(tCommunityActivityRegistrationService.count(new LambdaQueryWrapper<TCommunityActivityRegistration>().eq(TCommunityActivityRegistration::getActivityId, id).eq(TCommunityActivityRegistration::getAppUserId, userId)) > 0 ? 2 : 1); |
| | | } |
| | | return R.ok(tCommunityActivity); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "社区活动--报名", response = TCommunityActivity.class) |
| | | @PostMapping("/addCommunityActivityRegistration") |
| | |
| | | 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()){ |
| | | 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); |
| | | if (option.getVoteCount() != null) { |
| | | |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | tDeliberationVotePage.setRecords(tDeliberationVoteList); |
| | | return R.ok(tDeliberationVotePage); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String s = SecureUtil.md5("123456"); |
| | | System.out.println(s); |
| | | } |
| | | |
| | | @ApiOperation(value = "议事投票--详情", response = TDeliberationVote.class) |
| | | @GetMapping("/getDeliberationVoteDetail/{id}") |
| | | public R<TDeliberationVote> getDeliberationVoteDetail(@PathVariable String id) { |
| | | String userId = null; |
| | | try { |
| | | userId = tokenService.getLoginUserApplet().getUserId(); |
| | | } catch (Exception e) { |
| | | } |
| | | TDeliberationVote tDeliberationVote = tDeliberationVoteService.getById(id); |
| | | if (tDeliberationVote != null) { |
| | | List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, id)); |
| | | List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList()); |
| | | for (TDeliberationVoteOption option : options) { |
| | | if (option.getVoteCount() != null) { |
| | | 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); |
| | | } |
| | | return R.ok(tDeliberationVote); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "议事投票--投票") |
| | | @PostMapping("/addDeliberationVoteOption") |
| | |
| | | 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("你已经投票"); |
| | | if (voteCount != null) { |
| | | 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.ok(); |
| | | } |
| | | |
| | | |
| | | } |