Procházet zdrojové kódy

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wangzhinan před 4 roky
rodič
revize
3096ae6c4b

+ 90 - 0
business/base-service/src/main/java/com/yihu/jw/order/pay/ylz/YlzPayService.java

@ -11,8 +11,11 @@ import com.yihu.jw.util.common.QrcodeUtil;
import com.yihu.jw.utils.ByteToInputStream;
import com.ylzinfo.onepay.sdk.HisOnepayClient;
import com.ylzinfo.onepay.sdk.OnepayClient;
import com.ylzinfo.onepay.sdk.OnepayDefaultClient;
import com.ylzinfo.onepay.sdk.domain.RequestParams;
import com.ylzinfo.onepay.sdk.domain.ResponseParams;
import com.ylzinfo.onepay.sdk.domain.ext.*;
import com.ylzinfo.onepay.sdk.utils.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -560,4 +563,91 @@ public class YlzPayService {
    }
//============================================预交金充值 end======================================================
    /**
     * 查看线上结算记录
     *
     * @param cardNo 卡号,多个按逗号隔开
     * @param beginDate 开始时间(可空) yyyyMMdd:20200818
     * @param endDate 结束时间(可空) yyyyMMdd:20200818
     * @param queryType online:(不为空)记录明细一起返回,下面两个参数的合体;onlineRecord:查询结算记录 onlineRecordDetail:查询结算明细
     * @param billSn    当 queryType = onlineRecordDetail billsn和traceno必有值
     * @param traceNo
     * @param pageNo
     * @param pageSize
     * @return
     */
    public String querySettledRecord(String cardNo,String beginDate,String endDate,String queryType,String billSn,String traceNo,String pageNo,String pageSize ){
        Boolean isSuccess = true;
        String jsonObject = null;
        String error = null;
        RequestParams requestParams = new RequestParams();
        try {
        OauthYlzConfigDO oauthYlzConfigDO = oauthYlzConfigDao.findById("ylz_pay_config");
        if(oauthYlzConfigDO==null){
            return "未找到支付配置文件";
        }
        String appId = oauthYlzConfigDO.getAppId();
        String appSecret = oauthYlzConfigDO.getAppKey();
        String onepayUrl = oauthYlzConfigDO.getUrl();
        String signType=oauthYlzConfigDO.getSignType();
        String encryptType = oauthYlzConfigDO.getEncType();
        requestParams.setAppId(appId);
        requestParams.setTimestamp(DateUtil.getCurrentDateTime());
        requestParams.setSignType(signType);
        requestParams.setEncryptType(encryptType);
        requestParams.setTimestamp(DateUtil.getCurrentDateTime());
        //分页参数
        if(StringUtils.isNotBlank(queryType)&&"online".equalsIgnoreCase(queryType)){
            JSONObject pageParam = new JSONObject();
            pageParam.put("pageNo",pageNo);
            pageParam.put("pageSize",pageSize);
            requestParams.setPageParam(pageParam);
        }
        JSONObject params = new JSONObject();
        if (StringUtils.isBlank(cardNo)||StringUtils.isBlank(queryType)){
            return "cardNo或者queryType不能为空";
        }
        if (queryType.equalsIgnoreCase("onlineRecordDetail")){
            if(StringUtils.isBlank(billSn)||StringUtils.isBlank(traceNo)){
                return "billSn和traceNo不能为空";
            }
        }
        params.put("cardNo",cardNo);
        params.put("queryType",queryType);
        if (StringUtils.isNotBlank(beginDate)){
            params.put("beginDate",beginDate);
        }if (StringUtils.isNotBlank(endDate)){
            params.put("endDate",endDate);
        }
        if (StringUtils.isNotBlank(billSn)){
            params.put("billSn",billSn);
        }
        if (StringUtils.isNotBlank(traceNo)){
            params.put("traceNo",traceNo);
        }
        requestParams.setParam(params);
        requestParams.setTransType("hop.query.settle");
        OnepayDefaultClient onepayClient = new OnepayDefaultClient(onepayUrl, appId, appSecret, signType, encryptType);
        ResponseParams<JSONObject> respnse = onepayClient.execute(requestParams);
        if (respnse.getRespCode().equals("000000")){
            jsonObject = JSON.toJSONString(respnse);
        }else {
            isSuccess = false;
            jsonObject = JSON.toJSONString(respnse);
            error = "请求失败,返回结果:" + respnse.getRespCode() + "," + respnse.getRespMsg();
        }
        } catch (Exception e) {
            e.printStackTrace();
            isSuccess = false;
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            error = sw.toString();
        }
        logService.saveHttpLog(isSuccess, "hop.trade.query", "查看线上结算记录", "POST", null,JSON.toJSONString(requestParams), jsonObject, error,logService.shoppatType);
        return jsonObject;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -1332,6 +1332,8 @@ public class BaseHospitalRequestMapping {
        public static final String findLevelOneDoctorUpcoming="/findLevelOneDoctorUpcoming";
        public static final String getUpcomingByDoctor="/getUpcomingByDoctor";
        public static final String checkOperateTime="/checkOperateTime";
        public static final String querySettledRecord="/querySettledRecord";
    }
    /**

+ 25 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -33,6 +33,7 @@ import com.yihu.jw.im.service.ImService;
import com.yihu.jw.order.BusinessOrderService;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.order.pay.utils.PayLogService;
import com.yihu.jw.order.pay.ylz.YlzPayService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.web.Envelop;
@ -138,6 +139,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private KnowledgeArticleService knowledgeArticleService;
    @Autowired
    private WechatDao wechatDao;
    @Autowired
    private YlzPayService ylzPayService;
    private String successxml = "SUCCESS";
@ -730,6 +733,27 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
        String uri = qrcodeService.makeSpecialistQrcode(doctor);
        return success("操作成功",uri);
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.querySettledRecord)
    @ApiOperation(value = "易联众_查询结算状态")
    public Envelop querySettledRecord(@ApiParam(name = "cardNo", value = "cardNo", required = true)
                             @RequestParam(value = "cardNo", required = true)String cardNo,
                                      @ApiParam(name = "beginDate", value = "beginDate", required = false)
                                      @RequestParam(value = "beginDate", required = false)String beginDate,
                                      @ApiParam(name = "endDate", value = "endDate", required = false)
                                          @RequestParam(value = "endDate", required = false)String endDate,
                                      @ApiParam(name = "queryType", value = "queryType", required = false)
                                          @RequestParam(value = "queryType", required = false)String queryType,
                                      @ApiParam(name = "billSn", value = "billSn", required = false)
                                          @RequestParam(value = "billSn", required = false)String billSn,
                                      @ApiParam(name = "traceNo", value = "traceNo", required = false)
                                          @RequestParam(value = "traceNo", required = false)String traceNo,
                                      @ApiParam(name = "pageNo", value = "页码", required = false)
                                          @RequestParam(value = "pageNo", required = false)String pageNo,
                                      @ApiParam(name = "pageSize", value = "分页大小", required = false)
                                          @RequestParam(value = "pageSize", required = false)String pageSize) throws Exception{
       String result = ylzPayService.querySettledRecord(cardNo,beginDate,endDate,queryType,billSn,traceNo,pageNo,pageSize);
       logger.info(result);
       return success("操作成功",result);
    }
}