0988b67d by xu

Merge branch 'develop-v1.0.6' into feature-tds-v1.0.0

# Conflicts:
#	src/main/java/com/csbr/qingcloud/portal/service/EnterpriseService.java
2 parents 21fc2263 2be08149
Showing 25 changed files with 1147 additions and 349 deletions
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
}
......@@ -129,6 +129,19 @@ public class EnterpriseController {
enterpriseService.moveOldData(vo);
return CommonRes.success(true);
}
@PostMapping("/list-by-tenant-guids")
@SystemLog(value = "企业信息-根据会员guids查询企业信息")
public CommonRes<List<EnterpriseRSVO>> listByTenantGuids(@RequestBody List<String> guids) {
List<EnterpriseRSVO> vo = enterpriseService.listByTenantGuids(guids);
return CommonRes.success(vo);
}
@GetMapping("/update-identity-state")
@SystemLog(value = "企业信息-修改身份状态")
public CommonRes<Boolean> updateIdentityState(@RequestParam String logonUser, @RequestParam String identityState) {
return CommonRes.success(enterpriseService.updateIdentityState(logonUser, identityState));
}
//endregion
......
package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: ms-zcgl-system-manager-service
* @description: TODO
* @author: lixiang
* @create: 2023-10-19 16:28
**/
@Data
public class DataDictDetailVO {
/** 系统唯一标识 */
@Schema(title="系统唯一标识")
private String guid;
/** 参数名称 */
@Schema(title="参数名称")
private String paramName;
/** 参数编码 */
@Schema(title="参数编码")
private String paramCode;
/** 参数类型(用途归类) */
@Schema(title="参数类型(用途归类)")
private String paramType;
/** 参数值 */
@Schema(title="参数值")
private String paramValue;
/** 排序 */
@Schema(title="排序")
private Integer orderNum;
}
package com.csbr.qingcloud.portal.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: @program:
* @description: 数据字典返回对象
* @author: csbrAuthor
* @create: 2023-08-25
**/
@Data
@Schema(title="数据字典返回对象")
public class DataDictVO {
/** 系统唯一标识 */
@Schema(title="系统唯一标识")
private String guid;
/** 参数类型(用途归类) */
@Schema(title="参数类型(用途归类)")
private String paramType;
/** 参数编码 */
@Schema(title="参数编码")
private String paramCode;
/** 参数名称 */
@Schema(title="参数名称")
private String paramName;
/** 描述 */
@Schema(title="描述")
private String remarks;
/** 参数值 */
@Schema(title="参数值")
private String paramValue;
/** 排序 */
@Schema(title="排序")
private Integer orderNum;
/** 修改姓名 */
@Schema(title="修改姓名")
private String updateUserName;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(title="修改时间")
private String updateTime;
@Schema(title="系统参数子明细")
List<DataDictDetailVO> detailVOList;
}
\ No newline at end of file
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 csbr.cloud.entity.domain.base.dto.BasePageDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.util.Date;
/**
* @program:
* @description: 开发主体领域信息查询参数
* @author: makejava
* @create: 2025-09-12 11:02
**/
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(title = "开发主体领域信息查询参数")
public class EnterpriseDomainQueryVO extends BasePageDTO {
}
package com.csbr.qingcloud.portal.domain.vo;
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:
* @description: 开发主体领域信息新增、修改参数
* @author: makejava
* @create: 2025-09-12 11:02
**/
@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 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(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@NotNull(message = "协议开始日期为空.")
private Date domainStartTime;
/**
* 协议结束日期
*/
@Schema(description = "协议结束日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@NotNull(message = "协议结束日期为空.")
private Date domainEndTime;
/**
* 协议签订日期
*/
@Schema(description = "协议签订日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@NotNull(message = "协议签订日期为空.")
private Date domainSignTime;
/**
* 协议签订人
*/
@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 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:
* @description: 开发主体领域信息返回参数
* @author: makejava
* @create: 2025-09-12 11:02
**/
@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", timezone = "GMT+8")
private Date domainStartTime;
/**
* 协议结束日期
*/
@Schema(description = "协议结束日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date domainEndTime;
/**
* 协议签订日期
*/
@Schema(description = "协议签订日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date domainSignTime;
/**
* 协议签订人
*/
@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;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/******** 子对象 *****/
}
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 io.swagger.v3.oas.annotations.media.Schema;
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,185 @@ 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 String industry;
@Schema(description = "行业小类")
private String industrySmallcode;
@Schema(description = "授权方式")
private String authorizationMethod = "2";
@Schema(description = "身份状态")
private String identityState = "N";
@Schema(description = "经办人证件类型")
private String handlePersonIdType;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/******** 子对象 *****/
@Schema(description = "开发主体附件信息")
private List<EnterpriseAttachmentRQVO> attachmentRQVOS;
@Schema(description = "开发主体领域信息")
private List<EnterpriseDomainRQVO> domainRQVOS;
}
......
package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.csbr.cloud.common.annotations.SystemParamsDict;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
......@@ -17,7 +19,7 @@ import java.util.List;
@Data
@Schema(title = "企业信息返回参数")
public class EnterpriseRSVO {
/**
* 系统唯一标识
*/
......@@ -32,50 +34,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 +86,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 +109,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 +199,61 @@ 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;
@Schema(description = "行业分类")
private String industry;
@Schema(description = "行业分类名称")
@SystemParamsDict(dictTypeName = "行业分类", codeFieldName = "industry")
private String industryName;
@Schema(description = "行业小类")
private String industrySmallcode;
@Schema(description = "行业小类名称")
@SystemParamsDict(dictTypeName = "行业分类", codeFieldName = "industrySmallcode")
private String industrySmallcodeName;
@Schema(description = "认证方式")
private String authenticationMethod;
@Schema(description = "认证状态")
private String authenticationState;
@Schema(description = "认证时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date authenticationTime;
@Schema(description = "认证等级")
private String authenticationLevel;
@Schema(description = "身份状态")
private String identityState;
@Schema(description = "授权方式")
private String authorizationMethod;
@Schema(description = "经办人证件类型")
private String handlePersonIdType;
@Schema(description = "经办人证件类型名称")
@SystemParamsDict(dictTypeName = "证件类型", codeFieldName = "handlePersonIdType")
private String handlePersonIdTypeName;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/**
* 审批信息
*/
......@@ -213,7 +265,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,43 @@ 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;
@Name("行业分类")
private String industry;
@Name("行业小类")
private String industrySmallcode;
@Name("认证方式")
private String authenticationMethod;
@Name("认证状态")
private String authenticationState;
@Name("认证时间")
private Date authenticationTime;
@Name("认证等级")
private String authenticationLevel;
@Name("身份状态")
private String identityState;
@Name("授权方式")
private String authorizationMethod;
@Name("经办人证件类型")
private String handlePersonIdType;
}
......
......@@ -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,44 @@ 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;
@Name("行业分类")
private String industry;
@Name("行业小类")
private String industrySmallcode;
@Name("认证方式")
private String authenticationMethod;
@Name("认证状态")
private String authenticationState;
@Name("认证时间")
private Date authenticationTime;
@Name("认证等级")
private String authenticationLevel;
@Name("身份状态")
private String identityState;
@Name("授权方式")
private String authorizationMethod;
@Name("经办人证件类型")
private String handlePersonIdType;
}
......
package com.csbr.qingcloud.portal.mybatis.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import csbr.cloud.entity.domain.base.dao.BaseDO;
import jdk.jfr.Name;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @program:
* @description: 开发主体领域信息实体
* @author: makejava
* @create: 2025-09-12 11:02
**/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Name("开发主体领域信息")
public class MfEnterpriseDomain extends BaseDO {
/**
* 企业唯一标识
*/
@Name("企业唯一标识")
private String tenantGuid;
/**
* 企业认证唯一标识
*/
@Name("企业认证唯一标识")
private String enterpriseGuid;
/**
* 领域代码
*/
@Name("领域代码")
private String domainId;
/**
* 授权协议号
*/
@Name("授权协议号")
private String authId;
/**
* 协议开始日期
*/
@Name("协议开始日期")
private Date domainStartTime;
/**
* 协议结束日期
*/
@Name("协议结束日期")
private Date domainEndTime;
/**
*
*/
@Name("协议签订日期")
private Date domainSignTime;
/**
* 协议签订人
*/
@Name("协议签订人")
private String signee;
/**
* 协议状态,如10【10-生效中;20-已终止】
*/
@Name("协议状态,如10【10-生效中;20-已终止】")
private String domainStatus;
}
package com.csbr.qingcloud.portal.mybatis.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
/**
* @program:
* @description: 开发主体领域信息 Mapper 接口
* @author: makejava
* @create: 2025-09-12 11:02
**/
@Mapper
public interface MfEnterpriseDomainMapper extends BaseMapper<MfEnterpriseDomain> {
}
package com.csbr.qingcloud.portal.mybatis.service;
import com.csbr.cloud.base.service.CsbrService;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
/**
* @program:
* @description: 开发主体领域信息逻辑层接口
* @author: makejava
* @create: 2025-09-12 11:02
**/
public interface MfEnterpriseDomainService extends CsbrService<MfEnterpriseDomain> {
}
package com.csbr.qingcloud.portal.mybatis.service.impl;
import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl;
import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseDomainMapper;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseDomainService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @program:
* @description: 开发主体领域信息逻辑层接口实现
* @author: makejava
* @create: 2025-09-12 11:02
**/
@Service
public class MfEnterpriseDomainServiceImpl extends CsbrServiceImpl<MfEnterpriseDomainMapper, MfEnterpriseDomain> implements MfEnterpriseDomainService {
@Resource
private MfEnterpriseDomainMapper mfEnterpriseDomainMapper;
}
package com.csbr.qingcloud.portal.service;
import com.csbr.qingcloud.portal.domain.vo.dataExchange.*;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
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 java.util.List;
import java.util.Map;
/**
* @program:
* @program:
* @description: 开发主体附件信息业务逻辑接口
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -83,4 +85,36 @@ public interface EnterpriseAttachmentService {
* @return
*/
String getEnterpriseAttachmentUrl(String fileId);
/**
* 批量新增开发主体附件信息
* @param attachmentRQVOS
* @param guid
* @param tenantGuid
* @param isRequired
*/
void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired);
/**
* 删除开发主体附件信息
* @param enterpriseGuids
*/
void removeByEnterpriseGuids(List<String> enterpriseGuids);
/**
* 批量修改开发主体附件信息
* @param attachmentRQVOS
* @param guid
* @param tenantGuid
* @param isRequired
*/
void batchUpdate(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired);
/**
* 根据企业认证guid查询附件信息
* @param enterpriseGuids
* @return
*/
Map<String, List<EnterpriseAttachmentRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids);
}
......
package com.csbr.qingcloud.portal.service;
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;
import java.util.Map;
/**
* @program:
* @description: 开发主体领域信息业务逻辑接口
* @author: makejava
* @create: 2025-09-12 11:02
**/
public interface EnterpriseDomainService {
/**
* 开发主体领域信息分页查询
* @author makejava
* @date 2025-09-12 11:02
* @param queryVO
* @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO>
*/
PageListVO<EnterpriseDomainRSVO> pageList(EnterpriseDomainQueryVO queryVO);
/**
* 开发主体领域信息获取详情数据
* @author makejava
* @date 2025-09-12 11:02
* @param guid
* @return com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO
*/
EnterpriseDomainRSVO getEnterpriseDomainDetail(String guid);
/**
* 开发主体领域信息数据新增
* @author makejava
* @date 2025-09-12 11:02
* @param rqVO
* @return boolean
*/
void saveEnterpriseDomain(EnterpriseDomainRQVO rqVO);
/**
* 开发主体领域信息数据修改
* @author makejava
* @date 2025-09-12 11:02
* @param rqVO
* @return boolean
*/
void updateEnterpriseDomain(EnterpriseDomainRQVO rqVO);
/**
* 开发主体领域信息数据删除
* @author makejava
* @date 2025-09-12 11:02
* @param guids
* @return void
*/
void removeByGuids(List<String> guids);
/**
* 开发主体领域信息数据删除、并有相关的处理操作
* @author makejava
* @date 2025-09-12 11:02
* @param guids
* @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);
/**
* 根据企业认证guid查询企业领域信息
* @param enterpriseGuids
* @return
*/
Map<String, List<EnterpriseDomainRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids);
}
......@@ -115,6 +115,21 @@ public interface EnterpriseService {
JSExchageCommonRes<JSExchagePageListVO<JSEnterpriseRSVO>> enterpriseData(JSBaseRQVO<JSEnterpriseQueryVO> queryVO);
/**
* 根据会员guids查询企业信息
* @param guids
* @return
*/
List<EnterpriseRSVO> listByTenantGuids(List<String> guids);
/**
* 企业信息-修改身份状态
* @param logonUser
* @param identityState
* @return
*/
Boolean updateIdentityState(String logonUser, String identityState);
/**
* 按名称或者统一社会信用代码查企业信息详情
* @param tenantName
* @param uscc
......
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,28 @@ 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.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
/**
* @program:
* @program:
* @description: 开发主体附件信息业务逻辑实现
* @author: makejava
* @create: 2025-09-05 13:50
......@@ -39,7 +48,7 @@ import java.util.List;
@Slf4j
@Service
public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentService {
/**
* 功能名称
*/
......@@ -57,6 +66,9 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
@Resource
private MfEnterpriseService mfEnterpriseService;
@Resource
private DaopCommonFeign daopCommonFeign;
/**
* 开发主体附件信息分页查询
* @author makejava
......@@ -266,6 +278,76 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
return null;
}
@Override
@Transactional
public void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired) {
if (ObjectUtils.isNotEmpty(attachmentRQVOS)) {
List<MfEnterpriseAttachment> attachmentList = new ArrayList<>();
for (EnterpriseAttachmentRQVO attachmentRQVO : attachmentRQVOS) {
attachmentRQVO.setGuid(null);
attachmentRQVO.setEnterpriseGuid(guid);
attachmentRQVO.setTenantGuid(tenantGuid);
// 获取文件大小
// 下载文件流
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, String tenantGuid, Boolean isRequired) {
// 删除开发主体附件信息
removeByEnterpriseGuids(Collections.singletonList(guid));
// 批量新增开发主体附件信息
batchSave(attachmentRQVOS, guid, tenantGuid, isRequired);
}
@Override
public Map<String, List<EnterpriseAttachmentRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids) {
if (ObjectUtils.isEmpty(enterpriseGuids)) {
return null;
}
LambdaQueryWrapper<MfEnterpriseAttachment> queryWrapper = Wrappers.lambdaQuery(MfEnterpriseAttachment.class);
queryWrapper.in(MfEnterpriseAttachment::getEnterpriseGuid, enterpriseGuids);
queryWrapper.orderByAsc(MfEnterpriseAttachment::getCreateTime);
List<MfEnterpriseAttachment> enterpriseAttachments = mfEnterpriseAttachmentService.list(queryWrapper);
if (ObjectUtils.isEmpty(enterpriseAttachments)) {
return null;
}
return convertToVO(enterpriseAttachments).stream().collect(Collectors.groupingBy(EnterpriseAttachmentRSVO::getEnterpriseGuid));
}
/**
* 开发主体附件信息新新增前置处理
* @author makejava
......@@ -422,7 +504,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
* @return void
*/
private void beforeQuery(EnterpriseAttachmentQueryVO rqQueryVO) {
}
/**
......@@ -470,7 +552,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
}
return voList;
}
/**
* 开发主体附件信息实体数据转换为视图对象数据
* @author makejava
......@@ -500,5 +582,5 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
}
//endregion
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!