package com.jianshui.invoice.utils; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; import com.jianshui.common.utils.DateUtils; import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.encrypt.AisinoInvoiceDecryptUtil; import com.jianshui.common.utils.uuid.UUID; import java.util.*; /** * @Description * @Author 巩权林 * @Date 2022-03-30 8:56 **/ public class IncomeTest { public static void main(String[] args) throws Exception { //----------------------普通电票---------------------------------------------------- // String key = "LTEO+oOgWMsuQAOUglqXuQ=="; // 1204 String key = "PzRRv8Gk4LBBWSzE7ZlUzg=="; // 1223 大象进项测试 // String key = "FIQKraT+UheC1GqQtgDM6g=="; // 1205 // String key = "zE9+TICzsrejfujj/BXjCQ=="; // 1206 System.out.println("-------------------单个发票查验-----------------------------"); // String order = "{\n" + // " \"taxNo\": \"91370102MA3UD2FG21\",\n" + // " \"jym\": \"\",\n" + // " \"fpje\": \"47802.00\",\n" + // " \"fpdm\": \"3700211130\",\n" + // " \"kprq\": \"20211216\",\n" + // " \"fphm\": \"08345487\",\n" + // " \"fpzl\": \"01\"\n" + // "}"; // String order = "{\"jym\":\"165330\",\"fpje\":\"83.07\",\"fpdm\":\"011002100511\",\"kprq\":\"20220209\",\"fphm\":\"41985485\",\"fpzl\":\"10\",\"taxNo\":\"91370100664851254J\"}"; String order = "{\"jym\":\"356607\",\"fpje\":\"259.23\",\"fpdm\":\"011002000711\",\"kprq\":\"20210111\",\"fphm\":\"66914035\",\"fpzl\":\"01\",\"taxNo\":\"91370102MA3UD2FG21\" }"; String m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : " + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------批量发票查验-----------------------------"); order = "{\"invoiceList\":[{\"fpdm\":\"3200211130\",\"fphm\":\"49523142\",\"fpje\":\"986359.73\",\"fpzl\":\"01\",\"kprq\":\"20210712\"}],\"pch\":\"761651651651651515151568438476\",\"taxNo\":\"91370102MA3UD2FG21\"}"; System.out.println("json : \n" + order); m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------批量发票查验结果查询-----------------------------"); order = "{\"pch\":\"761651651651651515151568438476\",\"taxNo\":\"91370102MA3UD2FG21\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("------------------------进项-认证-------------------------------------"); System.out.println("-------------------企业档案查询-----------------------------"); order = "{\"SBH\":\"9111122223333CKFPT\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); // TODO-: 2022/10/24 待测试 System.out.println("-------------------申请认证-----------------------------"); // order = "{\"SBH\":\"9111122223333CKFPT\",\"taxNo\":\"9111122223333CKFPT\"}"; Map map = new HashMap<>(); // TODO-dxk: 2022/10/28 这里需要企业传输PCH map.put("PCH", ""); map.put("GMFSBH", "9111122223333CKFPT"); map.put("FHHS", "1"); map.put("taxNo", "9111122223333CKFPT"); List> mapList = new ArrayList<>(); Map llmap1 = new HashMap<>(); llmap1.put("FPDM", "3700194130"); llmap1.put("FPHM", "14097332"); llmap1.put("GMFSBH", "9111122223333CKFPT"); llmap1.put("SQRZLX", "1"); llmap1.put("FPLXDM", "01"); llmap1.put("SQSKSSQ", "202108"); llmap1.put("YXSE", ""); llmap1.put("BDKYY", ""); mapList.add(llmap1); map.put("FPZHXX", mapList); order = JSONUtil.toJsonStr(map); m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : " + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------获取认证结果-----------------------------"); // order = "{\"PCH\":\"3eb6645e2fc84b8384ac2db8c3fd78f7\",\"taxNo\":\"9111122223333CKFPT\"}"; order = "{\"PCH\":\"20220020021312341\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------申请确认-----------------------------"); order = "{\"GMFSBH\":\"9111122223333CKFPT\",\"PCH\":\""+ cn.hutool.core.lang.UUID.fastUUID().toString().replace("-","") +"\"," + "\"QRBZ\":\"1\",\"TJSJ\":\"202209\",\"RZSKSSQ\":\"202209\",\"QRMM\":\"123456\",\"taxNo\":\"9111122223333CKFPT\"}"; order = "{\"GMFSBH\":\"9111122223333CKFPT\",\"PCH\":\""+ "67074fed71cc42da8fc12bdcd2111s49" +"\"," + "\"QRBZ\":\"1\",\"TJSJ\":\"202209\",\"RZSKSSQ\":\"202209\",\"QRMM\":\"123456\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------获取确认结果-----------------------------"); order = "{\"GMFSBH\":\"9111122223333CKFPT\",\"PCH\":\"2d92821a9dfc4f1aaa744bcbd1696ebd\"," + "\"QRBZ\":\"0\",\"TJSJ\":\"202209\",\"taxNo\":\"9111122223333CKFPT\"}"; order = "{\"PCH\":\"67074fed71cc42da8fc12bdcd2111s49\",\"TJSJ\":\"202209\",\"taxNo\":\"9111122223333CKFPT\",\"GMFSBH\":\"9111122223333CKFPT\",\"QRBZ\":\"0\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------状态采集-----------------------------"); order = "{\"GMFSBH\":\"9111122223333CKFPT\",\"PCH\":\"0827f998cdfd40b0a5626150520b4dea\"," + "\"ZTBGKSRQ\":\"20190101010120\",\"ZTBGJSRQ\":\"20191001010120\",\"ZTBZ\":\"1\",\"KSHS\":\"1\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------设置密码-----------------------------"); order = "{\"SBH\":\"9111122223333CKFPT\",\"YWMM\":\"123456\",\"NEWYWMM\":\"123456\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------重置密码-----------------------------"); order = "{\"SBH\":\"9111122223333CKFPT\",\"taxNo\":\"9111122223333CKFPT\"}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("------------------------------------------------"); System.out.println("-------------------全票面采集-----------------------------"); Date yestday = DateUtil.offsetDay(new Date(), -1); order = "{\n" + " \"GMFSBH\": \"9111122223333CKFPT\",\n" + // 15或18位 " \"FPLXDM\": \"01\",\n" + // 增值税专用发票:01;机动车销售统一发票:03;增值税电子专用发票:08;通行费电子发票:14;电子发票(增值税专用发票):31; " \"PCH\": \"" + UUID.fastUUID() + "\",\n" + // 32 位.代表一次请求,每次请求批次号不重复。如果数据一次性获取完成,批次号需要更换。如果一次性数据获取不完,批次号需保持一致。 " \"CJKSRQ\": \"20200501000000\",\n" + // YYYYMMDDHHMMSS 例如:20170101140245 " \"CJJSRQ\": \"" + DateUtil.format(yestday, "yyyyMMddHHmmss") + "\",\n" + // YYYYMMDDHHMMSS 例如:20170101140245 " \"KSHS\": 10,\n" + // 整数,第一次请求时为1.(若本次返回行数小于总行数,需再次请求,开始行数为 本次返回行数+ 1.类似分页获取) " \"ZTBZ\": \"1\",\n" + // 当给 1 时继续请求,0 时结束请求。 " \"FHHS\": \"10\",\n" + // 当该参数有值时,接口按照参数返回发票条数,如果没值时,接口按照默认值返回发票条数 " \"taxNo\": \"9111122223333CKFPT\"\n" + // 测试税号 "}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------主信息采集-----------------------------"); // 得到上一天的Date order = "{\n" + " \"GMFSBH\": \"9111122223333CKFPT\",\n" + // 15 或 18 位 " \"PCH\": \"12345678901234567890123456789013\",\n" + // 32 位如果多次重复的话,此值要一样,代表是一次请求 " \"CJKSRQ\": \"20200501000000\",\n" + // YYYYMMDDHHMMSS 例如:20170101140245 " \"CJJSRQ\": \"" + DateUtil.format(yestday, "yyyyMMddHHmmss") + "\",\n" + // YYYYMMDDHHMMSS 例如:20170101140345 " \"KSHS\": 10,\n" + // 整数,第一次请求时为1 " \"ZTBZ\": \"1\",\n" + // 当给 1 时继续请求,0 时结束请求 " \"taxNo\": \"9111122223333CKFPT\"\n" + // 测试税号 "}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------获取统计信息-----------------------------"); order = "{\n" + " \"GMFSBH\": \"9111122223333CKFPT\",\n" + " \"RZSKSSQ\": \"202209\",\n" + " \"taxNo\": \"9111122223333CKFPT\"\n" + // 测试税号 "}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------申请统计-----------------------------"); String uuid = StringUtils.replace(String.valueOf(UUID.fastUUID()), "-", ""); order = "{\n" + " \"PCH\": \"" + uuid + "\",\n" + " \"GMFSBH\": \"9111122223333CKFPT\",\n" + " \"TJBZ\": \"0\",\n" + " \"RZSKSSQ\": \"202209\",\n" + " \"taxNo\": \"9111122223333CKFPT\"\n" + "}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); System.out.println("-------------------获取统计结果-----------------------------"); order = "{\n" + // " \"PCH\": \"" + uuid + "\",\n" + " \"PCH\": \"75954a76fd654c2daa8f91f9837cb448\",\n" + " \"GMFSBH\": \"9111122223333CKFPT\",\n" + " \"taxNo\": \"9111122223333CKFPT\"\n" + "}"; m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : \n" + order); System.out.println(m); System.out.println("------------------------------------------------"); } }