企业库

This commit is contained in:
cwchen 2025-10-23 17:11:36 +08:00
parent 4eef37d7ef
commit ac021103b8
13 changed files with 82 additions and 17 deletions

View File

@ -10,10 +10,7 @@ import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
import com.bonus.common.enums.OperaType; import com.bonus.common.enums.OperaType;
import com.bonus.web.service.enterprise.EnterpriseService; import com.bonus.web.service.enterprise.EnterpriseService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -43,7 +40,7 @@ public class EnterpriseController extends BaseController {
} }
@ApiOperation(value = "主体库", notes = "新增主体库") @ApiOperation(value = "主体库", notes = "新增主体库")
@GetMapping("addData") @PostMapping("addData")
@SysLog(title = "主体库", module = "主体库->新增主体库", businessType = OperaType.INSERT, details = "新增主体库", logType = 1) @SysLog(title = "主体库", module = "主体库->新增主体库", businessType = OperaType.INSERT, details = "新增主体库", logType = 1)
@RequiresPermissions("enterpriseLibrary:enterprise:add") @RequiresPermissions("enterpriseLibrary:enterprise:add")
public AjaxResult addData(@RequestBody EnterpriseDto dto) { public AjaxResult addData(@RequestBody EnterpriseDto dto) {
@ -51,7 +48,7 @@ public class EnterpriseController extends BaseController {
} }
@ApiOperation(value = "主体库", notes = "修改主体库") @ApiOperation(value = "主体库", notes = "修改主体库")
@GetMapping("editData") @PostMapping("editData")
@SysLog(title = "主体库", module = "主体库->修改主体库", businessType = OperaType.UPDATE, details = "修改主体库", logType = 1) @SysLog(title = "主体库", module = "主体库->修改主体库", businessType = OperaType.UPDATE, details = "修改主体库", logType = 1)
@RequiresPermissions("enterpriseLibrary:enterprise:edit") @RequiresPermissions("enterpriseLibrary:enterprise:edit")
public AjaxResult editData(@RequestBody EnterpriseDto dto) { public AjaxResult editData(@RequestBody EnterpriseDto dto) {
@ -59,7 +56,7 @@ public class EnterpriseController extends BaseController {
} }
@ApiOperation(value = "主体库", notes = "删除主体库") @ApiOperation(value = "主体库", notes = "删除主体库")
@GetMapping("delData") @PostMapping("delData")
@SysLog(title = "主体库", module = "主体库->删除主体库", businessType = OperaType.DELETE, details = "删除主体库", logType = 1) @SysLog(title = "主体库", module = "主体库->删除主体库", businessType = OperaType.DELETE, details = "删除主体库", logType = 1)
@RequiresPermissions("enterpriseLibrary:enterprise:del") @RequiresPermissions("enterpriseLibrary:enterprise:del")
public AjaxResult delData(@RequestBody EnterpriseDto dto) { public AjaxResult delData(@RequestBody EnterpriseDto dto) {

View File

@ -75,12 +75,17 @@ public class EnterpriseService {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AjaxResult addData(EnterpriseDto dto) { public AjaxResult addData(EnterpriseDto dto) {
// 1.校验数据是否合法 // 校验数据是否合法
String validResult = validatorsUtils.valid(dto, EnterpriseDto.ADD.class); String validResult = validatorsUtils.valid(dto, EnterpriseDto.ADD.class);
if (StringUtils.isNotBlank(validResult)) { if (StringUtils.isNotBlank(validResult)) {
return AjaxResult.error(validResult); return AjaxResult.error(validResult);
} }
try { try {
// 1.公司名称和统一社会信用代码不能重复
int result = imdEnterpriseService.isRepeat(dto);
if(result > 0){
return AjaxResult.error("企业名称或统一社会信用代码已存在");
}
// 2.添加主体库数据 // 2.添加主体库数据
imdEnterpriseService.operEnterpriseData(dto, 1); imdEnterpriseService.operEnterpriseData(dto, 1);
// 3.添加文件 // 3.添加文件
@ -120,6 +125,11 @@ public class EnterpriseService {
return AjaxResult.error(validResult); return AjaxResult.error(validResult);
} }
try { try {
// 1.公司名称和统一社会信用代码不能重复
int result = imdEnterpriseService.isRepeat(dto);
if(result > 0){
return AjaxResult.error("企业名称或统一社会信用代码已存在");
}
// 2.修改主体库数据 // 2.修改主体库数据
imdEnterpriseService.operEnterpriseData(dto, 2); imdEnterpriseService.operEnterpriseData(dto, 2);
// 3.如果存在新增文件则添加文件 // 3.如果存在新增文件则添加文件
@ -214,6 +224,6 @@ public class EnterpriseService {
} }
} }
detailVo.setFileList(fileVoList); detailVo.setFileList(fileVoList);
return AjaxResult.success(); return AjaxResult.success(detailVo);
} }
} }

View File

@ -26,4 +26,7 @@ public class ResourceFileVo {
/**业务类型*/ /**业务类型*/
private String businessType; private String businessType;
/**文件类型 1.图片 2.文件*/
private String fileType;
} }

View File

@ -3,8 +3,10 @@ package com.bonus.common.domain.mainDatabase.dto;
import com.bonus.common.core.domain.model.LoginUser; import com.bonus.common.core.domain.model.LoginUser;
import com.bonus.common.domain.file.po.ResourceFilePo; import com.bonus.common.domain.file.po.ResourceFilePo;
import com.bonus.common.utils.SecurityUtils; import com.bonus.common.utils.SecurityUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
@ -62,6 +64,8 @@ public class EnterpriseDto {
* 成立日期 * 成立日期
*/ */
@NotNull(message = "成立日期不能为空", groups = {ADD.class, UPDATE.class}) @NotNull(message = "成立日期不能为空", groups = {ADD.class, UPDATE.class})
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date establishedDate; private Date establishedDate;

View File

@ -2,8 +2,10 @@ package com.bonus.common.domain.mainDatabase.vo;
import com.bonus.common.domain.file.vo.ResourceFileVo; import com.bonus.common.domain.file.vo.ResourceFileVo;
import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto; import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@ -99,6 +101,8 @@ public class EnterpriseVo {
/** /**
* 成立日期 * 成立日期
*/ */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date establishedDate; private Date establishedDate;

View File

@ -74,7 +74,6 @@ public class FileUploadService {
try{ try{
String fileUrl = minioUtil.getFileUrl(minioConfig.getBucketName(), filePath, 60 * 60 * 12); String fileUrl = minioUtil.getFileUrl(minioConfig.getBucketName(), filePath, 60 * 60 * 12);
String lsUrl= fileUrl.replace(minioConfig.getEndpoint(),minioConfig.getUrl()); String lsUrl= fileUrl.replace(minioConfig.getEndpoint(),minioConfig.getUrl());
log.info("临时路径:{}",lsUrl);
return SysFile.builder() return SysFile.builder()
.name("文件名称") .name("文件名称")
.url(lsUrl).build(); .url(lsUrl).build();

View File

@ -19,8 +19,8 @@ public class FileUtil {
// 常见的图片格式 // 常见的图片格式
private static final List<String> IMAGE_EXTENSIONS = Arrays.asList( private static final List<String> IMAGE_EXTENSIONS = Arrays.asList(
"jpg", "jpeg", "png", "gif", "bmp", "webp", "svg", "ico", ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".ico",
"tiff", "tif", "psd", "raw", "heic", "avif" ".tiff", ".tif", ".psd", ".raw", ".heic", ".avif"
); );
/** /**
@ -153,4 +153,5 @@ public class FileUtil {
String extension = getFileExtension(fileName).toLowerCase(); String extension = getFileExtension(fileName).toLowerCase();
return IMAGE_EXTENSIONS.contains(extension); return IMAGE_EXTENSIONS.contains(extension);
} }
} }

View File

@ -59,8 +59,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getFilesByTable" resultType="com.bonus.common.domain.file.vo.ResourceFileVo"> <select id="getFilesByTable" resultType="com.bonus.common.domain.file.vo.ResourceFileVo">
SELECT source_id AS sourceId, SELECT source_id AS sourceId,
file_path AS filePath, file_path AS filePath,
source_file_name AS sourceFileName, source_file_name AS fileName,
business_type AS businessType business_type AS businessType,
file_type AS fileType
FROM sys_resource_file FROM sys_resource_file
WHERE business_id = #{businessId} AND source_table = #{dataBaseName} AND del_flag = '0' WHERE business_id = #{businessId} AND source_table = #{dataBaseName} AND del_flag = '0'
</select> </select>

View File

@ -61,4 +61,13 @@ public interface IMDEnterpriseMapper {
* @date 2025/10/23 13:29 * @date 2025/10/23 13:29
*/ */
EnterpriseVo.EnterpriseDetailVo getEnterpriseData(EnterpriseDto dto); EnterpriseVo.EnterpriseDetailVo getEnterpriseData(EnterpriseDto dto);
/**
* 公司名称和统一社会信用代码不能重复
* @param dto
* @return int
* @author cwchen
* @date 2025/10/23 14:08
*/
int isRepeat(EnterpriseDto dto);
} }

View File

@ -49,4 +49,13 @@ public interface IMDEnterpriseService {
* @date 2025/10/23 13:27 * @date 2025/10/23 13:27
*/ */
EnterpriseVo.EnterpriseDetailVo getEnterpriseData(EnterpriseDto dto); EnterpriseVo.EnterpriseDetailVo getEnterpriseData(EnterpriseDto dto);
/**
* 公司名称和统一社会信用代码不能重复
* @param dto
* @return int
* @author cwchen
* @date 2025/10/23 14:07
*/
int isRepeat(EnterpriseDto dto);
} }

View File

@ -63,4 +63,14 @@ public class MDEnterpriseServiceImpl implements IMDEnterpriseService {
return new EnterpriseVo.EnterpriseDetailVo(); return new EnterpriseVo.EnterpriseDetailVo();
} }
} }
@Override
public int isRepeat(EnterpriseDto dto) {
try {
return Optional.ofNullable(imdEnterpriseMapper.isRepeat(dto)).orElse(0);
} catch (Exception e) {
log.error(e.toString(), e);
return 0;
}
}
} }

