收藏功能
This commit is contained in:
@ -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<IPage<ProjectRecordVO>> getPageBySupervisor(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectRecordVO projectRecord){
|
||||
return BaseResponse.success(notificationService.getPageBySupervisor(projectRecord));
|
||||
}
|
||||
}
|
||||
|
@ -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<BizProjectNotification> {
|
||||
|
||||
|
||||
@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<ProjectRecordVO> getPageBySupervisor( IPage<ProjectRecordVO> page, @Param(Constants.WRAPPER) Wrapper<ProjectRecordVO> wrapper);
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
@ -75,4 +75,7 @@ public class ProjectRecordVO extends ProjectRecord implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "项目下的第一个标段")
|
||||
private ProjectSectionVO sectionFirst;
|
||||
|
||||
@ApiModelProperty(value = "待阅id")
|
||||
private String notificationId;
|
||||
}
|
||||
|
@ -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<BizProjectN
|
||||
*/
|
||||
boolean addOrUpdate(BizProjectNotification notification);
|
||||
|
||||
/**
|
||||
* 监督人员查询分页数据-我的收藏
|
||||
*
|
||||
* @param projectRecord
|
||||
* @return
|
||||
*/
|
||||
IPage<ProjectRecordVO> getPageBySupervisor(ProjectRecordVO projectRecord);
|
||||
}
|
||||
|
@ -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<BizProjec
|
||||
private ProjectRecordServiceImpl projectRecordService;
|
||||
@Autowired
|
||||
private IBizProjectNotificationLogService notificationLogService;
|
||||
@Autowired
|
||||
private BizProjectNotificationMapper projectNotificationMapper;
|
||||
|
||||
@Autowired
|
||||
private IBaseCacheUserService userService;
|
||||
@ -75,19 +83,47 @@ public class BizProjectNotificationServiceImpl extends BaseServiceImpl<BizProjec
|
||||
notification.setId(PropertyUtils.getSnowflakeId())
|
||||
.setStatus("0")
|
||||
.setExchange(reg(user.getUserId()))
|
||||
.setReadingUserId(user.getUserId());
|
||||
.setReadingUserId(user.getUserId())
|
||||
.setFavoritesType(Optional.ofNullable(notification.getFavoritesType()).orElse(1));
|
||||
if (notification.getFavoritesType() == 2) {
|
||||
//添加云门户待阅
|
||||
insertNotification(notification);
|
||||
}
|
||||
|
||||
save(notification);
|
||||
} else {
|
||||
//修改状态
|
||||
updateNotification(notification);
|
||||
BizProjectNotification other = getById(notification.getId());
|
||||
if (other.getFavoritesType() == 2) {
|
||||
//修改云门户待阅状态
|
||||
updateNotification(notification.setProjectId(other.getProjectId()));
|
||||
}
|
||||
|
||||
updateById(notification);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 监督人员查询分页数据-我的收藏
|
||||
*
|
||||
* @param projectRecord
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProjectRecordVO> getPageBySupervisor(ProjectRecordVO projectRecord) {
|
||||
QueryWrapper<ProjectRecordVO> 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<ProjectRecordVO> 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) {
|
||||
|
Reference in New Issue
Block a user