diff --git a/natives/NationECCode.dll b/natives/NationECCode.dll new file mode 100644 index 0000000..bf3a165 Binary files /dev/null and b/natives/NationECCode.dll differ diff --git a/natives/dlllog(Nation)/Nationlog20220113.txt b/natives/dlllog(Nation)/Nationlog20220113.txt new file mode 100644 index 0000000..5c5a6f9 --- /dev/null +++ b/natives/dlllog(Nation)/Nationlog20220113.txt @@ -0,0 +1,96 @@ +3f/GflqLaNHFcPGQiXAxoLsTVFbcJ8isE7rYfOrQnsL/S3diH2d3uRD1MMfTiVaTaUfPhVuADofRUXDWa4/3JcMz0CgT4O/m3HMODuWTMwg= +YHW0+qVNP95JVgZyzlxoxZLk3ph3zhyKcuWyePDpCzZ14oqtvsGehREoZHRL1L1HkRaLU4eSXBAItu+ZU6zOaqQODPvdGK8m/Fmn6Dq4hdM= +zy1q3KToa2JqKzVvof5KEn8ghNyNJNrbjo8lzpTL0MZ8PcDNEnokYXRimktnHtrarey3kyRFkWC1ZgtGuqhjVB8bbP2w5IYRjVHeWHu59ittGVATDIM0V4/J0nBO9BDJXGLZmCgcy/VfCw/bxd3aCVAHQt0A3cbxVt7EEqsGqQV+eoVVRAwnVzU8xzokhS/nlomvcjC+xfprIiB9qdpvuCdxvlPSUghMkiRCrjSCEKKjhD7wR3rgLEkXBF/3yDwptj90DW2zJhojx9nfGNlviRjr/ZOY7i40oAIvHWXcFelJLz3ckh3OiQUCpP/fF3Kb +0ubjJY9A6del7U9wT4qmRsFB724Maz00c9rAQ376buM= +VwkuYFT2fBucLmZRCWnbJWs5dsWVK2lKHqDwqCEQo6I= +rxdilQmC2rk1g3Io4KRbOA== +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 +wJzPgs+y70ClJ34YxuWSyUS0BQtCH/Cbf27bh2coETs= +xjdO85zO2ho/pXAzPV1tJOzmFOtmL/iBztb1df01ubFxjE6BnA6/uJm66jRDasmDOD/5QKYKKLubmJ4nLmJRFLEoO0jjNuGbjcAMCVNNF9rSTHEbi//Fj/gmbfoDl5NgDBpr5a/DOuu4DWjn1tahrJwPejVUkYNvNycELCewajppruziQH4e5k3oGGhF4NHNRlmHdPS6J/dB8MNk7g86wUUT45uDLDoilMAuCDdZlbtAvK+ZIJkuZ3gmEwkT7M9ZC3vO1YHnvbXjb89i2czZtoS/QnYwdcDr8CNekogzMdCbWRHpNF2f43mq5SPuNyX6LMamDPTsuh56NkwAsTPHyGDhE09MBv832ivw31QMwtrLjsX/Lo/y1DqEgxg0Ef52EZVwp/c7zknkRVKgNxZg6K14JEmHudZqscnTSgk4Ms0r8H+MKvswCTpLIfsO9JnQLz8eotlKAyiR73lEnT9Bfg== +HhYU9nyyFg28HON0YpN3fv8iitbyAxTrcSfvEgnBn4uz/h0a6179B0huhuvi6hg519zDXBci4LqSEuP/abmjWtJF6R+Z0es4w55iM7KZtaQ= +g7o0ZvThASMJfnBRIGV/YhzTIbId+YKKRX0hDSL/WOeaSy3LtlipbGjKHjhYGeLdOwGWHfOIhCcsBCIb+9RyVkgMzDIyJHjUx0Ai008Jenc= +7D01XznfrEB/tqvC2atfZbuXQifUwuShXBcJ1ibDaelzIqlKvJoPcQPVpY/fmoWi4J4ngTtLv+E1R/z0/u3c2MTTfAo4njH4oE34obVTGmb9p1Kjr9ZAtmFhYrzkcQA8d4yXWvTHeziehUBbgi0NTK5I97y5jTV/4FyDcEQCBYIO/V27jSLF80kAV5DvIwtScTd0qdiWvDriqwgJGcUHGCGjPSd8A5JUouThdjz/uX5jy7ozvPjskGRVp97QhpzUU7YQSOKR7occFsXo7ZGwTHjC5cFh9tt4XJI3hs4oKO1pyddC5w0C8oJTgPMkL51t +c19dUH+B6OhV6Um3nzly8joCodHIyqHpz5A5AIsja9c= +lhy+caPFiZmnDJPLkMwe2kCYHyh5lFj6APJr6PNbFU4= +g+FuMYmTVa+L+Jpiwmjbjg== +OXivbNbQBIsV9pvNoeQPt3eQWRZtG2ffGV4fazFaRb/jizJlAIXjgEzqqIrfL80+xjj3XaA5cJvWjf3Yvu77eqLVq3VTS9i9O143+mh/hrE= +V7V9cdaD72qeNsrf9mSC62QxcvmITUKSClcs1OZP3tj6bP8bKuiPwg96wbpEJKBxJeSIH7/x9eI09hwZ+bRedRx8Y1GVwS9AlqdfdJ+M7i8= +6Aif9A3TrndU3YWW5hN5JGE6W9H+mAdhWINnKx9IQsjSq+x35B9tEuMtzhO9YjZ2SXkItSEbKX9e29nPS9OXSf5UyTa//zoJrc4O9Eu8EEw= +tkBbEDINs7Y6OVf+ixF34xbC7Dhgji73NTtn40nHERQALIOqaP30ECRjbyDMXAYvAyaA3dszCqK0OCU6bSPHMdCf27DSruUTG5U+j4S5w5f+Xx2Olayvrgui7BINo1GSONmSwD1Is/dmywRKmk2ahWvcP2z/PhyyBNLAhfIqe7lVLgt5UkUAp+nz1mfDW1OGkq4JDOc+aIoG2Xqu5xpKZWUggiEBV/pe6y3VERHc1FqKzokxzYhwYuj/P8DWOUm3v1ZwUUrNp+LM2HZPBYcsrDYHqtXyLijWBTbC6FQyVJjT9GyqdI856g2iJZT87MXR +vTXZpXO8ecuziBb6SMjBVND6s7+x8Qu5iQ66ZuJJyQY= +fDdsGPE4abzcT+70pfTFy++cdwzOMvBbDaakoJMnPGw= +Bv1qRlYr+vZ/DU0RhmdVAo73MmQreWvPkI0xrt7sBkdZSwCsdI51tYbFtafPNa5D +17cS/3A2TFL6h9xnUVeoA8fdSVNSpIM/aS8yie6XRLcK+i+eDmJmcmxKZcg/1b3B +17cS/3A2TFL6h9xnUVeoA8gh9LNqHhrO8PJbyoRveqI= +mWOJD0fWeP2h6F4YPJ1IhfsEmNtzSiFr66vLWT3VqYNrbwz+ukOa2DlbMMkdXWQsCy+U3mHJSXiDFi3y0h0DQoHv8FjUqpsnyvMuRXHBJDahk4j3g4W64vwI2eC8dBy0UZCRKXlatgtpbEW9EbGGFNV9GGUJBv1IgoCg+zxSA/34IonK+foNoJkiPQNVDZy7tU06+fys6ZjzPxRQJYNBW6DvlXXn6Z60XABdIIQrxKjN+WhOhSZD4JCpq1F8NzhiTji/+vmalxeA9+yR5ZY/PytwEe6FL+dQO1wzdCEgb/JfmlHtY0DDGQvK9/CH1ByNvMQNhi5AbaZJFAz7UL60t9VtytRNXDX2wct8cTnasw+/OQauDN6EnwADbrotpF2DXIJ5i4UJCz3yYQUlOIV9CMTVwOb7DKnjhWSz68TxjmdCofrUOJxrNSRY6UB77t7tEFtVVK0zlxO5Bk4Lgi9PTp/zv7qkMvVzwmahf65bGfuLZ6rvhe+8dxWLx3NTL5aWsKEs9ExMNtfBAqnXYTYEahJFr2NXSUTZMRGxPrkGAHPMCdBfRE0bD+HiJ1EJz8NJHHC+x3zrS/C7wDC6jIK6pIUkgfY0Uf0DKg5ZYE0Y1B+QySan6mJCROCdR+yVeuVKrinia2bPMMgwDvuEIvLk4DaxhmqobpwITjfxV2Mw56AViVZLLz0iTIQvXoCCL0z4KWKPPUW8SjcyHJxsnLL3c3leoOm8OrEJ072zX55p9YRPKHvK4g5Bklz1gVfbLvZxDMQ8eU6oy914geS3bLABZxhDiArlXLK9CKDfkaxgi480eitdwmNd30gqW+uP+3Xfw7dpG3djpUDBWQsb+BYBLB03mntilqrwPQENeDMXExJlBjmCO7KzIdF6+99pbwnPPSoLeEsFAQMiU9DLU9dINL6kOvppCMxkIVUstRfKewnQGQP4NSosSR7mDYiHvOVLQI5rgyHuUemKiZ5LG9RyjjXXg9O6wvUvCAHib9zs8ylBVkHXZQJWO27mMowd2ohR +74qb78tfTnwaEPsLd5YxlmlUFZTfFnh4ftyfeNFd2s0= +P7A/DnYwYkdPAhQsMQ8xTo3I6snSR22vjJXNQiBFYyRLSWmJBTKr6rL94UwVdx5AZ6ZYy00GR1qsXofHgMf0rA== +7RTXT24+Ph8w+xBkcelCpcfYbsAoRzF2GYgZQFtq1b3SdlUMkertAUjI7Xq5hRlU3MA3lCl/Jwy/n3b/wEwb2IdQ00dpQ0cmqKCAiWc72j8= +fNgsHzxjHBOS9kjalBeggDaq05U+pnYu4ewhmNeTZzVT3G9zzqeozhMTOnK+tJllQbBwhvy5zWQrHuvbGrM6swCgoBkAGxnp7ypv3Kpys60= +ZImiQCysHgL+CqF7rXeJe4qh70a1xG9/mjU1IdgKVbGswli8YyzavgKjcfy+NBDdtTyjqMzLAfAYhBhrvHWj23HaKW6pGw7hL2lYmm5M1/qsQFq/xrZ3gMELVXl3oy1b3goefSI30G9H9cBJ5Z8XvuRVeRdv690UCG+4ptSbUxmah04duIHMyluiXtMETS8n4EU90d1pFy1kIq3XWHu7b/JhbVIX5VUIC2c4+bSsaPS9ByoxWPvXzZmbAAgR6t8XQzZrhuJDYh05hE6dNTENO8HvDEOGkEPATr9zj0WzmAVpjlfbo0ept3LhKzZfenbf +5IKqTts4kEdT8dttsGdIWOVEwZU6kKn6KvRE+RE0EPc= +8tShMOJOw305zNNkT0xrvHvA2tigC/U1OZkLApnkysw= +Pi3SOcqWUow0SUEqbynUtjZvbtSOUB9qJS/l7IzTfEGAVhq/B9gq9D04XJnxhIez +9d/o6XGDQ58OMOcPOsqRi/JuINJL50eog6Cr6WDyIcYNBUWJZJ5ytULI5iFpD0+i +9d/o6XGDQ58OMOcPOsqRiyNXLZPj7BPATjPIMdxA55U= +KpVQu4Ef3H/IqnweLGTL/aXNZGq4LELLfPTKDtECNp0RoHbzkLg2Wuwlipa/VWjmlV5hiOB5Cyzz6oPERXDc0fckeYO/LltyiZjdEo7fr+67hotqKTYHmZtpb1X8ILrhkh+xPLgV+YBTCqlFS4BF7pKBDb3A8V6rv3JTr7k2rR1RtHD1E1MmYNR3MERkktTqDRYPMmG2GXwTSdPQNH/FcA8clZjWj2gRSe8CMehJuMCx17V87r/ZjoedY9j1uKfDQwI43LojC+gH1Etn2wFczB/4pv9cdNNMU7WsqmCO60+4whRKxGrgQgrleRCwAjALJ1eEcNP4H5HnepW/Z6arxzyxRicF0+4bPZnH+NRgc8BQXCSMXhR6f9KRj7qrRsH99LHsLTvUFVWea3tPDXQOhCg93QNk0wDq6tCLhYPQWnM4jdQRGIqh2Idmym3oHDkEdMQ8vA2jGoapC/mXxlEooYPWCQlGqE6pmt37ykR7cmvbHOdmj45T8VeFe2+vvN/dUfMqm5Mf6dGepF0JA5T32Vzsn4yplQXsPROTIm68Rl5p1OSwSjBFfvFGpeijZWH5Lw1z/k/Asuxz3AQ6c3dX5S0mpUoScWgo8DDlC48aiIA1eKEfoULrX6tKR5I9wGuKHoW4B5pLl8bPwxG8e3ib0zg9Qh/IIVCS+XGAzK0zBNYk13DaIGlV7opfd3aPw30B9INEQxtYyxO7Jc72pMElSxn3FGGPm5GW6DL5F0gOTAiRUkm+rLMOOh0eXZC/jfVQ59gYi0SJd3RWRZUPf4E7+fL/r27eoqt0iaf2TXvfahTX5UzdksoBwgCc71v7J7Al/8lSXrl44ERUgxOeGNykjY+ferbl3iIRvgCinal/SpvvW6xq7czdfvchfgZ+dsT2pOHSqKxKLfoj/JBEoByv92zX+YlO3DaUE1YULZ+HAtCLmOAocItckRHnlnibm5Yd2DXBoVAvbZu2SN/J59TurvKQapQmjyOXxmMbMP+nO3qRtdvcsKzB8PNay+1nGfEk +XK1hZc4mKxr2WYgRqDYxT83/Od1BhbEcL3DugGkot2U= +fJGEWxHnna1Bf8SFdZAjxpTwjuUtPDcy4Ywu1Mr/7bVxRT4zwI769HyufIOWWMwzV4E1zyePy9M4MxpUcmtgoY5eQl7SPRiFz7OQE6t6eWaJzskUCcZqD/54SuVN6XZ9XyJX2WevIAd7AuMBuK07EicqBNoTtR8X+5POZZRU2hl88caDQe0Dx216mcEJCZjvpd9ZYZbcuHJGDkBuEH7d9nJgcN3FEhuyo6DDdkSSKCwL2tU7inOzh2FIFAydIjY86mv29/9ItOOrAqTNqlOAgcfwysg2vRh05/Szt/oPRCHXRJ+R3Qo5snrWcYgiz3LuX0F/RP5pq6CxQFxk0LjCSzc1gDXCp23gcu65xfxMuMw/VeL3tZaZOYx2au40/tGYtZxhJW0v/8Qd0pXjewpQ2hItNNlNpFksJY5Er4fAfvehYelQt8SXkaDHlUzzj8z3IPRe+/dgJ1Gb8B+cMpzNEw== diff --git a/pom.xml b/pom.xml index 80aebb3..8d305a7 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,11 @@ jna 3.0.9 + + com.alibaba + fastjson + 1.2.33 + diff --git a/src/main/java/com/cmyy/localtransfer/config/CorsConfig.java b/src/main/java/com/cmyy/localtransfer/config/CorsConfig.java new file mode 100644 index 0000000..67eb8ed --- /dev/null +++ b/src/main/java/com/cmyy/localtransfer/config/CorsConfig.java @@ -0,0 +1,25 @@ +package com.cmyy.localtransfer.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * CORS,Cross-Origin Resource Sharing 跨站点资源分享,属于跨域问题。同个IP的不同端口间的访问也属于跨域。 + * 前后端分离必然有跨域问题 + */ +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOriginPatterns("*") + .allowedHeaders(CorsConfiguration.ALL) + .allowedMethods(CorsConfiguration.ALL) + .allowCredentials(true) + .maxAge(3600); // 1小时内不需要再预检(发OPTIONS请求) + } + +} diff --git a/src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java b/src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java index bccd8c5..df20fda 100644 --- a/src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java +++ b/src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java @@ -2,6 +2,7 @@ package com.cmyy.localtransfer.controller; import com.cmyy.localtransfer.service.MedicalPayService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,8 +22,7 @@ public class MedicalPayController { private MedicalPayService medicalPayService; @GetMapping(value = "/ecquery") - public ResponseEntity getECInfo(){ - String str = medicalPayService.decodeEC(); - return ResponseEntity.ok(str); + public ResponseEntity getECInfo(){ + return new ResponseEntity<>(medicalPayService.decodeEC(), HttpStatus.OK); } } diff --git a/src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java b/src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java index 4605bda..15334f6 100644 --- a/src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java +++ b/src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java @@ -1,5 +1,6 @@ package com.cmyy.localtransfer.service; +import com.alibaba.fastjson.JSONObject; import com.cmyy.localtransfer.dto.EcQueryDto; import com.cmyy.localtransfer.dto.InDataDto; import com.cmyy.localtransfer.utils.JsonUtil; @@ -10,6 +11,8 @@ import com.sun.jna.Pointer; import org.springframework.stereotype.Service; import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; /** * 描述: @@ -23,7 +26,7 @@ public class MedicalPayService { /** * 医保电子凭证解码 */ - public String decodeEC(){ + public Map decodeEC(){ InDataDto inDataDto = new InDataDto(); inDataDto.setOrgId("H46040100004"); inDataDto.setTransType("ec.query"); @@ -49,27 +52,34 @@ public class MedicalPayService { } System.out.println("inData-->"+ inData); Pointer outData = new Memory(1024 * 10); + //测试地址 String url = "http://10.103.162.166:8080/localcfc/api/hsecfc/localQrCodeQuery"; + //正式地址 + //String url = "http://10.103.129.138:8080/localcfc/api/hsecfc/localQrCodeQuery"; String result = NationECLibrary.INSTANCE.NationEcTrans(url, inData, outData); - System.out.println("result-->"+ result); String output = outData.getString(0); - System.out.println("outPut-->"+ output); + Map resultMap = new LinkedHashMap<>(3); + if (result.equals("0000")){ + resultMap.put("status", "200"); System.out.println("outPut-->"+ outData.getString(0)); - /*JSONObject jsonObject = new JSONObject(outData.getString(0)); - if (jsonObject.getInt("code") == -2){ + JSONObject jsonObject = JSONObject.parseObject(outData.getString(0)); + if (jsonObject.getIntValue("code") != 0){ + resultMap.put("status", "500"); //{"code":-2,"message":"医保电子凭证编码错误,请重新扫码"} - String msg = jsonObject.getStr("message"); - return; - }*/ - try { - EcQueryVo ecQueryVo = (EcQueryVo) JsonUtil.jsonToObj(EcQueryVo.class, outData.getString(0)); - } catch (IOException e) { - e.printStackTrace(); + String msg = jsonObject.getString("message"); + resultMap.put("msg", msg); + }else { + EcQueryVo ecQueryVo = (EcQueryVo) JSONObject.parseObject(outData.getString(0), EcQueryVo.class); + resultMap.put("content", ecQueryVo); } + + }else { + resultMap.put("status", "500"); + resultMap.put("msg", "医保电子凭证异常"); } - return output; + return resultMap; } } diff --git a/src/main/java/com/cmyy/localtransfer/vo/EcQueryDataVo.java b/src/main/java/com/cmyy/localtransfer/vo/EcQueryDataVo.java new file mode 100644 index 0000000..13bd020 --- /dev/null +++ b/src/main/java/com/cmyy/localtransfer/vo/EcQueryDataVo.java @@ -0,0 +1,40 @@ +package com.cmyy.localtransfer.vo; + +import lombok.Data; + +/** + * 描述:电子凭证二维码解码出参 + * + * @author stevenhu + * @version 2021/12/7 11:48 + */ +@Data +public class EcQueryDataVo { + //用户姓名 + private String userName; + //参保人身份证 + private String idNo; + /** + * 证件类型 + * 01-居民身份证(户口簿) + * 02-中国人民解放军军官证 + * ... + */ + private String idType; + //身份核验令牌(用于业务处理验证) + private String ecToken; + //参保地行政区划 (参保地区编码) + private String insuOrg; + //授权流水号 + private String authNo; + //外部索引号 + private String ecIndexNo; + //性别 + private String gender; + //出生日期 + private String birthday; + //国籍 + private String nationality; + //电子邮箱 + private String email; +} diff --git a/src/main/java/com/cmyy/localtransfer/vo/EcQueryVo.java b/src/main/java/com/cmyy/localtransfer/vo/EcQueryVo.java index f8f8ec6..f540259 100644 --- a/src/main/java/com/cmyy/localtransfer/vo/EcQueryVo.java +++ b/src/main/java/com/cmyy/localtransfer/vo/EcQueryVo.java @@ -10,26 +10,6 @@ import lombok.Data; */ @Data public class EcQueryVo { - //用户姓名 - private String userName; - //证件号码 - private String idNo; - //证件类型() - private String idType; - //身份核验令牌(用于业务处理验证) - private String ecToken; - //参保地行政区划 - private String insuOrg; - //授权流水号 - private String authNo; - //外部索引号 - private String ecIndexNo; - //性别 - private String gender; - //出生日期 - private String birthday; - //国籍 - private String nationality; - //电子邮箱 - private String email; + private String code; + private EcQueryDataVo data; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1baf045..b15cefd 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,2 +1,2 @@ -server.port = 8809 \ No newline at end of file +server.port = 8808 \ No newline at end of file