提交 c9bd89a3 authored 作者: gongwenjie's avatar gongwenjie

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

...@@ -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) {
...@@ -39,10 +40,13 @@ public class ConversionServiceImpl implements ConversionService { ...@@ -39,10 +40,13 @@ public class ConversionServiceImpl implements ConversionService {
users.add(iUserService.findUserById(id)); users.add(iUserService.findUserById(id));
} }
} }
if (users.size()==0){
users=null;
}
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,19 +3,28 @@ package com.zjty.tynotes.job.basic.service.impl; ...@@ -3,19 +3,28 @@ 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.basic.utils.WorkingTime;
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.entity.vo.HolidayRequest;
import com.zjty.tynotes.pas.service.ConfigService;
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;
import java.text.ParseException;
import java.util.ArrayList; 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,10 +44,17 @@ public class WorkServiceImpl implements WorkService { ...@@ -35,10 +44,17 @@ 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;
} }
@Autowired
ConfigService configService;
@Override @Override
public String add(Work work) { public String add(Work work) {
...@@ -111,9 +127,64 @@ public class WorkServiceImpl implements WorkService { ...@@ -111,9 +127,64 @@ public class WorkServiceImpl implements WorkService {
Work ob = workRepository.findById(taskId).get(); Work ob = workRepository.findById(taskId).get();
ob.setStatus(status); ob.setStatus(status);
if (status.equals(WorkStatus.ONGOING)){
Float expect= score(ob.getStateTime(),ob.getCompleteTime());
Float practical=score(ob.getStateTime(),ob.getEndTime());
if (expect<practical){
float time= practical-expect;
beyond(1,1.0f,time);
//添加
}else if (expect.equals(practical)){
//添加
}else {
float time= expect-practical;
advance(1,1.0f,time);
}
}
workRepository.save(ob); workRepository.save(ob);
} }
private float beyond(float count,float coefficient,Float time){
if (coefficient<0.5f){
return 0.5f;
}
float si=time-4;
if (si<4){
return coefficient-0.025f*count;
}else {
coefficient=coefficient-0.025f*count;
}
count++;
return beyond(count,coefficient,si);
}
private float advance(float count,float coefficient,Float time){
if (coefficient>1.2f){
return 1.2f;
}
float remainingTime=time-6;
if (remainingTime<6){
return coefficient+0.025f*count;
}else {
coefficient=coefficient +0.025f*count;
}
count++;
return beyond(count,coefficient,remainingTime);
}
private Float score(Date startTime,Date entTime){
List<Date> dates= configService.findHolidays(new HolidayRequest(startTime,entTime));
try {
return WorkingTime.findOperHours(dates,startTime,entTime);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
@Override @Override
public void deleteWork(String taskId, int personalWorkload, int workloadCount) { public void deleteWork(String taskId, int personalWorkload, int workloadCount) {
...@@ -179,6 +250,16 @@ public class WorkServiceImpl implements WorkService { ...@@ -179,6 +250,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;
......
...@@ -50,7 +50,7 @@ public class Read1Controller { ...@@ -50,7 +50,7 @@ public class Read1Controller {
if (page==0){ if (page==0){
pageSize=1; pageSize=1;
}else { }else {
pageSize=1; pageSize=page;
} }
return ResponseEntity.ok(testSeeService.selectMeCommissionWork(id,pageSize,size)); return ResponseEntity.ok(testSeeService.selectMeCommissionWork(id,pageSize,size));
...@@ -77,7 +77,7 @@ public class Read1Controller { ...@@ -77,7 +77,7 @@ public class Read1Controller {
if (page==0){ if (page==0){
pageSize=1; pageSize=1;
}else { }else {
pageSize=1; pageSize=page;
} }
return ResponseEntity.ok(testSeeService.selectMeRelatedWork(id,pageSize,size)); return ResponseEntity.ok(testSeeService.selectMeRelatedWork(id,pageSize,size));
...@@ -103,7 +103,7 @@ public class Read1Controller { ...@@ -103,7 +103,7 @@ public class Read1Controller {
if (page==0){ if (page==0){
pageSize=1; pageSize=1;
}else { }else {
pageSize=1; pageSize=page;
} }
return ResponseEntity.ok(testSeeService.selectMeResolveWork(id,pageSize,size)); return ResponseEntity.ok(testSeeService.selectMeResolveWork(id,pageSize,size));
} }
...@@ -129,7 +129,7 @@ public class Read1Controller { ...@@ -129,7 +129,7 @@ public class Read1Controller {
if (page==0){ if (page==0){
pageSize=1; pageSize=1;
}else { }else {
pageSize=1; pageSize=page;
} }
return ResponseEntity.ok(testSeeService.selectMeReleaseWork(id,pageSize,size)); return ResponseEntity.ok(testSeeService.selectMeReleaseWork(id,pageSize,size));
} }
...@@ -157,7 +157,7 @@ public class Read1Controller { ...@@ -157,7 +157,7 @@ public class Read1Controller {
if (page==0){ if (page==0){
pageSize=0; pageSize=0;
}else { }else {
pageSize=page-1; pageSize=page;
} }
return ResponseEntity.ok(testSeeService.titleSelect(id,pageSize,size,title)); return ResponseEntity.ok(testSeeService.titleSelect(id,pageSize,size,title));
} }
......
...@@ -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);
...@@ -94,8 +96,8 @@ public class TestSeeServiceImpl implements TestSeeService { ...@@ -94,8 +96,8 @@ public class TestSeeServiceImpl implements TestSeeService {
if (count%size!=0){ if (count%size!=0){
countPage=countPage+1; countPage=countPage+1;
} }
if (page>countPage){ if (page>=countPage){
return new RedisListSum(count,list.subList((page-1)*size,countPage*size)); return new RedisListSum(count,list.subList((page-1)*size,count));
} else { } else {
return new RedisListSum(count,list.subList((page-1)*size,page*size)); return new RedisListSum(count,list.subList((page-1)*size,page*size));
......
...@@ -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){
......
...@@ -27,22 +27,22 @@ public class UnionApplication { ...@@ -27,22 +27,22 @@ public class UnionApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(UnionApplication.class, args); SpringApplication.run(UnionApplication.class, args);
} }
//// 开始支持http // 开始支持http
// @Bean @Bean
// public ServletWebServerFactory servletContainer() { public ServletWebServerFactory servletContainer() {
// TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
// tomcat.addAdditionalTomcatConnectors(createHTTPConnector()); tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
// return tomcat; return tomcat;
// } }
//
//private Connector createHTTPConnector() { private Connector createHTTPConnector() {
// Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
// //同时启用http(8080)、https(8443)两个端口 //同时启用http(8080)、https(8443)两个端口
// connector.setScheme("http"); connector.setScheme("http");
// connector.setSecure(false); connector.setSecure(false);
// connector.setPort(8084); connector.setPort(8084);
// connector.setRedirectPort(8290); connector.setRedirectPort(8289);
// return connector; return connector;
//} }
} }
...@@ -3,14 +3,14 @@ spring.application.name=workbook ...@@ -3,14 +3,14 @@ spring.application.name=workbook
# https端口号. # https端口号.
server.port=8289 server.port=8289
## 证书的路径. # 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码. # 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型 # 秘钥库类型
#server.ssl.keyStoreType=PKCS12 server.ssl.keyStoreType=PKCS12
## 证书别名 # 证书别名
#server.ssl.keyAlias= alias server.ssl.keyAlias= alias
#mongodb configuration #mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes spring.data.mongodb.uri=mongodb://localhost:27017/notes
......
...@@ -3,14 +3,14 @@ spring.application.name=workbook ...@@ -3,14 +3,14 @@ spring.application.name=workbook
# https端口号. # https端口号.
server.port=8289 server.port=8289
## 证书的路径. # 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码. # 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型 # 秘钥库类型
#server.ssl.keyStoreType=PKCS12 server.ssl.keyStoreType=PKCS12
## 证书别名 # 证书别名
#server.ssl.keyAlias= alias server.ssl.keyAlias= alias
#mongodb configuration #mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes spring.data.mongodb.uri=mongodb://localhost:27017/notes
......
...@@ -4,14 +4,14 @@ spring.application.name=workbook ...@@ -4,14 +4,14 @@ spring.application.name=workbook
# https端口号. # https端口号.
server.port=8289 server.port=8289
## 证书的路径. # 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码. # 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型 # 秘钥库类型
#server.ssl.keyStoreType=PKCS12 server.ssl.keyStoreType=PKCS12
## 证书别名 # 证书别名
#server.ssl.keyAlias= alias server.ssl.keyAlias= alias
#mongodb configuration #mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/test spring.data.mongodb.uri=mongodb://localhost:27017/test
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论