ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/CallBackController.java
@@ -57,11 +57,11 @@ public R alipayCallback(Long orderId) throws AlipayApiException { // String outTradeNo = stringStringMap.get("out_trade_no"); TOrder one = orderService.getById(orderId); Boolean check = AlipayTradeQuery.check(one.getCode()); TOrder order = orderService.getById(orderId); Boolean check = AlipayTradeQuery.check(order.getCode()); if (check) { one.setPaymentStatus(2); orderService.updateById(one); order.setPaymentStatus(2); orderService.updateById(order); // if (one.getGoodType()==1){ // try { // TCourse byId = courseService.getById(one.getGoodId()); @@ -90,18 +90,18 @@ Transaction transaction; transaction = notificationParser.parse(WeChatUtil.handleNodifyRequestParam(request), Transaction.class); if (transaction.getTradeState() == Transaction.TradeStateEnum.SUCCESS) { TOrder one = orderService.lambdaQuery().eq(TOrder::getCode, transaction.getOutTradeNo()).one(); one.setPaymentStatus(2); one.setSerialNumber(transaction.getTransactionId()); one.setPayTime(LocalDateTime.now()); TOrder order = orderService.lambdaQuery().eq(TOrder::getCode, transaction.getOutTradeNo()).one(); order.setPaymentStatus(2); order.setSerialNumber(transaction.getTransactionId()); order.setPayTime(LocalDateTime.now()); one.setPaymentType(1); orderService.updateById(one); if (one.getGoodType()==1){ order.setPaymentType(1); orderService.updateById(order); if (order.getGoodType()==1){ try { TCourse byId = courseService.getById(one.getGoodId()); byId.setBuyNum(byId.getBuyNum()+1); courseService.updateById(byId); TCourse course = courseService.getById(order.getGoodId()); course.setBuyNum(course.getBuyNum()+1); courseService.updateById(course); }catch (Exception e){ e.printStackTrace(); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -38,6 +38,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** @@ -134,8 +135,8 @@ public R regis(@RequestBody RegisterDto registerDto) { TAppUser one = appUserService.lambdaQuery().eq(TAppUser::getPhone, registerDto.getPhone()).one(); if (one!=null){ TAppUser tAppUser = appUserService.lambdaQuery().eq(TAppUser::getPhone, registerDto.getPhone()).one(); if (tAppUser!=null){ return R.fail("当前手机号已注册"); } String cacheObject = redisCache.getCacheObject(registerDto.getPhone()); @@ -191,7 +192,7 @@ public R changephone(@RequestParam String newPhone,@RequestParam String code) { Long userId = tokenService.getLoginUser().getUserId(); TAppUser byId = appUserService.getById(userId); TAppUser appUser = appUserService.getById(userId); String cacheObject = redisCache.getCacheObject(newPhone); @@ -200,8 +201,8 @@ } if (redisCache.getCacheObject(newPhone).equals(code)){ byId.setPhone(newPhone); appUserService.updateById(byId); appUser.setPhone(newPhone); appUserService.updateById(appUser); return R.ok(); }else{ return R.fail("验证码错误"); @@ -214,15 +215,15 @@ public R forget(@RequestBody RegisterDto registerDto) { TAppUser one = appUserService.lambdaQuery().eq(TAppUser::getPhone, registerDto.getPhone()).one(); TAppUser appUser = appUserService.lambdaQuery().eq(TAppUser::getPhone, registerDto.getPhone()).one(); String cacheObject = redisCache.getCacheObject(one.getPhone()); String cacheObject = redisCache.getCacheObject(appUser.getPhone()); if (!registerDto.getCode().equals("123456")&&!cacheObject.equals(registerDto.getCode())){ return R.fail("验证码错误"); } if (registerDto.getCode().equals("123456") || redisCache.getCacheObject(registerDto.getPhone()).equals(registerDto.getCode())) { one.setPassword(SecurityUtils.encryptPassword(registerDto.getPwd())); appUserService.updateById(one); appUser.setPassword(SecurityUtils.encryptPassword(registerDto.getPwd())); appUserService.updateById(appUser); }else { return R.fail("验证码错误"); } @@ -259,21 +260,21 @@ }else if (lateIds.size()>0){ finalIds = lateIds; } LocalDateTime time1 = LocalDateTime.now(); LocalDateTime time2 = LocalDateTime.now(); LocalDateTime startTime = LocalDateTime.now(); LocalDateTime endTime = LocalDateTime.now(); if (appUserQuery.getCreateTime1() != null){ time1 = appUserQuery.getCreateTime1().atStartOfDay(); startTime = appUserQuery.getCreateTime1().atStartOfDay(); } if (appUserQuery.getCreateTime2() != null){ time2 = appUserQuery.getCreateTime2().atTime(23, 59, 59, 999999999); endTime = appUserQuery.getCreateTime2().atTime(23, 59, 59, 999999999); } Page<TAppUser> page = appUserService.lambdaQuery().like(appUserQuery.getName() != null, TAppUser::getName, appUserQuery.getName()) .like(appUserQuery.getPhone() != null, TAppUser::getPhone, appUserQuery.getPhone()) .eq(appUserQuery.getStatus() != null, TAppUser::getStatus, appUserQuery.getStatus()) .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime,time1) .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime,time2) .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime,startTime) .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime,endTime) .in(finalIds.size() > 0, TAppUser::getId, finalIds) .orderByDesc(TAppUser::getCreateTime) .page(Page.of(appUserQuery.getPageNum(), appUserQuery.getPageSize())); @@ -309,11 +310,11 @@ } String join = StringUtils.join(newString, "、"); record.setNewString(join); String endLike = StringUtils.join(newString, "、"); record.setNewString(endLike); String join1 = StringUtils.join(lateString, "、"); record.setLateString(join1); String firstLike = StringUtils.join(lateString, "、"); record.setLateString(firstLike); } return R.ok(page); @@ -323,9 +324,9 @@ @ApiOperation(value = "解冻",tags = "后台-用户管理") @PostMapping(value = "/unfreeze") public R unfreeze(Long id){ TAppUser byId = appUserService.getById(id); byId.setStatus(1); appUserService.updateById(byId); TAppUser appUser = appUserService.getById(id); appUser.setStatus(1); appUserService.updateById(appUser); return R.ok(); } @@ -333,24 +334,24 @@ @PostMapping(value = "/info") public R<TAppUser> info(){ Long userId = tokenService.getLoginUser().getUserId(); TAppUser byId = appUserService.getById(userId); TAppUser appUser = appUserService.getById(userId); Object cacheObject = redisCache.getCacheObject("CITY:" + userId); byId.setCityStr(cacheObject); return R.ok(byId); appUser.setCityStr(cacheObject); return R.ok(appUser); } @ApiOperation(value = "冻结",tags = "后台-用户管理") @PostMapping(value = "/freeze") public R freeze(@RequestBody FreezeDto freezeDto){ TAppUser byId = appUserService.getById(freezeDto.getId()); byId.setStatus(2); byId.setRemark(freezeDto.getReason()); TAppUser appUser = appUserService.getById(freezeDto.getId()); appUser.setStatus(2); appUser.setRemark(freezeDto.getReason()); Long userId = tokenService.getLoginUser().getUserId(); SysUser sysUser = sysUserService.selectUserById(userId); byId.setEditName(sysUser.getNickName()); byId.setEditTime(LocalDateTime.now()); appUserService.updateById(byId); appUser.setEditName(sysUser.getNickName()); appUser.setEditTime(LocalDateTime.now()); appUserService.updateById(appUser); return R.ok(); } @@ -392,35 +393,43 @@ }else if (lateIds.size()>0){ finalIds = lateIds; } LocalDateTime time1 = LocalDateTime.now(); LocalDateTime time2 = LocalDateTime.now(); LocalDateTime startTime = LocalDateTime.now(); LocalDateTime endTime = LocalDateTime.now(); if (appUserQuery.getCreateTime1() != null){ time1 = appUserQuery.getCreateTime1().atStartOfDay(); startTime = appUserQuery.getCreateTime1().atStartOfDay(); } if (appUserQuery.getCreateTime2() != null){ time2 = appUserQuery.getCreateTime2().atTime(23, 59, 59, 999999999); endTime = appUserQuery.getCreateTime2().atTime(23, 59, 59, 999999999); } Page<TAppUser> page = appUserService.lambdaQuery().like(appUserQuery.getName() != null, TAppUser::getName, appUserQuery.getName()) List<TAppUser> page = appUserService.lambdaQuery().like(appUserQuery.getName() != null, TAppUser::getName, appUserQuery.getName()) .like(appUserQuery.getPhone() != null, TAppUser::getPhone, appUserQuery.getPhone()) .eq(appUserQuery.getStatus() != null, TAppUser::getStatus, appUserQuery.getStatus()) .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime, time1) .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime, time2) .in(finalIds.size() > 0, TAppUser::getId, finalIds) .page(Page.of(1, 999999999)); for (TAppUser record : page.getRecords()) { .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime, startTime) .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime, endTime) .in(finalIds.size() > 0, TAppUser::getId, finalIds).list() ; List<Long> collect = page.stream().map(TAppUser::getId).collect(Collectors.toList()); Map<Long, TUserChange> collect1 = tUserChangeService.lambdaQuery() .in(TUserChange::getUserId, collect).orderByDesc(TUserChange::getCreateTime).list() .stream().collect(Collectors.toMap(TUserChange::getUserId, Function.identity(), (existing, replacement) -> existing)); List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TLevel> levels = levelService.lambdaQuery().list(); for (TAppUser record : page) { List<String> newString = new ArrayList<>(); //拿到最新的change TUserChange newest = tUserChangeService.lambdaQuery().eq(TUserChange::getUserId,record.getId()).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); // TUserChange newest = tUserChangeService.lambdaQuery().eq(TUserChange::getUserId,record.getId()).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); TUserChange newest = collect1.get(record.getId()); if (newest!=null){ List<TUserChangeDetail> list = tUserChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, newest.getId()).list(); for (TUserChangeDetail tUserChangeDetail : list) { TRegion byId = regionService.getById(tUserChangeDetail.getRegionId()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(tUserChangeDetail.getTitleId()); TTitleMajor byId2 = majorService.getById(tUserChangeDetail.getMajorId()); TLevel byId3 = levelService.getById(tUserChangeDetail.getLevelId()); newString.add(byId.getName()+"-"+byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName()); TRegion region = regions.stream().filter(e -> e.getId().equals(tUserChangeDetail.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tUserChangeDetail.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tUserChangeDetail.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tUserChangeDetail.getLevelId())).findFirst().orElse(null); newString.add(region.getName()+"-"+tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); } } @@ -431,20 +440,20 @@ if (latest!=null){ List<TUserChangeDetail> list = tUserChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, latest.getId()).list(); for (TUserChangeDetail tUserChangeDetail : list) { TRegion byId = regionService.getById(tUserChangeDetail.getRegionId()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(tUserChangeDetail.getTitleId()); TTitleMajor byId2 = majorService.getById(tUserChangeDetail.getMajorId()); TLevel byId3 = levelService.getById(tUserChangeDetail.getLevelId()); lateString.add(byId.getName()+"-"+byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName()); TRegion region = regions.stream().filter(e -> e.getId().equals(tUserChangeDetail.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tUserChangeDetail.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tUserChangeDetail.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tUserChangeDetail.getLevelId())).findFirst().orElse(null); lateString.add(region.getName()+"-"+tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); } } String join = StringUtils.join(newString, "、"); record.setNewString(join); String end = StringUtils.join(newString, "、"); record.setNewString(end); String join1 = StringUtils.join(lateString, "、"); record.setLateString(join1); String first = StringUtils.join(lateString, "、"); record.setLateString(first); record.setCreateTimeStr(DateUtils.localDateTimeToString(record.getCreateTime())); @@ -462,7 +471,7 @@ // tOrderMealExportExcel.setPersonCount(orderMealVO.getMealPerson()); // orderMeals.add(tOrderMealExportExcel); // } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TAppUser.class,page.getRecords() ); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TAppUser.class,page); HttpServletResponse response = WebUtils.response(); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); @@ -494,28 +503,33 @@ @ApiOperation(value = "详情",tags = "后台-用户管理") @PostMapping(value = "/detail") public R<TAppUser> detail(Long id){ TAppUser byId = appUserService.getById(id); List<TUserChange> list = userChangeService.lambdaQuery().eq(TUserChange::getUserId, id).orderByDesc(TUserChange::getCreateTime).list(); for (TUserChange tUserChange : list) { List<TUserChangeDetail> list1 = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, tUserChange.getId()).list(); for (TUserChangeDetail tUserChangeDetail : list1) { TRegion byId1 = regionService.getById(tUserChangeDetail.getRegionId()); tUserChangeDetail.setRegion(byId1.getProvinceName()+"-"+byId1.getName()); TTechnicalTitle byId2 = tTechnicalTitleService.getById(tUserChangeDetail.getTitleId()); tUserChangeDetail.setTitleName(byId2.getTitileName()); TTitleMajor byId3 = majorService.getById(tUserChangeDetail.getMajorId()); tUserChangeDetail.setMajorName(byId3.getMajorName()); TLevel byId4 = levelService.getById(tUserChangeDetail.getLevelId()); tUserChangeDetail.setLevelName(byId4.getName()); TAppUser appUser = appUserService.getById(id); List<TUserChange> userChanges = userChangeService.lambdaQuery().eq(TUserChange::getUserId, id).orderByDesc(TUserChange::getCreateTime).list(); List<TUserChangeDetail> tUserChangeDetails = userChangeDetailService.lambdaQuery() .in(TUserChangeDetail::getChangeId,userChanges.stream().map(TUserChange::getId).collect(Collectors.toList())).list(); List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TLevel> levels = levelService.lambdaQuery().list(); for (TUserChange tUserChange : userChanges) { for (TUserChangeDetail tUserChangeDetail : tUserChangeDetails) { TRegion region = regions.stream().filter(e -> e.getId().equals(tUserChangeDetail.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tUserChangeDetail.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tUserChangeDetail.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tUserChangeDetail.getLevelId())).findFirst().orElse(null); tUserChangeDetail.setRegion(region.getProvinceName()+"-"+region.getName()); tUserChangeDetail.setTitleName(tTechnicalTitle.getTitileName()); tUserChangeDetail.setMajorName(tTitleMajor.getMajorName()); tUserChangeDetail.setLevelName(tLevel.getName()); } tUserChange.setUserChangeDetails(list1); tUserChange.setUserChangeDetails(tUserChangeDetails); } TRegion byId2 = regionService.getById(byId.getCityCode()); if(Objects.nonNull(byId2)){ byId.setCityStr(byId2.getProvinceName()+"-"+byId2.getName()); TRegion region = regionService.getById(appUser.getCityCode()); if(Objects.nonNull(region)){ appUser.setCityStr(region.getProvinceName()+"-"+region.getName()); } byId.setChanges(list); return R.ok(byId) ; appUser.setChanges(userChanges); return R.ok(appUser) ; } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCommitteeController.java
@@ -158,17 +158,20 @@ } } List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TCommitteeTechnical> committeeTechnicals = committeeTechnicalService.lambdaQuery().list(); List<TCommitteeMajor> committeeMajors = tCommitteeMajorService.lambdaQuery().list(); for (TCommittee record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); List<TCommitteeTechnical> tCommitteeTechnicals = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getCommitteeId, record.getId()).list(); List<TCommitteeMajor> tCommitteeMajors =tCommitteeMajorService.lambdaQuery().eq(TCommitteeMajor::getCommitteeId, record.getId()).list(); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); List<TCommitteeTechnical> tCommitteeTechnicals = committeeTechnicals.stream().filter(e -> e.getCommitteeId().equals(record.getId())).collect(Collectors.toList()); List<TCommitteeMajor> tCommitteeMajors = committeeMajors.stream().filter(e -> e.getCommitteeId().equals(record.getId())).collect(Collectors.toList()); record.setTCommitteeTechnicals(tCommitteeTechnicals); record.setTCommitteeMajors(tCommitteeMajors); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java
@@ -184,15 +184,19 @@ Set<Long> cacheSet = redisCache.getCacheSet("Consultation:" + userId); List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TConsultationClassification> consultationClassifications = consultationClassificationService.lambdaQuery().list(); for (TConsultation record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTitleId()); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TConsultationClassification byId3 = consultationClassificationService.getById(record.getClassificationId()); record.setTConsultationClassificationName(byId3.getConsultationName()); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); TConsultationClassification tConsultationClassification = consultationClassifications.stream().filter(e -> e.getId().equals(record.getClassificationId())).findFirst().orElse(null); record.setTConsultationClassificationName(tConsultationClassification.getConsultationName()); if (cacheSet!=null){ if (cacheSet.contains(record.getId())){ record.setIsCollect(1); @@ -211,27 +215,27 @@ @ApiOperation(value = "详情",tags = {"后台-咨询管理-咨询列表","web-咨询查询"}) @PostMapping(value = "/detail") public R<TConsultation> detail(@RequestParam Long id ) { TConsultation byId = informationService.getById(id); byId.setWatchNum(byId.getWatchNum()+1); informationService.updateById(byId); TTechnicalTitle byId1 = tTechnicalTitleService.getById(byId.getTitleId()); byId.setTechnicalName(byId1.getTitileName()); TTitleMajor byId2 = majorService.getById(byId.getMajorId()); byId.setMajorName(byId2.getMajorName()); TLevel byId3 = levelService.getById(byId.getLevel()); byId.setLevelName(byId3.getName()); TRegion byId4 = regionService.getById(byId.getRegionId()); byId.setTRegion(byId4); return R.ok(byId); TConsultation consultation = informationService.getById(id); consultation.setWatchNum(consultation.getWatchNum()+1); informationService.updateById(consultation); TTechnicalTitle tTechnicalTitle = tTechnicalTitleService.getById(consultation.getTitleId()); consultation.setTechnicalName(tTechnicalTitle.getTitileName()); TTitleMajor tTitleMajor = majorService.getById(consultation.getMajorId()); consultation.setMajorName(tTitleMajor.getMajorName()); TLevel level = levelService.getById(consultation.getLevel()); consultation.setLevelName(level.getName()); TRegion region = regionService.getById(consultation.getRegionId()); consultation.setTRegion(region); return R.ok(consultation); } @ApiOperation(value = "观看",tags = {"web-咨询查询"}) @PostMapping(value = "/watch") public R watch(@RequestParam Long id ) { TConsultation byId = informationService.getById(id); byId.setWatchNum(byId.getWatchNum()+1); informationService.updateById(byId); TConsultation consultation = informationService.getById(id); consultation.setWatchNum(consultation.getWatchNum()+1); informationService.updateById(consultation); return R.ok(); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationMessageController.java
@@ -15,6 +15,7 @@ import javax.annotation.Resource; import java.util.Arrays; import java.util.List; /** * <p> @@ -43,15 +44,17 @@ @PostMapping("/list") public R<PageInfo<TConsultationMessage>> list(@RequestBody MessageQuery messageQuery){ PageInfo<TConsultationMessage> tConsultationMessagePageInfo = consultationMessageService.pageQuery(messageQuery); List<TConsultation> consultations = consultationService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TLevel> levels = levelService.lambdaQuery().list(); for (TConsultationMessage record : tConsultationMessagePageInfo.getRecords()) { TConsultation byId = consultationService.getById(record.getConsultationId()); record.setTitle(byId.getClassificationName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(byId.getTitleId() ); TTitleMajor byId2 = majorService.getById(byId.getMajorId()); TLevel byId3 = levelService.getById(byId.getLevel()); record.setClassName(byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName()); TConsultation consultation = consultations.stream().filter(e -> e.getId().equals(record.getConsultationId())).findFirst().orElse(null); record.setTitle(consultation.getClassificationName()); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(consultation.getTitleId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(consultation.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(consultation.getLevel())).findFirst().orElse(null); record.setClassName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); } return R.ok(tConsultationMessagePageInfo); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseCommentController.java
@@ -17,6 +17,7 @@ import javax.annotation.Resource; import javax.naming.ldap.PagedResultsControl; import java.util.Arrays; import java.util.List; /** * <p> @@ -47,16 +48,18 @@ @PostMapping("/list") public R<PageInfo<TCourseComment>> list(@RequestBody CommentQuery commentQuery){ PageInfo<TCourseComment> tCourseCommentPageInfo = courseCommentService.pageQuery(commentQuery); List<TCourse> courses = courseService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TLevel> levels = levelService.lambdaQuery().list(); for (TCourseComment record : tCourseCommentPageInfo.getRecords()) { TCourse byId = courseService.getById(record.getCourseId()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(byId.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(byId.getMajorId()); TLevel byId3 = levelService.getById(byId.getLevel()); record.setClassName(byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName()); record.setPrice(byId.getCoursePrice()); record.setCourseCover(byId.getCourseCover()); TCourse tCourse = courses.stream().filter(e -> e.getId().equals(record.getCourseId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tCourse.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tCourse.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tCourse.getLevel())).findFirst().orElse(null); record.setClassName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); record.setPrice(tCourse.getCoursePrice()); record.setCourseCover(tCourse.getCourseCover()); } return R.ok(tCourseCommentPageInfo); } @@ -65,9 +68,9 @@ @ApiOperation(value = "更改是否显示",tags = "后台-评价管理") @PostMapping("/change") public R change(Long id, Integer isVision){ TCourseComment byId = courseCommentService.getById(id); byId.setIsVision(isVision); courseCommentService.updateById(byId); TCourseComment courseComment = courseCommentService.getById(id); courseComment.setIsVision(isVision); courseCommentService.updateById(courseComment); return R.ok(); } //删除 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java
@@ -34,9 +34,11 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** * <p> @@ -86,13 +88,13 @@ @PostMapping(value = "/delete") public R delete(String ids) { String[] split = ids.split(","); List<Integer> courseIds = new ArrayList<>(); for (String id : split) { courseService.removeById(id); coursePartService.remove(Wrappers.lambdaQuery(TCoursePart.class).eq(TCoursePart::getCourseId,id)); courseCommentService.remove(Wrappers.lambdaQuery(TCourseComment.class).eq(TCourseComment::getCourseId,id)); courseIds.add(Integer.parseInt(id)); } courseService.removeBatchByIds(courseIds); coursePartService.remove(Wrappers.lambdaQuery(TCoursePart.class).in(TCoursePart::getCourseId,courseIds)); courseCommentService.remove(Wrappers.lambdaQuery(TCourseComment.class).in(TCourseComment::getCourseId,courseIds)); return R.ok(); } //编辑 @@ -129,13 +131,18 @@ } Set<Long> cacheSet = redisCache.getCacheSet("COURSE:" + userId); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); List<TRegion> regions = regionService.lambdaQuery().list(); List<TOrder> orders = orderService.lambdaQuery() .eq(TOrder::getGoodType, 1) .eq(TOrder::getPaymentStatus, 2).list(); for (TCourse record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); if (cacheSet!=null){ if (cacheSet.contains(record.getId())){ record.setIsCollect(1); @@ -152,13 +159,8 @@ }else { record.setStudyNum(cacheSet1.size()); } Long count = orderService.lambdaQuery() .eq(TOrder::getGoodId, record.getId()) .eq(TOrder::getGoodType, 1) .eq(TOrder::getPaymentStatus, 2).count(); record.setBuyNum(Integer.parseInt(String.valueOf(count))); int count = orders.stream().filter(e -> e.getGoodId().equals(record.getId())).collect(Collectors.toList()).size(); record.setBuyNum(count); } return R.ok(page); } @@ -168,13 +170,15 @@ @PostMapping(value = "/other") public R<List<TCourse>> other(@RequestParam Long id) { List<TCourse> list = courseService.lambdaQuery().ne(TCourse::getId, id).last("limit 3").list(); List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); for (TCourse record : list) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); } return R.ok(list); } @@ -217,11 +221,11 @@ TCourse record = courseService.getById(courseId); TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regionService.getById(record.getRegionId()); record.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor tTitleMajor = majorService.getById(record.getMajorId()); record.setTechnicalName(technicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); Long userId = tokenService.getLoginUser().getUserId(); @@ -242,18 +246,18 @@ record.setIsPay(0); } Set<Object> cacheSet1 = redisCache.getCacheSet("STUDY:" + courseId); if (cacheSet1==null){ Set<Object> studySet = redisCache.getCacheSet("STUDY:" + courseId); if (studySet==null){ record.setStudyNum(0); }else { record.setStudyNum(cacheSet1.size()); record.setStudyNum(studySet.size()); } Set<Object> cacheSet2 = redisCache.getCacheSet("COLLECT:" + courseId); if (cacheSet2==null){ Set<Object> collectSet = redisCache.getCacheSet("COLLECT:" + courseId); if (collectSet==null){ record.setCollectNum(0); }else { record.setCollectNum(cacheSet2.size()); record.setCollectNum(collectSet.size()); } return R.ok(record); @@ -264,9 +268,9 @@ @PostMapping(value = "/view") public R view(Long courseId) { TCourse byId = courseService.getById(courseId); byId.setVisitNum(byId.getVisitNum()+1); courseService.updateById(byId); TCourse course = courseService.getById(courseId); course.setVisitNum(course.getVisitNum()+1); courseService.updateById(course); return R.ok(); } @@ -287,7 +291,7 @@ @PostMapping(value = "/create") public R buy( @RequestParam Long id) throws AlipayApiException { Long userId = tokenService.getLoginUser().getUserId(); TCourse byId = courseService.getById(id); TCourse course = courseService.getById(id); String code = "KC" + WeChatUtil.generateTradeNumber(); TOrder order = new TOrder(); @@ -295,9 +299,9 @@ order.setUserId(userId); order.setGoodType(1); order.setGoodId(id); order.setOrderAmount(byId.getCoursePrice()); order.setPaymentAmount(byId.getCoursePrice()); if (byId.getCoursePrice().compareTo(new BigDecimal(0))==0){ order.setOrderAmount(course.getCoursePrice()); order.setPaymentAmount(course.getCoursePrice()); if (course.getCoursePrice().compareTo(new BigDecimal(0))==0){ order.setPaymentStatus(2); } @@ -312,16 +316,16 @@ @ApiOperation(value = "购买",tags = {"web教学视频查询"}) @PostMapping(value = "/buy") public R<PayDto> buy(@RequestParam Integer type, @RequestParam Long orderId) throws AlipayApiException { TOrder byId = orderService.getById(orderId); TOrder order = orderService.getById(orderId); if (type == 1) { com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest(); prepayRequest.setAppid(weChatConfig.appId); prepayRequest.setMchid(weChatConfig.merchantId); prepayRequest.setOutTradeNo(byId.getCode()); prepayRequest.setOutTradeNo(order.getCode()); prepayRequest.setDescription("购买课程"); prepayRequest.setNotifyUrl("https://0ifzoxq2516g.guyubao.com/call-back/buy"); com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount(); amount.setTotal(byId.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); amount.setTotal(order.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); prepayRequest.setAmount(amount); // 调用下单方法,得到应答 PrepayResponse response; @@ -343,7 +347,7 @@ } return null; } else { String qrCode = AlipayTradePagePay.pay("购买课程",byId.getCode(),byId.getPaymentAmount().toString()); String qrCode = AlipayTradePagePay.pay("购买课程",order.getCode(),order.getPaymentAmount().toString()); PayDto payDto = new PayDto(); payDto.setOrderId(orderId); payDto.setQrCode(qrCode); @@ -356,16 +360,16 @@ while (num <= 30) { int min = 2000; Thread.sleep(min); Boolean check = AlipayTradeQuery.check(byId.getCode()); Boolean check = AlipayTradeQuery.check(order.getCode()); if (check){ byId.setPaymentStatus(2); byId.setPaymentType(2); byId.setPayTime(LocalDateTime.now()); orderService.updateById(byId); order.setPaymentStatus(2); order.setPaymentType(2); order.setPayTime(LocalDateTime.now()); orderService.updateById(order); if (byId.getGoodType()==1){ if (order.getGoodType()==1){ try { TCourse byId1 = courseService.getById(byId.getGoodId()); TCourse byId1 = courseService.getById(order.getGoodId()); byId1.setBuyNum(byId1.getBuyNum()+1); courseService.updateById(byId1); }catch (Exception e){ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDeclareNoticeController.java
@@ -198,13 +198,15 @@ } } List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); for (TDeclareNotice record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); } return R.ok(page); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGeneratedRecordsController.java
@@ -151,7 +151,6 @@ @PostMapping(value = "/buy") public R buy(@RequestParam Integer type, @RequestParam Long orderId) throws AlipayApiException { TOrder byId = orderService.getById(orderId); TOrder byId1 = orderService.getById(orderId); SysConfig sysConfig = sysConfigMapper.selectConfigById(6L); BigDecimal payMoney = new BigDecimal(sysConfig.getConfigValue()); if (type == 1) { @@ -162,7 +161,7 @@ com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest(); prepayRequest.setAppid(weChatConfig.appId); prepayRequest.setMchid(weChatConfig.merchantId); prepayRequest.setOutTradeNo(byId1.getCode()); prepayRequest.setOutTradeNo(byId.getCode()); prepayRequest.setDescription("生成工作总结"); prepayRequest.setNotifyUrl("https://0ifzoxq2516g.guyubao.com/call-back/buy"); com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount(); @@ -189,7 +188,7 @@ } return null; } else { String qrCode = AlipayTradePagePay.pay("生成工作总结",byId1.getCode(),payMoney.toString()); String qrCode = AlipayTradePagePay.pay("生成工作总结",byId.getCode(),payMoney.toString()); //预支付成功,创建预支付订单 PayDto payDto = new PayDto(); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java
@@ -81,8 +81,8 @@ @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())); @@ -94,8 +94,7 @@ tRegion.setCount(0L); } } return R.ok(list1); return R.ok(regions); } @@ -104,20 +103,20 @@ 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 条记录 @@ -130,24 +129,30 @@ @PostMapping(value = "/consultation/list") public R<List<TConsultation>> consultationlist(@RequestParam Integer type, @RequestParam(required = false) Integer regionId, HttpServletRequest request) { String token = request.getHeader("Authorization"); TUserChange one =null; TUserChange userChange =null; if(StringUtils.isNotEmpty(token)){ //获取当前登录人id Long userId = tokenService.getLoginUser().getUserId(); one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); 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()) 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(); notices.addAll(list1); 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 { @@ -169,14 +174,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 { @@ -207,15 +214,15 @@ @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); } @@ -233,9 +240,9 @@ @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); @@ -325,9 +332,18 @@ 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 { @@ -375,9 +391,15 @@ 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 { ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInformationController.java
@@ -164,13 +164,15 @@ } Set<Long> cacheSet = redisCache.getCacheSet("INFORMATION:" + userId); List<TRegion> regions = regionService.lambdaQuery().list(); List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); for (TInformation record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); record.setRegionName(region.getProvinceName()+"-"+region.getName()); record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); if (cacheSet!=null){ if (cacheSet.contains(record.getId())){ record.setIsCollect(1); @@ -200,9 +202,9 @@ @ApiOperation(value = "下载累计次数",tags = {"web资料查询"}) @PostMapping(value = "/downland") public R downland(@RequestParam Long id) { TInformation byId = informationService.getById(id); byId.setDownlandNum(byId.getDownlandNum()+1); informationService.updateById(byId); TInformation information = informationService.getById(id); information.setDownlandNum(information.getDownlandNum()+1); informationService.updateById(information); return R.ok(); } @@ -216,11 +218,11 @@ TInformation record = informationService.getById(id); Set<Long> cacheSet = redisCache.getCacheSet("INFORMATION:" + userId); TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+record.getLevel()); TRegion region = regionService.getById(record.getRegionId()); record.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor titleMajor = majorService.getById(record.getMajorId()); record.setTechnicalName(technicalTitle.getTitileName()+"-"+titleMajor.getMajorName()+"-"+record.getLevel()); if (cacheSet!=null){ if (cacheSet.contains(record.getId())){ record.setIsCollect(1); @@ -239,17 +241,17 @@ @PostMapping(value = "/create") public R buy( @RequestParam Long id) throws AlipayApiException { Long userId = tokenService.getLoginUser().getUserId(); TInformation byId = informationService.getById(id); TInformation information = informationService.getById(id); String code = "ZL" + WeChatUtil.generateTradeNumber(); TOrder order = new TOrder(); order.setCode(code); order.setUserId(userId); order.setGoodType(2); order.setGoodId(id); order.setOrderAmount(byId.getInformationPrice()); order.setPaymentAmount(byId.getInformationPrice()); order.setOrderAmount(information.getInformationPrice()); order.setPaymentAmount(information.getInformationPrice()); if (byId.getInformationPrice().compareTo(new BigDecimal(0))==0){ if (information.getInformationPrice().compareTo(new BigDecimal(0))==0){ order.setPaymentStatus(2); } @@ -263,16 +265,16 @@ @ApiOperation(value = "购买资料",tags = {"web资料查询"}) @PostMapping(value = "/buy") public R buy(@RequestParam Integer type, @RequestParam Long orderId) throws AlipayApiException { TOrder byId = orderService.getById(orderId); int i = byId.getPaymentAmount().multiply(BigDecimal.valueOf(100)).intValue(); TOrder byId1 = orderService.getById(orderId); TOrder order = orderService.getById(orderId); int i = order.getPaymentAmount().multiply(BigDecimal.valueOf(100)).intValue(); TOrder tOrder = orderService.getById(orderId); if (type == 1) { Long userId = tokenService.getLoginUser().getUserId(); com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest(); prepayRequest.setAppid(weChatConfig.appId); prepayRequest.setMchid(weChatConfig.merchantId); prepayRequest.setOutTradeNo(byId1.getCode()); prepayRequest.setOutTradeNo(tOrder.getCode()); prepayRequest.setDescription("购买资料"); prepayRequest.setNotifyUrl("https://0ifzoxq2516g.guyubao.com/call-back/buy"); com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount(); @@ -300,7 +302,7 @@ } return null; } else { String qrCode = AlipayTradePagePay.pay("购买资料",byId1.getCode(),byId.getPaymentAmount().toString()); String qrCode = AlipayTradePagePay.pay("购买资料",tOrder.getCode(),order.getPaymentAmount().toString()); PayDto payDto = new PayDto(); payDto.setOrderId(orderId); @@ -314,12 +316,12 @@ while (num <= 30) { int min = 2000; Thread.sleep(min); Boolean check = AlipayTradeQuery.check(byId.getCode()); Boolean check = AlipayTradeQuery.check(order.getCode()); if (check){ byId.setPaymentStatus(2); byId.setPaymentType(2); byId.setPayTime(LocalDateTime.now()); orderService.updateById(byId); order.setPaymentStatus(2); order.setPaymentType(2); order.setPayTime(LocalDateTime.now()); orderService.updateById(order); }else { num++; } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java
@@ -100,13 +100,13 @@ @ApiOperation(value = "取消订单",tags = {"后台-订单管理","web-个人中心"}) @PostMapping("/cancel") public R cancel(Long orderId){ TOrder byId = orderService.getById(orderId); if (byId.getPaymentStatus()!=1){ TOrder order = orderService.getById(orderId); if (order.getPaymentStatus()!=1){ return R.fail("订单状态异常"); } byId.setPaymentStatus(3); byId.setCancelTime(LocalDateTime.now()); orderService.updateById(byId); order.setPaymentStatus(3); order.setCancelTime(LocalDateTime.now()); orderService.updateById(order); return R.ok(); } @@ -117,18 +117,18 @@ TCourse course = courseService.getById(goodId); TRegion byId = regionService.getById(course.getRegionId()); course.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(course.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(course.getMajorId()); course.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regionService.getById(course.getRegionId()); course.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle tTechnicalTitle = tTechnicalTitleService.getById(course.getTechnicalId() ); TTitleMajor titleMajor = majorService.getById(course.getMajorId()); course.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+titleMajor.getMajorName()); TOrder byId3 = orderService.getById(id); TAppUser byId4 = appUserService.getById(byId3.getUserId()); byId3.setName(byId4.getName()); byId3.setPhone(byId4.getPhone()); byId3.setAvatar(byId4.getAvatar()); course.setOrder(byId3); TOrder order = orderService.getById(id); TAppUser appUser = appUserService.getById(order.getUserId()); order.setName(appUser.getName()); order.setPhone(appUser.getPhone()); order.setAvatar(appUser.getAvatar()); course.setOrder(order); Long count = orderService.lambdaQuery() .eq(TOrder::getGoodId, course.getId()) @@ -142,22 +142,22 @@ @ApiOperation(value = "工作总结详情",tags = "后台-订单管理") @PostMapping("/generate/detail") public R<TGeneratedRecords> detail(Long id){ TOrder byId = orderService.getById(id); TGeneratedRecords one = generatedRecordsService.lambdaQuery().eq(TGeneratedRecords::getUserId, byId.getUserId()).orderByDesc(TGeneratedRecords::getCreateTime).last("limit 1").one(); if (one == null) { TOrder order = orderService.getById(id); TGeneratedRecords tGeneratedRecords = generatedRecordsService.lambdaQuery().eq(TGeneratedRecords::getUserId, order.getUserId()).orderByDesc(TGeneratedRecords::getCreateTime).last("limit 1").one(); if (tGeneratedRecords == null) { TGeneratedRecords generatedRecords = new TGeneratedRecords(); generatedRecords.setOrder(byId); generatedRecords.setOrder(order); return R.ok(generatedRecords); } TOrder byId3 = orderService.getById(id); TAppUser byId4 = appUserService.getById(byId3.getUserId()); byId3.setName(byId4.getName()); byId3.setPhone(byId4.getPhone()); byId3.setAvatar(byId4.getAvatar()); one.setOrder(byId3); TOrder tOrder = orderService.getById(id); TAppUser appUser = appUserService.getById(tOrder.getUserId()); tOrder.setName(appUser.getName()); tOrder.setPhone(appUser.getPhone()); tOrder.setAvatar(appUser.getAvatar()); tGeneratedRecords.setOrder(tOrder); return R.ok(one); return R.ok(tGeneratedRecords); } @@ -165,19 +165,19 @@ @PostMapping(value = "/order/information/detail") public R<TInformation> informationR1(Long goodId,Long id) { TInformation record = informationService.getById(goodId); TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regionService.getById(record.getRegionId()); record.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor titleMajor = majorService.getById(record.getMajorId()); record.setTechnicalName(technicalTitle.getTitileName()+"-"+titleMajor.getMajorName()); TOrder byId3 = orderService.getById(id); TAppUser byId4 = appUserService.getById(byId3.getUserId()); byId3.setName(byId4.getName()); byId3.setPhone(byId4.getPhone()); byId3.setAvatar(byId4.getAvatar()); record.setOrder(byId3); TOrder order = orderService.getById(id); TAppUser appUser = appUserService.getById(order.getUserId()); order.setName(appUser.getName()); order.setPhone(appUser.getPhone()); order.setAvatar(appUser.getAvatar()); record.setOrder(order); return R.ok(record); @@ -188,11 +188,11 @@ @PostMapping(value = "/information/detail") public R<TInformation> informationR(Long goodId) { TInformation record = informationService.getById(goodId); TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); TRegion region = regionService.getById(record.getRegionId()); record.setRegionName(region.getProvinceName()+"-"+region.getName()); TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId()); TTitleMajor tTitleMajor = majorService.getById(record.getMajorId()); record.setTechnicalName(technicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); @@ -202,19 +202,19 @@ @ApiOperation(value = "退款",tags = "后台-资料管理") @PostMapping(value = "/refund") public R<TInformation> refund(Long orderId) throws AlipayApiException { TOrder byId = orderService.getById(orderId); if (byId.getPaymentStatus()!=2){ TOrder order = orderService.getById(orderId); if (order.getPaymentStatus()!=2){ return R.fail("订单状态异常"); } if (byId.getPaymentType()==1){ payMoneyUtil.wxRefund(byId.getSerialNumber(), byId.getCode(),byId.getPaymentAmount().toString(), byId.getPaymentAmount().toString(),"/"); if (order.getPaymentType()==1){ payMoneyUtil.wxRefund(order.getSerialNumber(), order.getCode(),order.getPaymentAmount().toString(), order.getPaymentAmount().toString(),"/"); } if (byId.getPaymentType()==2){ Map<String, String> stringStringMap = payMoneyUtil.aliRefund(byId.getCode(), byId.getPaymentAmount().toString()); if (order.getPaymentType()==2){ Map<String, String> stringStringMap = payMoneyUtil.aliRefund(order.getCode(), order.getPaymentAmount().toString()); if ("10000".equals(stringStringMap.get("code"))){ byId.setPaymentStatus(4); orderService.updateById(byId); order.setPaymentStatus(4); orderService.updateById(order); } } @@ -225,24 +225,25 @@ @ApiOperation(value = "导出",tags = "后台-订单管理") @PostMapping(value = "/export") public void mealGeneratorExport(@RequestBody OrderQuery orderQuery) { orderQuery.setPageNum(1); orderQuery.setPageSize(9999); PageInfo<TOrder> tOrderPageInfo = orderService.pageList(orderQuery); for (TOrder record : tOrderPageInfo.getRecords()) { List<TOrder> tOrders = orderService.listExport(orderQuery); List<TCourse> courses = courseService.lambdaQuery().list(); List<TInformation> informations = informationService.lambdaQuery().list(); for (TOrder record : tOrders) { record.getFormattedCreateTime(); if (record.getGoodType()==1){ TCourse byId = courseService.getById(record.getGoodId()); record.setGoodName(byId.getCourseName()); TCourse course = courses.stream().filter(e -> e.getId().equals(record.getGoodId())).findFirst().orElse(null); record.setGoodName(course.getCourseName()); }else if (record.getGoodType()==2){ TInformation byId = informationService.getById(record.getGoodId()); record.setGoodName(byId.getInformationName()); TInformation information = informations.stream().filter(e -> e.getId().equals(record.getGoodId())).findFirst().orElse(null); record.setGoodName(information.getInformationName()); }else { record.setGoodName("工作总结订单"); } } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrder.class,tOrderPageInfo.getRecords() ); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrder.class,tOrders ); HttpServletResponse response = WebUtils.response(); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java
@@ -37,9 +37,9 @@ @ApiOperation(value = "关闭禁用",tags = "后台-系统设置-开通地区管理") @PostMapping(value = "/open") public R open(Integer id, Integer isOpen) { TRegion byId = indexMenuService.getById(id); byId.setIsOpen(isOpen); indexMenuService.updateById(byId); TRegion region = indexMenuService.getById(id); region.setIsOpen(isOpen); indexMenuService.updateById(region); return R.ok(); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTechnicalTitleController.java
@@ -61,17 +61,16 @@ @ApiOperation(value = "树状图",tags = "web-下拉框") @PostMapping(value = "/tree") public R<List<TTechnicalTitle>> tree(){ List<TLevel> list2 = levelService.list(); List<TTitleMajor> tTitleMajorList = majorService.lambdaQuery().list(); List<TTechnicalTitle> list = tTechnicalTitleService.list(); for (TTechnicalTitle tTechnicalTitle : list) { tTechnicalTitle.setName(tTechnicalTitle.getTitileName()); List<TTitleMajor> list1 = majorService.lambdaQuery().eq(TTitleMajor::getTechnicalId, tTechnicalTitle.getId()).list(); for (TTitleMajor tTitleMajor : list1) { List<TTitleMajor> tTitleMajors = tTitleMajorList.stream().filter(e -> e.getTechnicalId().equals(tTechnicalTitle.getId())).collect(Collectors.toList()); for (TTitleMajor tTitleMajor : tTitleMajors) { tTitleMajor.setName(tTitleMajor.getMajorName()); // tTitleMajor.setMajors(list2); } tTechnicalTitle.setMajors(list1); tTechnicalTitle.setMajors(tTitleMajors); } return R.ok(list); } @@ -110,36 +109,36 @@ List<String> list = Arrays.asList(ids.split(",")); for (String s : list) { //判断是否有关联数据 Long count = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getTitleId, s).count(); if (count>0){ Long userChange = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getTitleId, s).count(); if (userChange>0){ return R.fail("当前职称已有用户设为偏好,无法删除"); } Long count1 = consultationService.lambdaQuery().eq(TConsultation::getTitleId, s).count(); if (count1>0){ Long consultation = consultationService.lambdaQuery().eq(TConsultation::getTitleId, s).count(); if (consultation>0){ return R.fail("当前职称已设置咨询,无法删除"); } Long count2 = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getTechnicalId, s).count(); if (count2>0){ Long declareNotice = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getTechnicalId, s).count(); if (declareNotice>0){ return R.fail("当前职称已设置申报通知,无法删除"); } Long count3 = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getTechnicalId, s).count(); if (count3>0){ Long committeeTechnical = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getTechnicalId, s).count(); if (committeeTechnical>0){ return R.fail("当前职称已设置委员会可评审职称,无法删除"); } Long count4 = committeeService.lambdaQuery().eq(TCommittee::getTechnicalId, s).count(); if (count4>0){ Long committee = committeeService.lambdaQuery().eq(TCommittee::getTechnicalId, s).count(); if (committee>0){ return R.fail("当前职称已设置评审委员会,无法删除"); } Long count5 = informationService.lambdaQuery().eq(TInformation::getTechnicalId, s).count(); if (count5>0){ Long infomation = informationService.lambdaQuery().eq(TInformation::getTechnicalId, s).count(); if (infomation>0){ return R.fail("当前职称已设置资料,无法删除"); } Long count6 = majorService.lambdaQuery().eq(TTitleMajor::getTechnicalId, s).count(); if (count6>0){ Long major = majorService.lambdaQuery().eq(TTitleMajor::getTechnicalId, s).count(); if (major>0){ return R.fail("当前职称已设置专业,无法删除"); } Long count7 = courseService.lambdaQuery().eq(TCourse::getTechnicalId, s).count(); if (count7>0){ Long course = courseService.lambdaQuery().eq(TCourse::getTechnicalId, s).count(); if (course>0){ return R.fail("当前职称已设置课程,无法删除"); } } @@ -160,22 +159,17 @@ @PostMapping("/export") public R export (@RequestParam("file") MultipartFile file) { List<TTechnicalTitle> tTechnicalTitles = new ArrayList<>(); int errorLines = 0; int successLines = 0; ImportParams params = new ImportParams(); // params.setTitleRows(1);//标题行数 params.setHeadRows(1); //表头行数 String msg = null; InputStream inputStream = null; List<String> failMsg = new ArrayList<>(); try { inputStream = file.getInputStream(); List<TechImportExcel> techImportExcels = ExcelImportUtil.importExcel(inputStream, TechImportExcel.class, params); List<TRegion> list = regionService.lambdaQuery().list(); for (TechImportExcel techImportExcel : techImportExcels) { List<Integer> regionIds; @@ -185,13 +179,13 @@ continue; } else { if("全部".equals(techImportExcel.getAddress())){ List<TRegion> list = regionService.lambdaQuery().list(); regionIds = list.stream().map(TRegion::getId).collect(Collectors.toList()); }else { String[] split = techImportExcel.getAddress().split(";"); regionIds = new ArrayList<>(); for (String s : split) { TRegion region = regionService.lambdaQuery().like(TRegion::getName, s).one(); TRegion region = list.stream().filter(e -> e.getName().contains(s)).findFirst().orElse(null); // TRegion region = regionService.lambdaQuery().like(TRegion::getName, s).one(); if (region == null) { msg = "第" + techImportExcels.indexOf(techImportExcel) + "行,地区不存在"; failMsg.add(msg); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTitleMajorController.java
@@ -81,33 +81,33 @@ public R deleteById(Long id){ String s = id.toString(); //判断是否有关联数据 Long count = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getMajorId, s).count(); if (count>0){ Long userChange = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getMajorId, s).count(); if (userChange>0){ return R.fail("当前专业已有用户设为偏好,无法删除"); } Long count1 = consultationService.lambdaQuery().eq(TConsultation::getMajorId, s).count(); if (count1>0){ Long consultation = consultationService.lambdaQuery().eq(TConsultation::getMajorId, s).count(); if (consultation>0){ return R.fail("当前专业已设置咨询,无法删除"); } Long count2 = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getMajorId, s).count(); if (count2>0){ Long declareNotice = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getMajorId, s).count(); if (declareNotice>0){ return R.fail("当前专业已设置申报通知,无法删除"); } Long count3 = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getMajorId, s).count(); if (count3>0){ Long committeeTechnical = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getMajorId, s).count(); if (committeeTechnical>0){ return R.fail("当前专业已设置委员会可评审职称,无法删除"); } Long count4 = committeeService.lambdaQuery().eq(TCommittee::getMajorId, s).count(); if (count4>0){ Long committee = committeeService.lambdaQuery().eq(TCommittee::getMajorId, s).count(); if (committee>0){ return R.fail("当前专业已设置评审委员会,无法删除"); } Long count5 = informationService.lambdaQuery().eq(TInformation::getMajorId, s).count(); if (count5>0){ Long infomation = informationService.lambdaQuery().eq(TInformation::getMajorId, s).count(); if (infomation>0){ return R.fail("当前专业已设置资料,无法删除"); } Long count7 = courseService.lambdaQuery().eq(TCourse::getMajorId, s).count(); if (count7>0){ Long course = courseService.lambdaQuery().eq(TCourse::getMajorId, s).count(); if (course>0){ return R.fail("当前专业已设置课程,无法删除"); } @@ -128,9 +128,6 @@ @PostMapping("/export") public R export (@RequestParam("file") MultipartFile file) { List<TTitleMajor> tTechnicalTitles = new ArrayList<>(); int errorLines = 0; int successLines = 0; ImportParams params = new ImportParams(); // params.setTitleRows(1);//标题行数 params.setHeadRows(1); //表头行数 @@ -142,40 +139,20 @@ try { inputStream = file.getInputStream(); List<MahorImportExcel> techImportExcels = ExcelImportUtil.importExcel(inputStream, MahorImportExcel.class, params); for (MahorImportExcel techImportExcel : techImportExcels) { List<TTechnicalTitle> tTechnicalTitleList = tTechnicalTitleService.lambdaQuery().list(); // List<Integer> regionIds; // if (techImportExcel.getAddress() == null || StringUtils.isEmpty(techImportExcel.getAddress())) { // msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,地区不能为空"; // failMsg.add(msg); // continue; // } else { // String[] split = techImportExcel.getAddress().split(";"); // regionIds = new ArrayList<>(); // for (String s : split) { // TRegion region = regionService.lambdaQuery().like(TRegion::getName, s).one(); // if (region == null) { // msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,地区不存在"; // failMsg.add(msg); // } else { // regionIds.add(region.getId()); // } // } // if (regionIds.size() != split.length) { // continue; // } // // } for (MahorImportExcel techImportExcel : techImportExcels) { TTitleMajor tTechnicalTitle = new TTitleMajor(); if (techImportExcel.getTitileName()==null||StringUtils.isEmpty(techImportExcel.getTitileName())){ msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,职称名称不能为空"; failMsg.add(msg); continue; }else { TTechnicalTitle one = tTechnicalTitleService.lambdaQuery().eq(TTechnicalTitle::getTitileName, techImportExcel.getTitileName()).last("limit 1").one(); if (one!=null){ tTechnicalTitle.setTechnicalId(one.getId()); tTechnicalTitle.setRegionIds(one.getRegionIds()); TTechnicalTitle technicalTitle = tTechnicalTitleList.stream() .filter(e -> e.getTitileName().equals(techImportExcel.getTitileName())).findFirst().orElse(null); if (technicalTitle!=null){ tTechnicalTitle.setTechnicalId(technicalTitle.getId()); tTechnicalTitle.setRegionIds(technicalTitle.getRegionIds()); }else { msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,职称名称不存在"; failMsg.add(msg); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WebController.java
@@ -65,10 +65,10 @@ @PostMapping(value = "/title/set") public R<List<AllertTitleDto>> set(@RequestBody List<TUserChangeDetail> userChangeDetails) { Long userId = tokenService.getLoginUser().getUserId(); TAppUser byId = appUserService.getById(userId); if(Objects.nonNull(byId)){ byId.setIsSetPreference(1); appUserService.updateById(byId); TAppUser appUser = appUserService.getById(userId); if(Objects.nonNull(appUser)){ appUser.setIsSetPreference(1); appUserService.updateById(appUser); } //保存一次变更记录 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMapper.java
@@ -22,4 +22,6 @@ List<TOrder> pageList(@Param("pageInfo") PageInfo<TOrder> pageInfo, @Param("orderQuery") OrderQuery orderQuery); List<Map<String, Object>> totalCount(@Param("orderQuery")OrderQuery orderQuery); List<TOrder> listExport(@Param("orderQuery")OrderQuery orderQuery); } ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderService.java
@@ -22,4 +22,5 @@ List<Map<String, Object>> totalCount(OrderQuery orderQuery); List<TOrder> listExport(OrderQuery orderQuery); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TIndexMenuServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -34,14 +35,16 @@ @Override public List<AllertTitleDto> allert(List<String> cityCode) { List<AllertTitleDto> allert = new ArrayList<>(); List<String> strings = new ArrayList<>(); for (String s : cityCode) { List<AllertTitleDto> allert1 = this.baseMapper.allert(Collections.singletonList(s)); allert.addAll(allert1); strings.add(s); } List<AllertTitleDto> allert1 = this.baseMapper.allert(strings); allert.addAll(allert1); allert = allert.stream().distinct().collect(Collectors.toList()); List<TTitleMajor> tTitleMajorList = titleMajorMapper.selectList(new LambdaQueryWrapper<TTitleMajor>()); for (AllertTitleDto allertTitleDto : allert) { List<TTitleMajor> tTitleMajors = titleMajorMapper.selectList(Wrappers.lambdaQuery(TTitleMajor.class) .eq(TTitleMajor::getTechnicalId, allertTitleDto.getId())); List<TTitleMajor> tTitleMajors = tTitleMajorList.stream().filter(e -> e.getTechnicalId().equals(allertTitleDto.getId())).collect(Collectors.toList()); allertTitleDto.setChildren(tTitleMajors); } return allert; ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderServiceImpl.java
@@ -43,10 +43,10 @@ return this.baseMapper.totalCount(orderQuery); } @Override public List<TOrder> listExport(OrderQuery orderQuery) { return baseMapper.listExport(orderQuery); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTechnicalTitleServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; @@ -16,6 +17,7 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -35,8 +37,9 @@ public PageInfo<TTechnicalTitle> pageList(RegionQuery regionQuery) { PageInfo<TTechnicalTitle> pageInfo = new PageInfo<>(regionQuery.getPageNum(), regionQuery.getPageSize()); List<TTechnicalTitle> list = this.baseMapper.pageList(regionQuery,pageInfo); List<TRegion> regions = regionMapper.selectList(new LambdaQueryWrapper<TRegion>()); for (TTechnicalTitle tTechnicalTitle : list) { List<TRegion> tRegions = regionMapper.selectBatchIds(Arrays.asList(tTechnicalTitle.getRegionIds().split(","))); List<TRegion> tRegions = regions.stream().filter(region -> tTechnicalTitle.getRegionIds().contains(region.getId() + "")).collect(Collectors.toList()); tRegions.stream().forEach(region -> region.setAddress(region.getProvinceName()+"-"+region.getName())); tTechnicalTitle.setRegionNames(tRegions.stream().map(region -> region.getAddress()).reduce((a, b) -> a + "、" + b).get()); } ruoyi-system/src/main/resources/mapper/system/TOrderMapper.xml
@@ -149,5 +149,56 @@ </select> <select id="listExport" resultType="com.ruoyi.system.domain.TOrder"> SELECT t1.*, t2.NAME AS name, t2.phone AS phone, t2.avatar AS avatar, CONCAT( t2.NAME, ' ', t2.phone ) AS user_search, COALESCE ( t_course.course_name, t_information.information_name,'工作总结生成' ) AS good_name, COALESCE ( t_course.course_cover, t_information.information_cover ) AS cover, CONCAT(COALESCE ( t_course.course_name, t_information.information_name ),' ',t1.code) as orderSearch FROM t_order t1 LEFT JOIN t_app_user t2 ON t1.user_id = t2.id LEFT JOIN ( SELECT id, course_name AS course_name,course_cover FROM t_course ) t_course ON t1.good_id = t_course.id AND t1.good_type = 1 LEFT JOIN ( SELECT id, information_name AS information_name,information_cover FROM t_information ) t_information ON t1.good_id = t_information.id AND t1.good_type = 2 LEFT JOIN ( SELECT id,'工作总结生成' AS recordsName,user_id FROM t_generated_records order by create_time DESC limit 1) t_generated_records ON t1.user_id = t_generated_records.user_id AND t1.good_type = 3 <where> t1.is_delete = 0 <if test="orderQuery.orderSearch != null and orderQuery.orderSearch != ''"> AND ( t1.code LIKE concat('%',#{orderQuery.orderSearch},'%') or t_course.course_name LIKE concat('%',#{orderQuery.orderSearch},'%') or t_information.information_name LIKE concat('%',#{orderQuery.orderSearch},'%') or COALESCE ( t_course.course_name, t_information.information_name,'工作总结生成' ) LIKE concat('%',#{orderQuery.orderSearch},'%')) </if> <if test="orderQuery.userSearch != null and orderQuery.userSearch != ''"> AND (t2.name LIKE concat('%',#{orderQuery.userSearch},'%') OR t2.phone LIKE concat('%',#{orderQuery.userSearch},'%')) </if> <if test="orderQuery.goodType != null "> AND t1.good_type = #{orderQuery.goodType} </if> <if test="orderQuery.paymentStatus != null"> AND t1.payment_status = #{orderQuery.paymentStatus} </if> <if test="orderQuery.paymentType != null"> AND t1.payment_type = #{orderQuery.paymentType} </if> <if test="orderQuery.createTime1 != null"> AND DATE(t1.create_time) >= #{orderQuery.createTime1} </if> <if test="orderQuery.createTime2 != null"> AND DATE(t1.create_time) <= #{orderQuery.createTime2} </if> <if test="orderQuery.userId != null "> AND t1.user_id = #{orderQuery.userId} </if> </where> order by t1.create_time desc </select> </mapper>