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:
* @program:
* @description: 开发主体附件信息新增、修改参数
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -16,59 +16,68 @@ import java.util.Date;
@Data
@Schema(title = "开发主体附件信息新增、修改参数")
public class EnterpriseAttachmentRQVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
@Size(max = 32, message = "系统唯一标识长度超过32")
private String guid;
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
@Size(max = 32, message = "企业唯一标识长度超过32")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Schema(description = "企业认证唯一标识")
@Size(max = 32, message = "企业认证唯一标识长度超过32")
private String enterpriseGuid;
/**
* 文件唯一标识
*/
@Schema(description = "文件唯一标识")
private String fileId;
/**
* 文件名称
*/
@Schema(description = "文件名称")
@Size(max = 50, message = "文件名称长度超过50")
@NotBlank(message = "文件名称为空.")
private String fileName;
/**
* 文件类型【详情 开发主体附件类型数据字典】
*/
@Schema(description = "文件类型【详情 开发主体附件类型数据字典】")
@Size(max = 10, message = "文件类型【详情 开发主体附件类型数据字典】长度超过10")
@NotBlank(message = "文件类型为空.")
private String fileType;
/**
* 文件大小
*/
@Schema(description = "文件大小")
private BigDecimal fileSize;
/**
* 文件地址
*/
@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:
* @program:
* @description: 开发主体附件信息返回参数
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -15,53 +15,60 @@ import java.util.Date;
@Data
@Schema(title = "开发主体附件信息返回参数")
public class EnterpriseAttachmentRSVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
private String guid;
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Schema(description = "企业认证唯一标识")
private String enterpriseGuid;
/**
* 文件名称
*/
@Schema(description = "文件名称")
private String fileName;
/**
* 文件类型【详情 开发主体附件类型数据字典】
*/
@Schema(description = "文件类型【详情 开发主体附件类型数据字典】")
private String fileType;
/**
* 文件类型名称
*/
@Schema(description = "文件类型名称")
@SystemParamsDict(dictTypeName = "文件类型", codeFieldName = "fileType")
private String fileTypeName;
/**
* 文件大小
*/
@Schema(description = "文件大小")
private BigDecimal fileSize;
/**
* 文件地址
*/
@Schema(description = "文件地址")
private String fileUrl;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/******** 子对象 *****/
}
......
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;
/**
* @program:
* @program:
* @description: 开发主体领域信息新增、修改参数
* @author: makejava
* @create: 2025-09-12 11:02
......@@ -15,74 +19,74 @@ import java.util.Date;
@Data
@Schema(title = "开发主体领域信息新增、修改参数")
public class EnterpriseDomainRQVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
@Size(max = 32, message = "系统唯一标识长度超过32")
private String guid;
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
@Size(max = 32, message = "企业唯一标识长度超过32")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Schema(description = "企业认证唯一标识")
@Size(max = 32, message = "企业认证唯一标识长度超过32")
private String enterpriseGuid;
/**
* 领域代码
*/
@Schema(description = "领域代码")
@Size(max = 10, message = "领域代码长度超过10")
@NotBlank(message = "领域代码为空.")
private String domainId;
/**
* 授权协议号
*/
@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;
/**
* 协议签订人
*/
@Schema(description = "协议签订人")
@Size(max = 20, message = "协议签订人长度超过20")
@NotBlank(message = "协议签订人为空.")
private String signee;
/**
* 协议状态,如10【10-生效中;20-已终止】
*/
@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;
/**
* @program:
* @program:
* @description: 开发主体领域信息返回参数
* @author: makejava
* @create: 2025-09-12 11:02
......@@ -14,67 +16,75 @@ import java.util.Date;
@Data
@Schema(title = "开发主体领域信息返回参数")
public class EnterpriseDomainRSVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
private String guid;
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Schema(description = "企业认证唯一标识")
private String enterpriseGuid;
/**
* 领域代码
*/
@Schema(description = "领域代码")
private String domainId;
@Schema(title = "领域名称")
@SystemParamsDict(dictTypeName = "领域", codeFieldName = "domainId")
private String domainIdName;
/**
* 授权协议号
*/
@Schema(description = "授权协议号")
private String authId;
/**
* 协议开始日期
*/
@Schema(description = "协议开始日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date domainStartTime;
/**
* 协议结束日期
*/
@Schema(description = "协议结束日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date domainEndTime;
/**
* 协议签订人
*/
@Schema(description = "协议签订人")
private String signee;
/**
* 协议状态,如10【10-生效中;20-已终止】
*/
@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
......@@ -27,158 +29,171 @@ public class EnterpriseRQVO extends FlowRQBaseVO {
@Schema(title = "专区名称")
private String zqName;
/**
* 统一社会信用代码
*/
@Schema(description = "统一社会信用代码")
private String socialCreditCode;
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Schema(description = "企业类型【选择平台字典【公司类型】的选项】")
private String tenantType;
/**
* 注册日期
*/
@Schema(description = "注册日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date registrationDate;
/**
* 注册资本【(万元)】
*/
@Schema(description = "注册资本【(万元)】")
private BigDecimal registeredCapital;
/**
* 税号
*/
@Schema(description = "税号")
private String bankTaxNo;
/**
* 省
*/
@Schema(description = "省")
private String province;
/**
* 市
*/
@Schema(description = "市")
private String city;
/**
* 区
*/
@Schema(description = "区")
private String district;
/**
* 营业期限【1 长期有效;2 自定义】
*/
@Schema(description = "营业期限【1 长期有效;2 自定义】")
private String businessLicenseTerm;
/**
* 营业开始日期
*/
@Schema(description = "营业开始日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date businessLicenseStartDate;
/**
* 营业结束日期
*/
@Schema(description = "营业结束日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date businessLicenseEndDate;
/**
* 营业执照
*/
@Schema(description = "营业执照")
private String businessLicenseJson;
/**
* 营业执照经营范围
*/
@Schema(description = "营业执照经营范围")
private String businessLicenseScope;
/**
* 公司法人
*/
@Schema(description = "公司法人")
private String juridicalPerson;
/**
* 法人证件类型
*/
@Schema(description = "法人证件类型")
private String juridicalPersonIdType;
/**
* 法人证件号
*/
@Schema(description = "法人证件号")
private String juridicalPersonId;
/**
* 法人证件照
*/
@Schema(description = "法人证件照")
private String juridicalPersonIdPhotoJson;
/**
* 登录账号
*/
@Schema(description = "登录账号")
private String logonUser;
/**
* 联系人
*/
@Schema(description = "联系人")
private String contacts;
/**
* 联系人电话
*/
@Schema(description = "联系人电话")
private String contactTel;
/**
* 管理员证件号
*/
@Schema(description = "管理员证件号")
private String managerPersonId;
/**
* 管理员证件照
*/
@Schema(description = "管理员证件照")
private String managerPersonIdPhotoJson;
/**
* 授权委托书
*/
@Schema(description = "授权委托书")
private String authorizationLetter;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@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;
......@@ -17,7 +18,7 @@ import java.util.List;
@Data
@Schema(title = "企业信息返回参数")
public class EnterpriseRSVO {
/**
* 系统唯一标识
*/
......@@ -32,50 +33,50 @@ public class EnterpriseRSVO {
*/
@Schema(description = "公司名称")
private String tenantName;
/**
* 统一社会信用代码
*/
@Schema(description = "统一社会信用代码")
private String socialCreditCode;
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Schema(description = "企业类型【选择平台字典【公司类型】的选项】")
private String tenantType;
/**
* 注册日期
*/
@Schema(description = "注册日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date registrationDate;
/**
* 注册资本【(万元)】
*/
@Schema(description = "注册资本【(万元)】")
private BigDecimal registeredCapital;
/**
* 税号
*/
@Schema(description = "税号")
private String bankTaxNo;
/**
* 省
*/
@Schema(description = "省")
private String province;
/**
* 市
*/
@Schema(description = "市")
private String city;
/**
* 区
*/
......@@ -84,20 +85,20 @@ public class EnterpriseRSVO {
@Schema(description = "注册地")
private String venue;
/**
* 营业期限【1 长期有效;2 自定义】
*/
@Schema(description = "营业期限【1 长期有效;2 自定义】")
private String businessLicenseTerm;
/**
* 营业开始日期
*/
@Schema(description = "营业开始日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date businessLicenseStartDate;
/**
* 营业结束日期
*/
......@@ -107,79 +108,79 @@ public class EnterpriseRSVO {
@Schema(description = "营业日期范围")
private String businessLicenseStartEnd;
/**
* 营业执照
*/
@Schema(description = "营业执照")
private String businessLicenseJson;
/**
* 营业执照经营范围
*/
@Schema(description = "营业执照经营范围")
private String businessLicenseScope;
/**
* 公司法人
*/
@Schema(description = "公司法人")
private String juridicalPerson;
/**
* 法人证件类型
*/
@Schema(description = "法人证件类型")
private String juridicalPersonIdType;
/**
* 法人证件号
*/
@Schema(description = "法人证件号")
private String juridicalPersonId;
/**
* 法人证件照
*/
@Schema(description = "法人证件照")
private String juridicalPersonIdPhotoJson;
/**
* 登录账号
*/
@Schema(description = "登录账号")
private String logonUser;
/**
* 联系人
*/
@Schema(description = "联系人")
private String contacts;
/**
* 联系人电话
*/
@Schema(description = "联系人电话")
private String contactTel;
/**
* 管理员证件号
*/
@Schema(description = "管理员证件号")
private String managerPersonId;
/**
* 管理员证件照
*/
@Schema(description = "管理员证件照")
private String managerPersonIdPhotoJson;
/**
* 授权委托书
*/
@Schema(description = "授权委托书")
private String authorizationLetter;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
......@@ -197,11 +198,21 @@ 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;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/**
* 审批信息
*/
......@@ -213,7 +224,13 @@ public class EnterpriseRSVO {
@Schema(description = "变更前信息列表")
private List<ChangeInfoVO> beforeChangeList;
/******** 子对象 *****/
@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);
}
......@@ -26,149 +26,149 @@ public class MfEnterprise extends BaseDO {
private String tenantGuid;
/**
* 公司名称
*/
* 公司名称
*/
@Name("公司名称")
private String tenantName;
/**
* 统一社会信用代码
*/
* 统一社会信用代码
*/
@Name("统一社会信用代码")
private String socialCreditCode;
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Name("企业类型")
private String tenantType;
/**
* 注册日期
*/
* 注册日期
*/
@Name("注册日期")
private Date registrationDate;
/**
* 注册资本【(万元)】
*/
* 注册资本【(万元)】
*/
@Name("注册资本")
private BigDecimal registeredCapital;
/**
* 税号
*/
* 税号
*/
@Name("税号")
private String bankTaxNo;
/**
* 省
*/
* 省
*/
@Name("省")
private String province;
/**
* 市
*/
* 市
*/
@Name("市")
private String city;
/**
* 区
*/
* 区
*/
@Name("区")
private String district;
/**
* 营业期限【1 长期有效;2 自定义】
*/
* 营业期限【1 长期有效;2 自定义】
*/
@Name("营业期限")
private String businessLicenseTerm;
/**
* 营业开始日期
*/
* 营业开始日期
*/
@Name("营业开始日期")
private Date businessLicenseStartDate;
/**
* 营业结束日期
*/
* 营业结束日期
*/
@Name("营业结束日期")
private Date businessLicenseEndDate;
/**
* 营业执照
*/
* 营业执照
*/
@Name("营业执照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String businessLicenseJson;
/**
* 经营范围
*/
* 经营范围
*/
@Name("经营范围")
private String businessLicenseScope;
/**
* 公司法人
*/
* 公司法人
*/
@Name("公司法人")
private String juridicalPerson;
/**
* 法人证件类型
*/
* 法人证件类型
*/
@Name("法人证件类型")
private String juridicalPersonIdType;
/**
* 法人证件号
*/
* 法人证件号
*/
@Name("法人证件号")
private String juridicalPersonId;
/**
* 法人证件照
*/
* 法人证件照
*/
@Name("法人证件照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String juridicalPersonIdPhotoJson;
/**
* 登录账号
*/
* 登录账号
*/
@Name("登录账号")
private String logonUser;
/**
* 联系人
*/
* 联系人
*/
@Name("联系人")
private String contacts;
/**
* 联系人电话
*/
* 联系人电话
*/
@Name("联系人电话")
private String contactTel;
/**
* 管理员证件号
*/
* 管理员证件号
*/
@Name("管理员证件号")
private String managerPersonId;
/**
* 管理员证件照
*/
* 管理员证件照
*/
@Name("管理员证件照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String managerPersonIdPhotoJson;
/**
* 授权委托书
*/
* 授权委托书
*/
@Name("授权委托书")
private String authorizationLetter;
......@@ -180,11 +180,16 @@ public class MfEnterprise extends BaseDO {
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name("业务审批状态")
private String bizApproveState;
@Name("组织机构性质")
private String institutionType;
@Name("详细地址")
private String detailedAddress;
}
......
......@@ -26,167 +26,167 @@ public class MfEnterpriseChangeApprove extends BaseDO {
private String tenantGuid;
/**
* 公司名称
*/
* 公司名称
*/
@Name("公司名称")
private String tenantName;
/**
* 统一社会信用代码
*/
* 统一社会信用代码
*/
@Name("统一社会信用代码")
private String socialCreditCode;
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Name("企业类型")
private String tenantType;
/**
* 注册日期
*/
* 注册日期
*/
@Name("注册日期")
private Date registrationDate;
/**
* 注册资本【(万元)】
*/
* 注册资本【(万元)】
*/
@Name("注册资本")
private BigDecimal registeredCapital;
/**
* 税号
*/
* 税号
*/
@Name("税号")
private String bankTaxNo;
/**
* 省
*/
* 省
*/
@Name("省")
private String province;
/**
* 市
*/
* 市
*/
@Name("市")
private String city;
/**
* 区
*/
* 区
*/
@Name("区")
private String district;
/**
* 营业期限【1 长期有效;2 自定义】
*/
* 营业期限【1 长期有效;2 自定义】
*/
@Name("营业期限")
private String businessLicenseTerm;
/**
* 营业开始日期
*/
* 营业开始日期
*/
@Name("营业开始日期")
private Date businessLicenseStartDate;
/**
* 营业结束日期
*/
* 营业结束日期
*/
@Name("营业结束日期")
private Date businessLicenseEndDate;
/**
* 营业执照
*/
* 营业执照
*/
@Name("营业执照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String businessLicenseJson;
/**
* 营业执照经营范围
*/
* 营业执照经营范围
*/
@Name("营业执照经营范围")
private String businessLicenseScope;
/**
* 公司法人
*/
* 公司法人
*/
@Name("公司法人")
private String juridicalPerson;
/**
* 法人证件类型
*/
* 法人证件类型
*/
@Name("法人证件类型")
private String juridicalPersonIdType;
/**
* 法人证件号
*/
* 法人证件号
*/
@Name("法人证件号")
private String juridicalPersonId;
/**
* 法人证件照
*/
* 法人证件照
*/
@Name("法人证件照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String juridicalPersonIdPhotoJson;
/**
* 登录账号
*/
* 登录账号
*/
@Name("登录账号")
private String logonUser;
/**
* 联系人
*/
* 联系人
*/
@Name("联系人")
private String contacts;
/**
* 联系人电话
*/
* 联系人电话
*/
@Name("联系人电话")
private String contactTel;
/**
* 管理员证件号
*/
* 管理员证件号
*/
@Name("管理员证件号")
private String managerPersonId;
/**
* 管理员证件照
*/
* 管理员证件照
*/
@Name("管理员证件照")
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String managerPersonIdPhotoJson;
/**
* 授权委托书
*/
* 授权委托书
*/
@Name("授权委托书")
private String authorizationLetter;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name("业务审批状态")
private String bizApproveState;
/**
* 审批流唯一标识
*/
* 审批流唯一标识
*/
@Name("审批流唯一标识")
private String approveGuid;
/**
* 原数据唯一标识
*/
* 原数据唯一标识
*/
@Name("原数据唯一标识")
private String sourceGuid;
......@@ -198,11 +198,17 @@ public class MfEnterpriseChangeApprove extends BaseDO {
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/**
* 数据类型【数据类型 1原数据 2新数据 0认证表数据】
*/
* 数据类型【数据类型 1原数据 2新数据 0认证表数据】
*/
@Name("数据类型")
private String dataType;
@Name("组织机构性质")
private String institutionType;
@Name("详细地址")
private String detailedAddress;
}
......
......@@ -9,7 +9,7 @@ import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
import java.util.List;
/**
* @program:
* @program:
* @description: 开发主体附件信息业务逻辑接口
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -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;
/**
* @program:
* @program:
* @description: 开发主体领域信息业务逻辑接口
* @author: makejava
* @create: 2025-09-12 11:02
......@@ -68,5 +68,24 @@ public interface EnterpriseDomainService {
* @return void
*/
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,21 +19,30 @@ 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:
* @program:
* @description: 开发主体附件信息业务逻辑实现
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -39,7 +50,7 @@ import java.util.List;
@Slf4j
@Service
public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentService {
/**
* 功能名称
*/
......@@ -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
......@@ -422,7 +489,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
* @return void
*/
private void beforeQuery(EnterpriseAttachmentQueryVO rqQueryVO) {
}
/**
......@@ -470,7 +537,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
}
return voList;
}
/**
* 开发主体附件信息实体数据转换为视图对象数据
* @author makejava
......@@ -500,5 +567,5 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
}
//endregion
}
......
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!