提交 bf94361e authored 作者: zjm's avatar zjm

添加了查看部门下所有任务接口

上级 d2347b26
流水线 #56 已取消 于阶段
...@@ -20,6 +20,7 @@ import org.springframework.http.ResponseEntity; ...@@ -20,6 +20,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.Date;
import java.util.List;
import static org.springframework.http.ResponseEntity.ok; import static org.springframework.http.ResponseEntity.ok;
...@@ -174,8 +175,7 @@ public class WorkController { ...@@ -174,8 +175,7 @@ public class WorkController {
workService.alterTaskStatus(workId, status); workService.alterTaskStatus(workId, status);
businessTreeManagement.saveAction(userId, workId, Action.FINISH_WORK, new Date(), msg); businessTreeManagement.saveAction(userId, workId, Action.FINISH_WORK, new Date(), msg);
break; break;
case WorkStatus case WorkStatus.FINISHED:
.FINISHED:
workService.alterTaskStatus(workId, status); workService.alterTaskStatus(workId, status);
businessTreeManagement.saveAction(userId, workId, Action.FINISHED_WORK, new Date(), msg); businessTreeManagement.saveAction(userId, workId, Action.FINISHED_WORK, new Date(), msg);
...@@ -201,4 +201,11 @@ public class WorkController { ...@@ -201,4 +201,11 @@ public class WorkController {
return ok(workService.findBySuperoirIdCount(workId)); return ok(workService.findBySuperoirIdCount(workId));
} }
@GetMapping(value = "/select/work/{userId}")
@ApiOperation(value = "根据用户id查看其部门所有的任务", notes = "部门所有的任务")
public ResponseEntity<List<WorkVo>> selectWorkUserId(@PathVariable("userId") String userId) {
return ok(workService.selectUserIdsWork(userId));
}
} }
...@@ -13,6 +13,18 @@ import java.util.List; ...@@ -13,6 +13,18 @@ import java.util.List;
*/ */
@Repository @Repository
public interface WorkRepository extends MongoRepository<Work, String> { public interface WorkRepository extends MongoRepository<Work, String> {
/**
* 上级任务id查询所有子任务
* @param superiorId 任务id
* @return 任务集合
*/
List<Work> findBySuperiorId(String superiorId); List<Work> findBySuperiorId(String superiorId);
/**
* 根据执行者id查询所有的任务
* @param ids 用户id集合
* @return
*/
List<Work> findAllByExecutorIn(List<String> ids);
} }
...@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.basic.service; ...@@ -2,6 +2,7 @@ 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.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
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;
...@@ -126,4 +127,6 @@ public interface WorkService { ...@@ -126,4 +127,6 @@ public interface WorkService {
// * 查看正在进行中的任务 // * 查看正在进行中的任务
// */ // */
// List<Work> selectTimeWork(); // List<Work> selectTimeWork();
List<WorkVo> selectUserIdsWork(String userId);
} }
...@@ -3,6 +3,7 @@ package com.zjty.tynotes.job.basic.service.impl; ...@@ -3,6 +3,7 @@ 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.Attachment;
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.WorkVo; 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.AttachmentService;
import com.zjty.tynotes.job.basic.service.ConversionService; import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.pas.entity.User; import com.zjty.tynotes.pas.entity.User;
...@@ -21,7 +22,7 @@ public class ConversionServiceImpl implements ConversionService { ...@@ -21,7 +22,7 @@ public class ConversionServiceImpl implements ConversionService {
IUserService iUserService; IUserService iUserService;
@Autowired @Autowired
AttachmentService attachmentService; AttachmentRepository attachmentRepository;
@Override @Override
public WorkVo workToVo(Work work) { public WorkVo workToVo(Work work) {
...@@ -42,7 +43,7 @@ public class ConversionServiceImpl implements ConversionService { ...@@ -42,7 +43,7 @@ public class ConversionServiceImpl implements ConversionService {
if (attachIds!=null && attachIds.size()!=0){ if (attachIds!=null && attachIds.size()!=0){
for (String id:attachIds){ for (String id:attachIds){
attachments.add(attachmentService.findById(id)); attachments.add(attachmentRepository.findById(id).get());
} }
} }
return new WorkVo( return new WorkVo(
......
...@@ -3,11 +3,15 @@ package com.zjty.tynotes.job.basic.service.impl; ...@@ -3,11 +3,15 @@ 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.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.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.constant.WorkStatus; 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 com.zjty.tynotes.pas.service.IUserService;
import com.zjty.tynotes.pas.service.impl.UserServiceImpl;
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;
...@@ -16,6 +20,7 @@ import java.util.ArrayList; ...@@ -16,6 +20,7 @@ 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;
import java.util.stream.Collectors;
import static java.util.Objects.isNull; import static java.util.Objects.isNull;
import static java.util.Objects.nonNull; import static java.util.Objects.nonNull;
...@@ -35,6 +40,11 @@ public class WorkServiceImpl implements WorkService { ...@@ -35,6 +40,11 @@ public class WorkServiceImpl implements WorkService {
private final private final
WorkRepository workRepository; WorkRepository workRepository;
@Autowired
IUserService iUserService;
@Autowired
ConversionService conversionService;
@Autowired @Autowired
public WorkServiceImpl(WorkRepository workRepository) { public WorkServiceImpl(WorkRepository workRepository) {
this.workRepository = workRepository; this.workRepository = workRepository;
...@@ -115,6 +125,9 @@ public class WorkServiceImpl implements WorkService { ...@@ -115,6 +125,9 @@ public class WorkServiceImpl implements WorkService {
workRepository.save(ob); workRepository.save(ob);
} }
@Override @Override
public void deleteWork(String taskId, int personalWorkload, int workloadCount) { public void deleteWork(String taskId, int personalWorkload, int workloadCount) {
Work ob = workRepository.findById(taskId).get(); Work ob = workRepository.findById(taskId).get();
...@@ -179,6 +192,16 @@ public class WorkServiceImpl implements WorkService { ...@@ -179,6 +192,16 @@ public class WorkServiceImpl implements WorkService {
} }
@Override
public List<WorkVo> selectUserIdsWork(String userId) {
return workRepository.findAllByExecutorIn(iUserService.findUsers(userId))
.stream()
.map(conversionService::workToVo)
.collect(Collectors.toList());
}
// @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;
......
...@@ -21,6 +21,10 @@ public interface WorkAttribution1 { ...@@ -21,6 +21,10 @@ public interface WorkAttribution1 {
*/ */
int ME_RELEASE_WORK = 3; int ME_RELEASE_WORK = 3;
/**
* 我的接收任务
*/
int ME_RECEIVE_WORK = 4;
......
...@@ -84,4 +84,17 @@ public class RedisPersonalWork { ...@@ -84,4 +84,17 @@ public class RedisPersonalWork {
*/ */
@ApiModelProperty(value = "是否是代办任务",name = "isNotCommission",example = "1是代办 0不是") @ApiModelProperty(value = "是否是代办任务",name = "isNotCommission",example = "1是代办 0不是")
private int isNotCommission; private int isNotCommission;
// /**
// * 任务根据人员的状态
// */
// @ApiModelProperty(value = "任务根据人员的状态")
// private int TaskPersonnelStatus;
/**
* 执行人和发布者是否是同一人
*/
private int executorEqualRelease;
} }
package com.zjty.tynotes.job.status.service.impl; package com.zjty.tynotes.job.status.service.impl;
import com.zjty.tynotes.job.common.Constants; 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.WorkAttribution;
import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.Personnel; import com.zjty.tynotes.job.status.entity.Personnel;
import com.zjty.tynotes.job.status.entity.RedisPersonalWork; import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import com.zjty.tynotes.job.status.service.InternalService; import com.zjty.tynotes.job.status.service.InternalService;
...@@ -31,7 +33,10 @@ public class InternalServiceImpl implements InternalService { ...@@ -31,7 +33,10 @@ public class InternalServiceImpl implements InternalService {
for (Object object:lists){ for (Object object:lists){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution.ME_WORK){ if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK && redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
if (redisPersonalWork.getExecutorEqualRelease()==1&& redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++; count++;
} }
} }
...@@ -47,7 +52,10 @@ public class InternalServiceImpl implements InternalService { ...@@ -47,7 +52,10 @@ public class InternalServiceImpl implements InternalService {
for (Object object:lists){ for (Object object:lists){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution.ME_WORK){ if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK && redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
if (redisPersonalWork.getExecutorEqualRelease()==1&& redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++; count++;
} }
} }
......
package com.zjty.tynotes.job.status.service.impl; package com.zjty.tynotes.job.status.service.impl;
import com.zjty.tynotes.job.common.Constants; import com.zjty.tynotes.job.common.Constants;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.WorkAttribution1; import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.EsListSum; import com.zjty.tynotes.job.status.entity.EsListSum;
import com.zjty.tynotes.job.status.entity.RedisListSum; import com.zjty.tynotes.job.status.entity.RedisListSum;
...@@ -37,9 +38,10 @@ public class TestSeeServiceImpl implements TestSeeService { ...@@ -37,9 +38,10 @@ public class TestSeeServiceImpl implements TestSeeService {
List<Object> objectList=redisTemplate.opsForList().range(Constants.REDIS_EVENT+id,0,-1); List<Object> objectList=redisTemplate.opsForList().range(Constants.REDIS_EVENT+id,0,-1);
for (Object object:objectList){ for (Object object:objectList){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RELATED_WORK){ if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RELATED_WORK || redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK || redisPersonalWork.getExecutorEqualRelease()==1 ){
list.add(redisPersonalWork); list.add(redisPersonalWork);
} }
} }
return listSum(list,size,page); return listSum(list,size,page);
......
...@@ -7,7 +7,6 @@ import com.zjty.tynotes.job.common.constant.WorkStatus; ...@@ -7,7 +7,6 @@ import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.WorkAttribution; import com.zjty.tynotes.job.common.exception.WorkAttribution;
import com.zjty.tynotes.job.common.exception.WorkAttribution1; import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.RedisPersonalWork; import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import com.zjty.tynotes.job.status.entity.RoleSum;
import com.zjty.tynotes.job.status.entity.RoleSum1; import com.zjty.tynotes.job.status.entity.RoleSum1;
import com.zjty.tynotes.job.status.service.TestService; import com.zjty.tynotes.job.status.service.TestService;
import com.zjty.tynotes.job.status.utils.JacksonUtil; import com.zjty.tynotes.job.status.utils.JacksonUtil;
...@@ -62,46 +61,78 @@ public class TestServiceImpl implements TestService { ...@@ -62,46 +61,78 @@ public class TestServiceImpl implements TestService {
Long time=new Date().getTime(); Long time=new Date().getTime();
String releaseName= iUserService.findUserById(work.getPublisher()).getUsername(); String releaseName= iUserService.findUserById(work.getPublisher()).getUsername();
String executorName= iUserService.findUserById(work.getExecutor()).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,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,0);
//发布人 if (releaseName.equals(executorName)){
if (work.getSuperiorId()==null){ if (work.getSuperiorId() == null){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
personalWork.setReadState(0); personalWork.setExecutorEqualRelease(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork); personalWork.setReadState(0);
personalWork.setIsNotCommission(1);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),personalWork); 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; asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list))); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
log.info("{}这里发送{}",work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list))); assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}else {
uIds = tests(work.getSuperiorId(), uIds);
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(0);
personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
}else { }else {
uIds=tests(work.getSuperiorId(),uIds); //发布人
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK); if (work.getSuperiorId() == null) {
personalWork.setReadState(0); personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork); personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),personalWork); } else {
List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+work.getPublisher(),0,-1); uIds = tests(work.getSuperiorId(), uIds);
assert list != null; personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list))); personalWork.setReadState(0);
subWork(list,work,work.getPublisher()); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
log.info("{}这里发送{}",work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
} asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
//执行人 判断执行人是否有分解权限 List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list, work, work.getPublisher());
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
//执行人 判断执行人是否有分解权限
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RECEIVE_WORK);
personalWork.setReadState(1); personalWork.setReadState(1);
personalWork.setIsNotCommission(1); personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),personalWork); asynchronousAddEs(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+work.getExecutor(),0,-1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
assert list != null; assert list != null;
pushData(work.getExecutor(),JacksonUtil.toJSon(statisticalRoleCount(list))); pushData(work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list,work,work.getExecutor()); subWork(list, work, work.getExecutor());
log.info("{}这里发送{}",work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list))); log.info("{}这里发送{}", work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
//有待修改 //有待修改
if (uIds.size()!=0) { if (uIds.size()!=0) {
for (String id : uIds) { for (String id : uIds) {
...@@ -111,7 +142,7 @@ public class TestServiceImpl implements TestService { ...@@ -111,7 +142,7 @@ public class TestServiceImpl implements TestService {
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);
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + id, 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + id, 0, -1);
assert list != null; assert list != null;
pushData(id, JacksonUtil.toJSon(statisticalRoleCount(list))); pushData(id, JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list, work, id); subWork(list, work, id);
...@@ -127,30 +158,59 @@ public class TestServiceImpl implements TestService { ...@@ -127,30 +158,59 @@ public class TestServiceImpl implements TestService {
String releaseName= iUserService.findUserById(work.getPublisher()).getUsername(); String releaseName= iUserService.findUserById(work.getPublisher()).getUsername();
String executorName= iUserService.findUserById(work.getExecutor()).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,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,0);
//发布人 if (releaseName.equals(executorName)){
if (work.getSuperiorId()==null){ if (work.getSuperiorId() == null){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
personalWork.setReadState(0); personalWork.setExecutorEqualRelease(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork); personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),personalWork);
List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+work.getPublisher(),0,-1); asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
assert list != null; List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list))); assert list != null;
log.info("{}这里发送{}",work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list))); pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}else {
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
}else { }else {
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),personalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),personalWork); //发布人
List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+work.getPublisher(),0,-1); if (work.getSuperiorId() == null) {
assert list != null; personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list))); personalWork.setReadState(0);
subWork(list,work,work.getPublisher()); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
log.info("{}这里发送{}",work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
} else {
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setReadState(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list, work, work.getPublisher());
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
} }
} }
...@@ -163,36 +223,54 @@ public class TestServiceImpl implements TestService { ...@@ -163,36 +223,54 @@ public class TestServiceImpl implements TestService {
} }
String releaseName= iUserService.findUserById(work.getPublisher()).getUsername(); String releaseName= iUserService.findUserById(work.getPublisher()).getUsername();
String executorName= iUserService.findUserById(work.getExecutor()).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,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,0);
//发布人 if (releaseName.equals(executorName)){
List<Object> objects = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1); List<Object> objects = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
for (Object object:objects){ for (Object object : objects) {
RedisPersonalWork redisPersonalWork=(RedisPersonalWork) object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (work.getId().equals(redisPersonalWork.getWorkId())){ if (work.getId().equals(redisPersonalWork.getWorkId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
redisPersonalWork.setStatus(work.getStatus()); redisPersonalWork.setStatus(work.getStatus());
redisPersonalWork.setTime(time); redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews); redisPersonalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); redisPersonalWork.setLatestNews(latestNews);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}
} }
} pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(objects)));
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(objects))); subWork(objects, work, work.getPublisher());
subWork(objects,work,work.getPublisher()); log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(objects)));
log.info("{}这里发送{}",work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(objects))); }else {
//发布人
List<Object> objects = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
for (Object object : objects) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (work.getId().equals(redisPersonalWork.getWorkId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
redisPersonalWork.setStatus(work.getStatus());
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}
}
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(objects)));
subWork(objects, work, work.getPublisher());
log.info("{}这里发送{}", work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(objects)));
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1); personalWork.setReadState(1);
personalWork.setIsNotCommission(1); personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),personalWork); redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),personalWork); asynchronousAddEs(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+work.getExecutor(),0,-1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
assert list != null; assert list != null;
pushData(work.getExecutor(),JacksonUtil.toJSon(statisticalRoleCount(list))); pushData(work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list,work,work.getExecutor()); subWork(list, work, work.getExecutor());
log.info("{}这里发送{}",work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list))); log.info("{}这里发送{}", work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
}
//有待修改 //有待修改
for (String id:uIds){ for (String id:uIds){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK); personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
...@@ -201,7 +279,7 @@ public class TestServiceImpl implements TestService { ...@@ -201,7 +279,7 @@ public class TestServiceImpl implements TestService {
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);
list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+id,0,-1); List<Object> list=redisTemplate.opsForList().range(Constants.REDIS_EVENT+id,0,-1);
assert list != null; assert list != null;
pushData(id,JacksonUtil.toJSon(statisticalRoleCount(list))); pushData(id,JacksonUtil.toJSon(statisticalRoleCount(list)));
subWork(list,work,id); subWork(list,work,id);
...@@ -216,76 +294,116 @@ public class TestServiceImpl implements TestService { ...@@ -216,76 +294,116 @@ public class TestServiceImpl implements TestService {
if (work.getSuperiorId()!=null) { if (work.getSuperiorId()!=null) {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
//发布者
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
for (Object object:list){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkId().equals(work.getId())){
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getPublisher(),1,redisPersonalWork);
redisPersonalWork.setStatus(status);
redisPersonalWork.setTime(time);
if (work.getPublisher().equals(executorId)){
redisPersonalWork.setReadState(0);
}else {
redisPersonalWork.setReadState(1);
}
switch(status){
case WorkStatus.ONGOING:
redisPersonalWork.setIsNotCommission(0);
break;
case WorkStatus.AUDIT:
redisPersonalWork.setIsNotCommission(1);
break;
case WorkStatus.REVIEW:
redisPersonalWork.setIsNotCommission(0);
break;
default:
redisPersonalWork.setIsNotCommission(0);
break;
}
redisPersonalWork.setLatestNews(latestNews); if (work.getExecutor().equals(work.getPublisher())){
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork); for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
redisPersonalWork.setStatus(status);
redisPersonalWork.setTime(time);
if (work.getPublisher().equals(executorId)) {
redisPersonalWork.setReadState(0);
} else {
redisPersonalWork.setReadState(1);
}
switch (status) {
case WorkStatus.ONGOING:
redisPersonalWork.setIsNotCommission(1);
break;
case WorkStatus.AUDIT:
redisPersonalWork.setIsNotCommission(1);
break;
case WorkStatus.REVIEW:
redisPersonalWork.setIsNotCommission(1);
break;
default:
redisPersonalWork.setIsNotCommission(0);
break;
}
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
}
} }
} pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list)));
//执行者
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1); }else {
for (Object object:list){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; //发布者
if (redisPersonalWork.getWorkId().equals(work.getId())){ List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getExecutor(),1,redisPersonalWork); for (Object object : list) {
redisPersonalWork.setStatus(status); RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (work.getPublisher().equals(executorId)){ if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisPersonalWork.setReadState(0); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
}else { redisPersonalWork.setStatus(status);
redisPersonalWork.setReadState(1); redisPersonalWork.setTime(time);
if (work.getPublisher().equals(executorId)) {
redisPersonalWork.setReadState(0);
} else {
redisPersonalWork.setReadState(1);
}
switch (status) {
case WorkStatus.ONGOING:
redisPersonalWork.setIsNotCommission(0);
break;
case WorkStatus.AUDIT:
redisPersonalWork.setIsNotCommission(1);
break;
case WorkStatus.REVIEW:
redisPersonalWork.setIsNotCommission(0);
break;
default:
redisPersonalWork.setIsNotCommission(0);
break;
}
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
} }
redisPersonalWork.setTime(time); }
switch(status){ pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
case WorkStatus.ONGOING: //执行者
redisPersonalWork.setIsNotCommission(1); list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
break; for (Object object : list) {
case WorkStatus.AUDIT: RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
redisPersonalWork.setIsNotCommission(0); if (redisPersonalWork.getWorkId().equals(work.getId())) {
break; redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getExecutor(), 1, redisPersonalWork);
case WorkStatus.REVIEW: redisPersonalWork.setStatus(status);
redisPersonalWork.setIsNotCommission(1); if (work.getPublisher().equals(executorId)) {
break; redisPersonalWork.setReadState(0);
default: } else {
redisPersonalWork.setIsNotCommission(0); redisPersonalWork.setReadState(1);
break; }
redisPersonalWork.setTime(time);
switch (status) {
case WorkStatus.ONGOING:
redisPersonalWork.setIsNotCommission(1);
break;
case WorkStatus.AUDIT:
redisPersonalWork.setIsNotCommission(0);
break;
case WorkStatus.REVIEW:
redisPersonalWork.setIsNotCommission(1);
break;
default:
redisPersonalWork.setIsNotCommission(0);
break;
}
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
} }
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
} }
pushData(work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
} }
pushData(work.getExecutor(),JacksonUtil.toJSon(statisticalRoleCount(list)));
if (uIds.size()!=0) { if (uIds.size()!=0) {
for (String uId:uIds) { for (String uId:uIds) {
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1);
for (Object object : list) { for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) { if (redisPersonalWork.getWorkId().equals(work.getId())) {
...@@ -312,37 +430,59 @@ public class TestServiceImpl implements TestService { ...@@ -312,37 +430,59 @@ public class TestServiceImpl implements TestService {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
Long time=new Date().getTime(); Long time=new Date().getTime();
//发布者 if (work.getExecutor().equals(work.getPublisher())){
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) {
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
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.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);
}
} }
} pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list)));
//执行者 }else {
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
for (Object object:list){ //发布者
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
if (redisPersonalWork.getWorkId().equals(work.getId())){ for (Object object : list) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getExecutor(),1,redisPersonalWork); RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
redisPersonalWork.setReadState(1); if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisPersonalWork.setTime(time); redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
redisPersonalWork.setLatestNews(latestNews); if (executorId.equals(work.getPublisher())) {
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); redisPersonalWork.setReadState(0);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork); }else {
redisPersonalWork.setReadState(1);
}
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
}
} }
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
//执行者
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getExecutor(), 1, redisPersonalWork);
redisPersonalWork.setReadState(1);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
}
}
pushData(work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
} }
pushData(work.getExecutor(),JacksonUtil.toJSon(statisticalRoleCount(list)));
if (uIds.size()!=0) { if (uIds.size()!=0) {
for (String uId:uIds) { for (String uId:uIds) {
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1);
for (Object object : list) { for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) { if (redisPersonalWork.getWorkId().equals(work.getId())) {
...@@ -367,49 +507,67 @@ public class TestServiceImpl implements TestService { ...@@ -367,49 +507,67 @@ public class TestServiceImpl implements TestService {
uIds = tests(work.getSuperiorId(), uIds); uIds = tests(work.getSuperiorId(), uIds);
} }
Long time=new Date().getTime(); Long time=new Date().getTime();
//发布者 if (work.getExecutor().equals(work.getPublisher())){
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) {
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
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);
if (work.getPublisher().equals(executorId)){
redisPersonalWork.setReadState(0);
redisPersonalWork.setIsNotCommission(0);
}else {
redisPersonalWork.setReadState(1);
redisPersonalWork.setIsNotCommission(1); redisPersonalWork.setIsNotCommission(1);
redisPersonalWork.setReadState(0);
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
} }
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getPublisher(),redisPersonalWork);
} }
} pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
pushData(work.getPublisher(),JacksonUtil.toJSon(statisticalRoleCount(list)));
//执行者 }else {
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1); //发布者
for (Object object:list){ List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object; for (Object object : list) {
if (redisPersonalWork.getWorkId().equals(work.getId())){ RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
redisTemplate.opsForList().remove(Constants.REDIS_EVENT+work.getExecutor(),1,redisPersonalWork); if (redisPersonalWork.getWorkId().equals(work.getId())) {
if (work.getExecutor().equals(executorId)){ redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getPublisher(), 1, redisPersonalWork);
redisPersonalWork.setReadState(0); if (work.getPublisher().equals(executorId)) {
redisPersonalWork.setIsNotCommission(0); redisPersonalWork.setReadState(0);
}else { redisPersonalWork.setIsNotCommission(0);
redisPersonalWork.setReadState(1); } else {
redisPersonalWork.setIsNotCommission(0); redisPersonalWork.setReadState(1);
redisPersonalWork.setIsNotCommission(1);
}
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getPublisher(), redisPersonalWork);
} }
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT+work.getExecutor(),redisPersonalWork);
} }
pushData(work.getPublisher(), JacksonUtil.toJSon(statisticalRoleCount(list)));
//执行者
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getExecutor(), 0, -1);
for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) {
redisTemplate.opsForList().remove(Constants.REDIS_EVENT + work.getExecutor(), 1, redisPersonalWork);
if (work.getExecutor().equals(executorId)) {
redisPersonalWork.setReadState(0);
redisPersonalWork.setIsNotCommission(0);
} else {
redisPersonalWork.setReadState(1);
redisPersonalWork.setIsNotCommission(0);
}
redisPersonalWork.setTime(time);
redisPersonalWork.setLatestNews(latestNews);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
asynchronousAddEs(Constants.REDIS_EVENT + work.getExecutor(), redisPersonalWork);
}
}
pushData(work.getExecutor(), JacksonUtil.toJSon(statisticalRoleCount(list)));
} }
pushData(work.getExecutor(),JacksonUtil.toJSon(statisticalRoleCount(list)));
if (uIds.size()!=0) { if (uIds.size()!=0) {
for (String uId:uIds) { for (String uId:uIds) {
list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1); List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + uId, 0, -1);
for (Object object : list) { for (Object object : list) {
RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object; RedisPersonalWork redisPersonalWork = (RedisPersonalWork) object;
if (redisPersonalWork.getWorkId().equals(work.getId())) { if (redisPersonalWork.getWorkId().equals(work.getId())) {
...@@ -511,6 +669,12 @@ public class TestServiceImpl implements TestService { ...@@ -511,6 +669,12 @@ public class TestServiceImpl implements TestService {
unread1=1; unread1=1;
} }
} }
if (redisPersonalWork.getExecutorEqualRelease()==1){
role2++;
if (redisPersonalWork.getReadState()==1){
unread2=1;
}
}
break; break;
case WorkAttribution1.ME_RELEASE_WORK : case WorkAttribution1.ME_RELEASE_WORK :
role4++; role4++;
...@@ -518,6 +682,26 @@ public class TestServiceImpl implements TestService { ...@@ -518,6 +682,26 @@ public class TestServiceImpl implements TestService {
unread4=1; unread4=1;
} }
if (redisPersonalWork.getIsNotCommission()==1){
role1++;
if (redisPersonalWork.getReadState()==1){
unread1=1;
}
}
if (redisPersonalWork.getExecutorEqualRelease()==1){
role2++;
if (redisPersonalWork.getReadState()==1){
unread2=1;
}
}
break;
case WorkAttribution1.ME_RECEIVE_WORK :
role2++;
if (redisPersonalWork.getReadState()==1){
unread2=1;
}
if (redisPersonalWork.getIsNotCommission()==1){ if (redisPersonalWork.getIsNotCommission()==1){
role1++; role1++;
if (redisPersonalWork.getReadState()==1){ if (redisPersonalWork.getReadState()==1){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论