diff --git a/src/main/java/com/glxp/udidl/admin/controller/tyapi/TySearchController.java b/src/main/java/com/glxp/udidl/admin/controller/tyapi/TySearchController.java index 7a14d9a..d18cc4c 100644 --- a/src/main/java/com/glxp/udidl/admin/controller/tyapi/TySearchController.java +++ b/src/main/java/com/glxp/udidl/admin/controller/tyapi/TySearchController.java @@ -3,16 +3,29 @@ package com.glxp.udidl.admin.controller.tyapi; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.udidl.admin.annotation.AuthRuleAnnotation; +import com.glxp.udidl.admin.dto.udplat.UdplatManufactureModel; +import com.glxp.udidl.admin.entity.tyapi.TyCompanyDetailEntity; import com.glxp.udidl.admin.entity.tyapi.TyCompanySearchEntity; +import com.glxp.udidl.admin.entity.tyapi.TySupplierEntity; +import com.glxp.udidl.admin.req.tyapi.TyBaseInfoRequest; import com.glxp.udidl.admin.res.BaseResponse; +import com.glxp.udidl.admin.res.tyapi.TyBatchDlResponse; +import com.glxp.udidl.admin.res.tyapi.TyContactResponse; +import com.glxp.udidl.admin.service.tyapi.TyCompanyDetailService; import com.glxp.udidl.admin.service.tyapi.TyCompanySearchService; +import com.glxp.udidl.admin.service.tyapi.TyContactInfoService; +import com.glxp.udidl.admin.service.tyapi.TySupplierService; import com.glxp.udidl.admin.util.ResultVOUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @Api(tags = "天眼查API接口") @@ -21,6 +34,12 @@ public class TySearchController { @Resource TyCompanySearchService tyCompanySearchService; + @Resource + TySupplierService tySupplierService; + @Resource + TyCompanyDetailService tyCompanyDetailService; + @Resource + TyContactInfoService tyContactInfoService; @ApiOperation(value = "天眼查企业信息查询", response = TyCompanySearchEntity.class) @GetMapping("udidl/ty/company/findBycCeditCode") @@ -37,4 +56,53 @@ public class TySearchController { } } + @ApiOperation(value = "天眼查批量下载供应商列表接口") + @PostMapping("/udidl/ty/company/batch/supplier") + public BaseResponse imports(@RequestBody String hospitals) { + if (StrUtil.isEmpty(hospitals)) { + return ResultVOUtils.error(500, "医院名称列表不能为空"); + } + String[] hospAarray = hospitals.split(","); + TyBatchDlResponse tyBatchDlResponse = new TyBatchDlResponse(); + List mTyCompanyDetailEntities = new ArrayList<>(); + List mTyContactResponses = new ArrayList<>(); + List mTySupplierEntities = new ArrayList<>(); + for (int i = 0; i < hospAarray.length; i++) { + tySupplierService.download(hospAarray[i]); + List tySupplierEntities = tySupplierService.list(new QueryWrapper().eq("hospName", hospAarray[i])); + if (CollUtil.isNotEmpty(tySupplierEntities)) { + mTySupplierEntities.addAll(tySupplierEntities); + for (TySupplierEntity tySupplierEntity : tySupplierEntities) { + TyCompanyDetailEntity tyCompanyDetailEntity = tyCompanyDetailService.download(tySupplierEntity.getSupplier_name()); + if (tyCompanyDetailEntity != null) + mTyCompanyDetailEntities.add(tyCompanyDetailEntity); + List tyContactResponses = tyContactInfoService.download(tySupplierEntity.getSupplier_name()); + if (CollUtil.isNotEmpty(tyContactResponses)) { + mTyContactResponses.addAll(tyContactResponses); + } + } + } + } + tyBatchDlResponse.setTyContactResponses(mTyContactResponses); + tyBatchDlResponse.setTyCompanyDetailEntities(mTyCompanyDetailEntities); + tyBatchDlResponse.setTySupplierEntities(mTySupplierEntities); + return ResultVOUtils.success(tyBatchDlResponse); + } + + @ApiOperation(value = "天眼查批量下载企业详细信息接口") + @GetMapping("/udidl/ty/company/getBaseInfo") + public BaseResponse getCompanyInfo(TyBaseInfoRequest tyBaseInfoRequest) { + if (StrUtil.isEmpty(tyBaseInfoRequest.getName()) && StrUtil.isEmpty(tyBaseInfoRequest.getCreditCode())) { + return ResultVOUtils.error(500, "请输入企业名称或统一社会信用代码"); + } + String keyWord = ""; + if (StrUtil.isNotEmpty(tyBaseInfoRequest.getCreditCode())) { + keyWord = tyBaseInfoRequest.getCreditCode(); + } else + keyWord = tyBaseInfoRequest.getName(); + TyCompanyDetailEntity tyCompanyDetailEntity = tyCompanyDetailService.download(keyWord); + return ResultVOUtils.success(tyCompanyDetailEntity); + + } + } diff --git a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyCompanyDetailMapper.java b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyCompanyDetailMapper.java index 1d6a3cd..de61376 100644 --- a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyCompanyDetailMapper.java +++ b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyCompanyDetailMapper.java @@ -1,9 +1,10 @@ package com.glxp.udidl.admin.dao.tyapi; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.udidl.admin.dao.BaseMapperPlus; import com.glxp.udidl.admin.entity.tyapi.TyCompanyDetailEntity; import org.apache.ibatis.annotations.Mapper; @Mapper -public interface TyCompanyDetailMapper extends BaseMapper { +public interface TyCompanyDetailMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactCallMapper.java b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactCallMapper.java index 2c72bb5..a426fbc 100644 --- a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactCallMapper.java +++ b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactCallMapper.java @@ -1,9 +1,9 @@ package com.glxp.udidl.admin.dao.tyapi; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.udidl.admin.dao.BaseMapperPlus; import com.glxp.udidl.admin.entity.tyapi.TyContactCallEntity; import org.apache.ibatis.annotations.Mapper; @Mapper -public interface TyContactCallMapper extends BaseMapper { +public interface TyContactCallMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactInfoMapper.java b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactInfoMapper.java index 98a60de..4817ccb 100644 --- a/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactInfoMapper.java +++ b/src/main/java/com/glxp/udidl/admin/dao/tyapi/TyContactInfoMapper.java @@ -1,9 +1,17 @@ package com.glxp.udidl.admin.dao.tyapi; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.udidl.admin.dao.BaseMapperPlus; import com.glxp.udidl.admin.entity.tyapi.TyContactInfoEntity; +import com.glxp.udidl.admin.req.tyapi.TyContactRequest; +import com.glxp.udidl.admin.res.tyapi.TyContactResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper -public interface TyContactInfoMapper extends BaseMapper { +public interface TyContactInfoMapper extends BaseMapperPlus { + + List findGroup(TyContactRequest tyContactRequest); + + } diff --git a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanyDetailEntity.java b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanyDetailEntity.java index 0232fe5..03ef93d 100644 --- a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanyDetailEntity.java +++ b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanyDetailEntity.java @@ -6,341 +6,348 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; +import java.util.Date; + import lombok.Data; /** - * 企业详细信息表 - */ -@ApiModel(value="com-glxp-udidl-admin-entity-tyapi-TyCompanyDetail") + * 企业详细信息表 + */ +@ApiModel(value = "com-glxp-udidl-admin-entity-tyapi-TyCompanyDetail") @Data @TableName(value = "ty_company_detail") public class TyCompanyDetailEntity implements Serializable { @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private String id; /** * 曾用名 */ @TableField(value = "historyNames") - @ApiModelProperty(value="曾用名") + @ApiModelProperty(value = "曾用名") private String historyNames; /** * 注销日期 */ @TableField(value = "cancelDate") - @ApiModelProperty(value="注销日期") + @ApiModelProperty(value = "注销日期") private String cancelDate; /** * 企业状态 */ @TableField(value = "regStatus") - @ApiModelProperty(value="企业状态") + @ApiModelProperty(value = "企业状态") private String regStatus; /** * 注册资本 */ @TableField(value = "regCapital") - @ApiModelProperty(value="注册资本") + @ApiModelProperty(value = "注册资本") private String regCapital; /** * 市 */ @TableField(value = "city") - @ApiModelProperty(value="市") + @ApiModelProperty(value = "市") private String city; /** * 人员规模 */ @TableField(value = "staffNumRange") - @ApiModelProperty(value="人员规模") + @ApiModelProperty(value = "人员规模") private String staffNumRange; /** * 股票名 */ @TableField(value = "bondNum") - @ApiModelProperty(value="股票名") + @ApiModelProperty(value = "股票名") private String bondNum; /** * 曾用名列表 */ @TableField(value = "historyNameList") - @ApiModelProperty(value="曾用名列表") + @ApiModelProperty(value = "曾用名列表") private String historyNameList; /** * 行业 */ @TableField(value = "industry") - @ApiModelProperty(value="行业") + @ApiModelProperty(value = "行业") private String industry; /** * 股票名 */ @TableField(value = "bondName") - @ApiModelProperty(value="股票名") + @ApiModelProperty(value = "股票名") private String bondName; /** * 吊销日期 */ @TableField(value = "revokeDate") - @ApiModelProperty(value="吊销日期") + @ApiModelProperty(value = "吊销日期") private String revokeDate; /** * 法人类型,1 人 2 公司 */ @TableField(value = "`type`") - @ApiModelProperty(value="法人类型,1 人 2 公司") + @ApiModelProperty(value = "法人类型,1 人 2 公司") private String type; /** * 更新时间 */ @TableField(value = "updateTimes") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private String updateTimes; /** * 法人 */ @TableField(value = "legalPersonName") - @ApiModelProperty(value="法人") + @ApiModelProperty(value = "法人") private String legalPersonName; /** * 吊销原因 */ @TableField(value = "revokeReason") - @ApiModelProperty(value="吊销原因") + @ApiModelProperty(value = "吊销原因") private String revokeReason; /** * 注册号 */ @TableField(value = "regNumber") - @ApiModelProperty(value="注册号") + @ApiModelProperty(value = "注册号") private String regNumber; /** * 统一社会信用代码 */ @TableField(value = "creditCode") - @ApiModelProperty(value="统一社会信用代码") + @ApiModelProperty(value = "统一社会信用代码") private String creditCode; /** * 英文名 */ @TableField(value = "property3") - @ApiModelProperty(value="英文名") + @ApiModelProperty(value = "英文名") private String property3; /** * 股票曾用名 */ @TableField(value = "usedBondName") - @ApiModelProperty(value="股票曾用名") + @ApiModelProperty(value = "股票曾用名") private String usedBondName; /** * 核准时间 */ @TableField(value = "approvedTime") - @ApiModelProperty(value="核准时间") + @ApiModelProperty(value = "核准时间") private String approvedTime; /** * 经营开始时间 */ @TableField(value = "fromTime") - @ApiModelProperty(value="经营开始时间") + @ApiModelProperty(value = "经营开始时间") private String fromTime; /** * 参保人数 */ @TableField(value = "socialStaffNum") - @ApiModelProperty(value="参保人数") + @ApiModelProperty(value = "参保人数") private String socialStaffNum; /** * 实收注册资本币种 人民币 美元 欧元 等 */ @TableField(value = "actualCapitalCurrency") - @ApiModelProperty(value="实收注册资本币种 人民币 美元 欧元 等") + @ApiModelProperty(value = "实收注册资本币种 人民币 美元 欧元 等") private String actualCapitalCurrency; /** * 简称 */ @TableField(value = "`alias`") - @ApiModelProperty(value="简称") + @ApiModelProperty(value = "简称") private String alias; /** * 企业类型 */ @TableField(value = "companyOrgType") - @ApiModelProperty(value="企业类型") + @ApiModelProperty(value = "企业类型") private String companyOrgType; /** * 注销原因 */ @TableField(value = "cancelReason") - @ApiModelProperty(value="注销原因") + @ApiModelProperty(value = "注销原因") private String cancelReason; /** * 组织机构代码 */ @TableField(value = "orgNumber") - @ApiModelProperty(value="组织机构代码") + @ApiModelProperty(value = "组织机构代码") private String orgNumber; /** * 邮箱 */ @TableField(value = "email") - @ApiModelProperty(value="邮箱") + @ApiModelProperty(value = "邮箱") private String email; /** * 经营结束时间 */ @TableField(value = "toTime") - @ApiModelProperty(value="经营结束时间") + @ApiModelProperty(value = "经营结束时间") private String toTime; /** * 实收注册资金 */ @TableField(value = "actualCapital") - @ApiModelProperty(value="实收注册资金") + @ApiModelProperty(value = "实收注册资金") private String actualCapital; /** * 成立日期 */ @TableField(value = "estiblishTime") - @ApiModelProperty(value="成立日期") + @ApiModelProperty(value = "成立日期") private String estiblishTime; /** * 登记机关 */ @TableField(value = "regInstitute") - @ApiModelProperty(value="登记机关") + @ApiModelProperty(value = "登记机关") private String regInstitute; /** * 经营范围 */ @TableField(value = "businessScope") - @ApiModelProperty(value="经营范围") + @ApiModelProperty(value = "经营范围") private String businessScope; /** * 纳税人识别号 */ @TableField(value = "taxNumber") - @ApiModelProperty(value="纳税人识别号") + @ApiModelProperty(value = "纳税人识别号") private String taxNumber; /** * 注册地址 */ @TableField(value = "regLocation") - @ApiModelProperty(value="注册地址") + @ApiModelProperty(value = "注册地址") private String regLocation; /** * 注册资本币种 人民币 美元 欧元 等 */ @TableField(value = "regCapitalCurrency") - @ApiModelProperty(value="注册资本币种 人民币 美元 欧元 等") + @ApiModelProperty(value = "注册资本币种 人民币 美元 欧元 等") private String regCapitalCurrency; /** * 企业标签 */ @TableField(value = "tags") - @ApiModelProperty(value="企业标签") + @ApiModelProperty(value = "企业标签") private String tags; /** * 网址 */ @TableField(value = "websiteList") - @ApiModelProperty(value="网址") + @ApiModelProperty(value = "网址") private String websiteList; /** * 企业联系方式 */ @TableField(value = "phoneNumber") - @ApiModelProperty(value="企业联系方式") + @ApiModelProperty(value = "企业联系方式") private String phoneNumber; /** * 区 */ @TableField(value = "district") - @ApiModelProperty(value="区") + @ApiModelProperty(value = "区") private String district; /** * 股票类型 */ @TableField(value = "bondType") - @ApiModelProperty(value="股票类型") + @ApiModelProperty(value = "股票类型") private String bondType; /** * 企业名 */ @TableField(value = "`name`") - @ApiModelProperty(value="企业名") + @ApiModelProperty(value = "企业名") private String name; /** * 企业评分 */ @TableField(value = "percentileScore") - @ApiModelProperty(value="企业评分") + @ApiModelProperty(value = "企业评分") private String percentileScore; /** * 国民经济行业分类 */ @TableField(value = "industryAll") - @ApiModelProperty(value="国民经济行业分类") + @ApiModelProperty(value = "国民经济行业分类") private String industryAll; /** * 是否是小微企业 0不是 1是 */ @TableField(value = "isMicroEnt") - @ApiModelProperty(value="是否是小微企业 0不是 1是") + @ApiModelProperty(value = "是否是小微企业 0不是 1是") private String isMicroEnt; /** * 省份简称 */ @TableField(value = "base") - @ApiModelProperty(value="省份简称") + @ApiModelProperty(value = "省份简称") private String base; + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanySearchEntity.java b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanySearchEntity.java index 804e5c2..f53ef72 100644 --- a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanySearchEntity.java +++ b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyCompanySearchEntity.java @@ -6,25 +6,28 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; +import java.util.Date; + import lombok.Data; /** - * 搜索企业结果信息表 - */ -@ApiModel(value="com-glxp-udidl-admin-entity-tyapi-TyCompanySearch") + * 搜索企业结果信息表 + */ +@ApiModel(value = "com-glxp-udidl-admin-entity-tyapi-TyCompanySearch") @Data @TableName(value = "ty_company_search") public class TyCompanySearchEntity implements Serializable { @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private String id; /** * 公司名 */ @TableField(value = "`name`") - @ApiModelProperty(value="公司名") + @ApiModelProperty(value = "公司名") private String name; @@ -32,78 +35,82 @@ public class TyCompanySearchEntity implements Serializable { * 经营状态 */ @TableField(value = "regStatus") - @ApiModelProperty(value="经营状态") + @ApiModelProperty(value = "经营状态") private String regStatus; /** * 成立日期 */ @TableField(value = "estiblishTime") - @ApiModelProperty(value="成立日期") + @ApiModelProperty(value = "成立日期") private String estiblishTime; /** * 注册资本 */ @TableField(value = "regCapital") - @ApiModelProperty(value="注册资本") + @ApiModelProperty(value = "注册资本") private String regCapital; /** * 机构类型-1:公司;2:香港企业;3:社会组织;4:律所;5:事业单位;6:基金会;7-不存在法人、注册资本、统一社会信用代码、经营状态;8:台湾企业;9-新机构 */ @TableField(value = "companyType") - @ApiModelProperty(value="机构类型-1:公司;2:香港企业;3:社会组织;4:律所;5:事业单位;6:基金会;7-不存在法人、注册资本、统一社会信用代码、经营状态;8:台湾企业;9-新机构") + @ApiModelProperty(value = "机构类型-1:公司;2:香港企业;3:社会组织;4:律所;5:事业单位;6:基金会;7-不存在法人、注册资本、统一社会信用代码、经营状态;8:台湾企业;9-新机构") private String companyType; /** * 匹配原因 */ @TableField(value = "matchType") - @ApiModelProperty(value="匹配原因") + @ApiModelProperty(value = "匹配原因") private String matchType; /** * 1-公司 2-人 */ @TableField(value = "`type`") - @ApiModelProperty(value="1-公司 2-人") + @ApiModelProperty(value = "1-公司 2-人") private String type; /** * 法人 */ @TableField(value = "legalPersonName") - @ApiModelProperty(value="法人") + @ApiModelProperty(value = "法人") private String legalPersonName; /** * 注册号 */ @TableField(value = "regNumber") - @ApiModelProperty(value="注册号") + @ApiModelProperty(value = "注册号") private String regNumber; /** * 统一社会信用代码 */ @TableField(value = "creditCode") - @ApiModelProperty(value="统一社会信用代码") + @ApiModelProperty(value = "统一社会信用代码") private String creditCode; /** * 组织机构代码 */ @TableField(value = "orgNumber") - @ApiModelProperty(value="组织机构代码") + @ApiModelProperty(value = "组织机构代码") private String orgNumber; /** * 省份 */ @TableField(value = "base") - @ApiModelProperty(value="省份") + @ApiModelProperty(value = "省份") private String base; + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactCallEntity.java b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactCallEntity.java index 6537ac2..32fe3cf 100644 --- a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactCallEntity.java +++ b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactCallEntity.java @@ -6,61 +6,67 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; +import java.util.Date; + import lombok.Data; /** - * 企业联系方式列表 - */ -@ApiModel(value="com-glxp-udidl-admin-entity-tyapi-TyContactCall") + * 企业联系方式列表 + */ +@ApiModel(value = "com-glxp-udidl-admin-entity-tyapi-TyContactCall") @Data @TableName(value = "ty_contact_call") public class TyContactCallEntity implements Serializable { @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private Integer id; /** * 电话 */ @TableField(value = "phoneNumber") - @ApiModelProperty(value="电话") + @ApiModelProperty(value = "电话") private String phoneNumber; /** * 号码来源 */ @TableField(value = "`source`") - @ApiModelProperty(value="号码来源") + @ApiModelProperty(value = "号码来源") private String source; /** * 标签 */ @TableField(value = "tag") - @ApiModelProperty(value="标签") + @ApiModelProperty(value = "标签") private String tag; /** * 公司ID外键 */ @TableField(value = "contactIdFk") - @ApiModelProperty(value="公司ID外键") - private Integer contactIdFk; + @ApiModelProperty(value = "公司ID外键") + private String contactIdFk; /** * 所属企业统一社会信用号外键 */ @TableField(value = "creditCodeFk") - @ApiModelProperty(value="所属企业统一社会信用号外键") + @ApiModelProperty(value = "所属企业统一社会信用号外键") private String creditCodeFk; /** * 所属企业名称 */ @TableField(value = "supplierName") - @ApiModelProperty(value="所属企业名称") + @ApiModelProperty(value = "所属企业名称") private String supplierName; + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactInfoEntity.java b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactInfoEntity.java index aaa428b..0d3e59e 100644 --- a/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactInfoEntity.java +++ b/src/main/java/com/glxp/udidl/admin/entity/tyapi/TyContactInfoEntity.java @@ -6,13 +6,16 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; +import java.util.Date; + import lombok.Data; /** - * 企业联系方式信息表 - */ -@ApiModel(value="com-glxp-udidl-admin-entity-tyapi-TyContactInfo") + * 企业联系方式信息表 + */ +@ApiModel(value = "com-glxp-udidl-admin-entity-tyapi-TyContactInfo") @Data @TableName(value = "ty_contact_info") public class TyContactInfoEntity implements Serializable { @@ -20,50 +23,53 @@ public class TyContactInfoEntity implements Serializable { * 公司id */ @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="公司id") + @ApiModelProperty(value = "公司id") private String id; /** * 电话 */ @TableField(value = "phoneNumber") - @ApiModelProperty(value="电话") + @ApiModelProperty(value = "电话") private String phoneNumber; /** * 注册地址 */ @TableField(value = "regLocation") - @ApiModelProperty(value="注册地址") + @ApiModelProperty(value = "注册地址") private String regLocation; /** * 邮箱 */ @TableField(value = "email") - @ApiModelProperty(value="邮箱") + @ApiModelProperty(value = "邮箱") private String email; /** * 网址 */ @TableField(value = "websiteList") - @ApiModelProperty(value="网址") + @ApiModelProperty(value = "网址") private String websiteList; /** * 所属企业统一社会信用号 */ @TableField(value = "creditCodeFk") - @ApiModelProperty(value="所属企业统一社会信用号") + @ApiModelProperty(value = "所属企业统一社会信用号") private String creditCodeFk; /** * 所属企业名称 */ @TableField(value = "supplierName") - @ApiModelProperty(value="所属企业名称") + @ApiModelProperty(value = "所属企业名称") private String supplierName; + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/udidl/admin/req/tyapi/TyBaseInfoRequest.java b/src/main/java/com/glxp/udidl/admin/req/tyapi/TyBaseInfoRequest.java new file mode 100644 index 0000000..3901836 --- /dev/null +++ b/src/main/java/com/glxp/udidl/admin/req/tyapi/TyBaseInfoRequest.java @@ -0,0 +1,12 @@ +package com.glxp.udidl.admin.req.tyapi; + +import lombok.Data; + +@Data +public class TyBaseInfoRequest { + + //企业名称 + private String name; + //统一社会信用代码 + private String creditCode; +} diff --git a/src/main/java/com/glxp/udidl/admin/req/tyapi/TyContactRequest.java b/src/main/java/com/glxp/udidl/admin/req/tyapi/TyContactRequest.java new file mode 100644 index 0000000..5cecfe2 --- /dev/null +++ b/src/main/java/com/glxp/udidl/admin/req/tyapi/TyContactRequest.java @@ -0,0 +1,9 @@ +package com.glxp.udidl.admin.req.tyapi; + +import lombok.Data; + +@Data +public class TyContactRequest { + private String supplierName; + private String creditCodeFk; +} diff --git a/src/main/java/com/glxp/udidl/admin/res/tyapi/CompanyBaseResponse.java b/src/main/java/com/glxp/udidl/admin/res/tyapi/CompanyBaseResponse.java index fbd3777..4d7a47d 100644 --- a/src/main/java/com/glxp/udidl/admin/res/tyapi/CompanyBaseResponse.java +++ b/src/main/java/com/glxp/udidl/admin/res/tyapi/CompanyBaseResponse.java @@ -23,7 +23,7 @@ public class CompanyBaseResponse { @JsonProperty("historyNames") private String historyNames; @JsonProperty("cancelDate") - private Object cancelDate; + private String cancelDate; @JsonProperty("regStatus") private String regStatus; @JsonProperty("regCapital") @@ -41,7 +41,7 @@ public class CompanyBaseResponse { @JsonProperty("bondName") private String bondName; @JsonProperty("revokeDate") - private Object revokeDate; + private String revokeDate; @JsonProperty("type") private Integer type; @JsonProperty("updateTimes") @@ -79,7 +79,7 @@ public class CompanyBaseResponse { @JsonProperty("email") private String email; @JsonProperty("toTime") - private Object toTime; + private String toTime; @JsonProperty("actualCapital") private String actualCapital; @JsonProperty("estiblishTime") diff --git a/src/main/java/com/glxp/udidl/admin/res/tyapi/TyBatchDlResponse.java b/src/main/java/com/glxp/udidl/admin/res/tyapi/TyBatchDlResponse.java new file mode 100644 index 0000000..7302b65 --- /dev/null +++ b/src/main/java/com/glxp/udidl/admin/res/tyapi/TyBatchDlResponse.java @@ -0,0 +1,15 @@ +package com.glxp.udidl.admin.res.tyapi; + +import com.glxp.udidl.admin.entity.tyapi.TyCompanyDetailEntity; +import com.glxp.udidl.admin.entity.tyapi.TySupplierEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class TyBatchDlResponse { + + List tyContactResponses; + List tyCompanyDetailEntities; + List tySupplierEntities; +} diff --git a/src/main/java/com/glxp/udidl/admin/res/tyapi/TyContactResponse.java b/src/main/java/com/glxp/udidl/admin/res/tyapi/TyContactResponse.java new file mode 100644 index 0000000..4945596 --- /dev/null +++ b/src/main/java/com/glxp/udidl/admin/res/tyapi/TyContactResponse.java @@ -0,0 +1,81 @@ +package com.glxp.udidl.admin.res.tyapi; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class TyContactResponse { + + /** + * 电话 + */ + @ApiModelProperty(value = "当前电话") + private String mainPhoneNumber; + + /** + * 注册地址 + */ + @ApiModelProperty(value = "注册地址") + private String regLocation; + + /** + * 邮箱 + */ + @ApiModelProperty(value = "邮箱") + private String email; + + /** + * 网址 + */ + @TableField(value = "websiteList") + @ApiModelProperty(value = "网址") + private String websiteList; + + /** + * 所属企业统一社会信用号 + */ + @TableField(value = "creditCodeFk") + @ApiModelProperty(value = "所属企业统一社会信用号") + private String creditCodeFk; + + /** + * 所属企业名称 + */ + @TableField(value = "supplierName") + @ApiModelProperty(value = "所属企业名称") + private String supplierName; + + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "") + private Integer id; + + /** + * 电话 + */ + @ApiModelProperty(value = "电话") + private String phoneNumber; + + /** + * 号码来源 + */ + @ApiModelProperty(value = "号码来源") + private String source; + + /** + * 标签 + */ + @ApiModelProperty(value = "标签") + private String tag; + + +} diff --git a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyCompanyDetailService.java b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyCompanyDetailService.java index bf065cf..033eee0 100644 --- a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyCompanyDetailService.java +++ b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyCompanyDetailService.java @@ -1,10 +1,57 @@ package com.glxp.udidl.admin.service.tyapi; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.udidl.admin.entity.tyapi.TyContactCallEntity; +import com.glxp.udidl.admin.entity.tyapi.TyContactInfoEntity; +import com.glxp.udidl.admin.res.tyapi.CompanyBaseResponse; +import com.glxp.udidl.admin.res.tyapi.ContactResponse; +import com.glxp.udidl.admin.util.BeanCopyUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.udidl.admin.dao.tyapi.TyCompanyDetailMapper; import com.glxp.udidl.admin.entity.tyapi.TyCompanyDetailEntity; + +import javax.annotation.Resource; +import java.util.List; + @Service public class TyCompanyDetailService extends ServiceImpl { + + @Resource + TyDlHttpClient tyDlHttpClient; + @Resource + TyCompanyDetailMapper tyCompanyDetailMapper; + + public TyCompanyDetailEntity download(String company) { + if (tyCompanyDetailMapper.exists(new QueryWrapper().eq("name", company))) { + log.error(company + "企业详细信息已存在!"); + } else { + CompanyBaseResponse companyBaseResponse = tyDlHttpClient.getBaseInfo(company); + if (companyBaseResponse.getErrorCode() == 0) { + CompanyBaseResponse.ResultDTO resultDTO = companyBaseResponse.getResult(); + TyCompanyDetailEntity tyCompanyDetailEntity = new TyCompanyDetailEntity(); + BeanUtil.copyProperties(resultDTO, tyCompanyDetailEntity); + if (CollUtil.isNotEmpty(resultDTO.getHistoryNameList())) { + tyCompanyDetailEntity.setHistoryNameList(StringUtils.join(resultDTO.getHistoryNameList(), ",")); + } + CompanyBaseResponse.ResultDTO.IndustryAllDTO industryAllDTO = resultDTO.getIndustryAll(); + if (industryAllDTO != null) { + tyCompanyDetailEntity.setIndustryAll(JSON.toJSONString(industryAllDTO)); + } + tyCompanyDetailMapper.insert(tyCompanyDetailEntity); + } else { + log.error(company + "下载企业信息失败!"); + } + } + List tyCompanyDetailEntities = tyCompanyDetailMapper.selectList(new QueryWrapper().eq("name", company)); + if (CollUtil.isNotEmpty(tyCompanyDetailEntities)) + return tyCompanyDetailEntities.get(0); + else + return null; + } } diff --git a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyContactInfoService.java b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyContactInfoService.java index b6960d8..f737581 100644 --- a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyContactInfoService.java +++ b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyContactInfoService.java @@ -1,10 +1,62 @@ package com.glxp.udidl.admin.service.tyapi; -import org.springframework.stereotype.Service; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.udidl.admin.entity.tyapi.TyContactInfoEntity; +import com.glxp.udidl.admin.dao.tyapi.TyContactCallMapper; import com.glxp.udidl.admin.dao.tyapi.TyContactInfoMapper; +import com.glxp.udidl.admin.entity.tyapi.TyContactCallEntity; +import com.glxp.udidl.admin.entity.tyapi.TyContactInfoEntity; +import com.glxp.udidl.admin.req.tyapi.TyContactRequest; +import com.glxp.udidl.admin.res.tyapi.ContactResponse; +import com.glxp.udidl.admin.res.tyapi.TyContactResponse; +import com.glxp.udidl.admin.util.BeanCopyUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + @Service public class TyContactInfoService extends ServiceImpl { + + @Resource + TyDlHttpClient tyDlHttpClient; + @Resource + TyContactInfoMapper tyContactInfoMapper; + @Resource + TyContactCallMapper tyContactCallMapper; + + + public List download(String company) { + if (tyContactInfoMapper.exists(new QueryWrapper().eq("supplierName", company))) { + log.error(company + "企业联系方式已存在重复下载!"); + } else { + ContactResponse contactResponse = tyDlHttpClient.getContact(company); + if (contactResponse.getErrorCode() == 0) { + ContactResponse.ResultDTO resultDTO = contactResponse.getResult(); + TyContactInfoEntity tyContactInfoEntity = new TyContactInfoEntity(); + BeanUtil.copyProperties(resultDTO, tyContactInfoEntity); + tyContactInfoEntity.setSupplierName(company); + tyContactInfoMapper.insert(tyContactInfoEntity); + List allCallsDTOS = resultDTO.getAllCalls(); + if (CollUtil.isNotEmpty(allCallsDTOS)) { + List tyContactCallEntities = BeanCopyUtils.copyList(allCallsDTOS, TyContactCallEntity.class); + if (CollUtil.isNotEmpty(tyContactCallEntities)) { + for (TyContactCallEntity tyContactCallEntity : tyContactCallEntities) { + tyContactCallEntity.setContactIdFk(tyContactInfoEntity.getId()); + tyContactCallEntity.setSupplierName(company); + } + tyContactCallMapper.insertBatch(tyContactCallEntities); + } + } + } + } + TyContactRequest tyContactRequest = new TyContactRequest(); + tyContactRequest.setSupplierName(company); + List tyContactInfoEntities = tyContactInfoMapper.findGroup(tyContactRequest); + return tyContactInfoEntities; + + } } diff --git a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyDlHttpClient.java b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyDlHttpClient.java index fa37590..f87d5de 100644 --- a/src/main/java/com/glxp/udidl/admin/service/tyapi/TyDlHttpClient.java +++ b/src/main/java/com/glxp/udidl/admin/service/tyapi/TyDlHttpClient.java @@ -7,6 +7,7 @@ import com.glxp.udidl.admin.res.tyapi.ContactResponse; import com.glxp.udidl.admin.res.tyapi.OpenSearchResponse; import com.glxp.udidl.admin.res.tyapi.SupplierResponse; import com.glxp.udidl.admin.util.OkHttpCli; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -14,6 +15,7 @@ import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; +@Slf4j @Service public class TyDlHttpClient { @@ -36,6 +38,7 @@ public class TyDlHttpClient { params.put("pageNum", pageNum + ""); params.put("pageSize", pageSize + ""); String response = okHttpCli.doGet(supplyUrl, params, headers); + log.info(response); SupplierResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { }); return baseResponse; @@ -46,6 +49,7 @@ public class TyDlHttpClient { Map params = new HashMap<>(); params.put("keyword", company); String response = okHttpCli.doGet(baseInfoUrl, params, headers); + log.info(response); CompanyBaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { }); return baseResponse; @@ -56,6 +60,7 @@ public class TyDlHttpClient { Map params = new HashMap<>(); params.put("keyword", company); String response = okHttpCli.doGet(contactUrl, params, headers); + log.info(response); ContactResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { }); return baseResponse; @@ -67,6 +72,7 @@ public class TyDlHttpClient { Map params = new HashMap<>(); params.put("keyword", company); String response = okHttpCli.doGet(openSearchUrl, params, headers); + log.info(response); OpenSearchResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { }); return baseResponse; diff --git a/src/main/java/com/glxp/udidl/admin/service/tyapi/TySupplierService.java b/src/main/java/com/glxp/udidl/admin/service/tyapi/TySupplierService.java index 82409f4..79efb8c 100644 --- a/src/main/java/com/glxp/udidl/admin/service/tyapi/TySupplierService.java +++ b/src/main/java/com/glxp/udidl/admin/service/tyapi/TySupplierService.java @@ -2,6 +2,8 @@ package com.glxp.udidl.admin.service.tyapi; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.udidl.admin.entity.tyapi.TyContactInfoEntity; import com.glxp.udidl.admin.res.tyapi.SupplierResponse; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -19,29 +21,34 @@ public class TySupplierService extends ServiceImpl download(String hospital) { Integer pageNum = 1; Integer pageSize = 20; - while (true) { - SupplierResponse supplierResponse = tyDlHttpClient.getSupplier(hospital, pageNum, pageSize); - if (supplierResponse.getErrorCode() == 0) { - List supplierDTOS = supplierResponse.getResult().getPageBean().getResult(); - List tySupplierEntities = BeanUtil.copyToList(supplierDTOS, TySupplierEntity.class); - if (CollUtil.isNotEmpty(supplierDTOS)) { - for (TySupplierEntity tySupplierEntity : tySupplierEntities) { - tySupplierEntity.setHospName(hospital); - tySupplierEntity.setUpdateTime(new Date()); + if (tySupplierMapper.exists(new QueryWrapper().eq("hospName", hospital))) { + log.error(hospital + "供应商列表已存在重复下载!"); + } else { + while (true) { + SupplierResponse supplierResponse = tyDlHttpClient.getSupplier(hospital, pageNum, pageSize); + if (supplierResponse.getErrorCode() == 0) { + List supplierDTOS = supplierResponse.getResult().getPageBean().getResult(); + List tySupplierEntities = BeanUtil.copyToList(supplierDTOS, TySupplierEntity.class); + if (CollUtil.isNotEmpty(supplierDTOS)) { + for (TySupplierEntity tySupplierEntity : tySupplierEntities) { + tySupplierEntity.setHospName(hospital); + tySupplierEntity.setUpdateTime(new Date()); + } + } + tySupplierMapper.insertBatch(tySupplierEntities); + if (CollUtil.isNotEmpty(supplierDTOS) && supplierDTOS.size() == 20) { + pageNum = pageNum + 1; + } else { + break; } - } - tySupplierMapper.insertBatch(tySupplierEntities); - if (CollUtil.isNotEmpty(supplierDTOS) && supplierDTOS.size() == 20) { - pageNum = pageNum + 1; - } else { - return; } } } + List tySupplierEntities = tySupplierMapper.selectList(new QueryWrapper().eq("hospName", hospital)); + return tySupplierEntities; } diff --git a/src/main/resources/mybatis/mapper/tyapi/TyContactInfoMapper.xml b/src/main/resources/mybatis/mapper/tyapi/TyContactInfoMapper.xml index 6205732..d9a1c8e 100644 --- a/src/main/resources/mybatis/mapper/tyapi/TyContactInfoMapper.xml +++ b/src/main/resources/mybatis/mapper/tyapi/TyContactInfoMapper.xml @@ -1,19 +1,45 @@ - - - - - - - - - - - - - - id, phoneNumber, regLocation, email, websiteList, creditCodeFk, supplierName - + + + + + + + + + + + + + + id, phoneNumber, regLocation, email, websiteList, creditCodeFk, supplierName + + + + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 4e7845a..d852ee6 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -1,7 +1,9 @@ # 字段新增 (表名,字段名,字段类型,修改方式(1:新增,2:修改,3:删除) CALL Pro_Temp_ColumnWork('ty_supplier', 'updateTime', 'date', 1); - +CALL Pro_Temp_ColumnWork('ty_supplier', 'updateTime', 'date', 1); +CALL Pro_Temp_ColumnWork('ty_supplier', 'updateTime', 'date', 1); +CALL Pro_Temp_ColumnWork('ty_supplier', 'updateTime', 'date', 1);