Browse Source

添加提醒

master
zy_Java 5 years ago
parent
commit
d5728a7249
  1. 2
      game/src/main/java/com/ccsens/game/mq/GameScoreListener.java
  2. 2
      game/src/main/java/com/ccsens/game/service/MessageService.java
  3. 2
      mt/src/main/java/com/ccsens/mt/service/MessageServicer.java
  4. 36
      tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
  5. 117
      tall/src/main/java/com/ccsens/tall/bean/po/ProRemind.java
  6. 741
      tall/src/main/java/com/ccsens/tall/bean/po/ProRemindExample.java
  7. 11
      tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java
  8. 60
      tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java
  9. 11
      tall/src/main/java/com/ccsens/tall/persist/dao/ProRemindDao.java
  10. 2
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java
  11. 30
      tall/src/main/java/com/ccsens/tall/persist/mapper/ProRemindMapper.java
  12. 3
      tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskDetailMapper.java
  13. 2
      tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java
  14. 7
      tall/src/main/java/com/ccsens/tall/service/ITaskSubTimeService.java
  15. 4
      tall/src/main/java/com/ccsens/tall/service/MessageService.java
  16. 14
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  17. 5
      tall/src/main/java/com/ccsens/tall/service/RingService.java
  18. 10
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  19. 102
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  20. 19
      tall/src/main/java/com/ccsens/tall/util/TallConstant.java
  21. 8
      tall/src/main/java/com/ccsens/tall/web/ProjectController.java
  22. 20
      tall/src/main/java/com/ccsens/tall/web/TaskController.java
  23. 4
      tall/src/main/resources/application.yml
  24. 9
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml
  25. 276
      tall/src/main/resources/mapper_raw/ProRemindMapper.xml
  26. 27
      tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml

2
game/src/main/java/com/ccsens/game/mq/GameScoreListener.java

@ -65,7 +65,7 @@ public class GameScoreListener {
tos.add(JSONObject.toJSONString(new InMessage.To(userId)));
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(tos);
inMessage.setData(JSONObject.toJSONString(gameMessageCountOut.getData()));
inMessage.setData(JSONObject.toJSONString(gameMessageCountOut));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
});

2
game/src/main/java/com/ccsens/game/service/MessageService.java

@ -43,7 +43,7 @@ public class MessageService implements IMessageService {
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(message.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(message.getData()));
inMessage.setData(JSONObject.toJSONString(message));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
}

2
mt/src/main/java/com/ccsens/mt/service/MessageServicer.java

@ -23,7 +23,7 @@ public class MessageServicer implements IMessageService{
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(message.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(message.getData()));
inMessage.setData(JSONObject.toJSONString(message));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
}

36
tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java

@ -1,5 +1,8 @@
package com.ccsens.tall.bean.dto;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.util.exception.BaseException;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -212,4 +215,37 @@ public class TaskDto {
private Integer showFinish;
}
@Data
@ApiModel("设置任务提醒")
public static class TaskRemind{
@NotNull
@ApiModelProperty("任务日期id(subTimeId)")
private Long taskId;
@ApiModelProperty("提醒时机 0不提醒 1开始前,2开始时,3开始后,4结束前,5结束时,6结束后,7自定义时间")
private Byte remindTiming;
@ApiModelProperty("时长 提醒时机是“开始时”或“结束时”可以为空")
private Long duration = 0L;
@ApiModelProperty("时间单位 0分钟 1小时 2天")
private Byte unit;
public Long getDuration(){
if(ObjectUtil.isNull(unit)) {
throw new BaseException("时间单位不能为空");
}
if(remindTiming == 7){
return duration;
}
switch (unit) {
case 0:
return duration * 60 * 1000L;
case 1:
return duration * 60 * 60 * 1000L;
case 2:
return duration * 24 * 60 * 60 * 1000L;
default:
return duration;
}
}
}
}

117
tall/src/main/java/com/ccsens/tall/bean/po/ProRemind.java

