dd9558d6 by xiaojie

【数据资产】

开发主体增加附件和领域
1 parent cf1c0bf3
package com.csbr.qingcloud.portal.controller;
import com.csbr.cloud.common.response.CommonRes;
import csbr.cloud.entity.annotation.SystemLog;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentQueryVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRQVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @program:
* @description: 开发主体附件信息-控制器
* @author: makejava
* @create: 2025-09-05 13:50
**/
@RestController
@RequestMapping("/enterprise-attachment")
@Tag(name = "开发主体附件信息-控制器")
public class EnterpriseAttachmentController {
@Resource
private EnterpriseAttachmentService enterpriseAttachmentService;
//region 基本操作
@PostMapping("/save")
@SystemLog(value = "开发主体附件信息-新增")
@Operation(summary = "开发主体附件信息-新增")
public CommonRes<Boolean> saveEnterpriseAttachment(@RequestBody @Valid EnterpriseAttachmentRQVO vo) {
enterpriseAttachmentService.saveEnterpriseAttachment(vo);
return CommonRes.success(true);
}
@PutMapping("/update")
@SystemLog(value = "开发主体附件信息-修改")
@Operation(summary = "开发主体附件信息-修改")
public CommonRes<Boolean> updateEnterpriseAttachment(@RequestBody @Valid EnterpriseAttachmentRQVO vo) {
enterpriseAttachmentService.updateEnterpriseAttachment(vo);
return CommonRes.success(true);
}
@DeleteMapping("/delete")
@SystemLog(value = "开发主体附件信息-批量删除")
@Operation(summary = "开发主体附件信息-批量删除")
public CommonRes<Boolean> removeByGuids(@RequestBody List<String> guids) {
enterpriseAttachmentService.removeByGuids(guids);
return CommonRes.success(true);
}
@PostMapping("/page-list")
@SystemLog(value = "开发主体附件信息-分页")
@Operation(summary = "开发主体附件信息-分页")
public CommonRes<PageListVO<EnterpriseAttachmentRSVO>> pageList(@RequestBody @Valid EnterpriseAttachmentQueryVO queryVO) {
PageListVO<EnterpriseAttachmentRSVO> pageVO = enterpriseAttachmentService.pageList(queryVO);
return CommonRes.success(pageVO);
}
@GetMapping("/detail")
@SystemLog(value = "开发主体附件信息-详情")
@Operation(
summary = "开发主体附件信息-详情",
parameters = {
@Parameter(name = "guid", description = "开发主体附件信息唯一标识", required = true)}
)
public CommonRes<EnterpriseAttachmentRSVO> getEnterpriseAttachmentDetail(@RequestParam String guid) {
EnterpriseAttachmentRSVO vo = enterpriseAttachmentService.getEnterpriseAttachmentDetail(guid);
return CommonRes.success(vo);
}
@GetMapping("/get-fileUrl")
@SystemLog(value = "开发主体附件信息-查询文件Url地址")
@Operation(
summary = "开发主体附件信息-查询文件Url地址",
parameters = {
@Parameter(name = "fileId", description = "文件Id", required = true)},
hidden = true
)
public CommonRes<String> getFileUrl(@RequestParam String fileId) {
String fileUrl = enterpriseAttachmentService.getEnterpriseAttachmentUrl(fileId);
return CommonRes.success(fileUrl);
}
//endregion
}
package com.csbr.qingcloud.portal.controller;
import com.csbr.cloud.common.response.CommonRes;
import csbr.cloud.entity.annotation.SystemLog;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainQueryVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRQVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO;
import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @program:
* @description: 开发主体领域信息-控制器
* @author: makejava
* @create: 2025-09-12 11:02
**/
@RestController
@RequestMapping("/enterprise-domain")
@Tag(name = "开发主体领域信息-控制器")
public class EnterpriseDomainController {
@Resource
private EnterpriseDomainService enterpriseDomainService;
//region 基本操作
@PostMapping("/save")
@SystemLog(value = "开发主体领域信息-新增")
@Operation(summary = "开发主体领域信息-新增")
public CommonRes<Boolean> saveEnterpriseDomain(@RequestBody @Valid EnterpriseDomainRQVO vo) {
enterpriseDomainService.saveEnterpriseDomain(vo);
return CommonRes.success(true);
}
@PutMapping("/update")
@SystemLog(value = "开发主体领域信息-修改")
@Operation(summary = "开发主体领域信息-修改")
public CommonRes<Boolean> updateEnterpriseDomain(@RequestBody @Valid EnterpriseDomainRQVO vo) {
enterpriseDomainService.updateEnterpriseDomain(vo);
return CommonRes.success(true);
}
@DeleteMapping("/delete")
@SystemLog(value = "开发主体领域信息-批量删除")
@Operation(summary = "开发主体领域信息-批量删除")
public CommonRes<Boolean> removeByGuids(@RequestBody List<String> guids) {
enterpriseDomainService.removeByGuids(guids);
return CommonRes.success(true);
}
@PostMapping("/page-list")
@SystemLog(value = "开发主体领域信息-分页")
@Operation(summary = "开发主体领域信息-分页")
public CommonRes<PageListVO<EnterpriseDomainRSVO>> pageList(@RequestBody @Valid EnterpriseDomainQueryVO queryVO) {
PageListVO<EnterpriseDomainRSVO> pageVO = enterpriseDomainService.pageList(queryVO);
return CommonRes.success(pageVO);
}
@GetMapping("/detail")
@SystemLog(value = "开发主体领域信息-详情")
@Operation(
summary = "开发主体领域信息-详情",
parameters = {
@Parameter(name = "guid", description = "开发主体领域信息唯一标识", required = true)}
)
public CommonRes<EnterpriseDomainRSVO> getEnterpriseDomainDetail(@RequestParam String guid) {
EnterpriseDomainRSVO vo = enterpriseDomainService.getEnterpriseDomainDetail(guid);
return CommonRes.success(vo);
}
//endregion
}
package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @program:
......@@ -39,10 +39,17 @@ public class EnterpriseAttachmentRQVO {
private String enterpriseGuid;
/**
* 文件唯一标识
*/
@Schema(description = "文件唯一标识")
private String fileId;
/**
* 文件名称
*/
@Schema(description = "文件名称")
@Size(max = 50, message = "文件名称长度超过50")
@NotBlank(message = "文件名称为空.")
private String fileName;
/**
......@@ -50,6 +57,7 @@ public class EnterpriseAttachmentRQVO {
*/
@Schema(description = "文件类型【详情 开发主体附件类型数据字典】")
@Size(max = 10, message = "文件类型【详情 开发主体附件类型数据字典】长度超过10")
@NotBlank(message = "文件类型为空.")
private String fileType;
/**
......@@ -63,6 +71,7 @@ public class EnterpriseAttachmentRQVO {
*/
@Schema(description = "文件地址")
@Size(max = 500, message = "文件地址长度超过500")
@NotBlank(message = "文件地址为空.")
private String fileUrl;
/******** 库表存储属性 需处理 *****/
......
package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.common.annotations.SystemParamsDict;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @program:
......@@ -47,6 +47,13 @@ public class EnterpriseAttachmentRSVO {
private String fileType;
/**
* 文件类型名称
*/
@Schema(description = "文件类型名称")
@SystemParamsDict(dictTypeName = "文件类型", codeFieldName = "fileType")
private String fileTypeName;
/**
* 文件大小
*/
@Schema(description = "文件大小")
......
package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.Date;
/**
......@@ -24,13 +28,6 @@ public class EnterpriseDomainRQVO {
private String guid;
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
@Size(max = 32, message = "企业唯一标识长度超过32")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Schema(description = "企业认证唯一标识")
......@@ -42,6 +39,7 @@ public class EnterpriseDomainRQVO {
*/
@Schema(description = "领域代码")
@Size(max = 10, message = "领域代码长度超过10")
@NotBlank(message = "领域代码为空.")
private String domainId;
/**
......@@ -49,20 +47,23 @@ public class EnterpriseDomainRQVO {
*/
@Schema(description = "授权协议号")
@Size(max = 50, message = "授权协议号长度超过50")
@NotBlank(message = "授权协议号为空.")
private String authId;
/**
* 协议开始日期
*/
@Schema(description = "协议开始日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@NotNull(message = "协议开始日期为空.")
private Date domainStartTime;
/**
* 协议结束日期
*/
@Schema(description = "协议结束日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@NotNull(message = "协议结束日期为空.")
private Date domainEndTime;
/**
......@@ -70,6 +71,7 @@ public class EnterpriseDomainRQVO {
*/
@Schema(description = "协议签订人")
@Size(max = 20, message = "协议签订人长度超过20")
@NotBlank(message = "协议签订人为空.")
private String signee;
/**
......@@ -77,6 +79,8 @@ public class EnterpriseDomainRQVO {
*/
@Schema(description = "协议状态,如10【10-生效中;20-已终止】")
@Size(max = 10, message = "协议状态,如10【10-生效中;20-已终止】长度超过10")
@NotBlank(message = "协议状态为空.")
@Pattern(regexp = "^10|20$", message = "领域代码应该为10、20中的值。")
private String domainStatus;
/******** 库表存储属性 需处理 *****/
......
package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.csbr.cloud.common.annotations.SystemParamsDict;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
......@@ -39,6 +41,10 @@ public class EnterpriseDomainRSVO {
@Schema(description = "领域代码")
private String domainId;
@Schema(title = "领域名称")
@SystemParamsDict(dictTypeName = "领域", codeFieldName = "domainId")
private String domainIdName;
/**
* 授权协议号
*/
......@@ -71,6 +77,10 @@ public class EnterpriseDomainRSVO {
@Schema(description = "协议状态,如10【10-生效中;20-已终止】")
private String domainStatus;
@Schema(title = "协议状态名称")
@SystemParamsDict(dictTypeName = "协议状态", codeFieldName = "domainStatus")
private String domainStatusName;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......
......@@ -3,9 +3,11 @@ package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.Valid;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @program: D:/git/ms-data-circulation-portal-service
......@@ -175,10 +177,23 @@ public class EnterpriseRQVO extends FlowRQBaseVO {
@Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中; 默认 N】")
private String bizApproveState;
@Schema(description = "组织机构性质")
private String institutionType;
@Schema(description = "详细地址")
private String detailedAddress;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/******** 子对象 *****/
@Schema(description = "开发主体附件信息")
private List<EnterpriseAttachmentRQVO> attachmentRQVOS;
@Schema(description = "开发主体领域信息")
@Valid
private List<EnterpriseDomainRQVO> domainRQVOS;
}
......
package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.common.annotations.SystemParamsDict;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
......@@ -198,6 +199,16 @@ public class EnterpriseRSVO {
@Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
@Schema(description = "组织机构性质")
private String institutionType;
@Schema(description = "组织机构性质名称")
@SystemParamsDict(dictTypeName = "组织机构性质", codeFieldName = "institutionType")
private String institutionTypeName;
@Schema(description = "详细地址")
private String detailedAddress;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......@@ -216,4 +227,10 @@ public class EnterpriseRSVO {
/******** 子对象 *****/
@Schema(description = "开发主体附件信息返回参数")
private List<EnterpriseAttachmentRSVO> attachmentRSVOS;
@Schema(description = "开发主体领域信息返回参数")
private List<EnterpriseDomainRSVO> domainRSVOS;
}
......
package com.csbr.qingcloud.portal.feign;
import com.csbr.cloud.common.config.FastCallFeignConfiguration;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @program:
* @description: 公共服务调用
* @author: lixiang
* @create: 2023-11-07 17:55
**/
@FeignClient(value = "ms-daop-common-service", configuration = FastCallFeignConfiguration.class)
public interface DaopCommonFeign {
/**
* 下载文件流
* @param filePath
* @return
*/
@HystrixCommand(fallbackMethod = "CommonUtil.sleepFallback", commandProperties =
{
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "9000")
})
@RequestMapping(value = "/obs/download-file-stream",method = RequestMethod.GET, produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
ResponseEntity<ByteArrayResource> downloadFile(@RequestParam(value = "filePath", required = true) String filePath);
}
......@@ -187,4 +187,9 @@ public class MfEnterprise extends BaseDO {
@Name("业务审批状态")
private String bizApproveState;
@Name("组织机构性质")
private String institutionType;
@Name("详细地址")
private String detailedAddress;
}
......
......@@ -205,4 +205,10 @@ public class MfEnterpriseChangeApprove extends BaseDO {
@Name("数据类型")
private String dataType;
@Name("组织机构性质")
private String institutionType;
@Name("详细地址")
private String detailedAddress;
}
......
......@@ -83,4 +83,27 @@ public interface EnterpriseAttachmentService {
* @return
*/
String getEnterpriseAttachmentUrl(String fileId);
/**
* 批量新增开发主体附件信息
* @param attachmentRQVOS
* @param guid
* @param isRequired
*/
void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, Boolean isRequired);
/**
* 删除开发主体附件信息
* @param enterpriseGuids
*/
void removeByEnterpriseGuids(List<String> enterpriseGuids);
/**
* 批量修改开发主体附件信息
* @param attachmentRQVOS
* @param guid
* @param isRequired
*/
void batchUpdate(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, Boolean isRequired);
}
......
package com.csbr.qingcloud.portal.service;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainQueryVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRQVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import java.util.List;
......@@ -69,4 +69,23 @@ public interface EnterpriseDomainService {
*/
void removeHandleByGuids(List<String> guids);
/**
* 批量新增开发主体领域信息
* @param domainRQVOS
* @param guid
*/
void batchSave(List<EnterpriseDomainRQVO> domainRQVOS, String guid);
/**
* 删除开发主体领域信息
* @param enterpriseGuids
*/
void removeByEnterpriseGuids(List<String> enterpriseGuids);
/**
* 批量新增开发主体领域信息
* @param domainRQVOS
* @param guid
*/
void batchUpdate(List<EnterpriseDomainRQVO> domainRQVOS, String guid);
}
......
package com.csbr.qingcloud.portal.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
......@@ -8,6 +9,7 @@ import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import com.csbr.qingcloud.portal.domain.vo.dataExchange.*;
import com.csbr.qingcloud.portal.feign.DaopCommonFeign;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import csbr.cloud.entity.domain.base.vo.PageListVO;
......@@ -17,18 +19,27 @@ import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseAttachment;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseAttachmentService;
import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
import csbr.cloud.entity.domain.easyexcel.MockMultipartFile;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
/**
* @program:
......@@ -57,6 +68,9 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
@Resource
private MfEnterpriseService mfEnterpriseService;
@Resource
private DaopCommonFeign daopCommonFeign;
/**
* 开发主体附件信息分页查询
* @author makejava
......@@ -266,6 +280,59 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
return null;
}
@Override
@Transactional
public void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, Boolean isRequired) {
if (ObjectUtils.isNotEmpty(attachmentRQVOS)) {
List<MfEnterpriseAttachment> attachmentList = new ArrayList<>();
for (EnterpriseAttachmentRQVO attachmentRQVO : attachmentRQVOS) {
attachmentRQVO.setEnterpriseGuid(guid);
// 获取文件大小
// 下载文件流
String fileUrl = attachmentRQVO.getFileUrl();
String url = URLDecoder.decode(fileUrl.split("\\?AccessKeyId")[0], StandardCharsets.UTF_8);
String fileName = attachmentRQVO.getFileName().split("\\.")[0];
MultipartFile multipartFile = null;
ResponseEntity<ByteArrayResource> responseEntity = daopCommonFeign.downloadFile(url);
if (HttpStatus.OK.equals(responseEntity.getStatusCode()) && ObjectUtils.isNotEmpty(responseEntity.getBody())) {
multipartFile = new MockMultipartFile(fileName, fileName, "application/octet-stream", responseEntity.getBody().getByteArray());
}
if (multipartFile == null || multipartFile.isEmpty()) {
attachmentRQVO.setFileSize(BigDecimal.ZERO);
} else {
attachmentRQVO.setFileSize(BigDecimal.valueOf(multipartFile.getSize() / 1024.0));
}
attachmentRQVO.setFileId("enterprise_" + CommonUtil.newGuid().toUpperCase(Locale.ROOT));
MfEnterpriseAttachment mfEnterpriseAttachment = convertToEntity(attachmentRQVO);
mfEnterpriseAttachmentService.csbrAddEntity(mfEnterpriseAttachment);
attachmentList.add(mfEnterpriseAttachment);
}
mfEnterpriseAttachmentService.saveBatch(attachmentList);
}
}
@Transactional
@Override
public void removeByEnterpriseGuids(List<String> enterpriseGuids) {
if (CollectionUtils.isEmpty(enterpriseGuids)) {
return;
}
LambdaUpdateWrapper<MfEnterpriseAttachment> updateWrapper = Wrappers.lambdaUpdate(MfEnterpriseAttachment.class);
updateWrapper.in(MfEnterpriseAttachment::getEnterpriseGuid, enterpriseGuids);
mfEnterpriseAttachmentService.remove(updateWrapper);
}
@Override
@Transactional
public void batchUpdate(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, Boolean isRequired) {
// 删除开发主体附件信息
removeByEnterpriseGuids(Collections.singletonList(guid));
// 批量新增开发主体附件信息
batchSave(attachmentRQVOS, guid, isRequired);
}
/**
* 开发主体附件信息新新增前置处理
* @author makejava
......
package com.csbr.qingcloud.portal.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
......@@ -16,6 +18,7 @@ import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -180,6 +183,42 @@ public class EnterpriseDomainServiceImpl implements EnterpriseDomainService {
}
}
@Override
@Transactional
public void batchSave(List<EnterpriseDomainRQVO> domainRQVOS, String guid) {
if (ObjectUtils.isNotEmpty(domainRQVOS)) {
List<MfEnterpriseDomain> enterpriseDomains = new ArrayList<>();
for (EnterpriseDomainRQVO enterpriseDomainRQVO : domainRQVOS) {
MfEnterpriseDomain entity = convertToEntity(enterpriseDomainRQVO);
entity.setEnterpriseGuid(guid);
mfEnterpriseDomainService.csbrAddEntity(entity);
enterpriseDomains.add(entity);
}
mfEnterpriseDomainService.saveBatch(enterpriseDomains);
}
}
@Transactional
@Override
public void removeByEnterpriseGuids(List<String> enterpriseGuids) {
if (CollectionUtils.isEmpty(enterpriseGuids)) {
return;
}
LambdaUpdateWrapper<MfEnterpriseDomain> updateWrapper = Wrappers.lambdaUpdate(MfEnterpriseDomain.class);
updateWrapper.in(MfEnterpriseDomain::getEnterpriseGuid, enterpriseGuids);
mfEnterpriseDomainService.remove(updateWrapper);
}
@Override
@Transactional
public void batchUpdate(List<EnterpriseDomainRQVO> domainRQVOS, String guid) {
// 删除开发主体附件信息
removeByEnterpriseGuids(Collections.singletonList(guid));
// 批量新增开发主体附件信息
batchSave(domainRQVOS, guid);
}
/**
* 开发主体领域信息新新增前置处理
* @author makejava
......
......@@ -31,6 +31,8 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
import com.csbr.qingcloud.portal.util.DateUtil;
......@@ -45,6 +47,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -70,6 +73,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
private static final String SysFuncCode = "QYRZ";
@Value("${enterpriseAttachment.isRequired:false}")
private Boolean isRequired;
@Autowired
private ZQConfig zqConfig;
......@@ -106,6 +112,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
@Resource
private ConfigureFeign configureFeign;
@Resource
private EnterpriseAttachmentService enterpriseAttachmentService;
@Resource
private EnterpriseDomainService enterpriseDomainService;
/**
* 企业信息分页查询
* @author xcq
......@@ -785,6 +797,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
enterpriseChangeApprove.setSourceGuid(entity.getGuid());
enterpriseChangeApprove.setDataType("0");
mfEnterpriseChangeApproveService.save(enterpriseChangeApprove);
// 新增附件信息
List<EnterpriseAttachmentRQVO> attachmentRQVOS = rqVO.getAttachmentRQVOS();
enterpriseAttachmentService.batchSave(attachmentRQVOS, entity.getGuid(), isRequired);
// 新增领域信息
List<EnterpriseDomainRQVO> domainRQVOS = rqVO.getDomainRQVOS();
enterpriseDomainService.batchSave(domainRQVOS, entity.getGuid());
}
/**
......@@ -855,6 +875,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
enterpriseChangeApprove.setSourceGuid(entity.getGuid());
enterpriseChangeApprove.setDataType("0");
mfEnterpriseChangeApproveService.updateById(enterpriseChangeApprove);
// 新增附件信息
List<EnterpriseAttachmentRQVO> attachmentRQVOS = rqVO.getAttachmentRQVOS();
enterpriseAttachmentService.batchUpdate(attachmentRQVOS, entity.getGuid(), isRequired);
// 新增领域信息
List<EnterpriseDomainRQVO> domainRQVOS = rqVO.getDomainRQVOS();
enterpriseDomainService.batchUpdate(domainRQVOS, entity.getGuid());
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!