From 4cacc52982bce81627c3f374350f45c17d0f2e44 Mon Sep 17 00:00:00 2001 From: fuqingji <51312040@qq.com> Date: Thu, 7 Apr 2022 16:15:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BizNotificationController.java | 13 ++++++ .../dao/BizProjectNotificationMapper.java | 10 ++++- .../entity/BizProjectNotification.java | 6 +++ .../projectrecord/entity/ProjectRecordVO.java | 3 ++ .../IBizProjectNotificationService.java | 9 ++++ .../BizProjectNotificationServiceImpl.java | 44 +++++++++++++++++-- 6 files changed, 80 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/BizNotificationController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/BizNotificationController.java index 929de52..f9aa369 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/BizNotificationController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/controller/BizNotificationController.java @@ -1,8 +1,10 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification; +import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; import com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -53,4 +55,15 @@ public class BizNotificationController { return BaseResponse.success(notificationService.addOrUpdate(notification)); } + + /** + * 监督人员查询分页数据 + * @param projectRecord 分页信息 + * @return 返回结果 + */ + @ApiOperation("监督人员查询分页数据") + @PostMapping("/supervisor/getPage") + public BaseResponse> getPageBySupervisor(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectRecordVO projectRecord){ + return BaseResponse.success(notificationService.getPageBySupervisor(projectRecord)); + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/dao/BizProjectNotificationMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/dao/BizProjectNotificationMapper.java index 1d97cd4..364c568 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/dao/BizProjectNotificationMapper.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/dao/BizProjectNotificationMapper.java @@ -1,10 +1,18 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.dao; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification; +import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; public interface BizProjectNotificationMapper extends IBaseMapper { - + + @Select("SELECT a.id AS notificationId,b.* FROM `biz_project_notification` a JOIN biz_project_record b on a.project_id = b.id ${ew.customSqlSegment}") + IPage getPageBySupervisor( IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/BizProjectNotification.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/BizProjectNotification.java index 4ce65be..7297fab 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/BizProjectNotification.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/BizProjectNotification.java @@ -52,5 +52,11 @@ public class BizProjectNotification extends BaseEntity implements Serializable { @ApiModelProperty(value = "跳转的用户id") private String readingUserId; + /** + * 收藏方式:1:本系统 2:门户 + */ + @ApiModelProperty(value = "收藏方式:1:本系统 2:门户") + private Integer favoritesType; + } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java index 606346b..a703884 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java @@ -75,4 +75,7 @@ public class ProjectRecordVO extends ProjectRecord implements Serializable { @ApiModelProperty(value = "项目下的第一个标段") private ProjectSectionVO sectionFirst; + + @ApiModelProperty(value = "待阅id") + private String notificationId; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IBizProjectNotificationService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IBizProjectNotificationService.java index 42e635f..25975df 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IBizProjectNotificationService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IBizProjectNotificationService.java @@ -1,8 +1,10 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification; +import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; /** * 对数据表 biz_project_notification 操作的 service @@ -27,4 +29,11 @@ public interface IBizProjectNotificationService extends IBaseService getPageBySupervisor(ProjectRecordVO projectRecord); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/BizProjectNotificationServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/BizProjectNotificationServiceImpl.java index b22fd2c..b662a22 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/BizProjectNotificationServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/BizProjectNotificationServiceImpl.java @@ -1,7 +1,10 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; @@ -15,15 +18,18 @@ import com.chinaunicom.mall.ebtp.project.feign.entity.NoticeReadingUpdateRequest import com.chinaunicom.mall.ebtp.project.projectrecord.dao.BizProjectNotificationMapper; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotificationLog; +import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; import com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationLogService; import com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.Objects; +import java.util.Optional; import java.util.regex.Pattern; /** @@ -39,6 +45,8 @@ public class BizProjectNotificationServiceImpl extends BaseServiceImpl getPageBySupervisor(ProjectRecordVO projectRecord) { + QueryWrapper query = Wrappers.query(); + query.eq("a.reading_user_id", userService.getCacheUser().getUserId()) + .ne("a.status", "d") + .like(StringUtils.isNotBlank(projectRecord.getProjectName()), "b.project_name", projectRecord.getProjectName()) + .eq(StringUtils.isNotBlank(projectRecord.getBidMethodDict()), "b.bid_method_dict", projectRecord.getBidMethodDict()) + .orderByDesc("a.create_date"); + IPage page = projectNotificationMapper.getPageBySupervisor( + new Page<>(projectRecord.getBasePageRequest().getPageNo(), projectRecord.getBasePageRequest().getPageSize()), + query); + + return page; + } + private static final String REG_PATTEN = "^.+_\\d*$"; private boolean reg(String str) {