feat(项目管理-项目):项目成员、项目仓库逻辑完善

This commit is contained in:
wanjia 2023-10-16 09:54:08 +08:00
parent e5513119b7
commit cb98c2097a
12 changed files with 231 additions and 17 deletions

View File

@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import com.ruoyi.pms.project.domain.vo.PmsProjectInputVo; import com.ruoyi.pms.project.domain.vo.PmsProjectInputVo;
import com.ruoyi.pms.project.domain.vo.PmsProjectSearchVo; import com.ruoyi.pms.project.domain.vo.PmsProjectSearchVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +35,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
*/ */
@RestController @RestController
@RequestMapping("/pmsProject") @RequestMapping("/pmsProject")
@Api(tags = "项目管理-项目相关接口")
public class PmsProjectController extends BaseController public class PmsProjectController extends BaseController
{ {
@Autowired @Autowired

View File

@ -0,0 +1,59 @@
package com.ruoyi.pms.project.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.pms.project.domain.vo.PmsProjectIssuesInputVo;
import com.ruoyi.pms.project.domain.vo.PmsProjectIssuesSearchVo;
import com.ruoyi.pms.project.service.PmsProjectIssuesService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 项目工作项Controller
*
* @author wanjia
* @date 2023-10-13
*/
@RestController
@RequestMapping("/pmsProjectIssues")
@Api(tags = "项目管理-项目工作项相关接口")
public class PmsProjectIssuesController extends BaseController {
@Autowired
private PmsProjectIssuesService pmsProjectIssuesService;
/**
* 查询项目工作项列表
*/
@RequiresPermissions("pms:pmsProjectIssues:list")
@GetMapping("/list")
public AjaxResult list(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo)
{
JSONObject result = pmsProjectIssuesService.selectPmsProjectIssuesList(pmsProjectIssuesSearchVo);
return success(result);
}
/**
* 新增项目工作项列表
*/
@RequiresPermissions("pms:pmsProjectIssues:add")
@PostMapping("/add")
public AjaxResult add(PmsProjectIssuesInputVo pmsProjectIssuesInputVo)
{
JSONObject result = pmsProjectIssuesService.insertPmsProjectIssues(pmsProjectIssuesInputVo);
return success(result);
}
}

View File

@ -1,8 +1,8 @@
package com.ruoyi.pms.project.controller; package com.ruoyi.pms.project.controller;
import java.util.List; import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -30,6 +30,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
*/ */
@RestController @RestController
@RequestMapping("/pmsProjectMembers") @RequestMapping("/pmsProjectMembers")
@Api(tags = "项目管理-项目成员接口")
public class PmsProjectMembersController extends BaseController public class PmsProjectMembersController extends BaseController
{ {
@Autowired @Autowired

View File

@ -1,8 +1,8 @@
package com.ruoyi.pms.project.controller; package com.ruoyi.pms.project.controller;
import java.util.List; import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -30,6 +30,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
*/ */
@RestController @RestController
@RequestMapping("/pmsProjectRepository") @RequestMapping("/pmsProjectRepository")
@Api(tags = "项目管理-项目仓库接口")
public class PmsProjectRepositoryController extends BaseController public class PmsProjectRepositoryController extends BaseController
{ {
@Autowired @Autowired

View File

@ -1,10 +1,10 @@
package com.ruoyi.pms.project.controller; package com.ruoyi.pms.project.controller;
import java.util.List; import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.pms.project.domain.vo.PmsProjectSprintInputVo; import com.ruoyi.pms.project.domain.vo.PmsProjectSprintInputVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -32,6 +32,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
*/ */
@RestController @RestController
@RequestMapping("/pmsProjectSprint") @RequestMapping("/pmsProjectSprint")
@Api(tags = "项目管理-项目迭代接口")
public class PmsProjectSprintController extends BaseController public class PmsProjectSprintController extends BaseController
{ {
@Autowired @Autowired

View File

@ -37,6 +37,8 @@ public class PmsProjectMembers extends BaseEntity
@Excel(name = "预留字段1") @Excel(name = "预留字段1")
private String reservedField1; private String reservedField1;
private Object projectMemberInfo;
public void setId(Long id) public void setId(Long id)
{ {
this.id = id; this.id = id;
@ -83,6 +85,14 @@ public class PmsProjectMembers extends BaseEntity
return reservedField1; return reservedField1;
} }
public Object getProjectMemberInfo() {
return projectMemberInfo;
}
public void setProjectMemberInfo(Object projectMemberInfo) {
this.projectMemberInfo = projectMemberInfo;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -91,6 +101,7 @@ public class PmsProjectMembers extends BaseEntity
.append("pmsProjectMemberId", getPmsProjectMemberId()) .append("pmsProjectMemberId", getPmsProjectMemberId())
.append("createdAt", getCreatedAt()) .append("createdAt", getCreatedAt())
.append("reservedField1", getReservedField1()) .append("reservedField1", getReservedField1())
.append("projectMemberInfo", getProjectMemberInfo())
.toString(); .toString();
} }
} }

View File

@ -54,6 +54,8 @@ public class PmsProjectRepository extends BaseEntity
@Excel(name = "预留字段2") @Excel(name = "预留字段2")
private String reservedField2; private String reservedField2;
private Object repositoryDetails;
public void setId(Long id) public void setId(Long id)
{ {
this.id = id; this.id = id;
@ -136,19 +138,28 @@ public class PmsProjectRepository extends BaseEntity
return reservedField2; return reservedField2;
} }
public Object getRepositoryDetails() {
return repositoryDetails;
}
public void setRepositoryDetails(Object repositoryDetails) {
this.repositoryDetails = repositoryDetails;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId()) .append("id", getId())
.append("pmsProjectId", getPmsProjectId()) .append("pmsProjectId", getPmsProjectId())
.append("projectRepositoryId", getProjectRepositoryId()) .append("projectRepositoryId", getProjectRepositoryId())
.append("isTop", getIsTop()) .append("isTop", getIsTop())
.append("createdAt", getCreatedAt()) .append("createdAt", getCreatedAt())
.append("createBy", getCreateBy()) .append("createBy", getCreateBy())
.append("updatedAt", getUpdatedAt()) .append("updatedAt", getUpdatedAt())
.append("isDeleted", getIsDeleted()) .append("isDeleted", getIsDeleted())
.append("reservedField1", getReservedField1()) .append("reservedField1", getReservedField1())
.append("reservedField2", getReservedField2()) .append("reservedField2", getReservedField2())
.toString(); .append("repositoryDetails", String.valueOf(getRepositoryDetails()))
.toString();
} }
} }

View File

@ -0,0 +1,43 @@
package com.ruoyi.pms.project.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ApiModel("项目工作项输入对象")
public class PmsProjectIssuesInputVo {
@ApiModelProperty(value = "工作项名称")
private String subject;
@ApiModelProperty(value = "负责人id")
private Long assigneeId;
@ApiModelProperty(value = "优先级")
private Integer priorityId;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "开始时间")
private Date startDate;
@ApiModelProperty(value = "结束时间")
private Date dueDate;
@ApiModelProperty(value = "附件ids")
private List<Long> attachmentIds;
@ApiModelProperty(value = "标记ids")
private List<Long> issueTagIds;
@ApiModelProperty(value = "状态")
private Integer statusId;
@ApiModelProperty(value = "工作项类型")
private Integer issueType;
}

