diff --git a/src/main/java/com/ynxbd/common/action/PatientAction.java b/src/main/java/com/ynxbd/common/action/PatientAction.java index 350cd68..a35a95d 100644 --- a/src/main/java/com/ynxbd/common/action/PatientAction.java +++ b/src/main/java/com/ynxbd/common/action/PatientAction.java @@ -2,13 +2,11 @@ package com.ynxbd.common.action; import com.ynxbd.common.action.base.BaseAction; import com.ynxbd.common.bean.Patient; +import com.ynxbd.common.bean.PatientLink; import com.ynxbd.common.bean.enums.HCardTypeEnum; import com.ynxbd.common.dao.PatientDao; import com.ynxbd.common.dao.his.HisPatientDao; -import com.ynxbd.common.helper.common.Base64Helper; -import com.ynxbd.common.helper.common.DateHelper; -import com.ynxbd.common.helper.common.SmsHelper; -import com.ynxbd.common.helper.common.ValidHelper; +import com.ynxbd.common.helper.common.*; import com.ynxbd.common.result.JsonResult; import com.ynxbd.common.result.Result; import com.ynxbd.common.result.ResultEnum; @@ -112,6 +110,26 @@ public class PatientAction extends BaseAction { return Result.success(patients); } + /** + * [患者] 「外部对接」-根据openId查询患者信息 + * @param openid openId + * @param organizeName 组织机构代码 + * @return 返回患者信息 + */ + @Action("getPatientsByOpenid") + public Result getPatientsByOpenid(String openid,String organizeName) { + log.info("[患者]根据openid查询信息 openid={}", openid); + organizeName = AesHelper.deCode(organizeName); + if(organizeName==null){ + return Result.error(ResultEnum.PERMISSION_NO_ACCESS); + } + if (openid == null) { + return Result.error(ResultEnum.PARAM_IS_BLANK); + } + List patients = new PatientDao().selectPatientsByOpenid(openid); + return Result.success(patients); + } + /** * [患者]获取关联的openid diff --git a/src/main/java/com/ynxbd/common/action/PushAction.java b/src/main/java/com/ynxbd/common/action/PushAction.java new file mode 100644 index 0000000..34c81b4 --- /dev/null +++ b/src/main/java/com/ynxbd/common/action/PushAction.java @@ -0,0 +1,35 @@ +package com.ynxbd.common.action; + +import com.ynxbd.common.action.base.BaseAction; +import com.ynxbd.common.helper.common.JsonHelper; +import com.ynxbd.common.helper.http.OkHttpHelper; +import com.ynxbd.common.result.Result; +import com.ynxbd.wx.config.MessagePushConfig; +import lombok.extern.slf4j.Slf4j; +import okhttp3.FormBody; +import okhttp3.RequestBody; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; + +/** + * @author 李进才 + * @ClassName PushAction + * @Description 消息推送交互接口 + * @date 2023/05/08 15:51:00 + */ + +@Slf4j +@Namespace("/push") +public class PushAction extends BaseAction { + + @Action("getRedis") + public Result getRedis(String name) { + RequestBody requestBody = new FormBody.Builder() + .add("name",name) + .build(); + String url = MessagePushConfig.HOST_URL+"api/getRedis"; + String requestResult = OkHttpHelper.post(url,requestBody); + log.info("[获取推送缓存]requestResult-{},url-{}",requestResult,url); + return Result.success(JsonHelper.parseObject(requestResult)); + } +} diff --git a/src/main/java/com/ynxbd/common/bean/Patient.java b/src/main/java/com/ynxbd/common/bean/Patient.java index 409a23c..71af242 100644 --- a/src/main/java/com/ynxbd/common/bean/Patient.java +++ b/src/main/java/com/ynxbd/common/bean/Patient.java @@ -19,8 +19,8 @@ import java.io.Serializable; public class Patient implements Serializable { private static final long serialVersionUID = 9966666612123151L; private Long id; - private String openid; private String unionId; + private String openid; private String patientId; private String name; private String sex; diff --git a/src/main/java/com/ynxbd/common/bean/PatientLink.java b/src/main/java/com/ynxbd/common/bean/PatientLink.java new file mode 100644 index 0000000..2b7bb4d --- /dev/null +++ b/src/main/java/com/ynxbd/common/bean/PatientLink.java @@ -0,0 +1,36 @@ +package com.ynxbd.common.bean; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +import java.io.Serializable; + +/** + * @author 李进才 + * @ClassName PatientLink + * @Description TODO + * @date 2023/05/09 15:13:00 + */ + +@Setter +@Getter +@ToString +@NoArgsConstructor +public class PatientLink implements Serializable { + private static final long serialVersionUID = 202305091516L; + private String openid; + private String patientId; + private String name; + private String sex; + private String age; + private String idCardNo; + private String birthday; + /** + * 民族 + */ + private String nation; + private String address; + +} diff --git a/src/main/java/com/ynxbd/common/dao/PatientDao.java b/src/main/java/com/ynxbd/common/dao/PatientDao.java index d56df40..81cfaf2 100644 --- a/src/main/java/com/ynxbd/common/dao/PatientDao.java +++ b/src/main/java/com/ynxbd/common/dao/PatientDao.java @@ -1,6 +1,7 @@ package com.ynxbd.common.dao; import com.ynxbd.common.bean.Patient; +import com.ynxbd.common.bean.PatientLink; import com.ynxbd.common.bean.enums.HCardTypeEnum; import com.ynxbd.common.config.db.DataBase; @@ -58,6 +59,19 @@ public class PatientDao { }); } + /** + * 根据openid查询患者 部分信息 用作外部对接 + * + * @param openid openid + * @return 患者列表 + */ + public List selectPatientsByOpenid(String openid) { + String sql = "select OpenID,PatientID,Name,Sex,IDCardNo,Age,Birthday,Address,Nation from patientBase where openid = ? and deletedState = 0 order by isDefault desc"; + return DataBase.select(sql, PatientLink.class, ps -> { + ps.setString(1, openid); + }); + } + /** * 根据身份证查询患者 * diff --git a/src/main/java/com/ynxbd/common/helper/xbd/XBDHttpHelper.java b/src/main/java/com/ynxbd/common/helper/xbd/XBDHttpHelper.java index 5fc615b..7e0f3f0 100644 --- a/src/main/java/com/ynxbd/common/helper/xbd/XBDHttpHelper.java +++ b/src/main/java/com/ynxbd/common/helper/xbd/XBDHttpHelper.java @@ -1,15 +1,10 @@ package com.ynxbd.common.helper.xbd; -import cn.hutool.core.compress.Gzip; import com.alibaba.fastjson.JSONObject; -import com.ynxbd.common.helper.common.JsonHelper; import com.ynxbd.common.helper.http.OkHttpHelper; import com.ynxbd.common.result.JsonResult; import lombok.extern.slf4j.Slf4j; import okhttp3.*; -import org.apache.commons.compress.compressors.gzip.GzipUtils; -import org.apache.commons.io.IOUtils; -import org.apache.poi.ss.formula.functions.T; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/src/main/java/com/ynxbd/wx/config/MessagePushConfig.java b/src/main/java/com/ynxbd/wx/config/MessagePushConfig.java index 821315a..db323b7 100644 --- a/src/main/java/com/ynxbd/wx/config/MessagePushConfig.java +++ b/src/main/java/com/ynxbd/wx/config/MessagePushConfig.java @@ -35,6 +35,12 @@ public class MessagePushConfig { // 是否开启功能============================================ public static final boolean RECIPE_IS_ENABLE; + + /** + * 消息推送主链接 + */ + public static final String HOST_URL; + // 消息推送链接 public static final String RECIPE_URL; @@ -49,6 +55,7 @@ public class MessagePushConfig { // REG_CANCEL_IS_ENABLE = config.getBoolean("msg.reg.cancel.is_enable", false); REG_CANCEL_URL = config.getString("msg.reg.cancel.url"); + HOST_URL = config.getString("msg.host.url"); // RECIPE_IS_ENABLE = config.getBoolean("msg.recipe.is_enable", false); RECIPE_URL = config.getString("msg.recipe.url"); diff --git a/src/main/java/com/ynxbd/wx/wxfactory/ReqParamHelper.java b/src/main/java/com/ynxbd/wx/wxfactory/ReqParamHelper.java index a77a824..631bcde 100644 --- a/src/main/java/com/ynxbd/wx/wxfactory/ReqParamHelper.java +++ b/src/main/java/com/ynxbd/wx/wxfactory/ReqParamHelper.java @@ -19,7 +19,7 @@ public class ReqParamHelper { } public static void main(String[] args) { - System.out.println(encode("10088998")); + System.out.println(encode("10038657")); System.out.println(decode("3333A9AD522EA5766F257C044883EAE4")); } } diff --git a/src/main/resources/message-push.properties b/src/main/resources/message-push.properties index 7929d4f..bdb85de 100644 --- a/src/main/resources/message-push.properties +++ b/src/main/resources/message-push.properties @@ -1,5 +1,6 @@ # 消息推送 # 挂号-导航推送 +msg.host.url = http://127.0.0.1:8123/messageplatform/ msg.reg.navigate.is_enable=false msg.reg.navigate.url=http://127.0.0.1:8123/messageplatform/daoyixun # 挂号-文字提示推送