|
@ -6,6 +6,7 @@ import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
|
|
|
import com.yihu.jw.restmodel.iot.common.UploadVO;
|
|
|
import com.yihu.jw.security.dao.OauthYlzConfigDao;
|
|
|
import com.yihu.jw.security.dao.patient.BasePatientDao;
|
|
|
import com.yihu.jw.security.utils.ByteToInputStream;
|
|
|
import com.yihu.jw.security.utils.DateUtil;
|
|
|
import com.yihu.jw.security.utils.QrcodeUtil;
|
|
|
import com.yihu.utils.security.MD5;
|
|
@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import sun.misc.BASE64Encoder;
|
|
|
|
|
|
import java.io.InputStream;
|
|
|
import java.util.Date;
|
|
@ -88,6 +90,46 @@ public class OauthYlzConfigService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public Map<String,Object> getOauthQRCodeImg(){
|
|
|
try {
|
|
|
OauthYlzConfigDO oauthYlzConfigDO = oauthYlzConfigDao.findOne("ylz_config");
|
|
|
logger.info("getOauthQRCode:",oauthYlzConfigDO.toString());
|
|
|
TransRequest e = new TransRequest();
|
|
|
e.setMethod("ehc.ehealthcard.authurl");
|
|
|
e.setApp_id(oauthYlzConfigDO.getAppId());
|
|
|
e.setTerm_id(oauthYlzConfigDO.getTermId());
|
|
|
e.setVersion(oauthYlzConfigDO.getVersion());
|
|
|
e.setTimestamp(DateUtil.dateToStr(new Date(),"yyyyMMddHHmmss"));
|
|
|
e.setSign_type(oauthYlzConfigDO.getSignType());
|
|
|
e.setEnc_type(oauthYlzConfigDO.getEncType());
|
|
|
com.alibaba.fastjson.JSONObject bizContent = new com.alibaba.fastjson.JSONObject();
|
|
|
String no = UUID.randomUUID().toString().substring(0,30);
|
|
|
bizContent.put("out_authorize_no", no);
|
|
|
bizContent.put("out_authorize_time", DateUtils.getOutTradeTime());
|
|
|
e.setBiz_content(JSON.toJSONString(bizContent));
|
|
|
EhcHandler ehcHandler = new EhcHandler(oauthYlzConfigDO.getUrl(), oauthYlzConfigDO.getAppId(), oauthYlzConfigDO.getTermId(), oauthYlzConfigDO.getAppKey());
|
|
|
TransResponse re = ehcHandler.execute(e);
|
|
|
|
|
|
String rs = com.alibaba.fastjson.JSONObject.toJSONString(re);
|
|
|
logger.info("TransResponse:"+rs);
|
|
|
com.alibaba.fastjson.JSONObject json = (com.alibaba.fastjson.JSONObject) com.alibaba.fastjson.JSONObject.parse(rs);
|
|
|
com.alibaba.fastjson.JSONObject biz = json.getJSONObject("biz_content");
|
|
|
InputStream qrcode = QrcodeUtil.createQrcode(biz.getString("ehealth_authurl"),300,"jpg");
|
|
|
|
|
|
String QRCodeImg = ByteToInputStream.getBase64FromInputStream(qrcode);
|
|
|
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
map.put("QRCodeImg",QRCodeImg);
|
|
|
map.put("out_authorize_no",no);
|
|
|
|
|
|
return map;
|
|
|
} catch (Exception var5) {
|
|
|
var5.printStackTrace();
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 验证电子健康卡授权
|
|
|
* @param authorizeNo
|