Browse Source

添加项目列表

tall3
zy_Java 4 years ago
parent
commit
0e4b5e6d7f
  1. 20
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java
  2. 11
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
  3. 8
      signin/src/main/java/com/ccsens/signin/api/ProjectController.java
  4. 21
      signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java
  5. 3
      signin/src/main/java/com/ccsens/signin/service/IProjectService.java
  6. 74
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  7. 4
      signin/src/main/resources/application.yml
  8. 52
      util/src/test/java/com/ccsens/util/PdfUtilTest.java

20
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java

@ -7,6 +7,7 @@ import lombok.Data;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* @author AUSU * @author AUSU
@ -22,4 +23,23 @@ public class ProjectDto {
@ApiModelProperty("新项目名字") @ApiModelProperty("新项目名字")
private String projectName; private String projectName;
} }
@Data
@ApiModel("添加项目信息")
public static class SaveProjectDto{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("父项目id")
private Long parentId;
@ApiModelProperty("项目名称")
private String name;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("接口访问地址")
private String url;
@ApiModelProperty("用户列表")
private Set<Long> userIdList;
}
} }

11
cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java

@ -277,6 +277,12 @@ public interface TallFeignClient {
@RequestMapping(value = "/tasks/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/tasks/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
JsonResponse startNode(TaskDto.StartTask param) throws Exception; JsonResponse startNode(TaskDto.StartTask param) throws Exception;
/**
* 保存WPS业务和文件记录
*/
@RequestMapping("/project/save")
JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto);
} }
@Slf4j @Slf4j
@ -464,6 +470,11 @@ class TallFeignClientFallBack implements FallbackFactory<TallFeignClient> {
public JsonResponse startNode(TaskDto.StartTask param) throws Exception { public JsonResponse startNode(TaskDto.StartTask param) throws Exception {
return JsonResponse.newInstance().fail(); return JsonResponse.newInstance().fail();
} }
@Override
public JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto) {
return JsonResponse.newInstance().fail();
}
}; };
} }

8
signin/src/main/java/com/ccsens/signin/api/ProjectController.java

@ -35,4 +35,12 @@ public class ProjectController {
return JsonResponse.newInstance().ok(projectList); return JsonResponse.newInstance().ok(projectList);
} }
@ApiOperation(value = "添加项目列表和项目用户关联信息", notes = "")
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveProjectList(@ApiParam @Validated @RequestBody ProjectDto.SaveProjectDto projectDto) throws Exception{
projectService.saveProjectList(projectDto);
return JsonResponse.newInstance().ok();
}
} }

21
signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java

@ -4,6 +4,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
import java.util.Set;
/** /**
* @author * @author
*/ */
@ -18,4 +21,22 @@ public class ProjectDto {
private Long endTime; private Long endTime;
} }
@Data
@ApiModel("添加项目信息")
public static class SaveProjectDto{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("父项目id")
private Long parentId;
@ApiModelProperty("项目名称")
private String name;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("接口访问地址")
private String url;
@ApiModelProperty("用户列表")
private Set<Long> userIdList;
}
} }

3
signin/src/main/java/com/ccsens/signin/service/IProjectService.java

@ -8,4 +8,7 @@ import java.util.List;
public interface IProjectService { public interface IProjectService {
List<ProjectVo.QueryProject> queryProjectList(ProjectDto.QueryProjectDto param, Long userId); List<ProjectVo.QueryProject> queryProjectList(ProjectDto.QueryProjectDto param, Long userId);
void saveProjectList(ProjectDto.SaveProjectDto projectDto);
} }

74
signin/src/main/java/com/ccsens/signin/service/ProjectService.java