@ -0,0 +1,117 @@
package com.ccsens.tall.bean.po;
import java.io.Serializable;
import java.util.Date;
public class ProRemind implements Serializable {
private Long id;
private Long subTaskId;
private Byte remindTiming;
private Long remindAbsoluteTime;
private Byte finishStatus;
private Integer remindTimes;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getSubTaskId() {
return subTaskId;
}
public void setSubTaskId(Long subTaskId) {
this.subTaskId = subTaskId;
}
public Byte getRemindTiming() {
return remindTiming;
}
public void setRemindTiming(Byte remindTiming) {
this.remindTiming = remindTiming;
}
public Long getRemindAbsoluteTime() {
return remindAbsoluteTime;
}
public void setRemindAbsoluteTime(Long remindAbsoluteTime) {
this.remindAbsoluteTime = remindAbsoluteTime;
}
public Byte getFinishStatus() {
return finishStatus;
}
public void setFinishStatus(Byte finishStatus) {
this.finishStatus = finishStatus;
}
public Integer getRemindTimes() {
return remindTimes;
}
public void setRemindTimes(Integer remindTimes) {
this.remindTimes = remindTimes;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", subTaskId=").append(subTaskId);
sb.append(", remindTiming=").append(remindTiming);
sb.append(", remindAbsoluteTime=").append(remindAbsoluteTime);
sb.append(", finishStatus=").append(finishStatus);
sb.append(", remindTimes=").append(remindTimes);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

741
tall/src/main/java/com/ccsens/tall/bean/po/ProRemindExample.java

@ -0,0 +1,741 @@
package com.ccsens.tall.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ProRemindExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ProRemindExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andSubTaskIdIsNull() {
addCriterion("sub_task_id is null");
return (Criteria) this;
}
public Criteria andSubTaskIdIsNotNull() {
addCriterion("sub_task_id is not null");
return (Criteria) this;
}
public Criteria andSubTaskIdEqualTo(Long value) {
addCriterion("sub_task_id =", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdNotEqualTo(Long value) {
addCriterion("sub_task_id <>", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdGreaterThan(Long value) {
addCriterion("sub_task_id >", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdGreaterThanOrEqualTo(Long value) {
addCriterion("sub_task_id >=", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdLessThan(Long value) {
addCriterion("sub_task_id <", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdLessThanOrEqualTo(Long value) {
addCriterion("sub_task_id <=", value, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdIn(List<Long> values) {
addCriterion("sub_task_id in", values, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdNotIn(List<Long> values) {
addCriterion("sub_task_id not in", values, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdBetween(Long value1, Long value2) {
addCriterion("sub_task_id between", value1, value2, "subTaskId");
return (Criteria) this;
}
public Criteria andSubTaskIdNotBetween(Long value1, Long value2) {
addCriterion("sub_task_id not between", value1, value2, "subTaskId");
return (Criteria) this;
}
public Criteria andRemindTimingIsNull() {
addCriterion("remind_timing is null");
return (Criteria) this;
}
public Criteria andRemindTimingIsNotNull() {
addCriterion("remind_timing is not null");
return (Criteria) this;
}
public Criteria andRemindTimingEqualTo(Byte value) {
addCriterion("remind_timing =", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingNotEqualTo(Byte value) {
addCriterion("remind_timing <>", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingGreaterThan(Byte value) {
addCriterion("remind_timing >", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingGreaterThanOrEqualTo(Byte value) {
addCriterion("remind_timing >=", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingLessThan(Byte value) {
addCriterion("remind_timing <", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingLessThanOrEqualTo(Byte value) {
addCriterion("remind_timing <=", value, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingIn(List<Byte> values) {
addCriterion("remind_timing in", values, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingNotIn(List<Byte> values) {
addCriterion("remind_timing not in", values, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingBetween(Byte value1, Byte value2) {
addCriterion("remind_timing between", value1, value2, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindTimingNotBetween(Byte value1, Byte value2) {
addCriterion("remind_timing not between", value1, value2, "remindTiming");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeIsNull() {
addCriterion("remind_absolute_time is null");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeIsNotNull() {
addCriterion("remind_absolute_time is not null");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeEqualTo(Long value) {
addCriterion("remind_absolute_time =", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeNotEqualTo(Long value) {
addCriterion("remind_absolute_time <>", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeGreaterThan(Long value) {
addCriterion("remind_absolute_time >", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeGreaterThanOrEqualTo(Long value) {
addCriterion("remind_absolute_time >=", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeLessThan(Long value) {
addCriterion("remind_absolute_time <", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeLessThanOrEqualTo(Long value) {
addCriterion("remind_absolute_time <=", value, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeIn(List<Long> values) {
addCriterion("remind_absolute_time in", values, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeNotIn(List<Long> values) {
addCriterion("remind_absolute_time not in", values, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeBetween(Long value1, Long value2) {
addCriterion("remind_absolute_time between", value1, value2, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andRemindAbsoluteTimeNotBetween(Long value1, Long value2) {
addCriterion("remind_absolute_time not between", value1, value2, "remindAbsoluteTime");
return (Criteria) this;
}
public Criteria andFinishStatusIsNull() {
addCriterion("finish_status is null");
return (Criteria) this;
}
public Criteria andFinishStatusIsNotNull() {
addCriterion("finish_status is not null");
return (Criteria) this;
}
public Criteria andFinishStatusEqualTo(Byte value) {
addCriterion("finish_status =", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusNotEqualTo(Byte value) {
addCriterion("finish_status <>", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusGreaterThan(Byte value) {
addCriterion("finish_status >", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("finish_status >=", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusLessThan(Byte value) {
addCriterion("finish_status <", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusLessThanOrEqualTo(Byte value) {
addCriterion("finish_status <=", value, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusIn(List<Byte> values) {
addCriterion("finish_status in", values, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusNotIn(List<Byte> values) {
addCriterion("finish_status not in", values, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusBetween(Byte value1, Byte value2) {
addCriterion("finish_status between", value1, value2, "finishStatus");
return (Criteria) this;
}
public Criteria andFinishStatusNotBetween(Byte value1, Byte value2) {
addCriterion("finish_status not between", value1, value2, "finishStatus");
return (Criteria) this;
}
public Criteria andRemindTimesIsNull() {
addCriterion("remind_times is null");
return (Criteria) this;
}
public Criteria andRemindTimesIsNotNull() {
addCriterion("remind_times is not null");
return (Criteria) this;
}
public Criteria andRemindTimesEqualTo(Integer value) {
addCriterion("remind_times =", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesNotEqualTo(Integer value) {
addCriterion("remind_times <>", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesGreaterThan(Integer value) {
addCriterion("remind_times >", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesGreaterThanOrEqualTo(Integer value) {
addCriterion("remind_times >=", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesLessThan(Integer value) {
addCriterion("remind_times <", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesLessThanOrEqualTo(Integer value) {
addCriterion("remind_times <=", value, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesIn(List<Integer> values) {
addCriterion("remind_times in", values, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesNotIn(List<Integer> values) {
addCriterion("remind_times not in", values, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesBetween(Integer value1, Integer value2) {
addCriterion("remind_times between", value1, value2, "remindTimes");
return (Criteria) this;
}
public Criteria andRemindTimesNotBetween(Integer value1, Integer value2) {
addCriterion("remind_times not between", value1, value2, "remindTimes");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

11
tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java

@ -56,6 +56,8 @@ public class ProTaskDetail implements Serializable {
private Byte recStatus;
private Byte priority;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -266,6 +268,14 @@ public class ProTaskDetail implements Serializable {
this.recStatus = recStatus;
}
public Byte getPriority() {
return priority;
}
public void setPriority(Byte priority) {
this.priority = priority;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -298,6 +308,7 @@ public class ProTaskDetail implements Serializable {
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", priority=").append(priority);
sb.append("]");
return sb.toString();
}

60
tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java

@ -1714,6 +1714,66 @@ public class ProTaskDetailExample {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andPriorityIsNull() {
addCriterion("priority is null");
return (Criteria) this;
}
public Criteria andPriorityIsNotNull() {
addCriterion("priority is not null");
return (Criteria) this;
}
public Criteria andPriorityEqualTo(Byte value) {
addCriterion("priority =", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityNotEqualTo(Byte value) {
addCriterion("priority <>", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityGreaterThan(Byte value) {
addCriterion("priority >", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityGreaterThanOrEqualTo(Byte value) {
addCriterion("priority >=", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityLessThan(Byte value) {
addCriterion("priority <", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityLessThanOrEqualTo(Byte value) {
addCriterion("priority <=", value, "priority");
return (Criteria) this;
}
public Criteria andPriorityIn(List<Byte> values) {
addCriterion("priority in", values, "priority");
return (Criteria) this;
}
public Criteria andPriorityNotIn(List<Byte> values) {
addCriterion("priority not in", values, "priority");
return (Criteria) this;
}
public Criteria andPriorityBetween(Byte value1, Byte value2) {
addCriterion("priority between", value1, value2, "priority");
return (Criteria) this;
}
public Criteria andPriorityNotBetween(Byte value1, Byte value2) {
addCriterion("priority not between", value1, value2, "priority");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

11
tall/src/main/java/com/ccsens/tall/persist/dao/ProRemindDao.java

@ -0,0 +1,11 @@
package com.ccsens.tall.persist.dao;
import com.ccsens.tall.persist.mapper.ProRemindMapper;
import org.springframework.stereotype.Repository;
/**
* @author
*/
@Repository
public interface ProRemindDao extends ProRemindMapper {
}

2
tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java

@ -17,7 +17,7 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
@Param("startTime") Long startTime, @Param("endTime") Long endTime,@Param("roleId") Long roleId);
List<TaskVo.NormalTask> selectTaskByRoleAndAllMembers(@Param("projectId") Long projectId, @Param("roleId") Long roleId,@Param("allMemberId") Long allMemberId,
@Param("startTime") Long startTime, @Param("endTime") Long endTime);
@Param("startTime") Long startTime, @Param("endTime") Long endTime,@Param("priority") Integer priority);
TaskVo.NormalTask selectTaskByTaskId(@Param("subTimeId") Long subTimeId, @Param("taskId") Long taskId,@Param("roleId") Long roleId);

30
tall/src/main/java/com/ccsens/tall/persist/mapper/ProRemindMapper.java

@ -0,0 +1,30 @@
package com.ccsens.tall.persist.mapper;
import com.ccsens.tall.bean.po.ProRemind;
import com.ccsens.tall.bean.po.ProRemindExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ProRemindMapper {
long countByExample(ProRemindExample example);
int deleteByExample(ProRemindExample example);
int deleteByPrimaryKey(Long id);
int insert(ProRemind record);
int insertSelective(ProRemind record);
List<ProRemind> selectByExample(ProRemindExample example);
ProRemind selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") ProRemind record, @Param("example") ProRemindExample example);
int updateByExample(@Param("record") ProRemind record, @Param("example") ProRemindExample example);
int updateByPrimaryKeySelective(ProRemind record);
int updateByPrimaryKey(ProRemind record);
}

3
tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskDetailMapper.java

@ -2,9 +2,8 @@ package com.ccsens.tall.persist.mapper;
import com.ccsens.tall.bean.po.ProTaskDetail;
import com.ccsens.tall.bean.po.ProTaskDetailExample;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ProTaskDetailMapper {
long countByExample(ProTaskDetailExample example);

2
tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java

@ -12,7 +12,7 @@ public interface IProTaskDetailService {
void saveTaskDetail(ProTaskDetail taskDetail);
Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process,
Integer page, Integer pageSize) throws Exception;
Integer page, Integer pageSize,Integer priority) throws Exception;
List<TaskVo.FirstTask> getTaskInfoByMvp(Long projectId);

7
tall/src/main/java/com/ccsens/tall/service/ITaskSubTimeService.java

@ -23,4 +23,11 @@ public interface ITaskSubTimeService {
Integer page, Integer pageSize, Integer orderType, Integer order) throws Exception;
void changeKanbanTake(Long currentUserId, TaskDto.ChangeKanbanTask changeKanbanTask) throws Exception;
/**
* 给任务添加提醒
* @param userId 当前用户的id
* @param taskRemind 任务id 提醒的时机和时间
*/
void saveRemind(Long userId, TaskDto.TaskRemind taskRemind) throws Exception;
}

4
tall/src/main/java/com/ccsens/tall/service/MessageService.java

@ -69,7 +69,7 @@ public class MessageService implements IMessageService{
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(message.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(message.getData()));
inMessage.setData(JSONObject.toJSONString(message));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
}
}
@ -106,7 +106,7 @@ public class MessageService implements IMessageService{
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(syncMessage.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(syncMessage.getData()));
inMessage.setData(JSONObject.toJSONString(syncMessage));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);

14
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -80,7 +80,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
@Override
public Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process,
Integer page, Integer pageSize) throws Exception {
Integer page, Integer pageSize,Integer priority) throws Exception {
SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId);
if (ObjectUtil.isNull(sysProject)) {
throw new BaseException(CodeEnum.NOT_PROJECT);
@ -104,7 +104,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) {
obj = getTaskInfoByProjectIdAndPM(currentUserId, projectId, roleId, startTime, endTime, process, page, pageSize);
} else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) {
obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, roleId, startTime, endTime, process, page, pageSize);
obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, roleId, startTime, endTime, process, page, pageSize,priority);
}
} else {
throw new BaseException(CodeEnum.NOT_ROLE);
@ -235,7 +235,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
* 查看任务 项目成员
*/
private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime,
Long endTime, Integer process, Integer page, Integer pageSize) throws Exception {
Long endTime, Integer process, Integer page, Integer pageSize,Integer priority) throws Exception {
TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo();
List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>();
@ -249,7 +249,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId,
allMemberId, startTime, endTime);
allMemberId, startTime, endTime,priority);
if (CollectionUtil.isNotEmpty(secondTaskVoList)) {
for (TaskVo.NormalTask normalTask : secondTaskVoList) {
@ -288,7 +288,11 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
}
if (CollectionUtil.isNotEmpty(task.getCommonTask())) {
if (priority == 0) {
normalTaskList = sortTaskTime(task.getCommonTask());
}else {
normalTaskList = task.getCommonTask();
}
}
}
@ -766,7 +770,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
for (ProRole role : roleList) {
SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId());
List<TaskVo.NormalTask> taskList =
taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), null,startTime, endTime);
taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), null,startTime, endTime,0);
if (CollectionUtil.isNotEmpty(taskList)) {
for (TaskVo.NormalTask normalTask : taskList) {
//任务的完成状态

5
tall/src/main/java/com/ccsens/tall/service/RingService.java

@ -106,7 +106,8 @@ public class RingService implements IRingService {
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(userIdSet);
inMessage.setData(JSONObject.toJSONString(ringMessageWithSendDto.getData()));
inMessage.setData(JSONObject.toJSONString(ringMessageWithSendDto));
log.info("发送的ring消息:{}",JSONObject.toJSONString(inMessage));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, JSONObject.toJSONString(inMessage));
}
@ -305,7 +306,7 @@ public class RingService implements IRingService {
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(userIdSet);
inMessage.setData(JSONObject.toJSONString(ringMessageWithReadDto.getData()));
inMessage.setData(JSONObject.toJSONString(ringMessageWithReadDto));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, JSONObject.toJSONString(inMessage));
}
}

10
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -275,11 +275,13 @@ public class TaskDeliverService implements ITaskDeliverService {
data.setUploader(currentUserId);
data.setUploadTime(now);
data.setFile(uploadDeliver.getFileInfo());
DeliverMessageWithUploadDto uploadMessage = new DeliverMessageWithUploadDto();
uploadMessage.setData(data);
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(userIds);
inMessage.setData(JacksonUtil.beanToJson(data));
inMessage.setData(JacksonUtil.beanToJson(uploadMessage));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME,
JacksonUtil.beanToJson(inMessage) );
// //用智能助手发送消息
@ -598,10 +600,10 @@ public class TaskDeliverService implements ITaskDeliverService {
messageUserList.add(messageUser);
}
}
checkerDto.setReceivers(messageUserList);
// checkerDto.setReceivers(messageUserList); 旧消息系统的接收者列表
log.info("检查交付物:{}",JacksonUtil.beanToJson(checkerDto));
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
String s = JacksonUtil.beanToJson(checkerDtoData);
String s = JacksonUtil.beanToJson(checkerDto);
InMessage inMessage = InMessage.newToUserMessage(currentUserId.toString(),userIdSet,null,messageRule,s);
messageService.sendDeliverMessageWithChecker(inMessage);
@ -800,7 +802,7 @@ public class TaskDeliverService implements ITaskDeliverService {
InMessage inMessage = new InMessage();
inMessage.setToDomain(MessageConstant.DomainType.User);
inMessage.setTos(userIdSet);
inMessage.setData(JacksonUtil.beanToJson(deleteMessageData));
inMessage.setData(JacksonUtil.beanToJson(deleteMessage));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME,
JacksonUtil.beanToJson(inMessage));

102
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -12,6 +12,7 @@ import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.WebConstant;
import com.ccsens.util.cron.CronConstant;
@ -20,47 +21,52 @@ import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
* @author
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class TaskSubTimeService implements ITaskSubTimeService {
@Autowired
@Resource
private TaskSubTimeDao taskSubTimeDao;
@Autowired
@Resource
private SysProjectDao sysProjectDao;
@Autowired
@Resource
private TaskDeliverDao taskDeliverDao;
@Autowired
@Resource
private TaskPluginDao taskPluginDao;
@Autowired
@Resource
private ProSubTimeMemberDao proSubTimeMemberDao;
@Autowired
@Resource
private ProTaskDeliverPostLogDao proTaskDeliverPostLogDao;
@Autowired
@Resource
private TaskDetailDao taskDetailDao;
@Autowired
@Resource
private ProRoleDao proRoleDao;
@Autowired
@Resource
private ProMemberDao proMemberDao;
@Autowired
@Resource
private IProMemberService proMemberService;
@Autowired
@Resource
private IProTaskDetailService taskDetailService;
@Autowired
@Resource
private IMessageService messageService;
@Autowired
@Resource
private IProLogService proLogService;
@Autowired
@Resource
private Snowflake snowflake;
@Autowired
@Resource
private IRobotService robotService;
@Resource
private ProRemindDao proRemindDao;
@Override
public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) {
@ -265,8 +271,6 @@ public class TaskSubTimeService implements ITaskSubTimeService {
messageUser1998.setUserId(1998L);
messageUserList.add(messageUser1998);
// syncMessage.setData(syncMessageData);
// syncMessage.setReceivers(messageUserList);
Long duration = taskSubTime.getEndTime() - taskSubTime.getBeginTime();
SyncMessageWithStartDto syncMessage = new SyncMessageWithStartDto(startTaskDto.getProjectId(),null,messageUserList,
startTaskDto.getRoleId(),taskSubTime.getTaskDetailId(),null,now,duration,player);
@ -312,7 +316,7 @@ public class TaskSubTimeService implements ITaskSubTimeService {
detail.setParentId(addTask.getParentTaskId());
detail.setExecutorRole(addTask.getExecutorId());
SysProject project = null;
SysProject project;
if (ObjectUtil.isNotNull(addTask.getProjectId())) {
project = sysProjectDao.selectByPrimaryKey(addTask.getProjectId());
if (ObjectUtil.isNotNull(project)) {
@ -338,12 +342,9 @@ public class TaskSubTimeService implements ITaskSubTimeService {
detail.setBeginTime(System.currentTimeMillis());
detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime());
}
// taskDetail.setHasGroup((byte) 1);
// taskDetailDao.updateByPrimaryKeySelective(taskDetail);
} else {
throw new BaseException("任务信息不正确");
}
// }
} else {
detail.setLevel((byte) 1);
}
@ -435,8 +436,7 @@ public class TaskSubTimeService implements ITaskSubTimeService {
/**
* 清空项目下所有任务的实际开始结束时间和运行状态
*
* @param projectId
* @param projectId 项目id
*/
@Override
public void clearTaskRealTime(Long projectId) {
@ -528,4 +528,58 @@ public class TaskSubTimeService implements ITaskSubTimeService {
taskSubTimeDao.updateByPrimaryKeySelective(proTaskSubTime);
}
}
@Override
public void saveRemind(Long userId,TaskDto.TaskRemind taskRemind) throws Exception {
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskRemind.getTaskId());
if(ObjectUtil.isNull(proTaskSubTime)){
throw new BaseException(CodeEnum.NOT_TASK);
}
ProTaskDetail proTaskDetail = taskDetailDao.selectByPrimaryKey(proTaskSubTime.getTaskDetailId());
if(ObjectUtil.isNull(proTaskDetail)){
throw new BaseException(CodeEnum.NOT_TASK);
}
//判断用户是否是任务的负责人
ProRole role = proRoleDao.selectByPrimaryKey(proTaskDetail.getExecutorRole());
Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId());
if (!role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) && !isBelongRole) {
log.info("此用户不是该任务的负责人:{}", role);
throw new BaseException(CodeEnum.IS_NOT_EXECUTOR);
}
Long absoluteTime = 0L;
//计算提醒的绝对时间
switch (taskRemind.getRemindTiming()) {
case TallConstant.TaskRemindTiming.REMIND_TASK_BEFORE_START:
absoluteTime = proTaskSubTime.getBeginTime() - taskRemind.getDuration();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_START:
absoluteTime = proTaskSubTime.getBeginTime();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_AFTER_START:
absoluteTime = proTaskSubTime.getBeginTime() + taskRemind.getDuration();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_BEFORE_END:
absoluteTime = proTaskSubTime.getEndTime() - taskRemind.getDuration();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_END:
absoluteTime = proTaskSubTime.getEndTime();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_AFTER_END:
absoluteTime = proTaskSubTime.getEndTime() + taskRemind.getDuration();
break;
case TallConstant.TaskRemindTiming.REMIND_TASK_USER_DEFINED:
absoluteTime = taskRemind.getDuration();
break;
default:
}
//添加提醒信息
ProRemind remind = new ProRemind();
remind.setId(snowflake.nextId());
remind.setSubTaskId(taskRemind.getTaskId());
remind.setRemindTiming(taskRemind.getRemindTiming());
remind.setRemindAbsoluteTime(absoluteTime);
remind.setFinishStatus((byte) 0);
proRemindDao.insertSelective(remind);
}
}

19
tall/src/main/java/com/ccsens/tall/util/TallConstant.java

@ -26,4 +26,23 @@ public class TallConstant {
public static String getUpdateNickname(String nickname){
return UPDATE_ACCOUNT + nickname;
}
public static final class TaskRemindTiming {
/**不提醒*/
public static final byte REMIND_NONE = 0;
/**开始前*/
public static final byte REMIND_TASK_BEFORE_START = 1;
/**开始时*/
public static final byte REMIND_TASK_START = 2;
/**开始后*/
public static final byte REMIND_TASK_AFTER_START = 3;
/**结束前*/
public static final byte REMIND_TASK_BEFORE_END = 4;
/**结束时*/
public static final byte REMIND_TASK_END = 5;
/**结束后*/
public static final byte REMIND_TASK_AFTER_END = 6;
/**自定义*/
public static final byte REMIND_TASK_USER_DEFINED = 7;
}
}

8
tall/src/main/java/com/ccsens/tall/web/ProjectController.java

@ -114,19 +114,21 @@ public class ProjectController {
@ApiImplicitParam(name = "startTime", value = "开始时间", required = true, paramType = "query"),
@ApiImplicitParam(name = "endTime", value = "结束时间", required = true, paramType = "query"),
@ApiImplicitParam(name = "process", value = "完成状态 0全部,1完成,2未完成", required = true, paramType = "query"),
@ApiImplicitParam(name = "page", value = "页数", required = true, paramType = "query")
@ApiImplicitParam(name = "page", value = "页数", required = true, paramType = "query"),
@ApiImplicitParam(name = "priority", value = "优先级排序 0无 1倒叙(优先级高的在前) 2正序", required = true, paramType = "query")
})
@RequestMapping(value = "/{id}/tasks", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TaskVo.ProTaskInfo> getTasksByRoleId(HttpServletRequest request,
@PathVariable("id") Long projectId,
@RequestParam(required = true) Long roleId, Integer page,
Long startTime, Long endTime, Integer process) throws Exception{
Long startTime, Long endTime, Integer process,Integer priority) throws Exception{
Integer pageSize = 10;
page = page == null ? 1 : page;
process = process == null ? 0 : process;
priority = priority == null ? 0 :priority;
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
Object proTaskInfo = taskDetailService.getTasksByRoleId(currentUserId,projectId,roleId,startTime,endTime,process,page,pageSize);
Object proTaskInfo = taskDetailService.getTasksByRoleId(currentUserId,projectId,roleId,startTime,endTime,process,page,pageSize,priority);
return JsonResponse.newInstance().ok(proTaskInfo);
}

20
tall/src/main/java/com/ccsens/tall/web/TaskController.java

@ -169,16 +169,16 @@ public class TaskController {
return JsonResponse.newInstance().ok();
}
// @ApiOperation(value = "给任务添加提醒", notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "/remind", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse saveRemind(HttpServletRequest request,
// @ApiParam @Validated @RequestBody TaskDto.ChangeKanbanTask changeKanbanTask) throws Exception {
//// Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
//// subTimeService.changeKanbanTake(currentUserId,changeKanbanTask);
// return JsonResponse.newInstance().ok();
// }
@ApiOperation(value = "给任务添加提醒", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/remind", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveRemind(HttpServletRequest request,
@ApiParam @Validated @RequestBody TaskDto.TaskRemind taskRemind) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
subTimeService.saveRemind(currentUserId,taskRemind);
return JsonResponse.newInstance().ok();
}
//==============================================================

4
tall/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: test
include: util-test,common
active: dev
include: util-dev,common

9
tall/src/main/resources/mapper_dao/TaskDetailDao.xml

@ -127,7 +127,14 @@
group by s.task_detail_id,sp.id
)t
GROUP BY t.tSubTimeId
order by t.tDetailId
order by
<if test="priority == 1">
t.priority DESC,
</if>
<if test="priority == 2">
t.priority,
</if>
t.tDetailId
</select>

276
tall/src/main/resources/mapper_raw/ProRemindMapper.xml

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.tall.persist.mapper.ProRemindMapper">
<resultMap id="BaseResultMap" type="com.ccsens.tall.bean.po.ProRemind">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="sub_task_id" jdbcType="BIGINT" property="subTaskId" />
<result column="remind_timing" jdbcType="TINYINT" property="remindTiming" />
<result column="remind_absolute_time" jdbcType="BIGINT" property="remindAbsoluteTime" />
<result column="finish_status" jdbcType="TINYINT" property="finishStatus" />
<result column="remind_times" jdbcType="INTEGER" property="remindTimes" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, sub_task_id, remind_timing, remind_absolute_time, finish_status, remind_times,
created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProRemindExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_pro_remind
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_pro_remind
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_pro_remind
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.tall.bean.po.ProRemindExample">
delete from t_pro_remind
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.tall.bean.po.ProRemind">
insert into t_pro_remind (id, sub_task_id, remind_timing,
remind_absolute_time, finish_status, remind_times,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{subTaskId,jdbcType=BIGINT}, #{remindTiming,jdbcType=TINYINT},
#{remindAbsoluteTime,jdbcType=BIGINT}, #{finishStatus,jdbcType=TINYINT}, #{remindTimes,jdbcType=INTEGER},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProRemind">
insert into t_pro_remind
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="subTaskId != null">
sub_task_id,
</if>
<if test="remindTiming != null">
remind_timing,
</if>
<if test="remindAbsoluteTime != null">
remind_absolute_time,
</if>
<if test="finishStatus != null">
finish_status,
</if>
<if test="remindTimes != null">
remind_times,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="subTaskId != null">
#{subTaskId,jdbcType=BIGINT},
</if>
<if test="remindTiming != null">
#{remindTiming,jdbcType=TINYINT},
</if>
<if test="remindAbsoluteTime != null">
#{remindAbsoluteTime,jdbcType=BIGINT},
</if>
<if test="finishStatus != null">
#{finishStatus,jdbcType=TINYINT},
</if>
<if test="remindTimes != null">
#{remindTimes,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProRemindExample" resultType="java.lang.Long">
select count(*) from t_pro_remind
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_pro_remind
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.subTaskId != null">
sub_task_id = #{record.subTaskId,jdbcType=BIGINT},
</if>
<if test="record.remindTiming != null">
remind_timing = #{record.remindTiming,jdbcType=TINYINT},
</if>
<if test="record.remindAbsoluteTime != null">
remind_absolute_time = #{record.remindAbsoluteTime,jdbcType=BIGINT},
</if>
<if test="record.finishStatus != null">
finish_status = #{record.finishStatus,jdbcType=TINYINT},
</if>
<if test="record.remindTimes != null">
remind_times = #{record.remindTimes,jdbcType=INTEGER},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_pro_remind
set id = #{record.id,jdbcType=BIGINT},
sub_task_id = #{record.subTaskId,jdbcType=BIGINT},
remind_timing = #{record.remindTiming,jdbcType=TINYINT},
remind_absolute_time = #{record.remindAbsoluteTime,jdbcType=BIGINT},
finish_status = #{record.finishStatus,jdbcType=TINYINT},
remind_times = #{record.remindTimes,jdbcType=INTEGER},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.tall.bean.po.ProRemind">
update t_pro_remind
<set>
<if test="subTaskId != null">
sub_task_id = #{subTaskId,jdbcType=BIGINT},
</if>
<if test="remindTiming != null">
remind_timing = #{remindTiming,jdbcType=TINYINT},
</if>
<if test="remindAbsoluteTime != null">
remind_absolute_time = #{remindAbsoluteTime,jdbcType=BIGINT},
</if>
<if test="finishStatus != null">
finish_status = #{finishStatus,jdbcType=TINYINT},
</if>
<if test="remindTimes != null">
remind_times = #{remindTimes,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.tall.bean.po.ProRemind">
update t_pro_remind
set sub_task_id = #{subTaskId,jdbcType=BIGINT},
remind_timing = #{remindTiming,jdbcType=TINYINT},
remind_absolute_time = #{remindAbsoluteTime,jdbcType=BIGINT},
finish_status = #{finishStatus,jdbcType=TINYINT},
remind_times = #{remindTimes,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

27
tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml

@ -28,6 +28,7 @@
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="priority" jdbcType="TINYINT" property="priority" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -91,7 +92,7 @@
id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task,
sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time,
loop_to, loop_times, virtual, level, has_group, finish_need_all, all_member, created_at,
updated_at, rec_status
updated_at, rec_status, priority
</sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultMap="BaseResultMap">
select
@ -132,7 +133,8 @@
delay_time, loop_to, loop_times,
virtual, level, has_group,
finish_need_all, all_member, created_at,
updated_at, rec_status)
updated_at, rec_status, priority
)
values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR}, #{beginTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT},
#{cycle,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{subTask,jdbcType=VARCHAR},
@ -141,7 +143,8 @@
#{delayTime,jdbcType=BIGINT}, #{loopTo,jdbcType=BIGINT}, #{loopTimes,jdbcType=INTEGER},
#{virtual,jdbcType=TINYINT}, #{level,jdbcType=TINYINT}, #{hasGroup,jdbcType=TINYINT},
#{finishNeedAll,jdbcType=TINYINT}, #{allMember,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{priority,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProTaskDetail">
insert into t_pro_task_detail
@ -224,6 +227,9 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="priority != null">
priority,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -304,6 +310,9 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="priority != null">
#{priority,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProTaskDetailExample" resultType="java.lang.Long">
@ -393,6 +402,9 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.priority != null">
priority = #{record.priority,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -425,7 +437,8 @@
all_member = #{record.allMember,jdbcType=TINYINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
rec_status = #{record.recStatus,jdbcType=TINYINT},
priority = #{record.priority,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -508,6 +521,9 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="priority != null">
priority = #{priority,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -537,7 +553,8 @@
all_member = #{allMember,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
rec_status = #{recStatus,jdbcType=TINYINT},
priority = #{priority,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
Loading…
Cancel
Save