收藏功能
This commit is contained in:
@ -1,8 +1,10 @@
|
|||||||
package com.chinaunicom.mall.ebtp.project.projectrecord.controller;
|
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.common.base.entity.BaseResponse;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification;
|
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 com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@ -53,4 +55,15 @@ public class BizNotificationController {
|
|||||||
return BaseResponse.success(notificationService.addOrUpdate(notification));
|
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;
|
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.common.base.dao.IBaseMapper;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification;
|
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> {
|
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")
|
@ApiModelProperty(value = "跳转的用户id")
|
||||||
private String readingUserId;
|
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 = "项目下的第一个标段")
|
@ApiModelProperty(value = "项目下的第一个标段")
|
||||||
private ProjectSectionVO sectionFirst;
|
private ProjectSectionVO sectionFirst;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "待阅id")
|
||||||
|
private String notificationId;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package com.chinaunicom.mall.ebtp.project.projectrecord.service;
|
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.common.base.service.IBaseService;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification;
|
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification;
|
||||||
|
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对数据表 biz_project_notification 操作的 service
|
* 对数据表 biz_project_notification 操作的 service
|
||||||
@ -27,4 +29,11 @@ public interface IBizProjectNotificationService extends IBaseService<BizProjectN
|
|||||||
*/
|
*/
|
||||||
boolean addOrUpdate(BizProjectNotification notification);
|
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;
|
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.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.BaseCacheUser;
|
||||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
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.dao.BizProjectNotificationMapper;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.BizProjectNotification;
|
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.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.IBizProjectNotificationLogService;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationService;
|
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IBizProjectNotificationService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,6 +45,8 @@ public class BizProjectNotificationServiceImpl extends BaseServiceImpl<BizProjec
|
|||||||
private ProjectRecordServiceImpl projectRecordService;
|
private ProjectRecordServiceImpl projectRecordService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBizProjectNotificationLogService notificationLogService;
|
private IBizProjectNotificationLogService notificationLogService;
|
||||||
|
@Autowired
|
||||||
|
private BizProjectNotificationMapper projectNotificationMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBaseCacheUserService userService;
|
private IBaseCacheUserService userService;
|
||||||
@ -75,19 +83,47 @@ public class BizProjectNotificationServiceImpl extends BaseServiceImpl<BizProjec
|
|||||||
notification.setId(PropertyUtils.getSnowflakeId())
|
notification.setId(PropertyUtils.getSnowflakeId())
|
||||||
.setStatus("0")
|
.setStatus("0")
|
||||||
.setExchange(reg(user.getUserId()))
|
.setExchange(reg(user.getUserId()))
|
||||||
.setReadingUserId(user.getUserId());
|
.setReadingUserId(user.getUserId())
|
||||||
insertNotification(notification);
|
.setFavoritesType(Optional.ofNullable(notification.getFavoritesType()).orElse(1));
|
||||||
|
if (notification.getFavoritesType() == 2) {
|
||||||
|
//添加云门户待阅
|
||||||
|
insertNotification(notification);
|
||||||
|
}
|
||||||
|
|
||||||
save(notification);
|
save(notification);
|
||||||
} else {
|
} else {
|
||||||
//修改状态
|
BizProjectNotification other = getById(notification.getId());
|
||||||
updateNotification(notification);
|
if (other.getFavoritesType() == 2) {
|
||||||
|
//修改云门户待阅状态
|
||||||
|
updateNotification(notification.setProjectId(other.getProjectId()));
|
||||||
|
}
|
||||||
|
|
||||||
updateById(notification);
|
updateById(notification);
|
||||||
}
|
}
|
||||||
return true;
|
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 static final String REG_PATTEN = "^.+_\\d*$";
|
||||||
|
|
||||||
private boolean reg(String str) {
|
private boolean reg(String str) {
|
||||||
|
Reference in New Issue
Block a user