|
@@ -9,6 +9,7 @@ import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleRegisterResponse;
|
|
import cn.com.taiji.sdk.model.comm.protocol.tts.waybill.*;
|
|
import cn.com.taiji.sdk.model.comm.protocol.tts.waybill.*;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.jkcredit.invoice.hub.constant.CommonConstant;
|
|
import com.jkcredit.invoice.hub.constant.CommonConstant;
|
|
import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
|
|
import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
|
|
import com.jkcredit.invoice.hub.model.dto.apiCarFree.InvoiceResult;
|
|
import com.jkcredit.invoice.hub.model.dto.apiCarFree.InvoiceResult;
|
|
@@ -353,14 +354,30 @@ public class ApiCarFreeServiceImpl extends BaseService implements ApiCarFreeServ
|
|
public ApiResponseData findInvoice(JSONObject param) {
|
|
public ApiResponseData findInvoice(JSONObject param) {
|
|
try {
|
|
try {
|
|
CarFreeCarrierBillStartPo po = wayBillStartService.getBillStartByNum(param.getString("num"));
|
|
CarFreeCarrierBillStartPo po = wayBillStartService.getBillStartByNum(param.getString("num"));
|
|
- if (po != null) {
|
|
|
|
|
|
+ if (po != null && po.getStatus().equals(CommonConstant.STATUS_INVOICE_OVER)) {
|
|
|
|
+ // 数据库中已经存在运单开始信息,并且运单状态为已结束,直接从数据库中查询运单发票数据,封装返回
|
|
wayBillStartService.updateBillStartIsSearch(param.getString("num"));
|
|
wayBillStartService.updateBillStartIsSearch(param.getString("num"));
|
|
|
|
+ // 结果集外层数据
|
|
|
|
+ SearchInvoiceDto searchInvoiceDto = searchInvoiceService.getSearchInvoiceByNum(param.getString("num"));
|
|
|
|
+ // 结果集发票集合
|
|
|
|
+ List<InvoiceResult> invoiceResultList = searchInvoiceResultService.getSearchInvoiceResult(param.getString("num"), param.getLong("userId"));
|
|
|
|
+
|
|
|
|
+ // 返回结果集
|
|
|
|
+ InvoiceResultDto invoiceResultDto = new InvoiceResultDto();
|
|
|
|
+ BeanUtil.copyProperties(invoiceResultDto, searchInvoiceDto);
|
|
|
|
+ invoiceResultDto.setResult(invoiceResultList);
|
|
|
|
+
|
|
|
|
+ return ApiResponseData.success(ApiResponseCodeEnum.CODE_200.getValue(), JSON.toJSONString(invoiceResultDto, SerializerFeature.WriteMapNullValue));
|
|
|
|
+ } else if (po != null && !po.getStatus().equals(CommonConstant.STATUS_INVOICE_OVER)) {
|
|
|
|
+ // 数据库中已经存在运单开始信息,并且运单状态非已结束,需要重新查询接口
|
|
|
|
+ return apiCarFreeChargeService.charge(po);
|
|
} else {
|
|
} else {
|
|
|
|
+ // 数据库中没有运单开始信息(这部分数据为遗留数据,老平台迁移用户,没有运单开始数据的存储),需要调接口
|
|
po = new CarFreeCarrierBillStartPo();
|
|
po = new CarFreeCarrierBillStartPo();
|
|
po.setUserId(param.getLong("userId"));
|
|
po.setUserId(param.getLong("userId"));
|
|
po.setNum(param.getString("num"));
|
|
po.setNum(param.getString("num"));
|
|
|
|
+ return apiCarFreeChargeService.charge(po);
|
|
}
|
|
}
|
|
- return apiCarFreeChargeService.charge(po);
|
|
|
|
} catch (ServiceException se) {
|
|
} catch (ServiceException se) {
|
|
log.error("[-findInvoice-] 错误信息:" + se.getMessage());
|
|
log.error("[-findInvoice-] 错误信息:" + se.getMessage());
|
|
throw new ServiceException(se.getMessage());
|
|
throw new ServiceException(se.getMessage());
|