feat(REQ-3488): 提供项目内班组列表查询接口
This commit is contained in:
parent
69631d9981
commit
4109e0214f
@ -0,0 +1,27 @@
|
|||||||
|
package cn.axzo.orgmanax.api.project.team.feign;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组api
|
||||||
|
* 业务表
|
||||||
|
*/
|
||||||
|
@FeignClient(
|
||||||
|
value = "orgmanax",
|
||||||
|
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
|
||||||
|
public interface OrgProjectTeamApi {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表接口。
|
||||||
|
*/
|
||||||
|
@PostMapping("/api/org/project-team/list")
|
||||||
|
ApiResult<List<OrgProjectTeamDTO>> list(@RequestBody @Validated ListProjectTeamReq req);
|
||||||
|
}
|
||||||
@ -0,0 +1,107 @@
|
|||||||
|
package cn.axzo.orgmanax.dto.project.team.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class OrgProjectTeamDTO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作台ID
|
||||||
|
*/
|
||||||
|
private Long workspaceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包ID
|
||||||
|
*/
|
||||||
|
private Long entId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属单位ID
|
||||||
|
*/
|
||||||
|
private Long organizationalUnitId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属单位类型: 1:总包 4:专业分包 5:劳务分包
|
||||||
|
*/
|
||||||
|
private Integer organizationalUnitType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组组织节点ID
|
||||||
|
*/
|
||||||
|
private Long organizationalNodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目外班组id
|
||||||
|
*/
|
||||||
|
private Long platTeamId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长身份id
|
||||||
|
*/
|
||||||
|
private Long teamLeaderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:1-履约中 2-已退场 3-待履约
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组进场时间
|
||||||
|
*/
|
||||||
|
private Date joinAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组退场时间
|
||||||
|
*/
|
||||||
|
private Date resignAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工期要求开始时间
|
||||||
|
*/
|
||||||
|
private Date beginDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工期要求结束时间
|
||||||
|
*/
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组入驻编号(前端展示)
|
||||||
|
*/
|
||||||
|
private String settledCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否删除 0:否 其他:删除
|
||||||
|
*/
|
||||||
|
private Integer isDelete;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createAt;
|
||||||
|
|
||||||
|
private Date updateAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工人进场方式 1-普通进场 2-任务单进场
|
||||||
|
*/
|
||||||
|
private Integer enterProjectType = 1;
|
||||||
|
}
|
||||||
@ -1,11 +1,12 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.enums;
|
package cn.axzo.orgmanax.dto.project.team.enums;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description
|
* @description
|
||||||
|
|||||||
@ -0,0 +1,46 @@
|
|||||||
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
public class ListProjectTeamReq {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Set<Long> ids;
|
||||||
|
|
||||||
|
private Set<Integer> statusList;
|
||||||
|
|
||||||
|
private Long teamLeaderId;
|
||||||
|
|
||||||
|
private Set<Long> teamLeaderIds;
|
||||||
|
|
||||||
|
private Long platTeamId;
|
||||||
|
|
||||||
|
private Set<Long> platTeamIds;
|
||||||
|
|
||||||
|
private Long workspaceId;
|
||||||
|
|
||||||
|
private Set<Long> workspaceIds;
|
||||||
|
|
||||||
|
private Long organizationalNodeId;
|
||||||
|
|
||||||
|
private Set<Long> organizationalNodeIdList;
|
||||||
|
|
||||||
|
private Boolean includeDeleted;
|
||||||
|
|
||||||
|
private List<String> sort;
|
||||||
|
}
|
||||||
@ -9,7 +9,6 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ -63,11 +62,5 @@ public class ListUnitReq extends PageReqV2 {
|
|||||||
*/
|
*/
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
private Boolean includeDeleted;
|
private Boolean includeDeleted;
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
Integer page;
|
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
Integer pageSize;
|
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
List<String> sort;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.dao;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.mapper.OrgProjectTeamMapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class OrgProjectTeamDao extends ServiceImpl<OrgProjectTeamMapper, OrgProjectTeam> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,125 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.*;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组
|
||||||
|
*
|
||||||
|
* @since 2022-07-12
|
||||||
|
*/
|
||||||
|
@TableName(value = "org_project_team", autoResultMap = true)
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class OrgProjectTeam implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@TableId(
|
||||||
|
type = IdType.AUTO
|
||||||
|
)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作台ID
|
||||||
|
*/
|
||||||
|
private Long workspaceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包ID
|
||||||
|
*/
|
||||||
|
private Long entId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属单位ID
|
||||||
|
*/
|
||||||
|
private Long organizationalUnitId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属单位类型: 1:总包 4:专业分包 5:劳务分包
|
||||||
|
*/
|
||||||
|
private Integer organizationalUnitType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组组织节点ID
|
||||||
|
*/
|
||||||
|
private Long organizationalNodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目外班组id
|
||||||
|
*/
|
||||||
|
private Long platTeamId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长身份id
|
||||||
|
*/
|
||||||
|
private Long teamLeaderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:1-履约中 2-已退场 3-待履约
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组进场时间
|
||||||
|
*/
|
||||||
|
private Date joinAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组退场时间
|
||||||
|
*/
|
||||||
|
private Date resignAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工期要求开始时间
|
||||||
|
*/
|
||||||
|
private Date beginDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工期要求结束时间
|
||||||
|
*/
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组入驻编号(前端展示)
|
||||||
|
*/
|
||||||
|
private String settledCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工人进场方式 1-普通进场 2-任务单进场
|
||||||
|
*/
|
||||||
|
private Integer enterProjectType = 1;
|
||||||
|
|
||||||
|
private Integer syncState;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否删除 0否,其他是
|
||||||
|
*/
|
||||||
|
private Long isDelete = 0L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private Date updateAt;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.mapper;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface OrgProjectTeamMapper extends BaseMapper<OrgProjectTeam> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,119 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.repository;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
||||||
|
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||||
|
import cn.axzo.foundation.page.IPageReq;
|
||||||
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public interface OrgProjectTeamQueryRepository {
|
||||||
|
|
||||||
|
PageResp<OrgProjectTeamResp> page(ListReq paramReq);
|
||||||
|
|
||||||
|
default List<OrgProjectTeamResp> list(ListReq req) {
|
||||||
|
PageReq pageReq = BeanUtil.toBean(req, PageReq.class);
|
||||||
|
pageReq.setPage(1);
|
||||||
|
pageReq.setPageSize(1000);
|
||||||
|
return page(pageReq).getData();
|
||||||
|
}
|
||||||
|
|
||||||
|
default OrgProjectTeamResp one(OneReq req) {
|
||||||
|
return oneOpt(req).orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
default Optional<OrgProjectTeamResp> oneOpt(OneReq req) {
|
||||||
|
req.check();
|
||||||
|
PageReq page = BeanUtil.toBean(req, PageReq.class);
|
||||||
|
page.setPage(1);
|
||||||
|
page.setPageSize(1);
|
||||||
|
return page(page).getData().stream().findFirst();
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class OneReq {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id集合
|
||||||
|
*/
|
||||||
|
private Set<Long> ids;
|
||||||
|
|
||||||
|
public void check() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class ListReq extends PageReqV2 {
|
||||||
|
@CriteriaField
|
||||||
|
private Long id;
|
||||||
|
@CriteriaField(field = "id", operator = Operator.IN)
|
||||||
|
private Set<Long> ids;
|
||||||
|
@CriteriaField(field = "status", operator = Operator.IN)
|
||||||
|
private Set<Integer> statusList;
|
||||||
|
@CriteriaField
|
||||||
|
private Long teamLeaderId;
|
||||||
|
@CriteriaField(field = "teamLeaderId", operator = Operator.IN)
|
||||||
|
private Set<Long> teamLeaderIds;
|
||||||
|
@CriteriaField
|
||||||
|
private Long platTeamId;
|
||||||
|
@CriteriaField(field = "platTeamId", operator = Operator.IN)
|
||||||
|
private Set<Long> platTeamIds;
|
||||||
|
@CriteriaField
|
||||||
|
private Long workspaceId;
|
||||||
|
@CriteriaField(field = "workspaceId", operator = Operator.IN)
|
||||||
|
private Set<Long> workspaceIds;
|
||||||
|
@CriteriaField
|
||||||
|
private Long organizationalNodeId;
|
||||||
|
@CriteriaField(field = "organizationalNodeId", operator = Operator.IN)
|
||||||
|
private Set<Long> organizationalNodeIdList;
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Boolean includeDeleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class PageReq extends ListReq implements IPageReq {
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
Integer page;
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
Integer pageSize;
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
List<String> sort;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class OrgProjectTeamResp extends OrgProjectTeam {
|
||||||
|
// 按需扩展字段,占个位。避免报错
|
||||||
|
private String todo;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.repository.impl;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.dao.support.converter.PageConverter;
|
||||||
|
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.dao.OrgProjectTeamDao;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamQueryRepository;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.BooleanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
|
public class OrgProjectTeamQueryRepositoryImpl implements OrgProjectTeamQueryRepository {
|
||||||
|
|
||||||
|
private final OrgProjectTeamDao orgProjectTeamDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResp<OrgProjectTeamResp> page(ListReq req) {
|
||||||
|
IPage<OrgProjectTeam> page = PageConverter.toMybatis(req, OrgProjectTeam.class);
|
||||||
|
QueryWrapper<OrgProjectTeam> wrapper = QueryWrapperHelper.fromBean(req, OrgProjectTeam.class);
|
||||||
|
if (!BooleanUtil.isTrue(req.getIncludeDeleted())) {
|
||||||
|
wrapper.eq("is_delete", 0);
|
||||||
|
}
|
||||||
|
IPage<OrgProjectTeamQueryRepository.OrgProjectTeamResp> results = orgProjectTeamDao.page(page, wrapper).convert(e -> BeanUtil.toBean(e, OrgProjectTeamQueryRepository.OrgProjectTeamResp.class));
|
||||||
|
PageResp<OrgProjectTeamQueryRepository.OrgProjectTeamResp> resp = PageConverter.toResp(results);
|
||||||
|
List<OrgProjectTeamQueryRepository.OrgProjectTeamResp> records = resp.getData();
|
||||||
|
CollUtil.isEmpty(records);
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.controller;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamApi;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class OrgProjectTeamController implements OrgProjectTeamApi {
|
||||||
|
|
||||||
|
private final ProjectTeamService projectTeamService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<List<OrgProjectTeamDTO>> list(ListProjectTeamReq req) {
|
||||||
|
return ApiResult.success(projectTeamService.list(req));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.service;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProjectTeamService {
|
||||||
|
|
||||||
|
List<OrgProjectTeamDTO> list(ListProjectTeamReq req);
|
||||||
|
}
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.service.impl;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamQueryRepository;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamService;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2024/12/30
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class ProjectTeamServiceImpl implements ProjectTeamService {
|
||||||
|
|
||||||
|
private final OrgProjectTeamQueryRepository orgProjectTeamQueryRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrgProjectTeamDTO> list(ListProjectTeamReq req) {
|
||||||
|
OrgProjectTeamQueryRepository.ListReq listReq = BeanUtil.copyProperties(req, OrgProjectTeamQueryRepository.ListReq.class);
|
||||||
|
List<OrgProjectTeamQueryRepository.OrgProjectTeamResp> projectTeamResps = orgProjectTeamQueryRepository.list(listReq);
|
||||||
|
return BeanUtil.copyToList(projectTeamResps, OrgProjectTeamDTO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user