View File

@ -0,0 +1,33 @@
package com.ruoyi.pms.project.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("项目工作项搜索对象")
public class PmsProjectIssuesSearchVo {
@ApiModelProperty(value = "状态 0关闭 1开启 2暂停")
private String status;
@ApiModelProperty(value = "负责人id")
private Long projectAssigneeId;
@ApiModelProperty(value = "项目名")
private String projectName;
@ApiModelProperty(value = "排序方式")
private String sortBy;
@ApiModelProperty(value = "排序方向")
private String sortDirection;
@ApiModelProperty(value = "页码")
private Integer page;
@ApiModelProperty(value = "分页数")
private Integer limit;
}

View File

@ -0,0 +1,29 @@
package com.ruoyi.pms.project.service;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.pms.project.domain.vo.PmsProjectIssuesInputVo;
import com.ruoyi.pms.project.domain.vo.PmsProjectIssuesSearchVo;
import org.springframework.stereotype.Service;
/**
* 项目工作项Service业务层处理
*
* @author wanjia
* @date 2023-10-13
*/
@Service
public class PmsProjectIssuesService {
public JSONObject selectPmsProjectIssuesList(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo) {
//todo 调用issue接口
return null;
}
public JSONObject insertPmsProjectIssues(PmsProjectIssuesInputVo pmsProjectIssuesInputVo) {
//todo 转换为issue入参
JSONObject issueObject = new JSONObject();
//todo 调用gitlink创建issue接口
return null;
}
}

