diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/red/AddRedInvoiceTwoDTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/red/AddRedInvoiceTwoDTO.java index 46e772f..42eb1aa 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/red/AddRedInvoiceTwoDTO.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/red/AddRedInvoiceTwoDTO.java @@ -11,7 +11,7 @@ public class AddRedInvoiceTwoDTO { /** invoiceline*/ @Alias("invoiceType") - @NotEmpty(message = "发票类型代码不能为空") +// @NotEmpty(message = "发票类型代码不能为空") private String fplxdm; // 发票类型代码 /**fpqqlsh */ @@ -21,12 +21,12 @@ public class AddRedInvoiceTwoDTO { /** */ @Alias("originFpdm") - @NotEmpty(message = "原发票类型代码不能为空") +// @NotEmpty(message = "原发票类型代码不能为空") private String yfplxdm; // 原发票类型代码 /** */ @Alias("originFphm") - @NotEmpty(message = "原全电发票号码不能为空") +// @NotEmpty(message = "原全电发票号码不能为空") private String yfphm; // 原全电发票号码 /** */ @@ -43,6 +43,11 @@ public class AddRedInvoiceTwoDTO { @Alias("tdyslxdm") private String ytdyslxdm; // 原特定要素类型代码 + private String async; + + private String bsrysfzjhm; + private String dqbm; + private String nsrsbh; diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java index c105028..eb0885f 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/adapter/request/AisinoInvoiceRequestAdapterImpl.java @@ -103,7 +103,7 @@ public class AisinoInvoiceRequestAdapterImpl implements IInvoiceRequestService { // 平台解密 try { // TODO: 2023/4/23 调试屏蔽 - order = AisinoInvoiceDecryptUtil.decrypt(order, JKey); +// order = AisinoInvoiceDecryptUtil.decrypt(order, JKey); } catch (Exception e) { e.printStackTrace(); throw new JianshuiParamErrorException(ErrorCode.DECRYPT_ERROR, companyservice, "invoice"); diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java index 497bf61..0d2b3c7 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java @@ -5,6 +5,7 @@ import java.util.Date; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.conditions.query.Query; import com.jianshui.common.utils.BeanToMapUtils; import com.jianshui.invoice.domain.dto.api.*; import com.jianshui.invoice.domain.dto.api.jcsk.*; @@ -229,30 +230,14 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { //billinfo => 红字报文 AddRedInvoiceTwoDTO addRedInvoiceDTO = BeanUtil.copyProperties(billInfo, AddRedInvoiceTwoDTO.class); ValidateUtils.validate(addRedInvoiceDTO); + addRedInvoiceDTO.setAsync("true"); + addRedInvoiceDTO.setBsrysfzjhm(queryDTO.getBsrysfzjhm()); + addRedInvoiceDTO.setDqbm(queryDTO.getDqbm()); + addRedInvoiceDTO.setNsrsbh(queryDTO.getNsrsbh()); - // 查找原Invoice - QueryWrapper invoiceQueryWrapper = new QueryWrapper<>(); - invoiceQueryWrapper.eq("fphm", addRedInvoiceDTO.getYfphm()); - invoiceQueryWrapper.eq("invoice_type", getInvoiceType(addRedInvoiceDTO.getYfplxdm(), false)); - Invoice originInvoice = invoiceMapper.selectOne(invoiceQueryWrapper); - if (originInvoice == null) { - return new HXResponse(ErrorCode.INVOICE_NOT_EXISTS.toString()); - } - - BillInfo redBillInfo = billInfoMapper.selectById(originInvoice.getBillInfoId()); - if (billInfo == null) { - return new HXResponse(ErrorCode.INVOICE_NOT_EXISTS.toString()); - } - redBillInfo.setId(null); - redBillInfo.setOriginFphm(addRedInvoiceDTO.getYfphm()); - redBillInfo.setOutTradeOrderno(addRedInvoiceDTO.getFpqqlsh()); - redBillInfo.setFpqqlsh(""); - String systemOrderno = IdUtils.randomSystemOrderno(); - redBillInfo.setSystemOrderno(systemOrderno); - redBillInfo.setKptype("2"); - if (billInfoMapper.insert(redBillInfo) == 0) { - return new HXResponse(ErrorCode.INVOICE_NOT_EXISTS.toString()); - } + QueryWrapper redinfoQueryWrapper = new QueryWrapper<>(); + redinfoQueryWrapper.eq("red_info_no",addRedInvoiceDTO.getHzfpxxqrdid()); + Redinfo redinfo = redinfoMapper.selectOne(redinfoQueryWrapper); cn.hutool.json.JSONObject result = null; try { @@ -273,14 +258,10 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { if (data == null) { return new HXResponse(ErrorCode.INCOME_ERROR.toString()); } - String requestId = data.getStr("requestId"); - redBillInfo.setFpqqlsh(requestId); - redBillInfo.setOutTradeOrderno(requestId); - billInfoMapper.updateById(redBillInfo); HXResponse response = new HXResponse("0000", "同步成功"); - response.put("fpqqlsh", billInfo.getSystemOrderno()); + response.put("fpqqlsh", requestId); return response; } else { return new HXResponse(ErrorCode.INCOME_ERROR + "未获取到开票类型!".toString()); @@ -1134,30 +1115,31 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService { cn.hutool.json.JSONObject result = null; try { -// result = ApiHttp.request(WebServiceConstant.TYCXJK, WebServiceConstant.URL, queryDTO, companyservice); - - result = new cn.hutool.json.JSONObject(); - result.set("code", "0000"); - result.set("msg", "123"); - result.set("data", "{\n" + - " \"hzfpxxqrdbh\": \"37021423051000203148\",\n" + - " \"hzfpxxqrdid\": \"953bf4ef7ac74c24ae9a056262939f96\",\n" + - " \"hzfpxxqrdZtdm\": \"01\",\n" + - " \"lrrq\": \"2023-05-09 09:47:53\",\n" + - " \"hzfpxx\": {\n" + - " \"fpqqlsh\": \"c817769da5c27e3fbda4fe5ce72857f7\",\n" + - " \"gmfnsrsbh\": \"91370102MA3UD2FG21\",\n" + - " \"gmfmc\": \"山东慧永信息科技有限公司\",\n" + - " \"xsfmc\": \"城阳区兴顺通制冷设备维修服务部\",\n" + - " \"xsfnsrsbh\": \"92370214MACAAEK16E\",\n" + - " \"kprq\": \"2023-05-09 09:47:54\",\n" + - " \"fphm\": \"23922000000005190521\",\n" + - " \"ewmUrl\": \"https://dppt.qingdao.chinatax.gov.cn:8443/v/2_23922000000005190521_202305090947549016EF6F4\",\n" + - " \"pdfUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_pdf\",\n" + - " \"ofdUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_ofd\",\n" + - " \"xmlUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_xml\"\n" + - " }\n" + - "}"); + result = ApiHttp.request(WebServiceConstant.TYCXJK, WebServiceConstant.URL, queryDTO, companyservice); + + // TODO: 2023/5/11 测试 +// result = new cn.hutool.json.JSONObject(); +// result.set("code", "0000"); +// result.set("msg", "123"); +// result.set("data", "{\n" + +// " \"hzfpxxqrdbh\": \"37021423051000203148\",\n" + +// " \"hzfpxxqrdid\": \"953bf4ef7ac74c24ae9a056262939f96\",\n" + +// " \"hzfpxxqrdZtdm\": \"01\",\n" + +// " \"lrrq\": \"2023-05-09 09:47:53\",\n" + +// " \"hzfpxx\": {\n" + +// " \"fpqqlsh\": \"c817769da5c27e3fbda4fe5ce72857f7\",\n" + +// " \"gmfnsrsbh\": \"91370102MA3UD2FG21\",\n" + +// " \"gmfmc\": \"山东慧永信息科技有限公司\",\n" + +// " \"xsfmc\": \"城阳区兴顺通制冷设备维修服务部\",\n" + +// " \"xsfnsrsbh\": \"92370214MACAAEK16E\",\n" + +// " \"kprq\": \"2023-05-09 09:47:54\",\n" + +// " \"fphm\": \"23922000000005190521\",\n" + +// " \"ewmUrl\": \"https://dppt.qingdao.chinatax.gov.cn:8443/v/2_23922000000005190521_202305090947549016EF6F4\",\n" + +// " \"pdfUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_pdf\",\n" + +// " \"ofdUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_ofd\",\n" + +// " \"xmlUrl\": \"https://rocgw.jcsk100.com/external/d/v/qingdao_23922000000005190521_202305090947549016EF6F4_cde295cba75225c66fe9902c88fc4d03_xml\"\n" + +// " }\n" + +// "}"); String code = result.get("code") != null ? result.get("code").toString() : "";