提交 2ca10300 authored 作者: gongwenjie's avatar gongwenjie

Merge branch 'master' of git.yfzx.zjtys.com.cn:zjm/notes2.0

...@@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import static org.springframework.http.ResponseEntity.ok; import static org.springframework.http.ResponseEntity.ok;
/** /**
...@@ -32,12 +34,19 @@ public class AttachmentController { ...@@ -32,12 +34,19 @@ public class AttachmentController {
} }
@PostMapping("/{workId}") @PostMapping("/{workId}")
@ApiOperation(value = "新增附件并将其添加到所属工作中.", notes = "新增不可在数据中附带id.需要在路径中指定所属工作的id.成功时返回新增数据保存的id.") @ApiOperation(value = "新增附件结合并将其添加到所属工作中.", notes = "新增不可在数据中附带id.需要在路径中指定所属工作的id.成功时返回新增数据保存的id.")
public ResponseEntity<JobResponse> add(@RequestBody Attachment attachment, @PathVariable String workId) { public ResponseEntity<JobResponse> add(@RequestBody List<Attachment> attachment, @PathVariable String workId) {
String saveId = attachmentService.add(attachment, workId); String saveId = attachmentService.add(attachment, workId);
return ok(new JobResponse(saveId)); return ok(new JobResponse(saveId));
} }
@PostMapping("/one")
@ApiOperation(value = "新增附件并将其添加到所属工作中.", notes = "新增不可在数据中附带id.需要在路径中指定所属工作的id.成功时返回新增数据保存的id.")
public ResponseEntity<JobResponse> add(@RequestBody Attachment attachment) {
String saveId = attachmentService.add(attachment);
return ok(new JobResponse(saveId));
}
@PutMapping() @PutMapping()
@ApiOperation(value = "修改附件.", notes = "修改必须在数据中附带id.") @ApiOperation(value = "修改附件.", notes = "修改必须在数据中附带id.")
public ResponseEntity<JobResponse> modify(@RequestBody Attachment attachment) { public ResponseEntity<JobResponse> modify(@RequestBody Attachment attachment) {
......
package com.zjty.tynotes.job.basic.controller; package com.zjty.tynotes.job.basic.controller;
import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient; import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient;
import com.zjty.tynotes.job.basic.entity.request.ScRo;
import com.zjty.tynotes.job.basic.entity.response.JobResponse; import com.zjty.tynotes.job.basic.entity.response.JobResponse;
import com.zjty.tynotes.job.basic.service.ScoreCoefficientService; import com.zjty.tynotes.job.basic.service.ScoreCoefficientService;
import com.zjty.tynotes.job.common.Action; import com.zjty.tynotes.job.common.Action;
...@@ -37,15 +38,24 @@ public class ScController { ...@@ -37,15 +38,24 @@ public class ScController {
this.scoreCoefficientService = scoreCoefficientService; this.scoreCoefficientService = scoreCoefficientService;
} }
@PostMapping("/") @PostMapping("/save")
@ApiOperation(value = "新增考评信息.", notes = "新增不可在数据中附带id.成功时返回新增数据保存的id.") @ApiOperation(value = "新增考评信息.", notes = "新增不可在数据中附带id.成功时返回新增数据保存的id.")
public ResponseEntity<JobResponse> add(@RequestBody ScoreCoefficient scoreCoefficient, public ResponseEntity<JobResponse> add(@RequestBody ScRo scRo
@RequestParam String userId) { ) {
String saveId = scoreCoefficientService.add(scoreCoefficient); String saveId = scoreCoefficientService.add(scRo.toDb());
businessTreeManagement.saveAction(userId,scoreCoefficient.getWordId(),Action.APPRAISAL_WORD,new Date(),""); businessTreeManagement.saveAction(scRo.getUserId(),scRo.getWorkId(),Action.APPRAISAL_WORD,new Date(),"");
return ok(new JobResponse(saveId)); return ok(new JobResponse(saveId));
} }
@PostMapping("/select")
@ApiOperation(value = "新增考评信息.", notes = "新增不可在数据中附带id.成功时返回新增数据保存的id.")
public ResponseEntity<ScoreCoefficient> add1(@RequestParam String workId
) {
return ok(scoreCoefficientService.findById(workId));
}
@PutMapping("/upDate") @PutMapping("/upDate")
@ApiOperation(value = "考评信息修改.", notes = "修改必须在数据中附带id.") @ApiOperation(value = "考评信息修改.", notes = "修改必须在数据中附带id.")
public ResponseEntity<JobResponse> modify(@RequestBody ScoreCoefficient scoreCoefficient, public ResponseEntity<JobResponse> modify(@RequestBody ScoreCoefficient scoreCoefficient,
......
...@@ -4,6 +4,10 @@ import com.zjty.tynotes.job.basic.entity.database.Work; ...@@ -4,6 +4,10 @@ import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.request.UpdateCrew; import com.zjty.tynotes.job.basic.entity.request.UpdateCrew;
import com.zjty.tynotes.job.basic.entity.request.WorkRo; import com.zjty.tynotes.job.basic.entity.request.WorkRo;
import com.zjty.tynotes.job.basic.entity.response.JobResponse; import com.zjty.tynotes.job.basic.entity.response.JobResponse;
import com.zjty.tynotes.job.basic.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.job.basic.service.WorkService; import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.job.common.Action; import com.zjty.tynotes.job.common.Action;
import com.zjty.tynotes.job.common.constant.WorkStatus; import com.zjty.tynotes.job.common.constant.WorkStatus;
...@@ -33,7 +37,10 @@ public class WorkController { ...@@ -33,7 +37,10 @@ public class WorkController {
@Autowired @Autowired
WorkService workService; WorkService workService;
@Autowired
ConversionService conversionService;
@Autowired
WorkRepository workRepository;
@Autowired @Autowired
private BusinessTreeManagement businessTreeManagement; private BusinessTreeManagement businessTreeManagement;
...@@ -43,9 +50,9 @@ public class WorkController { ...@@ -43,9 +50,9 @@ public class WorkController {
@GetMapping(value = "/{workId}") @GetMapping(value = "/{workId}")
@ApiOperation(value = "根据id查询工作.", notes = "在路径中指定要查询的工作id.") @ApiOperation(value = "根据id查询工作.", notes = "在路径中指定要查询的工作id.")
public ResponseEntity<Work> findById(@PathVariable String workId) { public ResponseEntity<WorkVo> findById(@PathVariable String workId) {
return ok( workService.findById(workId)); return ok(conversionService.workToVo(workService.findById(workId)));
} }
...@@ -137,7 +144,7 @@ public class WorkController { ...@@ -137,7 +144,7 @@ public class WorkController {
@ApiImplicitParam(name="status",value="状态",dataType="String", paramType = "query",required = true), @ApiImplicitParam(name="status",value="状态",dataType="String", paramType = "query",required = true),
@ApiImplicitParam(name="msg",value="消息",dataType="String", paramType = "query",required = true) @ApiImplicitParam(name="msg",value="消息",dataType="String", paramType = "query",required = true)
}) })
public ResponseEntity alterTaskStatus(@RequestParam String workId, public ResponseEntity<JobResponse> alterTaskStatus(@RequestParam String workId,
@RequestParam String userId, @RequestParam String userId,
@RequestParam String status, @RequestParam String status,
@RequestParam String msg) { @RequestParam String msg) {
...@@ -156,7 +163,9 @@ public class WorkController { ...@@ -156,7 +163,9 @@ public class WorkController {
break; break;
case "audit": case "audit":
//执行者提交 //执行者提交
Work work1= workRepository.findById(workId).get();
work1.setEndTime(new Date());
workRepository.save(work1);
workService.alterTaskStatus(workId, status); workService.alterTaskStatus(workId, status);
businessTreeManagement.saveAction(userId, workId, Action.COMMIT_WORK, new Date(), msg); businessTreeManagement.saveAction(userId, workId, Action.COMMIT_WORK, new Date(), msg);
break; break;
...@@ -174,10 +183,22 @@ public class WorkController { ...@@ -174,10 +183,22 @@ public class WorkController {
log.warn("[job] 修改任务状态传入的参数有误,传入值为:{}", status); log.warn("[job] 修改任务状态传入的参数有误,传入值为:{}", status);
break; break;
} }
return ok("success"); return ok(new JobResponse(workId));
} }
@PutMapping(value = "/select/subtasks/{workId}")
@ApiOperation(value = "根据任务id是否可以提交任务", notes = "查看是否可以提交.")
public ResponseEntity<WorkIsNotCommit> selectSubtasks(@PathVariable("workId") String workId) {
return ok(workService.findBySuperoirId(workId));
}
@PutMapping(value = "/select/workload/{workId}")
@ApiOperation(value = "根据任务id查看剩余工作量", notes = "查看任务工作量.")
public ResponseEntity selectCount(@PathVariable("workId") String workId) {
return ok(workService.findBySuperoirIdCount(workId));
}
} }
package com.zjty.tynotes.job.basic.entity.database; package com.zjty.tynotes.job.basic.entity.database;
import com.zjty.tynotes.misc.config.AutoDocument;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -8,6 +9,7 @@ import lombok.NoArgsConstructor; ...@@ -8,6 +9,7 @@ import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@AutoDocument
@NoArgsConstructor @NoArgsConstructor
@ApiModel(value = "评分", description = "评分对象") @ApiModel(value = "评分", description = "评分对象")
public class ScoreCoefficient { public class ScoreCoefficient {
......
...@@ -12,6 +12,7 @@ import org.springframework.data.annotation.Id; ...@@ -12,6 +12,7 @@ import org.springframework.data.annotation.Id;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -76,7 +77,7 @@ public class Work { ...@@ -76,7 +77,7 @@ public class Work {
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "更新时间", example = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间", example = "yyyy-MM-dd HH:mm:ss")
private Date updateTime; private Date updateTime=new Date();
/*相关用户 同一个人不能同时担任多种职位*/ /*相关用户 同一个人不能同时担任多种职位*/
/** /**
* 发布者id * 发布者id
...@@ -94,7 +95,6 @@ public class Work { ...@@ -94,7 +95,6 @@ public class Work {
/** /**
* 组员id集合 * 组员id集合
*/ */
@NotNull
@ApiModelProperty(value = "组原id集合.", example = "[\"id\",\"id\"]") @ApiModelProperty(value = "组原id集合.", example = "[\"id\",\"id\"]")
private List<String> crewList; private List<String> crewList;
...@@ -103,7 +103,7 @@ public class Work { ...@@ -103,7 +103,7 @@ public class Work {
*/ */
@NotNull @NotNull
@ApiModelProperty(value = "附件的id集合.", example = "[\"id\",\"id\"]") @ApiModelProperty(value = "附件的id集合.", example = "[\"id\",\"id\"]")
private List<String> attachment; private List<String> attachment=new ArrayList<>();
/*工作内容*/ /*工作内容*/
...@@ -135,20 +135,21 @@ public class Work { ...@@ -135,20 +135,21 @@ public class Work {
/** /**
* 考评系数 * 考评系数
*/ */
@NotNull
@ApiModelProperty(value = "考评系数",example = "0.8") @ApiModelProperty(value = "考评系数",example = "0.8")
private int workCoefficient; private int workCoefficient=0;
/** /**
* 是否记录个人工作量 * 是否记录个人工作量
*/ */
@ApiModelProperty(value = "是否记录个人工作量",example = "1.是记录0.不记录") @ApiModelProperty(value = "是否记录个人工作量",example = "1.是记录0.不记录")
@NotNull
private int pWorkload=1; private int pWorkload=1;
/** /**
* 是否记录任务工作量 * 是否记录任务工作量
*/ */
@ApiModelProperty(value = "是否记录任务工作量",example = "1.是记录0.不记录") @ApiModelProperty(value = "是否记录任务工作量",example = "1.是记录0.不记录")
@NotNull
private int workloadCount=1; private int workloadCount=1;
......
package com.zjty.tynotes.job.basic.entity.request;
import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "请求新增考评对象", description = "新增考评对象")
public class ScRo {
/**
* 编号
*/
@ApiModelProperty(value = "编号", example = "id")
private String id;
/**
* 任务id
*/
@ApiModelProperty(value = "任务id", example = "任务id")
private String workId;
/**
* 自评分
*/
@ApiModelProperty(value = "自评分", example = "score1")
private String score1;
/**
* 自评评语
*/
@ApiModelProperty(value = "自评评语", example = "comments1")
private String comments1;
/**
* 发布者评价
*/
@ApiModelProperty(value = "发布者评价", example = "score2")
private String score2;
/**
* 发布者评语
*/
@ApiModelProperty(value = "发布者评语", example = "comments2")
private String comments2;
/**
* 最终工作量
*/
@ApiModelProperty(value = "最终工作量", example = "endWorkLoad")
private int endWorkLoad;
@ApiModelProperty(value = "用户id", example = "userId")
private String userId;
public ScoreCoefficient toDb(){
return new ScoreCoefficient(id,workId,score1,comments1,score2,comments2,endWorkLoad);
}
}
...@@ -9,7 +9,6 @@ import lombok.NoArgsConstructor; ...@@ -9,7 +9,6 @@ import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
@AutoDocument
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
......
...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor; ...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor;
* <p>Date : 2019/5/13 15:53 * <p>Date : 2019/5/13 15:53
* <p>@author : C * <p>@author : C
*/ */
@AutoDocument
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
......
package com.zjty.tynotes.job.basic.entity.request; package com.zjty.tynotes.job.basic.entity.response;
import com.zjty.tynotes.misc.config.AutoDocument;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -8,20 +7,16 @@ import lombok.Data; ...@@ -8,20 +7,16 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ApiModel(value = "修改审核人、关注人RO", description = "修改审核人、关注人") @ApiModel(value = "判断是否可以提交任务的对象", description = "提交任务的对象")
@AutoDocument public class WorkIsNotCommit {
public class UserRo {
@ApiModelProperty(value = "操作人id", example = "id") @ApiModelProperty(value = "是否可以提交任务", example = "isNotCommit", notes = "1 是可以提交,0 不能提交")
private String operatorId; private String isNotCommit;
@ApiModelProperty(value = "工作id", example = "id") @ApiModelProperty(value = "子任务未完成的id集合", example = "notWorkIds", notes = "不能提交才有数据")
private String workId;
@ApiModelProperty(value = "人员id", example = "id") private List<String> notWorkIds;
private List<String> users;
} }
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.pas.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "返回任务信息的详情", description = "任务信息对象")
public class WorkVo {
/**
* id
*/
@Id
@ApiModelProperty(value = "id.若新增数据则不可附带id.更新已有数据则必须附带id.", example = "id", notes = "若新增数据则不可附带id.更新已有数据则必须附带id")
private String id;
/**
* 上级任务id
*/
@ApiModelProperty(value = "上级任务id", example = "superiorId")
private String superiorId;
/**
* 标题
*/
@ApiModelProperty(value = "标题", example = "请输入标题")
private String title;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "创建时间", example = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 任务开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "开始时间", example = "yyyy-MM-dd HH:mm:ss")
private Date stateTime;
/**
* 任务结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "结束时间", example = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
/**
* 预计完成时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "预计完成时间", example = "yyyy-MM-dd HH:mm:ss")
private Date completeTime;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "更新时间", example = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/*相关用户 同一个人不能同时担任多种职位*/
/**
* 发布者id
*/
@ApiModelProperty(value = "发布者的用户对象.", example = "对象")
private User publisher;
/**
* 执行者id
*/
@ApiModelProperty(value = "组长用户对象.", example = "id")
private User executor;
/**
* 组员id集合
*/
@ApiModelProperty(value = "组原id集合.", example = "[\"id\",\"id\"]")
private List<User> crewList;
/**
* 附件id
*/
@ApiModelProperty(value = "附件的id集合.", example = "[\"id\",\"id\"]")
private List<Attachment> attachment;
/*工作内容*/
/**
* 内容
* 内容字数有上限3000个字,上限可设置。
*/
@ApiModelProperty(value = "内容", example = "内容...............", notes = "内容字数有上限3000个字,上限可设置.")
private String content;
/**
* 工作量
*/
@ApiModelProperty(value = "工作量",example = "30")
private int workload;
/**
* 工作状态
* 目前有:未发布、进行中、待审核、待考评
*/
@ApiModelProperty(value = "状态.进行中:underway、已提交:committed、已完结:finished", example = "finished")
private String status;
/**
* 考评系数
*/
@ApiModelProperty(value = "考评系数",example = "0.8")
private int workCoefficient=0;
/**
* 是否记录个人工作量
*/
@ApiModelProperty(value = "是否记录个人工作量",example = "1.是记录0.不记录")
private int pWorkload=1;
/**
* 是否记录任务工作量
*/
@ApiModelProperty(value = "是否记录任务工作量",example = "1.是记录0.不记录")
private int workloadCount=1;
}
...@@ -4,7 +4,10 @@ import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient; ...@@ -4,7 +4,10 @@ import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
@Repository @Repository
public interface ScoreCoefficientRepository extends MongoRepository<ScoreCoefficient, String> { public interface ScoreCoefficientRepository extends MongoRepository<ScoreCoefficient, String> {
List<ScoreCoefficient> findByWordId(String workId);
} }
...@@ -4,6 +4,8 @@ import com.zjty.tynotes.job.basic.entity.database.Work; ...@@ -4,6 +4,8 @@ import com.zjty.tynotes.job.basic.entity.database.Work;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* <p>Description : note * <p>Description : note
* <p>Date : 2019/4/23 9:45 * <p>Date : 2019/4/23 9:45
...@@ -11,5 +13,6 @@ import org.springframework.stereotype.Repository; ...@@ -11,5 +13,6 @@ import org.springframework.stereotype.Repository;
*/ */
@Repository @Repository
public interface WorkRepository extends MongoRepository<Work, String> { public interface WorkRepository extends MongoRepository<Work, String> {
List<Work> findBySuperiorId(String superiorId);
} }
...@@ -36,6 +36,16 @@ public interface AttachmentService { ...@@ -36,6 +36,16 @@ public interface AttachmentService {
*/ */
String add(Attachment attachment, String workId); String add(Attachment attachment, String workId);
/**
* 根据workId新增Attachment并与所属Work建立关系
* 不可附带id
*
* @param attachments Attachment集合对象
* @param workId 所属工作id
* @return Attachment对象的id
*/
String add(List<Attachment> attachments, String workId);
/** /**
* 修改Attachment * 修改Attachment
* 必须附带id * 必须附带id
...@@ -45,6 +55,14 @@ public interface AttachmentService { ...@@ -45,6 +55,14 @@ public interface AttachmentService {
*/ */
String modify(Attachment attachment); String modify(Attachment attachment);
/**
* 查找指定id的Work
*
* @param workId 指定id
* @return Work对象
*/
Attachment findById(String attachmentId);
/** /**
* 查询所有 * 查询所有
* *
......
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 ConversionService {
WorkVo workToVo(Work work);
}
...@@ -33,7 +33,7 @@ public interface ScoreCoefficientService { ...@@ -33,7 +33,7 @@ public interface ScoreCoefficientService {
/** /**
* 查找指定id的Work * 查找指定id的考评信息
* *
* @param id 指定id * @param id 指定id
* @return ScoreCoefficient 对象 * @return ScoreCoefficient 对象
......
package com.zjty.tynotes.job.basic.service; package com.zjty.tynotes.job.basic.service;
import com.zjty.tynotes.job.basic.entity.database.Work; import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.service.impl.WorkServiceImpl; import com.zjty.tynotes.job.basic.service.impl.WorkServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -111,6 +112,16 @@ public interface WorkService { ...@@ -111,6 +112,16 @@ public interface WorkService {
*/ */
void updateWorkload(String taskId, int workload, int workCoefficient); void updateWorkload(String taskId, int workload, int workCoefficient);
/**
* 根据任务id 查看任务是否有无子任务,子任务是否有未完成
*/
WorkIsNotCommit findBySuperoirId(String SuperoirId);
/**
* 根据任务id 查看任务剩余工作量
*/
int findBySuperoirIdCount(String SuperoirId);
// /** // /**
// * 查看正在进行中的任务 // * 查看正在进行中的任务
// */ // */
......
...@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional;
import static java.util.Objects.isNull; import static java.util.Objects.isNull;
import static java.util.Objects.nonNull; import static java.util.Objects.nonNull;
...@@ -89,6 +90,39 @@ public class AttachmentServiceImpl implements AttachmentService { ...@@ -89,6 +90,39 @@ public class AttachmentServiceImpl implements AttachmentService {
} }
} }
@Override
public String add(List<Attachment> attachments, String workId) {
if (attachments.size() == 0) {
String msg = "[Attachment] 没有附件";
log.error(msg);
throw new BadRequestException(msg);
}
for (Attachment attachment : attachments){
Boolean idMustNull = isNull(attachment.getId());
if (idMustNull) {
Boolean workMustExist = workService.idExists(workId);
if (workMustExist) {
String saveId = attachmentRepository.save(attachment).getId();
Work work = workService.findById(workId);
if (isNull(work.getAttachment())) {
work.setAttachment(Lists.newArrayList());
}
work.getAttachment().add(saveId);
workService.modify(work);
} else {
String msg = "[job] 指定id的所属工作不存在.";
log.error(msg);
throw new NotFoundException(msg);
}
} else {
String msg = "[job] 新增数据不可附带id.";
log.error(msg);
throw new BadRequestException(msg);
}
}
return "添加附件成功";
}
@Override @Override
public String modify(Attachment attachment) { public String modify(Attachment attachment) {
Boolean idExist = nonNull(attachment.getId()); Boolean idExist = nonNull(attachment.getId());
...@@ -110,6 +144,12 @@ public class AttachmentServiceImpl implements AttachmentService { ...@@ -110,6 +144,12 @@ public class AttachmentServiceImpl implements AttachmentService {
} }
} }
@Override
public Attachment findById(String attachmentId) {
Optional<Attachment> workOptional = attachmentRepository.findById(attachmentId);
return workOptional.orElseThrow(() -> new BadRequestException(String.format("[job] id为 %s 的数据不存在.", attachmentId)));
}
@Override @Override
public List<Attachment> findAll() { public List<Attachment> findAll() {
return attachmentRepository.findAll(); return attachmentRepository.findAll();
......
package com.zjty.tynotes.job.basic.service.impl;
import com.zjty.tynotes.job.basic.entity.database.Attachment;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.service.AttachmentService;
import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.pas.entity.User;
import com.zjty.tynotes.pas.service.IUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@Slf4j
public class ConversionServiceImpl implements ConversionService {
@Autowired
IUserService iUserService;
@Autowired
AttachmentService attachmentService;
@Override
public WorkVo workToVo(Work work) {
log.info("开始转换对象");
User pUser=iUserService.findUserById(work.getPublisher());
User eUser=iUserService.findUserById(work.getExecutor());
List<User> users=new ArrayList<>();
List<String> uid=work.getCrewList();
List<Attachment> attachments=new ArrayList<>();
List<String> attachIds=work.getAttachment();
if (uid!=null && uid.size()!=0){
for (String id:uid){
users.add(iUserService.findUserById(id));
}
}
if (attachIds!=null && attachIds.size()!=0){
for (String id:attachIds){
attachments.add(attachmentService.findById(id));
}
}
return new WorkVo(
work.getId(),
work.getSuperiorId(),
work.getTitle(),
work.getCreateTime(),
work.getStateTime(),
work.getEndTime(),
work.getCompleteTime(),
work.getUpdateTime(),
pUser,
eUser,
users,
attachments,
work.getContent(),
work.getWorkload(),
work.getStatus(),
work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount()
);
}
}
...@@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional; import java.util.Optional;
import static java.util.Objects.isNull; import static java.util.Objects.isNull;
...@@ -59,7 +60,14 @@ public class ScoreCoefficientServiceImpl implements ScoreCoefficientService { ...@@ -59,7 +60,14 @@ public class ScoreCoefficientServiceImpl implements ScoreCoefficientService {
@Override @Override
public ScoreCoefficient findById(String id) { public ScoreCoefficient findById(String id) {
Optional<ScoreCoefficient> scoreOptional = scoreCoefficientRepository.findById(id); List<ScoreCoefficient> scoreCoefficients= scoreCoefficientRepository.findByWordId(id);
return scoreOptional.orElseThrow(() -> new BadRequestException(String.format("[job] 考评id为 %s 的数据不存在.", id))); if (scoreCoefficients.size()==0){
String msg = "[job] 没有考评信息";
log.error(msg);
throw new BadRequestException(msg);
}else {
return scoreCoefficients.get(0);
}
} }
} }
...@@ -2,14 +2,17 @@ package com.zjty.tynotes.job.basic.service.impl; ...@@ -2,14 +2,17 @@ package com.zjty.tynotes.job.basic.service.impl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.zjty.tynotes.job.basic.entity.database.Work; import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.repository.WorkRepository; import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.WorkService; import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.BadRequestException; import com.zjty.tynotes.job.common.exception.BadRequestException;
import com.zjty.tynotes.job.common.exception.NotFoundException; import com.zjty.tynotes.job.common.exception.NotFoundException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -135,6 +138,47 @@ public class WorkServiceImpl implements WorkService { ...@@ -135,6 +138,47 @@ public class WorkServiceImpl implements WorkService {
workRepository.save(ob); workRepository.save(ob);
} }
@Override
public WorkIsNotCommit findBySuperoirId(String SuperoirId) {
if (!workRepository.existsById(SuperoirId)){
throw new NotFoundException(String.format("[job] id为 %s 的任务不存在.", SuperoirId));
}
List<Work> works= workRepository.findBySuperiorId(SuperoirId);
List<String> list=new ArrayList<>();
String isNotCommit="1";
if (works!=null && works.size()!=0){
for (Work work:works){
if (!WorkStatus.FINISHED.equals(work.getStatus())){
isNotCommit="0";
list.add(work.getId());
}
}
return new WorkIsNotCommit(isNotCommit,list);
}else {
return new WorkIsNotCommit(isNotCommit,list);
}
}
@Override
public int findBySuperoirIdCount(String SuperoirId) {
if (!workRepository.existsById(SuperoirId)){
throw new NotFoundException(String.format("[job] id为 %s 的任务不存在.", SuperoirId));
}
List<Work> works= workRepository.findBySuperiorId(SuperoirId);
int count= workRepository.findById(SuperoirId).get().getWorkload();
if (works!=null && works.size()!=0){
for (Work work:works){
if(work.getWorkloadCount()==1) {
count = count - work.getWorkload();
}
}
return count;
}else {
return count;
}
}
// @Override // @Override
// public List<Work> selectTimeWork() { // public List<Work> selectTimeWork() {
//// LocalDateTime minTime = LocalDateTime.now().with(LocalTime.MIN).atZone(ZoneOffset.ofHours(8)).ge; //// LocalDateTime minTime = LocalDateTime.now().with(LocalTime.MIN).atZone(ZoneOffset.ofHours(8)).ge;
......
...@@ -13,7 +13,6 @@ import java.util.List; ...@@ -13,7 +13,6 @@ import java.util.List;
* @author zjm * @author zjm
*/ */
@ApiModel(value = "EsListSum对象",description="提供数据列表和总数") @ApiModel(value = "EsListSum对象",description="提供数据列表和总数")
@AutoDocument
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
......
...@@ -76,7 +76,7 @@ public class RedisPersonalWork { ...@@ -76,7 +76,7 @@ public class RedisPersonalWork {
/** /**
* 子任务id集合 * 子任务id集合
*/ */
@ApiModelProperty(value = "上级任务id",name = "superiorId",example = "root留言") @ApiModelProperty(value = "子任务id集合",name = "superiorId",example = "root留言")
private List<String> subtaskIds; private List<String> subtaskIds;
/** /**
......
...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor; ...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@AutoDocument
@ApiModel(value = "webSocket对象") @ApiModel(value = "webSocket对象")
public class RoleSum { public class RoleSum {
......
...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor; ...@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@AutoDocument
@ApiModel(value = "webSocket对象") @ApiModel(value = "webSocket对象")
public class RoleSum1 { public class RoleSum1 {
......
package com.zjty.tynotes.job.status.service; //package com.zjty.tynotes.job.status.service;
//
import com.zjty.tynotes.job.status.entity.EsListSum; //import com.zjty.tynotes.job.status.entity.EsListSum;
//
/** ///**
* @author zjm // * @author zjm
*/ // */
public interface WorkShowSeeService { //public interface WorkShowSeeService {
//
/** // /**
* 根据人员id查看我的任务列表 // * 根据人员id查看我的任务列表
* @param id 人员id // * @param id 人员id
* @param page 第几页 // * @param page 第几页
* @param size 条数 // * @param size 条数
* @return 数据集合 // * @return 数据集合
*/ // */
EsListSum selectMeWork(String id, int page, int size); // EsListSum selectMeWork(String id, int page, int size);
//
/** // /**
* 根据人员id查看我接收的任务列表 // * 根据人员id查看我接收的任务列表
* @param id 人员id // * @param id 人员id
* @param page 第几页 // * @param page 第几页
* @param size 条数 // * @param size 条数
* @return 数据集合 // * @return 数据集合
*/ // */
EsListSum selectMeReceiveWork(String id, int page, int size); // EsListSum selectMeReceiveWork(String id, int page, int size);
/** // /**
*根据人员id查看我分解的任务列表 // *根据人员id查看我分解的任务列表
* @param id 人员id // * @param id 人员id
* @param page 第几页 // * @param page 第几页
* @param size 条数 // * @param size 条数
* @return 数据集合 // * @return 数据集合
*/ // */
EsListSum selectMeResolveWork(String id, int page, int size); // EsListSum selectMeResolveWork(String id, int page, int size);
/** // /**
*根据人员id查看我发布的任务列表 // *根据人员id查看我发布的任务列表
* @param id 人员id // * @param id 人员id
* @param page 第几页 // * @param page 第几页
* @param size 条数 // * @param size 条数
* @return 数据集合 // * @return 数据集合
*/ // */
EsListSum selectMeReleaseWork(String id, int page, int size); // EsListSum selectMeReleaseWork(String id, int page, int size);
//
/** // /**
* 标题查询 // * 标题查询
* // *
* @param id  人员id // * @param id  人员id
* @param page  页码 // * @param page  页码
* @param size  每页显示的条数 // * @param size  每页显示的条数
* @param title 事件的标题 // * @param title 事件的标题
* @return 给前端对象集合 和条数 // * @return 给前端对象集合 和条数
*/ // */
EsListSum titleSelect(String id, int page, int size, String title); // EsListSum titleSelect(String id, int page, int size, String title);
//
//
} //}
...@@ -180,7 +180,7 @@ public class BusinessTreeManagementImpl implements BusinessTreeManagement { ...@@ -180,7 +180,7 @@ public class BusinessTreeManagementImpl implements BusinessTreeManagement {
break; break;
case 9: case 9:
ScoreCoefficient scoreCoefficient= scoreCoefficientRepository.findById(noteResource.getTaskId()).get(); ScoreCoefficient scoreCoefficient= scoreCoefficientRepository.findByWordId(noteResource.getTaskId()).get(0);
String actionMsg=""; String actionMsg="";
if (scoreCoefficient.getScore1()!=null){ if (scoreCoefficient.getScore1()!=null){
actionMsg=name+"对任务进行了自我评价"; actionMsg=name+"对任务进行了自我评价";
......
...@@ -87,7 +87,7 @@ public class TestSeeServiceImpl implements TestSeeService { ...@@ -87,7 +87,7 @@ public class TestSeeServiceImpl implements TestSeeService {
private RedisListSum listSum(List<RedisPersonalWork> list,int size,int page){ private RedisListSum listSum(List<RedisPersonalWork> list,int size,int page){
int count=list.size(); int count=list.size();
if (size<count){ if (size>count){
return new RedisListSum(count,list); return new RedisListSum(count,list);
} }
int countPage=count/size; int countPage=count/size;
......
...@@ -65,7 +65,7 @@ public class TestServiceImpl implements TestService { ...@@ -65,7 +65,7 @@ public class TestServiceImpl implements TestService {
RedisPersonalWork personalWork=new RedisPersonalWork(work.getId(),time,work.getTitle(),work.getStatus(),releaseName,executorName,1,WorkAttribution.ME_WORK,latestNews,work.getSuperiorId(),new ArrayList<>(),0); RedisPersonalWork personalWork=new RedisPersonalWork(work.getId(),time,work.getTitle(),work.getStatus(),releaseName,executorName,1,WorkAttribution.ME_WORK,latestNews,work.getSuperiorId(),new ArrayList<>(),0);
//发布人 //发布人
if (work.getSuperiorId()==null){ if (work.getSuperiorId()==null){
personalWork.setWorkAttribution(WorkAttribution.ME_RELEASE_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
personalWork.setReadState(0); personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork);
...@@ -107,6 +107,7 @@ public class TestServiceImpl implements TestService { ...@@ -107,6 +107,7 @@ public class TestServiceImpl implements TestService {
for (String id : uIds) { for (String id : uIds) {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1); personalWork.setReadState(1);
personalWork.setIsNotCommission(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + id, personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + id, personalWork);
asynchronousAddEs(Constants.REDIS_EVENT + id, personalWork); asynchronousAddEs(Constants.REDIS_EVENT + id, personalWork);
...@@ -196,6 +197,7 @@ public class TestServiceImpl implements TestService { ...@@ -196,6 +197,7 @@ public class TestServiceImpl implements TestService {
for (String id:uIds){ for (String id:uIds){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1); personalWork.setReadState(1);
personalWork.setIsNotCommission(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+id,personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+id,personalWork);
asynchronousAddEs(Constants.REDIS_EVENT+id,personalWork); asynchronousAddEs(Constants.REDIS_EVENT+id,personalWork);
...@@ -210,7 +212,7 @@ public class TestServiceImpl implements TestService { ...@@ -210,7 +212,7 @@ public class TestServiceImpl implements TestService {
@Override @Override
public void updateWorkStatus(String executorId, String latestNews, String status, Work work) { public void updateWorkStatus(String executorId, String latestNews, String status, Work work) {
List<String> uIds=new ArrayList<>(); List<String> uIds=new ArrayList<>();
Long time=new Date().getTime();
if (work.getSuperiorId()!=null) { if (work.getSuperiorId()!=null) {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
...@@ -221,6 +223,7 @@ public class TestServiceImpl implements TestService { ...@@ -221,6 +223,7 @@ public class TestServiceImpl implements TestService {
if (redisPersonalWork.getWorkId().equals(work.getId())){ if (redisPersonalWork.getWorkId().equals(work.getId())){
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork);
redisPersonalWork.setStatus(status); redisPersonalWork.setStatus(status);
redisPersonalWork.setTime(time);
if (work.getPublisher().equals(executorId)){ if (work.getPublisher().equals(executorId)){
redisPersonalWork.setReadState(0); redisPersonalWork.setReadState(0);
}else { }else {
...@@ -259,6 +262,7 @@ public class TestServiceImpl implements TestService { ...@@ -259,6 +262,7 @@ public class TestServiceImpl implements TestService {
}else { }else {
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
} }
redisPersonalWork.setTime(time);
switch(status){ switch(status){
case WorkStatus.ONGOING: case WorkStatus.ONGOING:
redisPersonalWork.setIsNotCommission(1); redisPersonalWork.setIsNotCommission(1);
...@@ -288,6 +292,7 @@ public class TestServiceImpl implements TestService { ...@@ -288,6 +292,7 @@ public class TestServiceImpl implements TestService {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork);
redisPersonalWork.setStatus(status); redisPersonalWork.setStatus(status);
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork);
...@@ -306,6 +311,7 @@ public class TestServiceImpl implements TestService { ...@@ -306,6 +311,7 @@ public class TestServiceImpl implements TestService {
if (work.getSuperiorId()!=null) { if (work.getSuperiorId()!=null) {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
Long time=new Date().getTime();
//发布者 //发布者
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
for (Object object:list){ for (Object object:list){
...@@ -313,6 +319,7 @@ public class TestServiceImpl implements TestService { ...@@ -313,6 +319,7 @@ public class TestServiceImpl implements TestService {
if (redisPersonalWork.getWorkId().equals(work.getId())){ if (redisPersonalWork.getWorkId().equals(work.getId())){
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork);
redisPersonalWork.setReadState(0); redisPersonalWork.setReadState(0);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
...@@ -326,6 +333,7 @@ public class TestServiceImpl implements TestService { ...@@ -326,6 +333,7 @@ public class TestServiceImpl implements TestService {
if (redisPersonalWork.getWorkId().equals(work.getId())){ if (redisPersonalWork.getWorkId().equals(work.getId())){
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getExecutor(),1,redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getExecutor(),1,redisPersonalWork);
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
...@@ -340,6 +348,7 @@ public class TestServiceImpl implements TestService { ...@@ -340,6 +348,7 @@ public class TestServiceImpl implements TestService {
if (redisPersonalWork.getWorkId().equals(work.getId())) { if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork);
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork);
...@@ -352,11 +361,12 @@ public class TestServiceImpl implements TestService { ...@@ -352,11 +361,12 @@ public class TestServiceImpl implements TestService {
} }
@Override @Override
public void appraisal(String executorId, String latestNews, Work work){ public void appraisal(String executorId, String latestNews, Work work){
List<String> uIds=new ArrayList<>(); List<String> uIds=new ArrayList<>();
if (work.getSuperiorId()!=null) { if (work.getSuperiorId()!=null) {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
Long time=new Date().getTime();
//发布者 //发布者
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
for (Object object:list){ for (Object object:list){
...@@ -370,6 +380,7 @@ public class TestServiceImpl implements TestService { ...@@ -370,6 +380,7 @@ public class TestServiceImpl implements TestService {
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setIsNotCommission(1); redisPersonalWork.setIsNotCommission(1);
} }
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
...@@ -389,6 +400,7 @@ public class TestServiceImpl implements TestService { ...@@ -389,6 +400,7 @@ public class TestServiceImpl implements TestService {
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setIsNotCommission(0); redisPersonalWork.setIsNotCommission(0);
} }
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
...@@ -403,6 +415,7 @@ public class TestServiceImpl implements TestService { ...@@ -403,6 +415,7 @@ public class TestServiceImpl implements TestService {
if (redisPersonalWork.getWorkId().equals(work.getId())) { if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + uId, 1, redisPersonalWork);
redisPersonalWork.setReadState(1); redisPersonalWork.setReadState(1);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + uId, redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork); asynchronousAddEs(Constants.REDIS_EVENT + uId, redisPersonalWork);
...@@ -551,7 +564,7 @@ public class TestServiceImpl implements TestService { ...@@ -551,7 +564,7 @@ public class TestServiceImpl implements TestService {
// 添加es // 添加es
private void asynchronousAddEs(String index,RedisPersonalWork personalWork){ private void asynchronousAddEs(String index,RedisPersonalWork personalWork){
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
esUtil.save(index, eventToEs(personalWork)); // esUtil.save(index, eventToEs(personalWork));
log.info("异步写入es完成"); log.info("异步写入es完成");
}); });
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论