Browse Source

修改项目和任务的配置接口

master
zy_Java 5 years ago
parent
commit
9d54d10b08
  1. 37
      tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java
  2. 3
      tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java
  3. 24
      tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
  4. 2
      tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java
  5. 7
      tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java
  6. 13
      tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java
  7. 8
      tall/src/main/java/com/ccsens/tall/service/IProjectService.java
  8. 58
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  9. 109
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  10. 77
      tall/src/main/java/com/ccsens/tall/service/ProjectService.java
  11. 16
      tall/src/main/java/com/ccsens/tall/web/ProjectController.java
  12. 13
      tall/src/main/java/com/ccsens/tall/web/TaskController.java
  13. 4
      tall/src/main/resources/application.yml
  14. 19
      tall/src/main/resources/mapper_dao/ProRoleDao.xml
  15. 2
      util/src/main/java/com/ccsens/util/CodeEnum.java
  16. 13
      util/src/main/java/com/ccsens/util/WebConstant.java

37
tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java

@ -1,5 +1,7 @@
package com.ccsens.tall.bean.dto; package com.ccsens.tall.bean.dto;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -71,4 +73,39 @@ public class ProjectDto {
@ApiModelProperty("项目结束时间") @ApiModelProperty("项目结束时间")
private Long endTime; private Long endTime;
} }
@Data
@ApiModel("修改项目配置信息")
public static class ProjectConfig{
@NotNull
@ApiModelProperty("被修改的项目的id")
private Long projectId;
@ApiModelProperty("上下滑动类型 0:上下滑动 1:只支持向下滑 2:只支持上滑 4:上下都不滑动")
private Integer slide;
@ApiModelProperty("筛选框显示 0:都显示 1:都不显示 2.只展示时间轴/清单")
private Integer filter;
@ApiModelProperty("是否展示添加任务按钮 0:不展示 1:展示")
private Integer createTask;
@ApiModelProperty("是否展示MVP 0:不展示 1:展示")
private Integer showMvp;
@JsonIgnore//0日程,1天,2周,3月
private Integer selectTaskType;
@ApiModelProperty("查询任务类型")
private String selectType;
@ApiModelProperty("第三列展示页面的路径")
private String detailPath;
public Integer getSelectTaskType(){
if(ObjectUtil.isNull(selectType)) {
return null;
}
switch (selectType){
case "日程": return this.selectTaskType = 0;
case "天": return this.selectTaskType = 1;
case "周": return this.selectTaskType = 2;
case "月": return this.selectTaskType = 3;
default: return this.selectTaskType = 0;
}
}
}
} }

3
tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java

@ -34,6 +34,9 @@ public class RoleDto {
@Data @Data
@ApiModel("给角色添加成员") @ApiModel("给角色添加成员")
public static class SaveMember{ public static class SaveMember{
@NotNull(message = "角色Id不能为空")
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("成员Id") @ApiModelProperty("成员Id")
private Long memberId; private Long memberId;
} }

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

@ -188,4 +188,28 @@ public class TaskDto {
private Integer type; private Integer type;
} }
@Data
@ApiModel("修改任务配置")
public static class UpdateTaskConfig{
@NotNull(message = "任务id不能为空")
@ApiModelProperty("任务id")
private Long taskId;
@ApiModelProperty("开始时间显示样式(默认 MM-DD HH:mm) 为空时不展示时间")
private String timeShow;
@ApiModelProperty("时长展示单位 0:根据时长转换成对应分钟或小时 1:不展示 2:转化成分钟 3:转化成小时")
private Integer duration;
@ApiModelProperty("是否显示新建任务按钮 0不展示 1展示")
private Integer createTask;
@ApiModelProperty("是否展示硬件按钮 0不展示 1展示")
private Integer showHardware;
@ApiModelProperty("是否展示交付物按钮 0不展示 1展示")
private Integer showDeliver;
@ApiModelProperty("是否展示奖惩金额按钮 0不展示 1展示")
private Integer showMoney;
@ApiModelProperty("时间轴上显示计划时间还是实际时间 0计划时间,1实际时间")
private Integer showRealTime;
@ApiModelProperty("是否展示完成按钮 0不展示 1展示")
private Integer showFinish;
}
} }

2
tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java