View File

@ -65,9 +65,18 @@
FROM tb_enterprise FROM tb_enterprise
WHERE enterprise_id = #{enterpriseId} WHERE enterprise_id = #{enterpriseId}
</select> </select>
<!--公司名称和统一社会信用代码不能重复-->
<select id="isRepeat" resultType="java.lang.Integer">
<if test="enterpriseId == null">
SELECT COUNT(*) FROM tb_enterprise WHERE (enterprise_name = #{enterpriseName} OR enterprise_code = #{enterpriseCode}) AND del_flag = '0';
</if>
<if test="enterpriseId!=null">
SELECT COUNT(*) FROM tb_enterprise WHERE (enterprise_name = #{enterpriseName} AND enterprise_code = #{enterpriseCode}) AND del_flag = '0' AND enterprise_id !=#{enterpriseId}
</if>
</select>
<!--操作主体库数据--> <!--操作主体库数据-->
<insert id="operEnterpriseData" useGeneratedKeys="true" keyColumn="enterpriseId"> <insert id="operEnterpriseData" useGeneratedKeys="true" keyProperty="params.enterpriseId" keyColumn="enterprise_id">
<if test="type == 1"> <if test="type == 1">
INSERT INTO tb_enterprise INSERT INTO tb_enterprise
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -75,7 +84,7 @@
<if test="params.enterpriseCode != null and params.enterpriseCode!=''">enterprise_code,</if> <if test="params.enterpriseCode != null and params.enterpriseCode!=''">enterprise_code,</if>
<if test="params.registeredCapital != null and params.registeredCapital!=''">registered_capital,</if> <if test="params.registeredCapital != null and params.registeredCapital!=''">registered_capital,</if>
<if test="params.businessTerm != null and params.businessTerm!=''">business_term,</if> <if test="params.businessTerm != null and params.businessTerm!=''">business_term,</if>
<if test="params.establishedDate != null and params.establishedDate!=''">established_date,</if> <if test="params.establishedDate != null">established_date,</if>
<if test="params.residence != null and params.residence!=''">residence,</if> <if test="params.residence != null and params.residence!=''">residence,</if>
<if test="params.businessScope != null and params.businessScope!=''">business_scope,</if> <if test="params.businessScope != null and params.businessScope!=''">business_scope,</if>
<if test="params.legalPersonName != null and params.legalPersonName!=''">legal_person_name,</if> <if test="params.legalPersonName != null and params.legalPersonName!=''">legal_person_name,</if>
@ -85,13 +94,17 @@
<if test="params.legalPersonPhone != null and params.legalPersonPhone!=''">legal_person_phone,</if> <if test="params.legalPersonPhone != null and params.legalPersonPhone!=''">legal_person_phone,</if>
<if test="params.openingBank != null and params.openingBank!=''">opening_bank,</if> <if test="params.openingBank != null and params.openingBank!=''">opening_bank,</if>
<if test="params.openingAccount != null and params.openingAccount!=''">opening_account,</if> <if test="params.openingAccount != null and params.openingAccount!=''">opening_account,</if>
create_user_id,
create_user_name,
update_user_id,
update_user_name
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="params.enterpriseName != null and params.enterpriseName!=''">#{params.enterpriseName},</if> <if test="params.enterpriseName != null and params.enterpriseName!=''">#{params.enterpriseName},</if>
<if test="params.enterpriseCode != null and params.enterpriseCode!=''">#{params.enterpriseCode},</if> <if test="params.enterpriseCode != null and params.enterpriseCode!=''">#{params.enterpriseCode},</if>
<if test="params.registeredCapital != null and params.registeredCapital!=''">#{params.registeredCapital},</if> <if test="params.registeredCapital != null and params.registeredCapital!=''">#{params.registeredCapital},</if>
<if test="params.businessTerm != null and params.businessTerm!=''">#{params.businessTerm},</if> <if test="params.businessTerm != null and params.businessTerm!=''">#{params.businessTerm},</if>
<if test="params.establishedDate != null and params.establishedDate!=''">#{params.establishedDate},</if> <if test="params.establishedDate != null">#{params.establishedDate},</if>
<if test="params.residence != null and params.residence!=''">#{params.residence},</if> <if test="params.residence != null and params.residence!=''">#{params.residence},</if>
<if test="params.businessScope != null and params.businessScope!=''">#{params.businessScope},</if> <if test="params.businessScope != null and params.businessScope!=''">#{params.businessScope},</if>
<if test="params.legalPersonName != null and params.legalPersonName!=''">#{params.legalPersonName},</if> <if test="params.legalPersonName != null and params.legalPersonName!=''">#{params.legalPersonName},</if>
@ -101,6 +114,10 @@
<if test="params.legalPersonPhone != null and params.legalPersonPhone!=''">#{params.legalPersonPhone},</if> <if test="params.legalPersonPhone != null and params.legalPersonPhone!=''">#{params.legalPersonPhone},</if>
<if test="params.openingBank != null and params.openingBank!=''">#{params.openingBank},</if> <if test="params.openingBank != null and params.openingBank!=''">#{params.openingBank},</if>
<if test="params.openingAccount != null and params.openingAccount!=''">#{params.openingAccount},</if> <if test="params.openingAccount != null and params.openingAccount!=''">#{params.openingAccount},</if>
#{params.createUserId},
#{params.createUserName},
#{params.updateUserId},
#{params.updateUserName},
</trim> </trim>
</if> </if>
<if test="type == 2"> <if test="type == 2">

View File

@ -87,6 +87,7 @@ public class OcrService {
// 设置 Accept // 设置 Accept
httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Accept", "application/json");
log.info("OCR服务开始识别");
// 执行请求 // 执行请求
try (CloseableHttpResponse response = httpClient.execute(httpPost)) { try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
HttpEntity entity = response.getEntity(); HttpEntity entity = response.getEntity();