feat: (REQ-3300) 变更单详情加上发起人头像/发起人岗位/发起人公司
This commit is contained in:
parent
692d1f3e37
commit
3f260a9823
@ -70,7 +70,10 @@ public class FeignConfig implements RequestInterceptor, EnvironmentAware {
|
|||||||
@Value("${attendanceUrl:http://dev-app.axzo.cn/attendance}")
|
@Value("${attendanceUrl:http://dev-app.axzo.cn/attendance}")
|
||||||
private String attendanceApi;
|
private String attendanceApi;
|
||||||
@Value("${thorUrl:http://dev-app.axzo.cn/thor}")
|
@Value("${thorUrl:http://dev-app.axzo.cn/thor}")
|
||||||
private String thorApi;
|
private String thorUrl;
|
||||||
|
@Value("${orgGateway:http://dev-app.axzo.cn/org-gateway}")
|
||||||
|
private String orgGatewayUrl;
|
||||||
|
|
||||||
private static String POD_NAMESPACE;
|
private static String POD_NAMESPACE;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@ -109,7 +112,8 @@ public class FeignConfig implements RequestInterceptor, EnvironmentAware {
|
|||||||
url = url.replace("http://karma:8080", karmaEnvUrl);
|
url = url.replace("http://karma:8080", karmaEnvUrl);
|
||||||
url = url.replace("http://data-collection:21200", dataCollectionUrl);
|
url = url.replace("http://data-collection:21200", dataCollectionUrl);
|
||||||
url = url.replace("http://attendance:8080", attendanceApi);
|
url = url.replace("http://attendance:8080", attendanceApi);
|
||||||
url = url.replace("http://thor:8080", thorApi);
|
url = url.replace("http://thor:8080", thorUrl);
|
||||||
|
url = url.replace("http://org-gateway:8080", orgGatewayUrl);
|
||||||
String profile = environment.getProperty("spring.profiles.active");
|
String profile = environment.getProperty("spring.profiles.active");
|
||||||
if(Objects.equals(profile, "test") && url.contains("dev-app.axzo.cn")) {
|
if(Objects.equals(profile, "test") && url.contains("dev-app.axzo.cn")) {
|
||||||
url = url.replace("dev-app", "test-api");
|
url = url.replace("dev-app", "test-api");
|
||||||
|
|||||||
@ -18,7 +18,7 @@ public enum VisaConfirmBizTypeEnum {
|
|||||||
|
|
||||||
CONFIRM("CONFIRM", "确认"),
|
CONFIRM("CONFIRM", "确认"),
|
||||||
CREATE("CREATE", "创建"),
|
CREATE("CREATE", "创建"),
|
||||||
APPROVE("CREATE", "审核"),
|
APPROVE("APPROVE", "审核"),
|
||||||
OTHER("OTHER", "其他"),
|
OTHER("OTHER", "其他"),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@ -54,6 +54,31 @@ public class VisaDetailByIdResponse {
|
|||||||
*/
|
*/
|
||||||
private String createName;
|
private String createName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起人头像
|
||||||
|
*/
|
||||||
|
private String createAvatarUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起人岗位名称
|
||||||
|
*/
|
||||||
|
private String createJobName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起人岗位code
|
||||||
|
*/
|
||||||
|
private String createJobCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起人单位名称
|
||||||
|
*/
|
||||||
|
private String createOuName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起人单位Id
|
||||||
|
*/
|
||||||
|
private Long createOuId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发起人Id
|
* 发起人Id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@ -23,6 +24,7 @@ import lombok.experimental.Accessors;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
@TableName(value = "visa_change_record_confirm", autoResultMap = true)
|
@TableName(value = "visa_change_record_confirm", autoResultMap = true)
|
||||||
public class ChangeRecordConfirm extends BaseEntity<ChangeRecordConfirm> {
|
public class ChangeRecordConfirm extends BaseEntity<ChangeRecordConfirm> {
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import cn.axzo.nanopart.visa.server.domain.ChangeRecordConfirm;
|
|||||||
import cn.axzo.nanopart.visa.server.dto.VisaConfirmDto;
|
import cn.axzo.nanopart.visa.server.dto.VisaConfirmDto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,7 +44,7 @@ public interface ChangeRecordConfirmService {
|
|||||||
/**
|
/**
|
||||||
* 变更签证Id获取map
|
* 变更签证Id获取map
|
||||||
*/
|
*/
|
||||||
List<VisaDetailByIdResponse.RelationOuAndPerson> listRelationByVisaId(Long visaId);
|
List<VisaDetailByIdResponse.RelationOuAndPerson> listRelationByVisaId(List<ChangeRecordConfirm> list);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件查询
|
* 根据条件查询
|
||||||
@ -74,4 +75,9 @@ public interface ChangeRecordConfirmService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<VisaChangeApproveCreateReq.ApprovePersonInfo> listAllConfirmByVisaId(Long visaId);
|
List<VisaChangeApproveCreateReq.ApprovePersonInfo> listAllConfirmByVisaId(Long visaId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建公司的Map,orgIdAndNameMap,key:ouId,value:ouName
|
||||||
|
*/
|
||||||
|
Map<Long, String> buildOrgIdAndNameMap(Set<Long> ouIdSet);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -179,12 +179,7 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
* 变更签证Id获取map
|
* 变更签证Id获取map
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VisaDetailByIdResponse.RelationOuAndPerson> listRelationByVisaId(Long visaId) {
|
public List<VisaDetailByIdResponse.RelationOuAndPerson> listRelationByVisaId(List<ChangeRecordConfirm> list) {
|
||||||
// 1 查询相关确认人
|
|
||||||
VisaConfirmDto dto = VisaConfirmDto.builder()
|
|
||||||
.visaId(visaId)
|
|
||||||
.bizType(VisaConfirmBizTypeEnum.CONFIRM).build();
|
|
||||||
List<ChangeRecordConfirm> list = this.findByCondition(dto);
|
|
||||||
if (CollectionUtils.isEmpty(list)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
@ -204,7 +199,7 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
/**
|
/**
|
||||||
* 构建公司的Map,orgIdAndNameMap,key:ouId,value:ouName
|
* 构建公司的Map,orgIdAndNameMap,key:ouId,value:ouName
|
||||||
*/
|
*/
|
||||||
private Map<Long, String> buildOrgIdAndNameMap(Set<Long> ouIdSet) {
|
public Map<Long, String> buildOrgIdAndNameMap(Set<Long> ouIdSet) {
|
||||||
if (CollectionUtils.isEmpty(ouIdSet)) {
|
if (CollectionUtils.isEmpty(ouIdSet)) {
|
||||||
return Maps.newHashMap();
|
return Maps.newHashMap();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import cn.axzo.basics.common.util.AssertUtil;
|
|||||||
import cn.axzo.basics.common.util.NumberUtil;
|
import cn.axzo.basics.common.util.NumberUtil;
|
||||||
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
|
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
|
||||||
import cn.axzo.basics.report.api.sheet.SheetWrapper;
|
import cn.axzo.basics.report.api.sheet.SheetWrapper;
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.framework.domain.ServiceException;
|
import cn.axzo.framework.domain.ServiceException;
|
||||||
import cn.axzo.framework.domain.web.result.PageData;
|
import cn.axzo.framework.domain.web.result.PageData;
|
||||||
import cn.axzo.im.center.api.vo.PersonAccountAttribute;
|
import cn.axzo.im.center.api.vo.PersonAccountAttribute;
|
||||||
@ -51,10 +52,11 @@ import cn.axzo.nanopart.visa.server.mapper.ChangeRecordDao;
|
|||||||
import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway;
|
import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway;
|
import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway;
|
import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.VisaProjectApiGateway;
|
import cn.axzo.nanopart.visa.server.rpc.OrganizationalUnitGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway;
|
import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.VisaOrganizationalNodeUserGateway;
|
import cn.axzo.nanopart.visa.server.rpc.VisaOrganizationalNodeUserGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway;
|
import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway;
|
||||||
|
import cn.axzo.nanopart.visa.server.rpc.VisaProjectApiGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway;
|
import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway;
|
||||||
import cn.axzo.nanopart.visa.server.rpc.WorkspaceGateway;
|
import cn.axzo.nanopart.visa.server.rpc.WorkspaceGateway;
|
||||||
import cn.axzo.nanopart.visa.server.service.ChangeRecordBillService;
|
import cn.axzo.nanopart.visa.server.service.ChangeRecordBillService;
|
||||||
@ -63,6 +65,9 @@ import cn.axzo.nanopart.visa.server.service.ChangeRecordLogService;
|
|||||||
import cn.axzo.nanopart.visa.server.service.ChangeRecordRelationService;
|
import cn.axzo.nanopart.visa.server.service.ChangeRecordRelationService;
|
||||||
import cn.axzo.nanopart.visa.server.service.ChangeRecordService;
|
import cn.axzo.nanopart.visa.server.service.ChangeRecordService;
|
||||||
import cn.axzo.nanopart.visa.server.service.VisaHelper;
|
import cn.axzo.nanopart.visa.server.service.VisaHelper;
|
||||||
|
import cn.axzo.orggateway.api.nodeuser.dto.OrgNodeUserDTO;
|
||||||
|
import cn.axzo.orggateway.api.nodeuser.req.ListOrgNodeUserReq;
|
||||||
|
import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq;
|
||||||
import cn.axzo.thor.client.model.DrawingMajorResp;
|
import cn.axzo.thor.client.model.DrawingMajorResp;
|
||||||
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
|
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
|
||||||
@ -71,6 +76,7 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.lang.Pair;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
@ -183,6 +189,12 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
@Resource
|
@Resource
|
||||||
private VisaHelper visaHelper;
|
private VisaHelper visaHelper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OrganizationalUnitGateway organizationalUnitGateway;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private VisaOrganizationalNodeUserGateway visaOrganizationalNodeUserGateway;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态变更
|
* 状态变更
|
||||||
@ -320,6 +332,10 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
ProjectDetailRes projectDetailRes = visaProjectApiGateway.getProjectById(visa.getRelationProject());
|
ProjectDetailRes projectDetailRes = visaProjectApiGateway.getProjectById(visa.getRelationProject());
|
||||||
GetDetailRes workspace = workspaceGateway.getById(visa.getRelationWorkspaceId());
|
GetDetailRes workspace = workspaceGateway.getById(visa.getRelationWorkspaceId());
|
||||||
|
|
||||||
|
// 1 查询相关确认人
|
||||||
|
Pair<List<ChangeRecordConfirm>, ChangeRecordConfirm> pair = this.buildConfirmCreate(visaId);
|
||||||
|
|
||||||
|
OrgNodeUserDTO orgNodeUserDTO = this.getOrgNodeUserDTO(pair.getValue().getPersonId(), pair.getValue().getOuId(), pair.getValue().getWorkspaceId());
|
||||||
|
|
||||||
return VisaDetailByIdResponse.builder()
|
return VisaDetailByIdResponse.builder()
|
||||||
.visaId(visaId)
|
.visaId(visaId)
|
||||||
@ -327,6 +343,11 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
.type(visa.getType()) //单据类型,DESIGN_CHANGE:设计变更,TECHNOLOGY_APPROVED:技术核定,PROJECT_VISA:工程签证
|
.type(visa.getType()) //单据类型,DESIGN_CHANGE:设计变更,TECHNOLOGY_APPROVED:技术核定,PROJECT_VISA:工程签证
|
||||||
.reason(visa.getReason()) //发生原因
|
.reason(visa.getReason()) //发生原因
|
||||||
.createName(profile.getRealName()) //发起人姓名
|
.createName(profile.getRealName()) //发起人姓名
|
||||||
|
.createAvatarUrl(profile.getAvatarUrl()) // 发起人头像
|
||||||
|
.createJobCode((Objects.nonNull(orgNodeUserDTO) && Objects.nonNull(orgNodeUserDTO.getJob())) ? orgNodeUserDTO.getJob().getCode() : "") // 发起人岗位code
|
||||||
|
.createJobName((Objects.nonNull(orgNodeUserDTO) && Objects.nonNull(orgNodeUserDTO.getJob())) ? orgNodeUserDTO.getJob().getName() : "") // 发起人岗位名称
|
||||||
|
.createOuName((Objects.nonNull(orgNodeUserDTO) && Objects.nonNull(orgNodeUserDTO.getUnit())) ? orgNodeUserDTO.getUnit().getName() : "") //发起人单位名称
|
||||||
|
.createOuId((Objects.nonNull(orgNodeUserDTO) && Objects.nonNull(orgNodeUserDTO.getUnit())) ? orgNodeUserDTO.getUnit().getId() : 0l) // 发起人单位
|
||||||
.createBy(visa.getCreateBy()) //发起人Id
|
.createBy(visa.getCreateBy()) //发起人Id
|
||||||
.happenTime(Objects.nonNull(visa.getHappenTime()) ? DateUtil.format(visa.getHappenTime(), "yyyy-MM-dd") : "") // 提出时间
|
.happenTime(Objects.nonNull(visa.getHappenTime()) ? DateUtil.format(visa.getHappenTime(), "yyyy-MM-dd") : "") // 提出时间
|
||||||
.approvalCompleteTime(Objects.nonNull(visa.getApprovalCompleteTime()) ? DateUtil.format(visa.getApprovalCompleteTime(), "yyyy-MM-dd HH:mm:ss") : "") //最终审批时间
|
.approvalCompleteTime(Objects.nonNull(visa.getApprovalCompleteTime()) ? DateUtil.format(visa.getApprovalCompleteTime(), "yyyy-MM-dd HH:mm:ss") : "") //最终审批时间
|
||||||
@ -336,7 +357,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
.relationProjectName((Objects.nonNull(projectDetailRes) && Objects.nonNull(projectDetailRes.getProjectInfo())) ? projectDetailRes.getProjectInfo().getName() : "") // 工程名称
|
.relationProjectName((Objects.nonNull(projectDetailRes) && Objects.nonNull(projectDetailRes.getProjectInfo())) ? projectDetailRes.getProjectInfo().getName() : "") // 工程名称
|
||||||
.relationWorkspaceId(visa.getRelationWorkspaceId()) // 项目Id
|
.relationWorkspaceId(visa.getRelationWorkspaceId()) // 项目Id
|
||||||
.relationWorkspaceName(Objects.nonNull(workspace) ? workspace.getName() : "") // 项目名称
|
.relationWorkspaceName(Objects.nonNull(workspace) ? workspace.getName() : "") // 项目名称
|
||||||
.relationOuAndPersonList(changeRecordConfirmService.listRelationByVisaId(visaId)) // 相关单位与确认人
|
.relationOuAndPersonList(changeRecordConfirmService.listRelationByVisaId(pair.getKey())) // 相关单位与确认人
|
||||||
.relationTaskList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.TASK)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.TASK)) // 关联任务单
|
.relationTaskList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.TASK)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.TASK)) // 关联任务单
|
||||||
.relationRectifyList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.RECTIFY)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.RECTIFY)) //关联整改单
|
.relationRectifyList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.RECTIFY)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.RECTIFY)) //关联整改单
|
||||||
.relationVisaList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.VISA)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.VISA)) // 关联变更单
|
.relationVisaList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.VISA)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.VISA)) // 关联变更单
|
||||||
@ -347,6 +368,42 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建确认人集合与发起人
|
||||||
|
*/
|
||||||
|
private Pair<List<ChangeRecordConfirm>, ChangeRecordConfirm> buildConfirmCreate(Long visaId) {
|
||||||
|
VisaConfirmDto dto = VisaConfirmDto.builder()
|
||||||
|
.visaId(visaId).build();
|
||||||
|
List<ChangeRecordConfirm> list = this.changeRecordConfirmService.findByCondition(dto);
|
||||||
|
List<ChangeRecordConfirm> confirmList = list.stream().filter(item -> item.getBizType() == VisaConfirmBizTypeEnum.CONFIRM).collect(Collectors.toList());
|
||||||
|
List<ChangeRecordConfirm> createList = list.stream().filter(item -> item.getBizType() == VisaConfirmBizTypeEnum.CREATE).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(confirmList)) {
|
||||||
|
confirmList = Lists.newArrayList();
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isEmpty(createList)) {
|
||||||
|
return Pair.of(confirmList, ChangeRecordConfirm.builder().build());
|
||||||
|
}
|
||||||
|
return Pair.of(confirmList, createList.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 综合获取基础信息
|
||||||
|
*/
|
||||||
|
private OrgNodeUserDTO getOrgNodeUserDTO(Long personId, Long ouId, Long workspaceId) {
|
||||||
|
if (Objects.isNull(personId) || Objects.isNull(ouId) || Objects.isNull(workspaceId)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
PageResp<OrgNodeUserDTO> pageResp = visaOrganizationalNodeUserGateway.list(ListOrgNodeUserReq.builder()
|
||||||
|
.personId(personId)
|
||||||
|
.organizationalUnitId(ouId)
|
||||||
|
.workspaceId(workspaceId)
|
||||||
|
.needs(ListNodeUserReq.Needs.builder().job(true).unit(true).personProfile(true).build()).build());
|
||||||
|
if (Objects.isNull(pageResp) || CollectionUtils.isEmpty(pageResp.getData())) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pageResp.getData().get(0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建上传文件对象集合
|
* 构建上传文件对象集合
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user