瀏覽代碼

新增无车api接口

xusonglin 5 年之前
父節點
當前提交
c1ef179175

+ 6 - 0
src/main/java/com/jkcredit/invoice/hub/constant/CommonConstant.java

@@ -15,6 +15,9 @@ public class CommonConstant {
     public static String[] CAR_FREE_API_ARGS = {"COMPANY_QUERY_V1", "COMPANY_ADD_V1", "VEHICLE_REGISTER_QUERY",
             "VEHICLE_REGISTER", "WAY_BILL_START", "WAY_BILL_END", "WAY_BILL_HISTORY_START", "WAY_BILL_HISTORY_END",
             "WAY_BILL_NUM_FIND_INVOICE", "WAY_BILL_COUNT_QUERY"};
+    // companyNum
+    public static final String COMPANY_NUMBER = "10004616";
+
     // 公司查询
     public static String COMPANY_QUERY_V1 = "COMPANY_QUERY_V1";
     // 企业注册
@@ -36,4 +39,7 @@ public class CommonConstant {
     // 月账单交易查询
     public static String WAY_BILL_COUNT_QUERY = "WAY_BILL_COUNT_QUERY";
 
+    // 备案来源 无车承运人
+    public static Integer WAYBILL_SOURCE_1 = 1;
+
 }

+ 3 - 0
src/main/java/com/jkcredit/invoice/hub/controller/rest/forward/ForwardResource.java

@@ -34,6 +34,7 @@ public class ForwardResource extends RestResource {
 
     @PostMapping("/rest")
     public ApiResponseData forwardRequest(@RequestBody ApiRequestParam param) {
+        // todo 确定余额控制是在上传还是每个接口
         try {
             validate(param);
         } catch (ServiceException se) {
@@ -50,6 +51,8 @@ public class ForwardResource extends RestResource {
 
             if (param.getApi().equals(CommonConstant.COMPANY_QUERY_V1)) {
                 return apiCompanyService.companyQuery(JSON.parseObject(JSON.toJSONString(param.getData())));
+            } else if (param.getApi().equals(CommonConstant.COMPANY_ADD_V1)) {
+                return apiCompanyService.queryAdd(JSON.parseObject(JSON.toJSONString(param.getData())));
             } else {
                 return ApiResponseData.failure(ApiResponseCodeEnum.CODE_1080.getValue(), ApiResponseCodeEnum.CODE_1080.getDesc());
             }

+ 13 - 0
src/main/java/com/jkcredit/invoice/hub/mapper/carFreeCarrierBillStartMapper.java

@@ -0,0 +1,13 @@
+package com.jkcredit.invoice.hub.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jkcredit.invoice.hub.model.po.carFreeCarrierBillStart.CarFreeCarrierBillStartPo;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 23:22
+ * @version: V1.0
+ **/
+public interface carFreeCarrierBillStartMapper extends BaseMapper<CarFreeCarrierBillStartPo> {
+}

+ 41 - 0
src/main/java/com/jkcredit/invoice/hub/model/dto/carFreeCarrierBillStart/CarFreeCarrierBillStartDto.java

@@ -0,0 +1,41 @@
+package com.jkcredit.invoice.hub.model.dto.carFreeCarrierBillStart;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 23:27
+ * @version: V1.0
+ **/
+@Data
+public class CarFreeCarrierBillStartDto implements Serializable {
+    private static final long serialVersionUID = 5285252486932628307L;
+    // 运单编号
+    private String num;
+    // 车牌号
+    private String plateNumber;
+    // 车牌颜色
+    private Integer plateColor;
+    // 运单开始时间
+    private String startTime;
+    // 运单开始地址
+    private String sourceAddr;
+    // 运单目的地址
+    private String destAddr;
+    // 运单预计完成时间
+    private String predictEndTime;
+    // 运单费用
+    private BigDecimal fee;
+    // 发票抬头类型
+    private Integer titleType;
+    // 税号
+    private String taxPlayerCode;
+    // 是否为历史运单
+    private Integer isHistory;
+    // 用户id
+    private Integer userId;
+}

+ 63 - 0
src/main/java/com/jkcredit/invoice/hub/model/po/carFreeCarrierBillStart/CarFreeCarrierBillStartPo.java

@@ -0,0 +1,63 @@
+package com.jkcredit.invoice.hub.model.po.carFreeCarrierBillStart;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.ToString;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 23:12
+ * @version: V1.0
+ **/
+@Entity
+@Data
+@ToString
+@TableName("h_car_free_carrier_bill_start")
+public class CarFreeCarrierBillStartPo implements Serializable {
+    private static final long serialVersionUID = -3628738019259033107L;
+
+    @Id
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    // 运单编号
+    private String num;
+    // 车牌号
+    private String plateNumber;
+    // 车牌颜色
+    private Integer plateColor;
+    // 运单开始时间
+    private String startTime;
+    // 运单开始地址
+    private String sourceAddr;
+    // 运单目的地址
+    private String destAddr;
+    // 运单预计完成时间
+    private String predictEndTime;
+    // 运单费用
+    private BigDecimal fee;
+    // 发票抬头类型
+    private Integer titleType;
+    // 税号
+    private String taxPlayerCode;
+    // 运单状态
+    private Integer status;
+    // 是否为历史运单
+    private Integer isHistory;
+    // 用户id
+    private Integer userId;
+    // 创建时间
+    private Date createTime;
+    // 更新时间
+    private Date updateTime;
+    // 删除标记
+    private Integer activated;
+}

+ 31 - 0
src/main/java/com/jkcredit/invoice/hub/service/apiCarFree/ApiCarFreeService.java

@@ -0,0 +1,31 @@
+package com.jkcredit.invoice.hub.service.apiCarFree;
+
+import com.alibaba.fastjson.JSONObject;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
+
+/**
+ * @description: 无车api接口
+ * @author: xusonglin
+ * @create: 2020/1/16 21:52
+ * @version: V1.0
+ **/
+public interface ApiCarFreeService {
+    // 无车备案车辆查询
+    ApiResponseData vehicleRegisterQuery(JSONObject param);
+
+    // 无车车辆备案
+    ApiResponseData vehicleRegister(JSONObject param);
+
+    // 无车运单开始指令
+    ApiResponseData wayBillStart(JSONObject param);
+
+    // 无车运单结束指令
+    ApiResponseData wayBillEnd(JSONObject param);
+
+    // 无车历史运单开始指令
+    ApiResponseData wayBillHistoryStart(JSONObject param);
+
+    // 无车历史运单结束指令
+    ApiResponseData wayBillHistoryEnd(JSONObject param);
+
+}

+ 239 - 0
src/main/java/com/jkcredit/invoice/hub/service/apiCarFree/ApiCarFreeServiceImpl.java

@@ -0,0 +1,239 @@
+package com.jkcredit.invoice.hub.service.apiCarFree;
+
+import cn.com.taiji.sdk.comm.ETCCommHelper;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryRequest;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryResponse;
+import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleQueryRequest;
+import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleQueryResponse;
+import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleRegisterRequest;
+import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleRegisterResponse;
+import cn.com.taiji.sdk.model.comm.protocol.tts.waybill.*;
+import com.alibaba.fastjson.JSONObject;
+import com.jkcredit.invoice.hub.constant.CommonConstant;
+import com.jkcredit.invoice.hub.service.base.BaseService;
+import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
+import io.netty.util.internal.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+
+/**
+ * @description: 无车api接口
+ * @author: xusonglin
+ * @create: 2020/1/16 21:52
+ * @version: V1.0
+ **/
+@Service
+@Slf4j
+public class ApiCarFreeServiceImpl extends BaseService implements ApiCarFreeService {
+    @Override
+    public ApiResponseData vehicleRegisterQuery(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        String result;
+
+        VehicleQueryRequest request = new VehicleQueryRequest();
+        request.setPlateNum(param.getString("plateNumber").trim());
+        request.setPlateColor(param.getInteger("PlateColor"));
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        request.setWaybillSource(CommonConstant.WAYBILL_SOURCE_1);
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            VehicleQueryResponse response = ETCCommHelper.upload(fileName, request, VehicleQueryResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-vehicleRegisterQuery-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-vehicleRegisterQuery-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-vehicleRegisterQuery-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData vehicleRegister(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        String result;
+
+        VehicleRegisterRequest request = new VehicleRegisterRequest();
+        request.setPlateNum(param.getString("plateNumber").trim());
+        request.setPlateColor(param.getInteger("PlateColor"));
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            VehicleRegisterResponse response = ETCCommHelper.upload(fileName, request, VehicleRegisterResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-vehicleRegister-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-vehicleRegister-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-vehicleRegister-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData wayBillStart(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        // todo 入库 入库失败则返回失败,不调接口
+        String result;
+
+        WaybillStartRequest request = new WaybillStartRequest();
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        request.setNum(param.getString("num").trim());
+        request.setPlateNum(param.getString("plateNumber").trim());
+        request.setPlateColor(param.getInteger("PlateColor"));
+        request.setStartTime(param.getString("startTime").trim());
+        request.setSourceAddr(param.getString("sourceAddr").trim());
+        request.setDestAddr(param.getString("destAddr").trim());
+        request.setPredictEndTime(param.getString("predictEndTime").trim());
+        request.setFee(param.getLong("fee"));
+        request.setTitleType(param.getInteger("titleType"));
+
+        if (!StringUtil.isNullOrEmpty(param.getString("taxplayerCode"))) {
+            request.setTaxplayerCode(param.getString("taxplayerCode").trim());
+        }
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            WaybillStartResponse response = ETCCommHelper.upload(fileName, request, WaybillStartResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-wayBillStart-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-wayBillStart-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-wayBillStart-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData wayBillEnd(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        // todo 入库 入库失败则返回失败,不调接口
+        String result;
+
+        WaybillEndRequest request = new WaybillEndRequest();
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        request.setNum(param.getString("num").trim());
+        request.setRealDestAddr(param.getString("realDestAddr").trim());
+        request.setEndTime(param.getString("endTime").trim());
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            WaybillEndResponse response = ETCCommHelper.upload(fileName, request, WaybillEndResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-waybillEnd-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-waybillEnd-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-waybillEnd-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData wayBillHistoryStart(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        // todo 入库 入库失败则返回失败,不调接口
+        String result;
+
+        WaybillHistoryStartRequest request = new WaybillHistoryStartRequest();
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        request.setNum(param.getString("num").trim());
+        request.setPlateNum(param.getString("plateNumber").trim());
+        request.setPlateColor(param.getInteger("PlateColor"));
+        request.setStartTime(param.getString("startTime").trim());
+        request.setSourceAddr(param.getString("sourceAddr").trim());
+        request.setDestAddr(param.getString("destAddr").trim());
+        request.setPredictEndTime(param.getString("predictEndTime").trim());
+        request.setFee(param.getLong("fee"));
+        request.setTitleType(param.getInteger("titleType"));
+
+        if (!StringUtil.isNullOrEmpty(param.getString("taxplayerCode"))) {
+            request.setTaxplayerCode(param.getString("taxplayerCode").trim());
+        }
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            WaybillHistoryStartResponse response = ETCCommHelper.upload(fileName, request, WaybillHistoryStartResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-wayBillHistoryStart-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-wayBillHistoryStart-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-wayBillHistoryStart-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData wayBillHistoryEnd(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        // todo 入库 入库失败则返回失败,不调接口
+        String result;
+
+        WaybillHistoryEndRequest request = new WaybillHistoryEndRequest();
+        request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
+        request.setNum(param.getString("num").trim());
+        request.setRealDestAddr(param.getString("realDestAddr").trim());
+        request.setEndTime(param.getString("endTime").trim());
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            WaybillHistoryEndResponse response = ETCCommHelper.upload(fileName, request, WaybillHistoryEndResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-wayBillHistoryEnd-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-wayBillHistoryEnd-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-wayBillHistoryEnd-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+}

+ 4 - 0
src/main/java/com/jkcredit/invoice/hub/service/apiCompany/ApiCompanyService.java

@@ -10,5 +10,9 @@ import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
  * @version: V1.0
  **/
 public interface ApiCompanyService {
+    // 公司查询
     ApiResponseData companyQuery(JSONObject param);
+
+    // 企业注册
+    ApiResponseData queryAdd(JSONObject param);
 }

+ 45 - 6
src/main/java/com/jkcredit/invoice/hub/service/apiCompany/ApiCompanyServiceImpl.java

@@ -1,20 +1,18 @@
 package com.jkcredit.invoice.hub.service.apiCompany;
 
 import cn.com.taiji.sdk.comm.ETCCommHelper;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyAddRequest;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyAddResponse;
 import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryRequest;
 import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryResponse;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.jkcredit.invoice.hub.constant.CommonConstant;
-import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
 import com.jkcredit.invoice.hub.service.base.BaseService;
 import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
 import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
-import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import javax.sql.rowset.serial.SerialException;
 import java.io.IOException;
 
 /**
@@ -47,10 +45,51 @@ public class ApiCompanyServiceImpl extends BaseService implements ApiCompanyServ
                     + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
                     + ",endTime=" + costTimeEnd);
         } catch (IOException e) {
-            log.info("[-companyQuery-] 网络异常 " + e);
+            log.error("[-companyQuery-] 网络异常 " + e);
             throw new ServiceException(CommonConstant.QUERY_FAILED);
         } catch (Exception apie) {
-            log.info("[-companyQuery-] 错误信息:" + apie.getMessage());
+            log.error("[-companyQuery-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
+
+    @Override
+    public ApiResponseData queryAdd(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        String result;
+
+        CompanyAddRequest request = new CompanyAddRequest();
+        request.setName(param.getString("name").trim());
+        request.setCompanyType(param.getInteger("companyType"));
+        request.setTaxpayerCode(param.getString("taxplayerCode").trim());
+        request.setOperatingRangeType(param.getInteger("operatingRangeType"));
+        request.setContact(param.getString("contact").trim());
+        request.setTel(param.getString("tel").trim());
+        request.setEmergencyContact(param.getString("emergencyContact").trim());
+        request.setEmergencyTel(param.getString("emergencyTel").trim());
+        request.setBuyerName(param.getString("buyerName").trim());
+        request.setBuyerTaxpayerCode(param.getString("buyerTaxpayerCode").trim());
+        request.setBuyerAddr(param.getString("buyerAddr").trim());
+        request.setBuyerTel(param.getString("buyerTel").trim());
+        request.setBuyerBank(param.getString("buyerBank").trim());
+        request.setBuyerBankAccount(param.getString("buyerBankAccount").trim());
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            CompanyAddResponse response = ETCCommHelper.upload(fileName, request, CompanyAddResponse.class);
+
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-queryAdd-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.error("[-queryAdd-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.error("[-queryAdd-] 错误信息:" + apie.getMessage());
             throw new ServiceException(CommonConstant.QUERY_FAILED);
         }
         return analyzeApiResult(result);

+ 13 - 0
src/main/java/com/jkcredit/invoice/hub/service/carFreeCarrierBillStart/CarFreeCarrierBillStartService.java

@@ -0,0 +1,13 @@
+package com.jkcredit.invoice.hub.service.carFreeCarrierBillStart;
+
+import com.jkcredit.invoice.hub.model.dto.carFreeCarrierBillStart.CarFreeCarrierBillStartDto;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 23:24
+ * @version: V1.0
+ **/
+public interface CarFreeCarrierBillStartService {
+    void saveBillStart(CarFreeCarrierBillStartDto dto);
+}

+ 21 - 0
src/main/java/com/jkcredit/invoice/hub/service/carFreeCarrierBillStart/CarFreeCarrierBillStartServiceImpl.java

@@ -0,0 +1,21 @@
+package com.jkcredit.invoice.hub.service.carFreeCarrierBillStart;
+
+import com.jkcredit.invoice.hub.model.dto.carFreeCarrierBillStart.CarFreeCarrierBillStartDto;
+import com.jkcredit.invoice.hub.service.base.BaseService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 23:24
+ * @version: V1.0
+ **/
+@Slf4j
+@Service
+public class CarFreeCarrierBillStartServiceImpl extends BaseService implements CarFreeCarrierBillStartService {
+    @Override
+    public void saveBillStart(CarFreeCarrierBillStartDto dto) {
+        // todo
+    }
+}