@ -103,7 +103,7 @@ public class ProjectVo {
} }
} }
@ApiModel @ApiModel("返回的项目配置信息")
@Data @Data
public static class ProjectConfig{ public static class ProjectConfig{
@ApiModelProperty("上下滑动类型 0:上下滑动 1:只支持向下滑 2:只支持上滑 4:上下都不滑动") @ApiModelProperty("上下滑动类型 0:上下滑动 1:只支持向下滑 2:只支持上滑 4:上下都不滑动")

7
tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java

@ -35,4 +35,11 @@ public interface ProRoleDao extends ProRoleMapper{
List<ProRole> selectByProjectAndName(MemberRoleDto.Assign assign); List<ProRole> selectByProjectAndName(MemberRoleDto.Assign assign);
List<String> selectSecondRoleName(@Param("projectId")Long projectId); List<String> selectSecondRoleName(@Param("projectId")Long projectId);
/**
* 通过角色id判断角色是否是项目经理
* @param roleId
* @return
*/
Integer isPmByRoleId(@Param("roleId")Long roleId);
} }

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

@ -33,6 +33,17 @@ public interface IProTaskDetailService {
TaskVo.NormalTask updateTaskInfo(Long currentUserId, TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception; TaskVo.NormalTask updateTaskInfo(Long currentUserId, TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception;
TaskVo.TaskInfoWithFeign getProjectIdByTaskId(Long taskId); TaskVo.TaskInfoWithFeign getProjectIdByTaskId(Long taskId);
/**
* 处理任务的插件
*/
void managePlugin(Long userId,Long roleId,TaskVo.NormalTask normalTask) throws Exception; void managePlugin(Long userId,Long roleId,TaskVo.NormalTask normalTask) throws Exception;
/**
* 修改任务的配置信息
* @param userId userId
* @param updateTaskConfig 任务的配置信息
* @return 返回修改后的配置信息
* @throws Exception 异常
*/
TaskVo.NormalTask updateTaskConfig(Long userId,TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception;
} }

8
tall/src/main/java/com/ccsens/tall/service/IProjectService.java

@ -36,4 +36,12 @@ public interface IProjectService {
ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize,Integer page); ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize,Integer page);
List<ProjectVo.RelevanceProject> selectRelevanceProject(Long currentUserId, Long projectId); List<ProjectVo.RelevanceProject> selectRelevanceProject(Long currentUserId, Long projectId);
/**
* 修改项目配置信息
* @param currentUserId userId
* @param projectConfig 项目配置信息
* @return 返回修改后的项目信息
*/
ProjectVo.ProjectInfo updateProjectConfig(Long currentUserId, ProjectDto.ProjectConfig projectConfig);
} }

