提交 298d3de0 authored 作者: zjm's avatar zjm

修改返回对象新加了主任务对象

上级 396a456c
流水线 #106 已失败 于阶段
......@@ -47,6 +47,7 @@ public class AttachmentController {
return ok(new JobResponse(saveId));
}
@PutMapping()
@ApiOperation(value = "修改附件.", notes = "修改必须在数据中附带id.")
public ResponseEntity<JobResponse> modify(@RequestBody Attachment attachment) {
......
......@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.basic.entity.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjty.tynotes.job.basic.entity.database.Attachment;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.pas.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -146,4 +147,9 @@ public class WorkVo {
private int workloadCount=1;
/**
* 主任务对象
*/
@ApiModelProperty(value = "主任务对象")
private Work workVos;
}
package com.zjty.tynotes.job.basic.service;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
public interface PriviceService {
/**
* 根据任务id 查看主任务
* @return WorkVo 主任务对象
*/
Work findByWorkIdWorkVo(String superoirId);
}
......@@ -134,6 +134,8 @@ public interface WorkService {
*/
int findBySuperoirIdCount(String SuperoirId);
// /**
// * 查看正在进行中的任务
// */
......
......@@ -6,6 +6,8 @@ import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.AttachmentRepository;
import com.zjty.tynotes.job.basic.service.AttachmentService;
import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.job.basic.service.PriviceService;
import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.pas.entity.User;
import com.zjty.tynotes.pas.service.IUserService;
import lombok.extern.slf4j.Slf4j;
......@@ -23,6 +25,8 @@ public class ConversionServiceImpl implements ConversionService {
@Autowired
AttachmentRepository attachmentRepository;
@Autowired
PriviceService priviceService;
@Override
public WorkVo workToVo(Work work) {
......@@ -49,27 +53,56 @@ public class ConversionServiceImpl implements ConversionService {
attachments.add(attachmentRepository.findById(id).get());
}
}
return new WorkVo(
work.getId(),
work.getSuperiorId(),
work.getTitle(),
work.getCreateTime(),
work.getStateTime(),
work.getEndTime(),
work.getCompleteTime(),
work.getUpdateTime(),
work.getSubmitTime(),
work.getAuditTime(),
pUser,
eUser,
users,
attachments,
work.getContent(),
work.getWorkload(),
work.getStatus(),
work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount()
);
if (work.getSuperiorId()==null || "".equals(work.getSuperiorId())){
return new WorkVo(
work.getId(),
work.getSuperiorId(),
work.getTitle(),
work.getCreateTime(),
work.getStateTime(),
work.getEndTime(),
work.getCompleteTime(),
work.getUpdateTime(),
work.getSubmitTime(),
work.getAuditTime(),
pUser,
eUser,
users,
attachments,
work.getContent(),
work.getWorkload(),
work.getStatus(),
work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount(),
null
);
}else {
return new WorkVo(
work.getId(),
work.getSuperiorId(),
work.getTitle(),
work.getCreateTime(),
work.getStateTime(),
work.getEndTime(),
work.getCompleteTime(),
work.getUpdateTime(),
work.getSubmitTime(),
work.getAuditTime(),
pUser,
eUser,
users,
attachments,
work.getContent(),
work.getWorkload(),
work.getStatus(),
work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount(),
priviceService.findByWorkIdWorkVo(work.getSuperiorId()));
}
}
}
package com.zjty.tynotes.job.basic.service.impl;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.PriviceService;
import com.zjty.tynotes.job.common.exception.NotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PriviceServiceImpl implements PriviceService {
@Autowired
WorkRepository workRepository;
@Override
public Work findByWorkIdWorkVo(String superoirId) {
return superoirIdWork(superoirId);
}
private Work superoirIdWork(String superoirId){
if (!workRepository.existsById(superoirId)){
throw new NotFoundException(String.format("[job] id为 %s 的任务不存在.", superoirId));
}
Work work= workRepository.findById(superoirId).get();
if (work.getSuperiorId()==null|| "".equals(work.getSuperiorId())){
return work;
}else {
return superoirIdWork(work.getSuperiorId());
}
}
}
......@@ -123,6 +123,7 @@ public class WorkServiceImpl implements WorkService {
@Override
public Work findById(String workId) {
Optional<Work> workOptional = workRepository.findById(workId);
return workOptional.orElseThrow(() -> new BadRequestException(String.format("[job] id为 %s 的数据不存在.", workId)));
}
......
package com.zjty.tynotes.job.status.service;
public interface RepairService {
void dbAllToRedis();
}
package com.zjty.tynotes.job.status.service.impl;
import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.service.ScoreCoefficientService;
import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.job.common.Constants;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.WorkAttribution;
import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import com.zjty.tynotes.job.status.service.RepairService;
import com.zjty.tynotes.pas.service.IUserService;
import com.zjty.tynotes.search.subject.service.EsUtil;
import com.zjty.tynotes.sms.service.MessageTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class RepairServiceImpl implements RepairService {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Autowired
MessageTemplateService messageTemplateService;
@Autowired
WorkService workService;
@Autowired
EsUtil esUtil;
@Autowired
ScoreCoefficientService scoreCoefficientService;
@Autowired
IUserService iUserService;
@Override
public void dbAllToRedis() {
workService.findAll();
}
private void dbToRedis(Work work){
List<String> uIds=new ArrayList<>();
Long time=new Date().getTime();
String releaseName= iUserService.findUserById(work.getPublisher()).getUsername();
String executorName= iUserService.findUserById(work.getExecutor()).getUsername();
RedisPersonalWork personalWork=new RedisPersonalWork(work.getId(),time,work.getTitle(),work.getStatus(),releaseName,executorName,1,WorkAttribution.ME_WORK,"",work.getSuperiorId(),new ArrayList<>(),0,0);
if (releaseName.equals(executorName)){
if (work.getSuperiorId() == null){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(1);
personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}else {
uIds = tests(work.getSuperiorId(), uIds);
uIds.remove(work.getPublisher());
uIds.remove(work.getExecutor());
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(1);
personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
}
}else {
//发布人
if (work.getSuperiorId() == null) {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
switch (work.getStatus()){
case WorkStatus
.AUDIT:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(0);
}else {
personalWork.setIsNotCommission(1);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
personalWork.setReadState(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
} else {
uIds = tests(work.getSuperiorId(), uIds);
uIds.remove(work.getPublisher());
uIds.remove(work.getExecutor());
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
switch (work.getStatus()){
case WorkStatus
.AUDIT:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(0);
}else {
personalWork.setIsNotCommission(1);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
personalWork.setReadState(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}
//执行人 判断执行人是否有分解权限
personalWork.setWorkAttribution(WorkAttribution1.ME_RECEIVE_WORK);
personalWork.setReadState(1);
switch (work.getStatus()){
case WorkStatus
.ONGOING:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(1);
}else {
personalWork.setIsNotCommission(0);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
}
//有待修改
if (uIds.size()!=0) {
for (String id : uIds) {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1);
personalWork.setIsNotCommission(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + id, personalWork);
}
}
}
private List<String> tests(String id,List<String> list){
Work work=workService.findById(id);
String workId=work.getSuperiorId();
list.add(work.getPublisher());
if (workId==null || "".equals(workId)){
return list;
}
return tests(workId,list);
}
}
......@@ -12,6 +12,7 @@ server.ssl.keyStoreType=PKCS12
# 证书别名
server.ssl.keyAlias= alias
#mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes2
# servlet configuration
......@@ -22,6 +23,7 @@ spring.redis.host=localhost
spring.redis.port=6379
spring.redis.timeout=5000ms
# es configuraiton
es.ip=localhost
logging.file=./log/note.log
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论