From b68b52eee85e2ff1ce5a4809b94ef05bf2db4c50 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Tue, 19 Sep 2023 20:56:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BC=81=E4=B8=9A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EnterpriseController.java | 60 ++++++++++++++++ .../enterprise/dto/CreateEnterpriseDto.java | 59 +++++++++++++++ .../coal/enterprise/dto/EnterpriseDto.java | 59 +++++++++++++++ .../enterprise/dto/UpdateEnterpriseDto.java | 59 +++++++++++++++ .../enterprise/entity/EnterpriseEntity.java | 64 +++++++++++++++++ .../enterprise/mapper/EnterpriseMapper.java | 18 +++++ .../repository/EnterpriseRepository.java | 9 +++ .../enterprise/service/EnterpriseService.java | 72 +++++++++++++++++++ 8 files changed, 400 insertions(+) create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/controller/EnterpriseController.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/dto/CreateEnterpriseDto.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/dto/EnterpriseDto.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/dto/UpdateEnterpriseDto.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/entity/EnterpriseEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/mapper/EnterpriseMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/repository/EnterpriseRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/enterprise/service/EnterpriseService.java diff --git a/src/main/java/cn/lihongjie/coal/enterprise/controller/EnterpriseController.java b/src/main/java/cn/lihongjie/coal/enterprise/controller/EnterpriseController.java new file mode 100644 index 00000000..0a733c07 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/controller/EnterpriseController.java @@ -0,0 +1,60 @@ +package cn.lihongjie.coal.enterprise.controller; + +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.enterprise.dto.CreateEnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.EnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.UpdateEnterpriseDto; +import cn.lihongjie.coal.enterprise.service.EnterpriseService; +import java.lang.Object; +import java.lang.String; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/enterprise") +@SysLog( + module = "企业数据" +) +@Slf4j +public class EnterpriseController { + @Autowired + private EnterpriseService service; + + @PostMapping("/create") + public EnterpriseDto create(@RequestBody CreateEnterpriseDto request) { + return this.service.create(request) + ; + } + + @PostMapping("/update") + public EnterpriseDto update(@RequestBody UpdateEnterpriseDto request) { + return this.service.update(request) + ; + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true + ; + } + + @PostMapping("/getById") + public EnterpriseDto getById(@RequestBody String request) { + return this.service.getById(request) + ; + } + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery request) { + return this.service.list(request) + ; + } +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/dto/CreateEnterpriseDto.java b/src/main/java/cn/lihongjie/coal/enterprise/dto/CreateEnterpriseDto.java new file mode 100644 index 00000000..08216975 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/dto/CreateEnterpriseDto.java @@ -0,0 +1,59 @@ +package cn.lihongjie.coal.enterprise.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class CreateEnterpriseDto extends CommonDto { + @Comment("企业名称") + private String enterpriseName; + @Comment("登记状态") + private String registrationStatus; + @Comment("法定代表人") + private String legalRepresentative; + @Comment("注册资本") + private String registeredCapital; + @Comment("成立日期") + private String establishmentDate; + @Comment("统一社会信用代码") + private String unifiedSocialCreditCode; + @Comment("企业注册地址") + private String enterpriseRegisteredAddress; + @Comment("电话") + private String phone; + @Comment("更多电话") + private String additionalPhone; + @Comment("邮箱") + private String email; + @Comment("更多邮箱") + private String additionalEmail; + @Comment("所属城市") + private String cityOfRegistration; + @Comment("纳税人识别号") + private String taxpayerIdentificationNumber; + @Comment("注册号") + private String registrationNumber; + @Comment("组织机构代码") + private String organizationCode; + @Comment("参保人数") + private String insuredCount; + @Comment("企业(机构)类型") + private String enterpriseType; + @Comment("企业规模") + private String enterpriseSize; + @Comment("核准日期") + private String approvalDate; + @Comment("营业期限") + private String businessPeriod; + @Comment("曾用名") + private String formerName; + @Comment("英文名") + private String englishName; + @Comment("官网网址") + private String officialWebsiteUrl; + @Comment("通信地址") + private String mailingAddress; + @Comment("经营范围") + private String businessScope; +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/dto/EnterpriseDto.java b/src/main/java/cn/lihongjie/coal/enterprise/dto/EnterpriseDto.java new file mode 100644 index 00000000..9fcdd01c --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/dto/EnterpriseDto.java @@ -0,0 +1,59 @@ +package cn.lihongjie.coal.enterprise.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class EnterpriseDto extends CommonDto { + @Comment("企业名称") + private String enterpriseName; + @Comment("登记状态") + private String registrationStatus; + @Comment("法定代表人") + private String legalRepresentative; + @Comment("注册资本") + private String registeredCapital; + @Comment("成立日期") + private String establishmentDate; + @Comment("统一社会信用代码") + private String unifiedSocialCreditCode; + @Comment("企业注册地址") + private String enterpriseRegisteredAddress; + @Comment("电话") + private String phone; + @Comment("更多电话") + private String additionalPhone; + @Comment("邮箱") + private String email; + @Comment("更多邮箱") + private String additionalEmail; + @Comment("所属城市") + private String cityOfRegistration; + @Comment("纳税人识别号") + private String taxpayerIdentificationNumber; + @Comment("注册号") + private String registrationNumber; + @Comment("组织机构代码") + private String organizationCode; + @Comment("参保人数") + private String insuredCount; + @Comment("企业(机构)类型") + private String enterpriseType; + @Comment("企业规模") + private String enterpriseSize; + @Comment("核准日期") + private String approvalDate; + @Comment("营业期限") + private String businessPeriod; + @Comment("曾用名") + private String formerName; + @Comment("英文名") + private String englishName; + @Comment("官网网址") + private String officialWebsiteUrl; + @Comment("通信地址") + private String mailingAddress; + @Comment("经营范围") + private String businessScope; +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/dto/UpdateEnterpriseDto.java b/src/main/java/cn/lihongjie/coal/enterprise/dto/UpdateEnterpriseDto.java new file mode 100644 index 00000000..dec94035 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/dto/UpdateEnterpriseDto.java @@ -0,0 +1,59 @@ +package cn.lihongjie.coal.enterprise.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class UpdateEnterpriseDto extends CommonDto { + @Comment("企业名称") + private String enterpriseName; + @Comment("登记状态") + private String registrationStatus; + @Comment("法定代表人") + private String legalRepresentative; + @Comment("注册资本") + private String registeredCapital; + @Comment("成立日期") + private String establishmentDate; + @Comment("统一社会信用代码") + private String unifiedSocialCreditCode; + @Comment("企业注册地址") + private String enterpriseRegisteredAddress; + @Comment("电话") + private String phone; + @Comment("更多电话") + private String additionalPhone; + @Comment("邮箱") + private String email; + @Comment("更多邮箱") + private String additionalEmail; + @Comment("所属城市") + private String cityOfRegistration; + @Comment("纳税人识别号") + private String taxpayerIdentificationNumber; + @Comment("注册号") + private String registrationNumber; + @Comment("组织机构代码") + private String organizationCode; + @Comment("参保人数") + private String insuredCount; + @Comment("企业(机构)类型") + private String enterpriseType; + @Comment("企业规模") + private String enterpriseSize; + @Comment("核准日期") + private String approvalDate; + @Comment("营业期限") + private String businessPeriod; + @Comment("曾用名") + private String formerName; + @Comment("英文名") + private String englishName; + @Comment("官网网址") + private String officialWebsiteUrl; + @Comment("通信地址") + private String mailingAddress; + @Comment("经营范围") + private String businessScope; +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/entity/EnterpriseEntity.java b/src/main/java/cn/lihongjie/coal/enterprise/entity/EnterpriseEntity.java new file mode 100644 index 00000000..6b83ed01 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/entity/EnterpriseEntity.java @@ -0,0 +1,64 @@ +package cn.lihongjie.coal.enterprise.entity; + +import cn.lihongjie.coal.base.entity.CommonEntity; +import jakarta.persistence.Entity; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +@Entity +@Comment("企业信息") +public class EnterpriseEntity extends CommonEntity { + + @Comment("企业名称") + private String enterpriseName; + @Comment("登记状态") + private String registrationStatus; + @Comment("法定代表人") + private String legalRepresentative; + @Comment("注册资本") + private String registeredCapital; + @Comment("成立日期") + private String establishmentDate; + @Comment("统一社会信用代码") + private String unifiedSocialCreditCode; + @Comment("企业注册地址") + private String enterpriseRegisteredAddress; + @Comment("电话") + private String phone; + @Comment("更多电话") + private String additionalPhone; + @Comment("邮箱") + private String email; + @Comment("更多邮箱") + private String additionalEmail; + @Comment("所属城市") + private String cityOfRegistration; + @Comment("纳税人识别号") + private String taxpayerIdentificationNumber; + @Comment("注册号") + private String registrationNumber; + @Comment("组织机构代码") + private String organizationCode; + @Comment("参保人数") + private String insuredCount; + @Comment("企业(机构)类型") + private String enterpriseType; + @Comment("企业规模") + private String enterpriseSize; + @Comment("核准日期") + private String approvalDate; + @Comment("营业期限") + private String businessPeriod; + @Comment("曾用名") + private String formerName; + @Comment("英文名") + private String englishName; + @Comment("官网网址") + private String officialWebsiteUrl; + @Comment("通信地址") + private String mailingAddress; + @Comment("经营范围") + private String businessScope; + +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/mapper/EnterpriseMapper.java b/src/main/java/cn/lihongjie/coal/enterprise/mapper/EnterpriseMapper.java new file mode 100644 index 00000000..27babf81 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/mapper/EnterpriseMapper.java @@ -0,0 +1,18 @@ +package cn.lihongjie.coal.enterprise.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.enterprise.dto.CreateEnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.EnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.UpdateEnterpriseDto; +import cn.lihongjie.coal.enterprise.entity.EnterpriseEntity; +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class}, + mappingControl = DeepClone.class +) +public interface EnterpriseMapper extends BaseMapper { +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/repository/EnterpriseRepository.java b/src/main/java/cn/lihongjie/coal/enterprise/repository/EnterpriseRepository.java new file mode 100644 index 00000000..cc87872c --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/repository/EnterpriseRepository.java @@ -0,0 +1,9 @@ +package cn.lihongjie.coal.enterprise.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.enterprise.entity.EnterpriseEntity; +import org.springframework.stereotype.Repository; + +@Repository +public interface EnterpriseRepository extends BaseRepository { +} diff --git a/src/main/java/cn/lihongjie/coal/enterprise/service/EnterpriseService.java b/src/main/java/cn/lihongjie/coal/enterprise/service/EnterpriseService.java new file mode 100644 index 00000000..72799a0d --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/enterprise/service/EnterpriseService.java @@ -0,0 +1,72 @@ +package cn.lihongjie.coal.enterprise.service; + +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.base.service.BaseService; +import cn.lihongjie.coal.enterprise.dto.CreateEnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.EnterpriseDto; +import cn.lihongjie.coal.enterprise.dto.UpdateEnterpriseDto; +import cn.lihongjie.coal.enterprise.entity.EnterpriseEntity; +import cn.lihongjie.coal.enterprise.mapper.EnterpriseMapper; +import cn.lihongjie.coal.enterprise.repository.EnterpriseRepository; +import java.lang.String; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class EnterpriseService extends BaseService { + @Autowired + private EnterpriseRepository repository; + + @Autowired + private EnterpriseMapper mapper; + + @Autowired + private ConversionService conversionService; + + public EnterpriseDto create(CreateEnterpriseDto request) { + EnterpriseEntity entity = mapper.toEntity(request); + + + this.repository.save(entity); + return getById(entity.getId()) + ; + } + + public EnterpriseDto update(UpdateEnterpriseDto request) { + EnterpriseEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()) + ; + } + + public void delete(IdRequest request) { + this.repository.deleteAllById(request.getIds()) + ; + } + + public EnterpriseDto getById(String id) { + EnterpriseEntity entity = repository.get(id); + + + return mapper.toDto(entity) + ; + } + + public Page list(CommonQuery query) { + Page page = repository.findAll(query.specification(conversionService), PageRequest.of(query.getPageNo(), query.getPageSize(), Sort.by(query.getOrders()))); + + + return page.map(this.mapper::toDto) + ; + } +}