diff --git a/vehicle-company-common/pom.xml b/vehicle-company-common/pom.xml
index ac71ebb..67d6895 100644
--- a/vehicle-company-common/pom.xml
+++ b/vehicle-company-common/pom.xml
@@ -17,6 +17,19 @@
UTF-8
+
+
+
+ com.baidu.aip
+ java-sdk
+ 4.12.0
+
+
+ org.slf4j
+ slf4j-simple
+
+
+
com.dragon
dragon-common-core
diff --git a/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/domain/FirmInfo.java b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/domain/FirmInfo.java
new file mode 100644
index 0000000..24f500a
--- /dev/null
+++ b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/domain/FirmInfo.java
@@ -0,0 +1,60 @@
+package com.dragon.vehicle.company.common.domain;
+
+import lombok.Data;
+
+/**
+ * 企业信息
+ */
+@Data
+public class FirmInfo {
+
+ /**
+ * 企业编号
+ */
+ private Integer firmId;
+ /**
+ * 企业名称
+ */
+ private String firmName;
+ /**
+ * 企业电话
+ */
+ private String firmTel;
+ /**
+ * 企业详细地址
+ */
+ private String firmAddress;
+ /**
+ * 企业法定代表人
+ */
+ private String firmRepresentative;
+ /**
+ * 法定代表人电话
+ */
+ private String firmRepresentativePhone;
+ /**
+ * 法定代表人身份证号
+ */
+ private String firmRepresentativeId;
+ /**
+ * 开户行名称
+ */
+ private String firmBank;
+ /**
+ * 开户行支行
+ */
+ private String firmBankBranch;
+ /**
+ * 银行账号
+ */
+ private String firmBankAccount;
+ /**
+ * 营业执照号
+ */
+ private String firmBusinessLicense;
+ /**
+ * 统一社会信用代码
+ */
+ private String unifiedSocialCredit;
+
+}
diff --git a/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiCheck.java b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiCheck.java
new file mode 100644
index 0000000..7242242
--- /dev/null
+++ b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiCheck.java
@@ -0,0 +1,20 @@
+package com.dragon.vehicle.company.common.utils;
+
+import org.json.JSONObject;
+
+/**
+ * 百度检查
+ */
+public class BaiDuAiCheck {
+
+
+ /**
+ * 文本审核
+ * @param text
+ * @return
+ */
+ public static JSONObject checkText(String text){
+ JSONObject reponse = BaiDuAiConfig.client.textCensorUserDefined(text);
+ return reponse;
+ }
+}
diff --git a/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiConfig.java b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiConfig.java
new file mode 100644
index 0000000..511f16d
--- /dev/null
+++ b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/BaiDuAiConfig.java
@@ -0,0 +1,22 @@
+package com.dragon.vehicle.company.common.utils;
+
+
+import com.baidu.aip.contentcensor.AipContentCensor;
+
+
+/**
+ * 百度敏感信息配置
+ */
+public class BaiDuAiConfig {
+
+ //设置APPID/AK/SK
+ private static final String APP_ID="41793871";
+ private static final String API_KEY="kmuqlfvH0QSAzsHGuNQRpICB";
+ public static final String SECRET_KEY="cF3KyORcop0x0PUiz3KUu1CcYFyBwzwp";
+
+
+ /**
+ * 初始化客户端
+ */
+ public static final AipContentCensor client = new AipContentCensor(APP_ID, API_KEY, SECRET_KEY);
+}
diff --git a/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/ValidatorUtils.java b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/ValidatorUtils.java
new file mode 100644
index 0000000..e56279c
--- /dev/null
+++ b/vehicle-company-common/src/main/java/com/dragon/vehicle/company/common/utils/ValidatorUtils.java
@@ -0,0 +1,99 @@
+package com.dragon.vehicle.company.common.utils;
+
+
+import com.dragon.common.core.utils.StringUtils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * 企业认真工具类
+ */
+public class ValidatorUtils {
+
+ public static boolean isPhone(String phone){
+ if (StringUtils.isEmpty(phone)){
+ return false;
+ }
+
+ //手机号校验规则
+ String regex="^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[1|8|9]))\\d{8}$";
+ if (phone.length()!= 11){
+ return false;
+ }else{
+ Pattern p = Pattern.compile(regex);
+ Matcher matcher = p.matcher(phone);
+ boolean isMatch = matcher.matches();
+ return isMatch;
+ }
+ }
+
+
+ /**
+ * 座机号码校验
+ * @param tel
+ * @return
+ */
+ public static boolean isTel(String tel){
+ if (tel !=null && !tel.isEmpty()){
+ boolean matches = Pattern.matches(
+ "^\\d{3}-\\d{8}$|^\\d{4}-\\d{7}$",tel
+ );
+ return matches;
+ }
+ return false;
+ }
+
+ /**
+ * 身份证校验
+ * @param id
+ * @return
+ */
+ public static boolean validator(String id){
+ //
+ String str="^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0\\d|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$";
+ Pattern pattern = Pattern.compile(str);
+ return pattern.matcher(id).matches();
+ }
+
+
+ /**
+ * 统一社会信用代码校验
+ * @param license
+ * @return
+ */
+ public static boolean isLicense18(String license){
+ if (StringUtils.isEmpty(license)){
+ return false;
+ }
+ if (license.length() != 18){
+ return false;
+ }
+
+ //
+ String regex="^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$";
+
+ String str = "0123456789ABCDEFGHJKLMNPQRTUWXY";
+ int[] ws = { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };
+ String[] codes = new String[2];
+ codes[0] = license.substring(0, license.length() - 1);
+ codes[1] = license.substring(license.length() - 1, license.length());
+ int sum = 0;
+ for (int i = 0; i < 17; i++) {
+ sum += str.indexOf(codes[0].charAt(i)) * ws[i];
+ }
+ int c18 = 31 - (sum % 31);
+ if (c18 == 31) {
+ c18 = 'Y';
+ } else if (c18 == 30) {
+ c18 = '0';
+ }
+ if (str.charAt(c18) != codes[1].charAt(0)) {
+ return false;
+ }
+ return true;
+
+ }
+
+
+}
diff --git a/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/controller/FirmController.java b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/controller/FirmController.java
new file mode 100644
index 0000000..508981f
--- /dev/null
+++ b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/controller/FirmController.java
@@ -0,0 +1,42 @@
+package com.dragon.vehicle.company.server.controller;
+
+
+import com.dragon.common.core.domain.Result;
+import com.dragon.vehicle.company.common.domain.FirmInfo;
+import com.dragon.vehicle.company.common.utils.BaiDuAiCheck;
+import com.dragon.vehicle.company.server.service.FirmService;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+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("/firm")
+public class FirmController {
+
+ @Autowired
+ private FirmService firmService;
+
+
+ @PostMapping("/firmEnter")
+ public Object addFirm(@RequestBody FirmInfo firmInfo){
+ JSONObject jsonObject = new JSONObject();
+ JSONObject text = BaiDuAiCheck.checkText(firmInfo.getFirmName());
+ System.out.println(text);
+ if (text.get("conclusion")==null){
+ jsonObject.put("code",2);
+ }else if (text.get("conclusion").equals("合规")){
+ jsonObject.put("code",1);
+ Result result=firmService.addFirm(firmInfo);
+ return result;
+ }else {
+ jsonObject.put("code",3);
+ }
+
+ return jsonObject;
+ }
+
+
+}
diff --git a/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/mapper/FirmMapper.java b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/mapper/FirmMapper.java
new file mode 100644
index 0000000..d9ce273
--- /dev/null
+++ b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/mapper/FirmMapper.java
@@ -0,0 +1,10 @@
+package com.dragon.vehicle.company.server.mapper;
+
+import com.dragon.vehicle.company.common.domain.FirmInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface FirmMapper {
+ void addFirm(FirmInfo firmInfo);
+
+}
diff --git a/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/service/impl/FirmServiceImpl.java b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/service/impl/FirmServiceImpl.java
new file mode 100644
index 0000000..49d73b0
--- /dev/null
+++ b/vehicle-company-server/src/main/java/com/dragon/vehicle/company/server/service/impl/FirmServiceImpl.java
@@ -0,0 +1,39 @@
+package com.dragon.vehicle.company.server.service.impl;
+
+import com.dragon.common.core.domain.Result;
+import com.dragon.vehicle.company.common.domain.FirmInfo;
+import com.dragon.vehicle.company.common.utils.ValidatorUtils;
+import com.dragon.vehicle.company.server.mapper.FirmMapper;
+import com.dragon.vehicle.company.server.service.FirmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class FirmServiceImpl implements FirmService {
+
+ @Autowired
+ private FirmMapper firmMapper;
+
+ @Override
+ public Result addFirm(FirmInfo firmInfo) {
+ if (!ValidatorUtils.isPhone(firmInfo.getFirmRepresentativePhone())){
+ return Result.error();
+ }
+
+ if (!ValidatorUtils.validator(firmInfo.getFirmRepresentativeId())){
+ return Result.error();
+ }
+
+ if (!ValidatorUtils.isLicense18(firmInfo.getUnifiedSocialCredit())){
+ return Result.error();
+ }
+
+ if (!ValidatorUtils.isTel(firmInfo.getFirmTel())){
+ return Result.error();
+ }
+
+ firmMapper.addFirm(firmInfo);
+ return Result.success();
+ }
+
+}
diff --git a/vehicle-company-server/src/main/resources/mappper.firm/FirmMapper.xml b/vehicle-company-server/src/main/resources/mappper.firm/FirmMapper.xml
new file mode 100644
index 0000000..163af57
--- /dev/null
+++ b/vehicle-company-server/src/main/resources/mappper.firm/FirmMapper.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ insert into firm_info(firm_name,firm_tel,firm_address,firm_representative,firm_representative_phone,firm_representative_id,firm_bank,firm_bank_branch,
+ firm_bank_account,firm_business_license,unified_social_credit)
+ values (#{firmName},#{firmTel},#{firmAddress},#{firmRepresentative},#{firmRepresentativePhone},#{firmRepresentativeId},#{firmBank},
+ #{firmBankAccount},#{firmBusinessLicense},#{unifiedSocialCredit})
+
+