Browse Source

添加动态定点药店编码入参

master
dy-hu 2 years ago
parent
commit
f270754133
  1. 6
      src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java
  2. 19
      src/main/java/com/cmyy/localtransfer/dto/EcParam.java
  3. 60
      src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java

6
src/main/java/com/cmyy/localtransfer/controller/MedicalPayController.java

@ -1,5 +1,6 @@
package com.cmyy.localtransfer.controller;
import com.cmyy.localtransfer.dto.EcParam;
import com.cmyy.localtransfer.service.MedicalPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -25,4 +26,9 @@ public class MedicalPayController {
public ResponseEntity getECInfo(){
return new ResponseEntity<>(medicalPayService.decodeEC(), HttpStatus.OK);
}
@GetMapping(value = "/ecquery")
public ResponseEntity getECInfo(EcParam param){
return new ResponseEntity<>(medicalPayService.decodeEC(param.getFixmedinsCode(), param.getOpter(), param.getOpterName()), HttpStatus.OK);
}
}

19
src/main/java/com/cmyy/localtransfer/dto/EcParam.java

@ -0,0 +1,19 @@
package com.cmyy.localtransfer.dto;
import lombok.Getter;
import lombok.Setter;
/**
* 描述
*
* @author stevenhu
* @version 2022/05/05 10:55
*/
@Getter
@Setter
public class EcParam {
private String fixmedinsCode;
private String opter;
private String opterName;
}

60
src/main/java/com/cmyy/localtransfer/service/MedicalPayService.java

@ -82,4 +82,64 @@ public class MedicalPayService {
return resultMap;
}
/**
* 医保电子凭证解码
*/
public Map<String, Object> decodeEC(String fixmedinsCode, String opter, String opterName){
InDataDto inDataDto = new InDataDto();
inDataDto.setOrgId(fixmedinsCode);
inDataDto.setTransType("ec.query");
inDataDto.setExtra("");
EcQueryDto ecQueryDto = EcQueryDto.builder()
.orgId(fixmedinsCode)
.businessType("02121")
.businessInfo("")
.operatorId(opter)
.operatorName(opterName)
.officeId("01")
.officeName("内科")
.deviceType("")
.build();
inDataDto.setData(ecQueryDto);
String inData = null;
try {
inData = JsonUtil.objToJson(inDataDto);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
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);
String output = outData.getString(0);
Map<String, Object> resultMap = new LinkedHashMap<>(3);
if (result.equals("0000")){
resultMap.put("status", "200");
System.out.println("outPut-->"+ outData.getString(0));
JSONObject jsonObject = JSONObject.parseObject(outData.getString(0));
if (jsonObject.getIntValue("code") != 0){
resultMap.put("status", "500");
//{"code":-2,"message":"医保电子凭证编码错误,请重新扫码"}
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 resultMap;
}
}
Loading…
Cancel
Save