package com.ynxbd.push.controller; import com.alibaba.fastjson.JSONObject; import com.ynxbd.push.entity.type.MessageTypeEnum; import com.ynxbd.push.entity.response.ResponseResult; import com.ynxbd.push.helper.BusinessHelper; import com.ynxbd.push.rabbit.send.RabbitSender; import com.ynxbd.push.service.HisUniversalService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import weixin.popular.bean.message.MessageSendResult; import java.util.HashMap; import java.util.Map; /** * @author 李进才 * @ClassName BusinessController * @Description 发送lis报告单结果推送 * @date 2021/12/6 3:23 下午 */ @Controller @Slf4j @RequestMapping(value = "business") public class BusinessController { @Autowired private RabbitSender rabbitSender; @Autowired private HisUniversalService hisUniversalService; @GetMapping(value = "report") @ResponseBody public MessageSendResult reportTip(String organizeName, String patientId, String idCard, String reportId, String itemName, String reportTime, String patientName, String sex, String age, String applyDept, String applyDoctor) { log.info("进入接口-[检验检查报告通知]organizeName-{},patientId-{},idCard-{},reportId-{}, itemName-{},reportTime-{},patientName-{},sex-{},age-{},applyDept-{},applyDoctor-{}", organizeName, patientId, idCard, reportId, itemName, reportTime, patientName, sex, age, applyDept, applyDoctor); MessageSendResult check = BusinessHelper.ParamsCheck(organizeName, patientId, idCard, null); if (!check.getErrcode().equals("0")) { return check; } Map message = new HashMap<>(); message.put("tip", MessageTypeEnum.REPORT_TIP.CODE); message.put("organizeName", organizeName); message.put("patientId", patientId); message.put("idCard", idCard); message.put("reportId", reportId); message.put("itemName", itemName); message.put("reportTime", reportTime); message.put("patientName", patientName); message.put("sex", sex); message.put("age", age); message.put("applyDept", applyDept); message.put("applyDoctor", applyDoctor); rabbitSender.TipSend(message); return ResponseResult.JOIN_QUEUE.toMessResult(); } @GetMapping(value = "queue") @ResponseBody public MessageSendResult queueTip(String organizeName, String patientId, String idCard, String patientName, String deptName, String doctorName, String currentNumber, String selfNumber, String waitNumber) { log.info("进入接口-[排队叫号提醒]organizeName-{},patientId-{},idCard-{},patientName-{},deptName-{},doctorName-{},currentNumber-{},selfNumber-{},waitNumber-{}", organizeName, patientId, idCard, patientName, deptName, doctorName, currentNumber, selfNumber, waitNumber); MessageSendResult check = BusinessHelper.ParamsCheck(organizeName, patientId, idCard, null); if (!check.getErrcode().equals("0")) { return check; } Map message = new HashMap<>(); message.put("tip", MessageTypeEnum.QUEUE_TIP.CODE); message.put("organizeName", organizeName); message.put("patientId", patientId); message.put("idCard", idCard); message.put("patientName", patientName); message.put("deptName", deptName); message.put("doctorName", doctorName); message.put("currentNumber", currentNumber); message.put("selfNumber", selfNumber); message.put("waitNumber", waitNumber); rabbitSender.TipSend(message); return ResponseResult.JOIN_QUEUE.toMessResult(); } @PostMapping("medicalRecord") @ResponseBody public MessageSendResult medicalRecord(String organizeName, String patientId, String applyId) { log.info("进入接口-[病历复印] 病历复印可付费通知(医院通知)organizeName-{}, patientId-{} , applyId-{}", organizeName, patientId, applyId); MessageSendResult check = BusinessHelper.ParamsCheck(organizeName, patientId, null, null); if (!check.getErrcode().equals("0")) { return check; } Map message = new HashMap<>(); message.put("tip", MessageTypeEnum.MEDICAL_RECORD.CODE); message.put("organizeName", organizeName); message.put("patientId", patientId); message.put("applyId", applyId); rabbitSender.TipSend(message); return ResponseResult.JOIN_QUEUE.toMessResult(); } @PostMapping("treatPlan") @ResponseBody public MessageSendResult treatPlan(String title, String name, String planTime, String content, String patientId, String organizeName, String remark, String url) { log.info("进入接口-[诊疗计划提醒] organizeName-{}, patientId-{} , title-{},name-{},planTime-{},content-{},remark-{},url-{}", organizeName, patientId, title, name, planTime, content, remark, url); MessageSendResult check = BusinessHelper.ParamsCheck(organizeName, patientId, null, null); if (!check.getErrcode().equals("0")) { return check; } if (name == null || planTime == null || content == null) { log.info("[诊疗计划提醒] 必填字段为空,name-{},planTime-{},content-{}", name, planTime, content); return ResponseResult.PARAMETER_IS_NULL.toMessResult(); } Map message = new HashMap<>(); message.put("tip", MessageTypeEnum.TREAT_PLAN.CODE); message.put("title", title == null ? "" : title); message.put("name", name); message.put("patientId", patientId); message.put("organizeName", organizeName); message.put("planTime", planTime); message.put("content", content); message.put("url", url == null ? "" : url); message.put("remark", remark == null ? "" : remark); rabbitSender.TipSend(message); return ResponseResult.JOIN_QUEUE.toMessResult(); } @PostMapping("universal") @ResponseBody public MessageSendResult universal(String content, String patientId, String url, String organizeName, String IdCard, String doctorCode) { log.info("进入接口-[通用推送接口]-绑定通知,content-{},patientId-{},url-{},organizeName-{},IdCard-{},doctorCode-{}", content, patientId, url, organizeName, IdCard, doctorCode); MessageSendResult check = BusinessHelper.ParamsCheck(organizeName, patientId, null, doctorCode); if (!check.getErrcode().equals("0")) { return check; } if (content == null) { log.info("[通用推送接口]-绑定通知, 必填字段为空"); return ResponseResult.PARAMETER_IS_NULL.toMessResult(); } Map message = new HashMap<>(); message.put("tip", MessageTypeEnum.UNIVERSAL.CODE); message.put("organizeName", organizeName); message.put("patientId", patientId); message.put("doctorCode", doctorCode); message.put("IdCard", IdCard); message.put("content", content); message.put("url", url == null ? "" : url); rabbitSender.TipSend(message); return ResponseResult.JOIN_QUEUE.toMessResult(); } @PostMapping("hisUniversal") @ResponseBody public MessageSendResult hisUniversal(@RequestBody Map paramsMap) { log.info("进入接口-[HIS推送接口],params=[{}]", JSONObject.toJSONString(paramsMap)); return hisUniversalService.hisUniversal(paramsMap); } }