View File

@ -1,6 +1,8 @@
package com.ruoyi.pms.project.service.impl; package com.ruoyi.pms.project.service.impl;
import java.util.List; import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.httpClient.util.GitLinkRequestHelper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.pms.project.mapper.PmsProjectMembersMapper; import com.ruoyi.pms.project.mapper.PmsProjectMembersMapper;
@ -19,6 +21,9 @@ public class PmsProjectMembersServiceImpl implements IPmsProjectMembersService
@Autowired @Autowired
private PmsProjectMembersMapper pmsProjectMembersMapper; private PmsProjectMembersMapper pmsProjectMembersMapper;
@Autowired
private GitLinkRequestHelper gitLinkRequestHelper;
/** /**
* 查询项目-成员 * 查询项目-成员
* *
@ -40,7 +45,13 @@ public class PmsProjectMembersServiceImpl implements IPmsProjectMembersService
@Override @Override
public List<PmsProjectMembers> selectPmsProjectMembersList(PmsProjectMembers pmsProjectMembers) public List<PmsProjectMembers> selectPmsProjectMembersList(PmsProjectMembers pmsProjectMembers)
{ {
return pmsProjectMembersMapper.selectPmsProjectMembersList(pmsProjectMembers); List<PmsProjectMembers> list = pmsProjectMembersMapper.selectPmsProjectMembersList(pmsProjectMembers);
for (PmsProjectMembers projectMember : list) {
//todo 调用gitlink查用户数据
JSONObject userInfo = gitLinkRequestHelper.doGet();
projectMember.setProjectMemberInfo(userInfo);
}
return list;
} }
/** /**

View File

@ -1,6 +1,9 @@
package com.ruoyi.pms.project.service.impl; package com.ruoyi.pms.project.service.impl;
import java.util.List; import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.httpClient.util.GitLinkRequestHelper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.pms.project.mapper.PmsProjectRepositoryMapper; import com.ruoyi.pms.project.mapper.PmsProjectRepositoryMapper;
@ -19,6 +22,9 @@ public class PmsProjectRepositoryServiceImpl implements IPmsProjectRepositorySer
@Autowired @Autowired
private PmsProjectRepositoryMapper pmsProjectRepositoryMapper; private PmsProjectRepositoryMapper pmsProjectRepositoryMapper;
@Autowired
private GitLinkRequestHelper gitLinkRequestHelper;
/** /**
* 查询项目-代码库 * 查询项目-代码库
* *
@ -40,7 +46,13 @@ public class PmsProjectRepositoryServiceImpl implements IPmsProjectRepositorySer
@Override @Override
public List<PmsProjectRepository> selectPmsProjectRepositoryList(PmsProjectRepository pmsProjectRepository) public List<PmsProjectRepository> selectPmsProjectRepositoryList(PmsProjectRepository pmsProjectRepository)
{ {
return pmsProjectRepositoryMapper.selectPmsProjectRepositoryList(pmsProjectRepository); List<PmsProjectRepository> list = pmsProjectRepositoryMapper.selectPmsProjectRepositoryList(pmsProjectRepository);
for (PmsProjectRepository pmsProjectRepo : list) {
//todo 调用gitlink查代码库数据
JSONObject repo = gitLinkRequestHelper.doGet();
pmsProjectRepo.setRepositoryDetails(repo);
}
return list;
} }
/** /**