@ -1,8 +1,16 @@
package com.ccsens.signin.service; package com.ccsens.signin.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import com.ccsens.signin.bean.dto.ProjectDto; import com.ccsens.signin.bean.dto.ProjectDto;
import com.ccsens.signin.bean.po.SysProjectList;
import com.ccsens.signin.bean.po.SysProjectListExample;
import com.ccsens.signin.bean.po.SysUserProject;
import com.ccsens.signin.bean.po.SysUserProjectExample;
import com.ccsens.signin.bean.vo.ProjectVo; import com.ccsens.signin.bean.vo.ProjectVo;
import com.ccsens.signin.persist.dao.ProjectDao; import com.ccsens.signin.persist.dao.ProjectDao;
import com.ccsens.signin.persist.mapper.SysProjectListMapper;
import com.ccsens.signin.persist.mapper.SysUserProjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
@ -20,9 +28,75 @@ import java.util.List;
public class ProjectService implements IProjectService{ public class ProjectService implements IProjectService{
@Resource @Resource
private ProjectDao projectDao; private ProjectDao projectDao;
@Resource
private SysProjectListMapper projectListMapper;
@Resource
private SysUserProjectMapper userProjectMapper;
@Resource
private Snowflake snowflake;
@Override @Override
public List<ProjectVo.QueryProject> queryProjectList(ProjectDto.QueryProjectDto param, Long userId) { public List<ProjectVo.QueryProject> queryProjectList(ProjectDto.QueryProjectDto param, Long userId) {
return projectDao.queryProjectList(param.getStartTime(),param.getEndTime(),userId); return projectDao.queryProjectList(param.getStartTime(),param.getEndTime(),userId);
} }
@Override
public void saveProjectList(ProjectDto.SaveProjectDto projectDto) {
//根据项目id查找以前是否已存在
SysProjectListExample projectListExample = new SysProjectListExample();
projectListExample.createCriteria().andProjectIdEqualTo(projectDto.getId());
List<SysProjectList> sysProjectLists = projectListMapper.selectByExample(projectListExample);
if(CollectionUtil.isNotEmpty(sysProjectLists)){
//存在则修改
SysProjectList project = sysProjectLists.get(0);
project.setName(projectDto.getName());
project.setParentProjectId(projectDto.getParentId());
project.setProjectStartTime(projectDto.getStartTime());
project.setProjectEndTime(projectDto.getEndTime());
project.setUrl(projectDto.getUrl());
projectListMapper.updateByPrimaryKeySelective(project);
//修改用户项目关联表,
if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){
//如果用户列表不为空,删除旧数据重新关联项目
SysUserProjectExample userProjectExample = new SysUserProjectExample();
userProjectExample.createCriteria().andProjectIdEqualTo(projectDto.getId());
List<SysUserProject> sysUserProjects = userProjectMapper.selectByExample(userProjectExample);
if(CollectionUtil.isNotEmpty(sysUserProjects)){
sysUserProjects.forEach(userProject -> {
userProject.setRecStatus((byte) 2);
userProjectMapper.updateByPrimaryKeySelective(userProject);
});
}
//添加
projectDto.getUserIdList().forEach(userId -> {
SysUserProject userProject = new SysUserProject();
userProject.setId(snowflake.nextId());
userProject.setProjectId(projectDto.getId());
userProject.setUserId(userId);
userProjectMapper.insertSelective(userProject);
});
}
}else {
//不存在则添加
SysProjectList project = new SysProjectList();
project.setId(snowflake.nextId());
project.setProjectId(projectDto.getId());
project.setName(projectDto.getName());
project.setParentProjectId(projectDto.getParentId());
project.setProjectStartTime(projectDto.getStartTime());
project.setProjectEndTime(projectDto.getEndTime());
project.setUrl(projectDto.getUrl());
projectListMapper.insertSelective(project);
//添加项目用户关联信息
if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){
projectDto.getUserIdList().forEach(userId -> {
SysUserProject userProject = new SysUserProject();
userProject.setId(snowflake.nextId());
userProject.setProjectId(projectDto.getId());
userProject.setUserId(userId);
userProjectMapper.insertSelective(userProject);
});
}
}
}
} }

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

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

52
util/src/test/java/com/ccsens/util/PdfUtilTest.java

@ -19,38 +19,38 @@ import java.util.Random;
* @create: 2019/12/20 10:18 * @create: 2019/12/20 10:18
*/ */
public class PdfUtilTest { public class PdfUtilTest {
@Test // @Test
public void test(){ // public void test(){
List<PdfUtil.Row> rows = new ArrayList<>(); // List<PdfUtil.Row> rows = new ArrayList<>();
//// for (int i = 0; i < 3; i++) {
//// PdfUtil.Cell cell = new PdfUtil.Cell();
//// cell.setContent("cell" + i);
//// PdfUtil.Row row = new PdfUtil.Row();
//// row.addCell(cell);
//// PdfUtil.Cell cell2 = new PdfUtil.Cell();
//// cell2.setContent("cell--" + i);
//// row.addCell(cell2);
//// rows.add(row);
//// }
// List<PdfUtil.Row> contents = new ArrayList<>();
// for (int i = 0; i < 3; i++) { // for (int i = 0; i < 3; i++) {
// PdfUtil.Cell cell = new PdfUtil.Cell(); // PdfUtil.Cell cell = new PdfUtil.Cell();
// cell.setContent("cell" + i); // cell.setRowSpan(2);
// cell.setContent("*******" + i);
// PdfUtil.Cell cell1 = new PdfUtil.Cell();
// cell1.setContent("*******==========" + i);
// PdfUtil.Row row = new PdfUtil.Row(); // PdfUtil.Row row = new PdfUtil.Row();
// row.addCell(cell); // row.addCell(cell);
// row.addCell(cell1);
// PdfUtil.Cell cell2 = new PdfUtil.Cell(); // PdfUtil.Cell cell2 = new PdfUtil.Cell();
// cell2.setContent("cell--" + i); // cell2.setContent("+++++++" + i);
// row.addCell(cell2); // PdfUtil.Row row2 = new PdfUtil.Row();
// rows.add(row); // row2.addCell(cell2);
// contents.add(row);
// contents.add(row2);
// } // }
List<PdfUtil.Row> contents = new ArrayList<>(); // PdfUtil.credatePdf("/home/", "山大一院","评测", rows, contents, new PdfUtil.Margin());
for (int i = 0; i < 3; i++) { // }
PdfUtil.Cell cell = new PdfUtil.Cell();
cell.setRowSpan(2);
cell.setContent("*******" + i);
PdfUtil.Cell cell1 = new PdfUtil.Cell();
cell1.setContent("*******==========" + i);
PdfUtil.Row row = new PdfUtil.Row();
row.addCell(cell);
row.addCell(cell1);
PdfUtil.Cell cell2 = new PdfUtil.Cell();
cell2.setContent("+++++++" + i);
PdfUtil.Row row2 = new PdfUtil.Row();
row2.addCell(cell2);
contents.add(row);
contents.add(row2);
}
PdfUtil.credatePdf("/home/", "山大一院","评测", rows, contents, new PdfUtil.Margin());
}
public static void main(String[] args) throws IOException, DocumentException { public static void main(String[] args) throws IOException, DocumentException {

Loading…
Cancel
Save