| | |
| | | import oshi.driver.mac.net.NetStat; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | |
| | | @ApiOperation(value = "根据省名字获取悬停框内统计数",tags = {"web-政策数据中心"}) |
| | | @PostMapping(value = "/getByProvinceName/count") |
| | | public R getByProvinceName() { |
| | | List<TRegion> list1 = regionService.lambdaQuery().groupBy(TRegion::getProvinceName).list(); |
| | | for (TRegion tRegion : list1) { |
| | | List<TRegion> regions = regionService.lambdaQuery().groupBy(TRegion::getProvinceName).list(); |
| | | for (TRegion tRegion : regions) { |
| | | List<TRegion> list = regionService.lambdaQuery().eq(TRegion::getProvinceName, tRegion.getProvinceName()).list(); |
| | | List<Integer> regionIds = new ArrayList<>(); |
| | | list.forEach(region -> regionIds.add(region.getId())); |
| | |
| | | tRegion.setCount(0L); |
| | | } |
| | | } |
| | | return R.ok(list1); |
| | | |
| | | return R.ok(regions); |
| | | } |
| | | |
| | | |
| | |
| | | public R<List<TDeclareNotice>> noticelist(@RequestBody ConsultationQuery informationQuery) { |
| | | //获取当前登录人id |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | TUserChange userChange = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | List<TDeclareNotice> notices = new ArrayList<>(); |
| | | if (one!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); |
| | | for (TUserChangeDetail tUserChangeDetail : list) { |
| | | List<TDeclareNotice> list1 = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getRegionId,tUserChangeDetail.getRegionId()).eq(TDeclareNotice::getMajorId, tUserChangeDetail.getMajorId()).eq(TDeclareNotice::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(list1); |
| | | if (userChange!=null){ |
| | | List<TUserChangeDetail> userChangeDetails = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, userChange.getId()).list(); |
| | | for (TUserChangeDetail tUserChangeDetail : userChangeDetails) { |
| | | List<TDeclareNotice> declareNotices = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getRegionId,tUserChangeDetail.getRegionId()).eq(TDeclareNotice::getMajorId, tUserChangeDetail.getMajorId()).eq(TDeclareNotice::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(declareNotices); |
| | | } |
| | | notices.sort(Comparator.comparing(TDeclareNotice::getCreateTime).reversed()); |
| | | }else { |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | List<TDeclareNotice> list1 = declareNoticeService.lambdaQuery() |
| | | List<TDeclareNotice> declareNotices = declareNoticeService.lambdaQuery() |
| | | .last(" ORDER BY RAND() LIMIT 16").list(); |
| | | notices.addAll(list1); |
| | | notices.addAll(declareNotices); |
| | | } |
| | | if (notices.size() > 16) { |
| | | // 只保留前 16 条记录 |
| | |
| | | |
| | | @ApiOperation(value = "定制推荐-2政策3公示",tags = {"web-首页"}) |
| | | @PostMapping(value = "/consultation/list") |
| | | public R<List<TConsultation>> consultationlist(@RequestParam Integer type) { |
| | | //获取当前登录人id |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | public R<List<TConsultation>> consultationlist(@RequestParam Integer type, @RequestParam(required = false) Integer regionId, HttpServletRequest request) { |
| | | String token = request.getHeader("Authorization"); |
| | | TUserChange userChange =null; |
| | | if(StringUtils.isNotEmpty(token)){ |
| | | //获取当前登录人id |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | userChange = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | } |
| | | List<TConsultation> notices = new ArrayList<>(); |
| | | |
| | | if (type==1){ |
| | | if (one!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); |
| | | for (TUserChangeDetail tUserChangeDetail : list) { |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) |
| | | .eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()) |
| | | .eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()) |
| | | .eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()) |
| | | .eq(TConsultation::getIsRecommend,1) |
| | | .orderByDesc(TConsultation::getClassificationSort,TConsultation::getCreateTime).list(); |
| | | notices.addAll(list1); |
| | | if (userChange!=null){ |
| | | List<TUserChangeDetail> userChangeDetails = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, userChange.getId()).list(); |
| | | List<TConsultation> consultations = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, type) |
| | | .orderByDesc(TConsultation::getClassificationSort,TConsultation::getCreateTime).list(); |
| | | for (TUserChangeDetail tUserChangeDetail : userChangeDetails) { |
| | | List<TConsultation> consultationList = consultations.stream().filter(e -> e.getRegionId().equals(tUserChangeDetail.getRegionId()) |
| | | && e.getMajorId().equals(tUserChangeDetail.getMajorId()) |
| | | && e.getLevel().equals(tUserChangeDetail.getLevelId()) |
| | | ).collect(Collectors.toList()); |
| | | // List<TConsultation> consultations = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) |
| | | // .eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()) |
| | | // .eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()) |
| | | // .eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()) |
| | | // .orderByDesc(TConsultation::getClassificationSort,TConsultation::getCreateTime).list(); |
| | | notices.addAll(consultationList); |
| | | } |
| | | notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); |
| | | }else { |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | |
| | | TRegion region = regionService.getById(regionId); |
| | | List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) |
| | | .eq(TRegion::getProvinceName, region.getProvinceName())); |
| | | List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) |
| | | .in(TConsultation::getRegionId,regionIds) |
| | | .orderByDesc(TConsultation::getCreateTime,TConsultation::getClassificationSort).list(); |
| | | notices.addAll(list1); |
| | | notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); |
| | | } |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).eq(TConsultation::getIsRecommend,1).last("ORDER BY RAND() LIMIT 16").list(); |
| | | notices.addAll(list1); |
| | | if (notices.size() > 16) { |
| | | // List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).eq(TConsultation::getIsRecommend,1).last("ORDER BY RAND() LIMIT 16").list(); |
| | | // notices.addAll(list1); |
| | | if (notices.size() > 2) { |
| | | // 只保留前 16 条记录 |
| | | notices = new ArrayList<>(notices.subList(0, 16)); |
| | | notices = new ArrayList<>(notices.subList(0, 2)); |
| | | } |
| | | }else { |
| | | if (one!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); |
| | | if (userChange!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, userChange.getId()).list(); |
| | | List<TConsultation> consultations = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, type).list(); |
| | | for (TUserChangeDetail tUserChangeDetail : list) { |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) |
| | | .eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()) |
| | | .eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()) |
| | | .eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(list1); |
| | | List<TConsultation> consultationList = consultations.stream().filter(e -> e.getRegionId().equals(tUserChangeDetail.getRegionId()) |
| | | && e.getMajorId().equals(tUserChangeDetail.getMajorId()) |
| | | && e.getLevel().equals(tUserChangeDetail.getLevelId()) |
| | | && e.getClassificationId().equals(type) |
| | | ).collect(Collectors.toList()); |
| | | notices.addAll(consultationList); |
| | | } |
| | | notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); |
| | | }else { |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | |
| | | TRegion region = regionService.getById(regionId); |
| | | List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) |
| | | .eq(TRegion::getProvinceName, region.getProvinceName())); |
| | | List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) |
| | | .in(TConsultation::getRegionId,regionIds) |
| | | .orderByDesc(TConsultation::getCreateTime,TConsultation::getClassificationSort).list(); |
| | | notices.addAll(list1); |
| | | notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); |
| | | } |
| | | List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).last("ORDER BY RAND() LIMIT 16").list(); |
| | | notices.addAll(list1); |
| | | if (notices.size() > 16) { |
| | | // List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).last("ORDER BY RAND() LIMIT 16").list(); |
| | | // notices.addAll(list1); |
| | | if (notices.size() > 2) { |
| | | // 只保留前 16 条记录 |
| | | notices = new ArrayList<>(notices.subList(0, 16)); |
| | | notices = new ArrayList<>(notices.subList(0, 2)); |
| | | } |
| | | } |
| | | return R.ok(notices); |
| | |
| | | @ApiOperation(value = "全国政策数据",tags = {"web-首页"}) |
| | | @PostMapping(value = "/total/count") |
| | | public R<CountTotalDto> totalcount() { |
| | | Long count1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 1).count(); |
| | | Long count2 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 2).count(); |
| | | Long count3 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 3).count(); |
| | | Long noticeCount = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 1).count(); |
| | | Long fileCount = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 2).count(); |
| | | Long infoCount = consultationService.lambdaQuery().eq(TConsultation::getClassificationId, 3).count(); |
| | | CountTotalDto countTotalDto = new CountTotalDto(); |
| | | countTotalDto.setNoticeCount(count1); |
| | | countTotalDto.setFileCount(count2); |
| | | countTotalDto.setInfoCount(count3); |
| | | Long count4 = committeeService.lambdaQuery().count(); |
| | | countTotalDto.setCommitteeCount(count4); |
| | | countTotalDto.setNoticeCount(noticeCount); |
| | | countTotalDto.setFileCount(fileCount); |
| | | countTotalDto.setInfoCount(infoCount); |
| | | Long committeeCount = committeeService.lambdaQuery().count(); |
| | | countTotalDto.setCommitteeCount(committeeCount); |
| | | return R.ok(countTotalDto); |
| | | } |
| | | |
| | |
| | | @PostMapping(value = "/allert") |
| | | public R allert() { |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TAppUser byId = appUserService.getById(userId); |
| | | TAppUser appUser = appUserService.getById(userId); |
| | | Long cacheObject = redisCache.getCacheObject("ALLERT:"+userId); |
| | | |
| | | if (cacheObject!=null && byId.getIsSetPreference() == 1){ |
| | | if (cacheObject!=null && appUser.getIsSetPreference() == 1){ |
| | | return R.ok(cacheObject == 1); |
| | | }else { |
| | | return R.ok(false); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "取消顶部提示",tags = {"web-取消顶部提示"}) |
| | | @PostMapping(value = "/cancelAllert") |
| | | public R cancelAllert() { |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | redisCache.deleteObject("ALLERT:"+userId); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | @ApiOperation(value = "推荐资料",tags = {"web-首页"}) |
| | | @PostMapping(value = "/information/list") |
| | | public R<List<TInformation>> information() { |
| | | //获取当前登录人id |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | public R<List<TInformation>> information(@RequestParam(required = false) Integer regionId, HttpServletRequest request) { |
| | | String token = request.getHeader("Authorization"); |
| | | TUserChange one =null; |
| | | Long userId; |
| | | if(StringUtils.isNotEmpty(token)){ |
| | | //获取当前登录人id |
| | | userId = tokenService.getLoginUser().getUserId(); |
| | | one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | }else { |
| | | userId = -1L; |
| | | } |
| | | List<TInformation> notices = new ArrayList<>(); |
| | | if (one!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); |
| | | List<TInformation> informations = informationService.lambdaQuery().list(); |
| | | for (TUserChangeDetail tUserChangeDetail : list) { |
| | | List<TInformation> list1 = informationService.lambdaQuery().eq(TInformation::getRegionId,tUserChangeDetail.getRegionId()).eq(TInformation::getMajorId, tUserChangeDetail.getMajorId()).eq(TInformation::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(list1); |
| | | List<TInformation> informationsList = informations.stream().filter(e -> |
| | | e.getRegionId().equals(tUserChangeDetail.getRegionId()) |
| | | && e.getMajorId().equals(tUserChangeDetail.getMajorId()) |
| | | && e.getLevel().equals(tUserChangeDetail.getLevelId()) |
| | | ).collect(Collectors.toList()); |
| | | // List<TInformation> informationsList = informationService.lambdaQuery() |
| | | // .eq(TInformation::getRegionId,tUserChangeDetail.getRegionId()) |
| | | // .eq(TInformation::getMajorId, tUserChangeDetail.getMajorId()) |
| | | // .eq(TInformation::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(informationsList); |
| | | } |
| | | notices.sort(Comparator.comparing(TInformation::getCreateTime).reversed()); |
| | | } |
| | | }else { |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | List<TInformation> list1 = informationService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); |
| | | TRegion region = regionService.getById(regionId); |
| | | List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) |
| | | .eq(TRegion::getProvinceName, region.getProvinceName())); |
| | | List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); |
| | | List<TInformation> list1 = informationService.lambdaQuery() |
| | | .in(TInformation::getRegionId,regionIds).list(); |
| | | notices.addAll(list1); |
| | | notices.sort(Comparator.comparing(TInformation::getCreateTime).reversed()); |
| | | } |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | // List<TInformation> list1 = informationService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); |
| | | // notices.addAll(list1); |
| | | |
| | | if (notices.size() > 16) { |
| | | // 只保留前 16 条记录 |
| | |
| | | |
| | | @ApiOperation(value = "推荐课程",tags = {"web-首页"}) |
| | | @PostMapping(value = "/course/list") |
| | | public R<List<TCourse>> course() { |
| | | //获取当前登录人id |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | public R<List<TCourse>> course(@RequestParam(required = false) Integer regionId, HttpServletRequest request) { |
| | | String token = request.getHeader("Authorization"); |
| | | TUserChange one =null; |
| | | Long userId; |
| | | if(StringUtils.isNotEmpty(token)){ |
| | | //获取当前登录人id |
| | | //获取当前登录人id |
| | | userId = tokenService.getLoginUser().getUserId(); |
| | | one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); |
| | | }else { |
| | | userId = -1L; |
| | | } |
| | | List<TCourse> notices = new ArrayList<>(); |
| | | if (one!=null){ |
| | | List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); |
| | | List<TCourse> courses = courseService.lambdaQuery().list(); |
| | | for (TUserChangeDetail tUserChangeDetail : list) { |
| | | List<TCourse> list1 = courseService.lambdaQuery().eq(TCourse::getRegionId,tUserChangeDetail.getRegionId()).eq(TCourse::getMajorId, tUserChangeDetail.getMajorId()).eq(TCourse::getLevel, tUserChangeDetail.getLevelId()).list(); |
| | | notices.addAll(list1); |
| | | List<TCourse> coursesList = courses.stream().filter(e -> |
| | | e.getRegionId().equals(tUserChangeDetail.getRegionId()) |
| | | && e.getMajorId().equals(tUserChangeDetail.getMajorId()) |
| | | && e.getLevel().equals(tUserChangeDetail.getLevelId()) |
| | | ).collect(Collectors.toList()); |
| | | |
| | | notices.addAll(coursesList); |
| | | } |
| | | notices.sort(Comparator.comparing(TCourse::getCreateTime).reversed()); |
| | | }else { |
| | | // 创建 LambdaQueryWrapper 并设置查询条件 |
| | | |
| | | TRegion region = regionService.getById(regionId); |
| | | List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) |
| | | .eq(TRegion::getProvinceName, region.getProvinceName())); |
| | | List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); |
| | | List<TCourse> list1 = courseService.lambdaQuery().in(TCourse::getRegionId,regionIds).list(); |
| | | notices.addAll(list1); |
| | | notices.sort(Comparator.comparing(TCourse::getCreateTime).reversed()); |
| | | } |
| | | List<TCourse> list1 = courseService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); |
| | | notices.addAll(list1); |
| | | // List<TCourse> list1 = courseService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); |
| | | // notices.addAll(list1); |
| | | if (notices.size() > 16) { |
| | | // 只保留前 16 条记录 |
| | | notices = new ArrayList<>(notices.subList(0, 16)); |