58
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.MemberRoleDto;
import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.ProjectVo;
@ -184,7 +185,7 @@ public class ProRoleService implements IProRoleService {
@Override @Override
public List<ProjectVo.RoleInfo> getRealMemberRolesByProjectId(Long projectId) { public List<ProjectVo.RoleInfo> getRealMemberRolesByProjectId(Long projectId) {
//查询二级角色 //查询二级角色
List<ProjectVo.RoleInfo> memberRoleList = null; List<ProjectVo.RoleInfo> memberRoleList;
memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId);
return memberRoleList; return memberRoleList;
} }
@ -192,8 +193,8 @@ public class ProRoleService implements IProRoleService {
/** /**
* 获取此用户不可见的角色 * 获取此用户不可见的角色
* *
* @param projectId * @param projectId 项目id
* @param currentUserId * @param currentUserId userId
* @return * @return
*/ */
public List<Long> getCareLessRoleByProjectIdAndUserId(Long projectId, Long currentUserId) { public List<Long> getCareLessRoleByProjectIdAndUserId(Long projectId, Long currentUserId) {
@ -256,6 +257,14 @@ public class ProRoleService implements IProRoleService {
return role; return role;
} }
private boolean isPmByRoleId(Long roleId) {
Integer i = proRoleDao.isPmByRoleId(roleId);
if(ObjectUtil.isNull(i)){
throw new BaseException(CodeEnum.NOT_ROLE);
}
return i == 1;
}
//======================================================================= //=======================================================================
/** /**
@ -376,11 +385,50 @@ public class ProRoleService implements IProRoleService {
@Override @Override
public void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) { public void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
//检查成员是否为空
ProMember member = proMemberDao.selectByPrimaryKey(saveMember.getMemberId());
if(ObjectUtil.isNull(member)){
throw new BaseException(CodeEnum.NOT_MEMBER);
}
//检查角色是否为PM 是的话则需要更高权限
boolean isPm = isPmByRoleId(saveMember.getRoleId());
//检查当前用户的权限是否可以修改
int power = selectPowerByRoleName(currentUserId, member.getProjectId());
if ((isPm && power < WebConstant.ROLE_POWER.ADMIN_POWER.value) || (!isPm && power < WebConstant.ROLE_POWER.OPERATION_POWER.value)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//添加成员与角色关联信息
ProMemberRole proMemberRole = new MemberRoleDto();
proMemberRole.setId(snowflake.nextId());
proMemberRole.setRoleId(saveMember.getRoleId());
proMemberRole.setMemberId(member.getId());
memberRoleDao.insertSelective(proMemberRole);
} }
@Override @Override
public void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) { public void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
//检查参数是否正确
ProMember member = proMemberDao.selectByPrimaryKey(saveMember.getMemberId());
if(ObjectUtil.isNull(member)){
throw new BaseException(CodeEnum.NOT_MEMBER);
}
//检查被操作的角色是否是项目PM
boolean isPm = isPmByRoleId(saveMember.getRoleId());
//检查当前用户的权限是否可以修改
int power = selectPowerByRoleName(currentUserId, member.getProjectId());
if ((isPm && power < WebConstant.ROLE_POWER.ADMIN_POWER.value) || (!isPm && power < WebConstant.ROLE_POWER.OPERATION_POWER.value)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//删除角色与成员的关联信息
ProMemberRoleExample memberRoleExample = new ProMemberRoleExample();
memberRoleExample.createCriteria().andRoleIdEqualTo(saveMember.getRoleId()).andMemberIdEqualTo(member.getId());
List<ProMemberRole> memberRoleList = memberRoleDao.selectByExample(memberRoleExample);
if(CollectionUtil.isEmpty(memberRoleList)){
throw new BaseException(CodeEnum.NOT_MEMBER);
}
for(ProMemberRole memberRole : memberRoleList){
memberRole.setRecStatus((byte)2);
memberRoleDao.updateByPrimaryKeySelective(memberRole);
}
} }
} }

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

@ -22,7 +22,6 @@ import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate; import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -36,43 +35,41 @@ import java.util.*;
@Service @Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ProTaskDetailService implements IProTaskDetailService { public class ProTaskDetailService implements IProTaskDetailService {
@Autowired @Resource
private IProRoleService proRoleService; private IProRoleService proRoleService;
@Autowired @Resource
private ITaskDeliverService taskDeliverService; private ITaskDeliverService taskDeliverService;
@Autowired @Resource
private IUserAttentionService attentionService; private IUserAttentionService attentionService;
@Autowired @Resource
private ITaskPluginService pluginService; private ITaskPluginService pluginService;
@Autowired @Resource
private IProMemberService proMemberService; private IProMemberService proMemberService;
@Autowired @Resource
private IUserService userService;
@Autowired
private ProTaskShowDao proTaskShowDao; private ProTaskShowDao proTaskShowDao;
@Autowired @Resource
private TaskDetailDao taskDetailDao; private TaskDetailDao taskDetailDao;
@Autowired @Resource
private TaskSubTimeDao taskSubTimeDao; private TaskSubTimeDao taskSubTimeDao;
@Autowired @Resource
private TaskMemberDao taskMemberDao; private TaskMemberDao taskMemberDao;
@Autowired @Resource
private ProSubTimeMemberDao proSubTimeMemberDao; private ProSubTimeMemberDao proSubTimeMemberDao;
@Autowired @Resource
private ProRoleDao proRoleDao; private ProRoleDao proRoleDao;
@Autowired @Resource
private ProMemberDao proMemberDao; private ProMemberDao proMemberDao;
@Autowired @Resource
private SysProjectDao sysProjectDao; private SysProjectDao sysProjectDao;
@Autowired @Resource
private SysPluginDao sysPluginDao; private SysPluginDao sysPluginDao;
@Autowired @Resource
private Snowflake snowflake; private Snowflake snowflake;
@Autowired @Resource
private MtFeignClient mtFeignClient; private MtFeignClient mtFeignClient;
@Resource @Resource
private ProPluginConfigMapper proPluginConfigMapper; private ProPluginConfigMapper proPluginConfigMapper;
@Autowired @Resource
private IRobotService robotService; private IRobotService robotService;
@Override @Override
@ -117,7 +114,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
/** /**
* 查找任务配置 * 查找任务配置
*/ */
private TaskVo.ProTaskShow getProTaskShow(Long taskId)throws Exception{ private TaskVo.ProTaskShow getProTaskShow(Long taskId) {
TaskVo.ProTaskShow proTaskShow = proTaskShowDao.getProTaskShowByTaskId(taskId); TaskVo.ProTaskShow proTaskShow = proTaskShowDao.getProTaskShowByTaskId(taskId);
if(ObjectUtil.isNull(proTaskShow)){ if(ObjectUtil.isNull(proTaskShow)){
proTaskShow = new TaskVo.ProTaskShow(); proTaskShow = new TaskVo.ProTaskShow();
@ -141,8 +138,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>(); List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>();
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>(); List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
TaskVo.GlobalTask globalTask = null; TaskVo.GlobalTask globalTask;
TaskVo.NormalTask normalTask = null; TaskVo.NormalTask normalTask;
//1、查找一级任务 //1、查找一级任务
SysProject project = sysProjectDao.selectByPrimaryKey(projectId); SysProject project = sysProjectDao.selectByPrimaryKey(projectId);
if (endTime < project.getBeginTime() || startTime > project.getEndTime()) { if (endTime < project.getBeginTime() || startTime > project.getEndTime()) {
@ -338,15 +335,14 @@ public class ProTaskDetailService implements IProTaskDetailService {
private List<TaskVo.NormalTask> sortTaskTime(List<TaskVo.NormalTask> commonTask) { private List<TaskVo.NormalTask> sortTaskTime(List<TaskVo.NormalTask> commonTask) {
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>(); List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
List<TaskVo.NormalTask> secondTaskVoList = null; List<TaskVo.NormalTask> secondTaskVoList;
Set<Long> longSet = new HashSet<>(); Set<Long> longSet = new HashSet<>();
List<Long> timeList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(commonTask)) { if (CollectionUtil.isNotEmpty(commonTask)) {
for (TaskVo.NormalTask secondTaskVo : commonTask) { for (TaskVo.NormalTask secondTaskVo : commonTask) {
longSet.add(secondTaskVo.getBeginTime()); longSet.add(secondTaskVo.getBeginTime());
longSet.add(secondTaskVo.getEndTime()); longSet.add(secondTaskVo.getEndTime());
} }
timeList.addAll(longSet); List<Long> timeList = new ArrayList<>(longSet);
for (int i = 0; i < timeList.size(); i++) { for (int i = 0; i < timeList.size(); i++) {
for (int j = 0; j < timeList.size() - i - 1; j++) { for (int j = 0; j < timeList.size() - i - 1; j++) {
if (timeList.get(j) > timeList.get(j + 1)) { if (timeList.get(j) > timeList.get(j + 1)) {
@ -358,7 +354,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
int sequence = 1; int sequence = 1;
for (int i = 0; i < timeList.size() - 1; i++) { for (int i = 0; i < timeList.size() - 1; i++) {
TaskVo.NormalTask normalTask = null; TaskVo.NormalTask normalTask;
secondTaskVoList = new ArrayList<>(); secondTaskVoList = new ArrayList<>();
Long startTime = timeList.get(i); Long startTime = timeList.get(i);
Long endTime = timeList.get(i + 1); Long endTime = timeList.get(i + 1);
@ -439,7 +435,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
String[] pluginDescription = pluginVo.getDescription().split(","); String[] pluginDescription = pluginVo.getDescription().split(",");
String[] pluginShowType = pluginVo.getShowType().split(","); String[] pluginShowType = pluginVo.getShowType().split(",");
TaskVo.PluginVo plugin = null; TaskVo.PluginVo plugin;
for(int i = 0;i<pluginIds.length;i++){ for(int i = 0;i<pluginIds.length;i++){
plugin = new TaskVo.PluginVo(); plugin = new TaskVo.PluginVo();
plugin.setId(pluginIds[i]); plugin.setId(pluginIds[i]);
@ -461,10 +457,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
private TaskVo.ProTaskInfoByMVP getTaskInfoByMvp(Long projectId, Integer page, Integer pageSize) { private TaskVo.ProTaskInfoByMVP getTaskInfoByMvp(Long projectId, Integer page, Integer pageSize) {
TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); TaskVo.PageInfo pageInfo = new TaskVo.PageInfo();
TaskVo.ProTaskInfoByMVP proTaskInfoByMVP = new TaskVo.ProTaskInfoByMVP(); TaskVo.ProTaskInfoByMVP proTaskInfoByMVP = new TaskVo.ProTaskInfoByMVP();
List<TaskVo.TaskDeliverByMVP> taskDeliverByMVPList = new ArrayList<>(); List<TaskVo.TaskDeliverByMVP> taskDeliverByMVPList;
TaskVo.TaskDeliverByMVP taskDeliverByMVP = null; TaskVo.TaskDeliverByMVP taskDeliverByMVP;
List<TaskVo.FirstTask> firstTasks = new ArrayList<>(); List<TaskVo.FirstTask> firstTasks = new ArrayList<>();
TaskVo.FirstTask firstProTask = null; TaskVo.FirstTask firstProTask;
//查找项目下的一级任务 //查找项目下的一级任务
ProTaskDetailExample firstTaskExample = new ProTaskDetailExample(); ProTaskDetailExample firstTaskExample = new ProTaskDetailExample();
firstTaskExample.createCriteria().andProjectIdEqualTo(projectId) firstTaskExample.createCriteria().andProjectIdEqualTo(projectId)
@ -551,6 +547,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskDetail.setProcess(0); taskDetail.setProcess(0);
} }
} }
//任务配置
taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId()));
//添加项目信息和插件信息 //添加项目信息和插件信息
normalTaskAddPlugin(currentUserId, subTime.getTaskDetailId(), taskDetail); normalTaskAddPlugin(currentUserId, subTime.getTaskDetailId(), taskDetail);
@ -655,7 +653,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
//获取日期的开始结束时间 //获取日期的开始结束时间
Long startMillisTime = null; Long startMillisTime = null;
Long endMillisTime = null; Long endMillisTime = null;
Map<String, Long> timeMap = null; Map<String, Long> timeMap;
if (StrUtil.isNotEmpty(start)) { if (StrUtil.isNotEmpty(start)) {
timeMap = DateUtil.projectFormatDateTime(start); timeMap = DateUtil.projectFormatDateTime(start);
startMillisTime = timeMap.get("startMillisTime"); startMillisTime = timeMap.get("startMillisTime");
@ -812,7 +810,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
//获取日期的开始结束时间 //获取日期的开始结束时间
Long startMillisTime = null; Long startMillisTime = null;
Long endMillisTime = null; Long endMillisTime = null;
Map<String, Long> timeMap = null; Map<String, Long> timeMap;
if (StrUtil.isNotEmpty(start)) { if (StrUtil.isNotEmpty(start)) {
timeMap = DateUtil.projectFormatDateTime(start); timeMap = DateUtil.projectFormatDateTime(start);
startMillisTime = timeMap.get("startMillisTime"); startMillisTime = timeMap.get("startMillisTime");
@ -969,7 +967,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
.andMemberIdEqualTo(member.getId()).andComplatedStatusEqualTo((byte) 2); .andMemberIdEqualTo(member.getId()).andComplatedStatusEqualTo((byte) 2);
sTimeMemberExample.setOrderByClause("real_finish_time"); sTimeMemberExample.setOrderByClause("real_finish_time");
List<ProSubTimeMember> sTimeMemberList = proSubTimeMemberDao.selectByExample(sTimeMemberExample); List<ProSubTimeMember> sTimeMemberList = proSubTimeMemberDao.selectByExample(sTimeMemberExample);
if (CollectionUtil.isEmpty(subTimeMemberList)) { if (CollectionUtil.isEmpty(sTimeMemberList)) {
flag = true; flag = true;
break; break;
} }
@ -994,7 +992,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
@Override @Override
public void deleteTask(Long currentUserId, Long taskId) throws Exception { public void deleteTask(Long currentUserId, Long taskId) throws Exception {
//检查id是详情id还是subTimeId //检查id是详情id还是subTimeId
ProTaskDetail taskDetail = null; ProTaskDetail taskDetail;
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId);
if (ObjectUtil.isNotNull(subTime)) { if (ObjectUtil.isNotNull(subTime)) {
taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId());
@ -1063,9 +1061,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
*/ */
@Override @Override
public TaskVo.NormalTask updateTaskInfo(Long currentUserId, TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception { public TaskVo.NormalTask updateTaskInfo(Long currentUserId, TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception {
TaskVo.NormalTask normalTask = null; TaskVo.NormalTask normalTask;
ProTaskDetail taskDetail = null; ProTaskDetail taskDetail;
ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskInfo.getId()); ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskInfo.getId());
if(ObjectUtil.isNotNull(taskSubTime)){ if(ObjectUtil.isNotNull(taskSubTime)){
taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId());
@ -1187,7 +1185,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
eTime = groupTask.getEndTime(); eTime = groupTask.getEndTime();
} }
bTime = bTime < groupTask.getBeginTime() ? bTime : groupTask.getBeginTime(); bTime = bTime < groupTask.getBeginTime() ? bTime : groupTask.getBeginTime();
eTime = eTime > groupTask.getEndTime() ? eTime : groupTask.getEndTime();; eTime = eTime > groupTask.getEndTime() ? eTime : groupTask.getEndTime();
} }
} }
//如果子任务最早最晚时间和父任务不同,则修改父任务时间 //如果子任务最早最晚时间和父任务不同,则修改父任务时间
@ -1246,11 +1244,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
@Override @Override
public TaskVo.TaskInfoWithFeign getProjectIdByTaskId(Long taskId) { public TaskVo.TaskInfoWithFeign getProjectIdByTaskId(Long taskId) {
TaskVo.TaskInfoWithFeign taskInfo = null; TaskVo.TaskInfoWithFeign taskInfo = null;
ProTaskDetail detail = null; ProTaskDetail detail;
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId);
if(ObjectUtil.isNull(subTime)){ if(ObjectUtil.isNull(subTime)){
detail = taskDetailDao.selectByPrimaryKey(taskId); detail = taskDetailDao.selectByPrimaryKey(taskId);
@ -1272,4 +1269,36 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
return taskInfo; return taskInfo;
} }
@Override
public TaskVo.NormalTask updateTaskConfig(Long userId, TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception {
//检查任务是否存在
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskConfig.getTaskId());
if(ObjectUtil.isNull(taskDetail)){
ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskConfig.getTaskId());
if(ObjectUtil.isNull(taskSubTime)) {
throw new BaseException(CodeEnum.NOT_TASK);
}
taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId());
}
//查找任务原来的配置
ProTaskShowExample taskShowExample = new ProTaskShowExample();
taskShowExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId());
List<ProTaskShow> proTaskShowList = proTaskShowDao.selectByExample(taskShowExample);
if(CollectionUtil.isEmpty(proTaskShowList)){
//没有则新建配置信息
ProTaskShow proTaskShow = new ProTaskShow();
BeanUtil.copyProperties(updateTaskConfig,proTaskShow);
proTaskShow.setId(snowflake.nextId());
proTaskShow.setProjectId(taskDetail.getProjectId());
proTaskShow.setTaskDetailId(taskDetail.getId());
proTaskShowDao.insertSelective(proTaskShow);
}else {
//有则修改
ProTaskShow proTaskShow = proTaskShowList.get(0);
BeanUtil.copyProperties(updateTaskConfig,proTaskShow);
proTaskShowDao.updateByPrimaryKeySelective(proTaskShow);
}
return getTaskInfoByTaskId(userId,taskDetail.getProjectId(),updateTaskConfig.getTaskId());
}
} }

77
tall/src/main/java/com/ccsens/tall/service/ProjectService.java

@ -19,6 +19,7 @@ import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -98,7 +99,7 @@ public class ProjectService implements IProjectService {
public List<String> haveProjectDay(Long currentUserId, String date) throws Exception { public List<String> haveProjectDay(Long currentUserId, String date) throws Exception {
List<String> dateList = new ArrayList<>(); List<String> dateList = new ArrayList<>();
//获取日期的开始结束时间 //获取日期的开始结束时间
Map<String, Long> timeMap = new HashMap<>(); Map<String, Long> timeMap;
timeMap = DateUtil.projectFormatDateTime(date); timeMap = DateUtil.projectFormatDateTime(date);
Long startMillisTime = timeMap.get("startMillisTime"); Long startMillisTime = timeMap.get("startMillisTime");
Long endMillisTime = timeMap.get("endMillisTime"); Long endMillisTime = timeMap.get("endMillisTime");
@ -137,15 +138,15 @@ public class ProjectService implements IProjectService {
/** /**
* 根据用户和日期查找项目 * 根据用户和日期查找项目
* *
* @param currentUserId * @param currentUserId userId
* @param date * @param date 日期
* @return * @return 返回查到的所有项目信息
* @throws Exception * @throws Exception 分解日期时抛错
*/ */
@Override @Override
public List<ProjectVo.ProjectInfo> getProjectInfo(Long currentUserId, String date,Integer orderType,Integer order) throws Exception { public List<ProjectVo.ProjectInfo> getProjectInfo(Long currentUserId, String date,Integer orderType,Integer order) throws Exception {
//获取日期的开始结束时间 //获取日期的开始结束时间
Map<String, Long> timeMap = new HashMap<>(); Map<String, Long> timeMap;
timeMap = DateUtil.projectFormatDateTime(date); timeMap = DateUtil.projectFormatDateTime(date);
Long startMillisTime = timeMap.get("startMillisTime"); Long startMillisTime = timeMap.get("startMillisTime");
Long endMillisTime = timeMap.get("endMillisTime") + 1; Long endMillisTime = timeMap.get("endMillisTime") + 1;
@ -217,7 +218,7 @@ public class ProjectService implements IProjectService {
private List<ProjectVo.ProjectInfo> projectInfoByProject(List<SysProject> projectList, Long currentUserId) { private List<ProjectVo.ProjectInfo> projectInfoByProject(List<SysProject> projectList, Long currentUserId) {
List<ProjectVo.ProjectInfo> projectInfoList = new ArrayList<>(); List<ProjectVo.ProjectInfo> projectInfoList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(projectList)) { if (CollectionUtil.isNotEmpty(projectList)) {
ProjectVo.ProjectInfo projectInfo = null; ProjectVo.ProjectInfo projectInfo;
for (SysProject project : projectList) { for (SysProject project : projectList) {
projectInfo = new ProjectVo.ProjectInfo(); projectInfo = new ProjectVo.ProjectInfo();
BeanUtil.copyProperties(project, projectInfo); BeanUtil.copyProperties(project, projectInfo);
@ -275,8 +276,8 @@ public class ProjectService implements IProjectService {
* 通过项目id查询项目 * 通过项目id查询项目
* *
* @param userId 用户id * @param userId 用户id
* @param projectId * @param projectId 项目id
* @return * @return 返回项目信息
*/ */
@Override @Override
public ProjectVo.ProjectInfo getProjectInfoById(Long userId, Long projectId) { public ProjectVo.ProjectInfo getProjectInfoById(Long userId, Long projectId) {
@ -333,8 +334,7 @@ public class ProjectService implements IProjectService {
/** /**
* 根据类型查项目 项目类型 0普通项目 1模板项目 2常驻项目 * 根据类型查项目 项目类型 0普通项目 1模板项目 2常驻项目
* * @return 返回项目信息
* @return
*/ */
@Override @Override
public List<ProjectVo.TemplateStatus> getTemplate() { public List<ProjectVo.TemplateStatus> getTemplate() {
@ -363,8 +363,8 @@ public class ProjectService implements IProjectService {
if (CollectionUtil.isNotEmpty(domainList)) { if (CollectionUtil.isNotEmpty(domainList)) {
SysDomain sysDomain = domainList.get(0); SysDomain sysDomain = domainList.get(0);
String[] projectIds = sysDomain.getForeverProjectId().split(","); String[] projectIds = sysDomain.getForeverProjectId().split(",");
for(int i = 0; i < projectIds.length; i++){ for (String projectId : projectIds) {
SysProject project = sysProjectDao.selectByPrimaryKey(Long.valueOf(projectIds[i])); SysProject project = sysProjectDao.selectByPrimaryKey(Long.valueOf(projectId));
ProjectVo.TemplateStatus templateStatus = new ProjectVo.TemplateStatus(); ProjectVo.TemplateStatus templateStatus = new ProjectVo.TemplateStatus();
templateStatus.setId(project.getId()); templateStatus.setId(project.getId());
templateStatus.setName(project.getName()); templateStatus.setName(project.getName());
@ -389,12 +389,12 @@ public class ProjectService implements IProjectService {
@Override @Override
public ProjectVo.ProjectAllDetailed getProjectList(Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, String role) throws Exception { public ProjectVo.ProjectAllDetailed getProjectList(Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, String role) throws Exception {
ProjectVo.ProjectAllDetailed projectAllDetailed = new ProjectVo.ProjectAllDetailed(); ProjectVo.ProjectAllDetailed projectAllDetailed = new ProjectVo.ProjectAllDetailed();
List<ProjectVo.ProjectInfo> projectInfoList = new ArrayList<>(); List<ProjectVo.ProjectInfo> projectInfoList;
//获取日期的开始结束时间 //获取日期的开始结束时间
Long startMillisTime = null; Long startMillisTime = null;
Long endMillisTime = null; Long endMillisTime = null;
Map<String, Long> timeMap = null; Map<String, Long> timeMap;
if (StrUtil.isNotEmpty(start)) { if (StrUtil.isNotEmpty(start)) {
timeMap = DateUtil.projectFormatDateTime(start); timeMap = DateUtil.projectFormatDateTime(start);
startMillisTime = timeMap.get("startMillisTime"); startMillisTime = timeMap.get("startMillisTime");
@ -465,7 +465,7 @@ public class ProjectService implements IProjectService {
* 通过名字模糊查询项目 * 通过名字模糊查询项目
*/ */
@Override @Override
public List<ProjectVo.ProjectByKey> getProjectByKey(Long currentUserId, String key) throws Exception { public List<ProjectVo.ProjectByKey> getProjectByKey(Long currentUserId, String key) {
return sysProjectDao.getProjectByKey(currentUserId, key); return sysProjectDao.getProjectByKey(currentUserId, key);
} }
@ -521,7 +521,7 @@ public class ProjectService implements IProjectService {
*/ */
@Override @Override
public ProjectVo.ProjectInfo copyProject(Long userId, ProjectDto.ProjectIdDto projectDto) { public ProjectVo.ProjectInfo copyProject(Long userId, ProjectDto.ProjectIdDto projectDto) {
ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(); // ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo();
SysProject oldProject = sysProjectDao.selectByPrimaryKey(projectDto.getProjectId()); SysProject oldProject = sysProjectDao.selectByPrimaryKey(projectDto.getProjectId());
SysProject newProject = new SysProject(); SysProject newProject = new SysProject();
@ -542,8 +542,7 @@ public class ProjectService implements IProjectService {
throw new BaseException(CodeEnum.NOT_PROJECT); throw new BaseException(CodeEnum.NOT_PROJECT);
} }
//返回参数 //返回参数
projectInfo = getProjectInfoById(userId, newProject.getId()); // projectInfo.setId(newProject.getId());
// projectInfo.setId(newProject.getId());
// projectInfo.setName(newProject.getName()); // projectInfo.setName(newProject.getName());
// projectInfo.setAddress(newProject.getAddress()); // projectInfo.setAddress(newProject.getAddress());
// projectInfo.setBeginTime(newProject.getBeginTime()); // projectInfo.setBeginTime(newProject.getBeginTime());
@ -553,7 +552,7 @@ public class ProjectService implements IProjectService {
// projectInfo.setCreator(true); // projectInfo.setCreator(true);
// } // }
return projectInfo; return getProjectInfoById(userId, newProject.getId());
} }
/** /**
@ -795,7 +794,7 @@ public class ProjectService implements IProjectService {
* 根据标签查找项目 * 根据标签查找项目
* @param currentUserId userId * @param currentUserId userId
* @param labelName 标签名 * @param labelName 标签名
* @return * @return 返回根据标签查找出的所有项目
*/ */
@Override @Override
public ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize ,Integer page) { public ProjectVo.ProjectAllDetailed selectByLabelName(Long currentUserId, String labelName,Integer pageSize ,Integer page) {
@ -818,7 +817,39 @@ public class ProjectService implements IProjectService {
@Override @Override
public List<ProjectVo.RelevanceProject> selectRelevanceProject(Long currentUserId, Long projectId) { public List<ProjectVo.RelevanceProject> selectRelevanceProject(Long currentUserId, Long projectId) {
List<ProjectVo.RelevanceProject> projectInfoList = sysProjectDao.selectRelevanceProject(projectId); return sysProjectDao.selectRelevanceProject(projectId);
return projectInfoList; }
@Override
public ProjectVo.ProjectInfo updateProjectConfig(Long currentUserId, ProjectDto.ProjectConfig projectConfig) {
//检查项目id是否正确
SysProject project = sysProjectDao.selectByPrimaryKey(projectConfig.getProjectId());
if(ObjectUtil.isNull(project)){
throw new BaseException(CodeEnum.NOT_PROJECT);
}
//查找项目配置
ProShowExample proShowExample = new ProShowExample();
proShowExample.createCriteria().andProjectIdEqualTo(projectConfig.getProjectId());
List<ProShow> proShowList = proShowDao.selectByExample(proShowExample);
if(CollectionUtil.isEmpty(proShowList)){
//没有则新加一条记录
ProShow proShow = new ProShow();
BeanUtil.copyProperties(projectConfig,proShow);
proShow.setId(snowflake.nextId());
proShow.setProjectId(project.getId());
if(ObjectUtil.isNotNull(projectConfig.getShowMvp())) {
proShow.setIsShowMvp(projectConfig.getShowMvp().byteValue());
}
proShowDao.insertSelective(proShow);
}else {
//有则修改原来的配置信息
ProShow proShow = proShowList.get(0);
BeanUtil.copyProperties(projectConfig,proShow);
if(ObjectUtil.isNotNull(projectConfig.getShowMvp())) {
proShow.setIsShowMvp(projectConfig.getShowMvp().byteValue());
}
proShowDao.updateByPrimaryKeySelective(proShow);
}
return getProjectInfoById(currentUserId,projectConfig.getProjectId());
} }
} }

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

@ -210,7 +210,7 @@ public class ProjectController {
@ApiOperation(value = "根据模板复制项目", notes = "") @ApiOperation(value = "根据模板复制项目", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@RequestMapping(value = "copy", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/copy", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.ProjectInfo> addProject(HttpServletRequest request, public JsonResponse<ProjectVo.ProjectInfo> addProject(HttpServletRequest request,
@Validated @RequestBody ProjectDto.ProjectIdDto projectDto) throws Exception { @Validated @RequestBody ProjectDto.ProjectIdDto projectDto) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
@ -221,7 +221,7 @@ public class ProjectController {
@ApiOperation(value = "修改项目信息", notes = "") @ApiOperation(value = "修改项目信息", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@RequestMapping(value = "change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.ProjectInfo> updateProject(HttpServletRequest request, public JsonResponse<ProjectVo.ProjectInfo> updateProject(HttpServletRequest request,
@Validated @RequestBody ProjectDto.ProjectInfoDto projectInfoDto) throws Exception { @Validated @RequestBody ProjectDto.ProjectInfoDto projectInfoDto) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
@ -254,4 +254,16 @@ public class ProjectController {
return JsonResponse.newInstance().ok(projectInfoList); return JsonResponse.newInstance().ok(projectInfoList);
} }
@ApiOperation(value = "修改项目配置信息", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/config", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProjectVo.ProjectInfo> updateProjectConfig(HttpServletRequest request,
@Validated @RequestBody ProjectDto.ProjectConfig projectConfig) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
ProjectVo.ProjectInfo projectInfo = projectService.updateProjectConfig(currentUserId,projectConfig);
return JsonResponse.newInstance().ok(projectInfo);
}
} }

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

@ -214,4 +214,17 @@ public class TaskController {
TaskVo.TaskInfoWithFeign taskInfo= taskDetailService.getProjectIdByTaskId(taskId); TaskVo.TaskInfoWithFeign taskInfo= taskDetailService.getProjectIdByTaskId(taskId);
return taskInfo; return taskInfo;
} }
@ApiOperation(value = "修改任务配置信息",notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "taskId", value = "任务id", required = true, paramType = "query")
})
@RequestMapping(value = "config", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TaskVo.NormalTask> updateTaskConfig(HttpServletRequest request,
@Validated @RequestBody TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
TaskVo.NormalTask taskInfo = taskDetailService.updateTaskConfig(currentUserId,updateTaskConfig);
return JsonResponse.newInstance().ok(taskInfo);
}
} }

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

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

19
tall/src/main/resources/mapper_dao/ProRoleDao.xml

@ -75,7 +75,8 @@
pr.name not IN ('全体成员','观众') pr.name not IN ('全体成员','观众')
AND AND
pr.rec_status = 0 pr.rec_status = 0
AND (mr.rec_status = 0 or mr.rec_status is null)
AND (m.rec_status = 0 or m.rec_status is null)
</select> </select>
<select id="selectCareLessRoleByProjectIdAndUserId" parameterType="java.util.Map" <select id="selectCareLessRoleByProjectIdAndUserId" parameterType="java.util.Map"
@ -170,4 +171,20 @@
`name` not in ('MVP','Creator','MoneyStakeholder','关注者') `name` not in ('MVP','Creator','MoneyStakeholder','关注者')
order by `id` order by `id`
</select> </select>
<select id="isPmByRoleId" resultType="Integer" parameterType="java.util.Map">
SELECT
if(name = 'PM',1,0)
FROM
t_pro_role
WHERE
id in (
SELECT
parent_id as parentId
FROM
`t_pro_role`
WHERE
id = #{roleId}
)
</select>
</mapper> </mapper>

2
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -118,7 +118,7 @@ public enum CodeEnum {
NOT_LABEL(100,"标签不存在,请检查后操作",true), NOT_LABEL(100,"标签不存在,请检查后操作",true),
REPEAT_LABEL(101,"标签已存在,请勿重复添加",true), REPEAT_LABEL(101,"标签已存在,请勿重复添加",true),
NICKNAME_REPEAT(102,"名字已经存在,请换一个再试",true), NICKNAME_REPEAT(102,"名字已经存在,请换一个再试",true),
NEW_PASSWORD_REPEAT_OLD(103,"新密码不能和旧密码相同",true), NEW_PASSWORD_REPEAT_OLD(103,"新密码不能和旧密码相同",true),
PASSWORD_ERROR(104,"密码错误",true), PASSWORD_ERROR(104,"密码错误",true),
NOT_ACCOUNT(105,"未找到该账号",true), NOT_ACCOUNT(105,"未找到该账号",true),

13
util/src/main/java/com/ccsens/util/WebConstant.java

@ -196,6 +196,18 @@ public class WebConstant {
this.phase = thePhase; this.phase = thePhase;
} }
} }
public enum ROLE_POWER {
NOT_POWER((byte) 0,"只能查看"), LOOK_POWER((byte) 1,"只能查看"),
OPERATION_POWER((byte) 2,"操作权限"),ADMIN_POWER((byte)3,"管理权限"),MAX_POWER((byte)4,"最高权限");
public byte value;
public String phase;
ROLE_POWER(byte value,String thePhase){
this.value =value;
this.phase = thePhase;
}
}
public enum TASK_VIRTUAL { public enum TASK_VIRTUAL {
Normal(0,"普通任务"), Virtual(1,"虚拟任务"); Normal(0,"普通任务"), Virtual(1,"虚拟任务");
public int value; public int value;
@ -243,6 +255,7 @@ public class WebConstant {
} }
} }
public enum CLIENT_TYPE { public enum CLIENT_TYPE {
Wxmp(0,"微信小程序"), H5(1,"网页"),Android(2 Wxmp(0,"微信小程序"), H5(1,"网页"),Android(2
,"安卓客户端"),IOS(3,"苹果客户端"), ,"安卓客户端"),IOS(3,"苹果客户端"),

Loading…
Cancel
Save