|
@ -3,6 +3,7 @@ package com.yihu.jw.door.util;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
|
|
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
|
|
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
|
|
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
|
|
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
|
|
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
|
|
@ -10,6 +11,7 @@ import com.yihu.jw.entity.base.wx.WxWechatDO;
|
|
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
|
|
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
|
|
import com.yihu.jw.exception.ApiException;
|
|
import com.yihu.jw.exception.ApiException;
|
|
import com.yihu.jw.exception.code.ExceptionCode;
|
|
import com.yihu.jw.exception.code.ExceptionCode;
|
|
|
|
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
|
|
import com.yihu.jw.rm.base.WechatRequestMapping;
|
|
import com.yihu.jw.rm.base.WechatRequestMapping;
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
@ -17,6 +19,7 @@ import com.yihu.jw.util.http.HttpClientUtil;
|
|
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
|
|
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
|
|
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
|
|
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
|
|
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
|
|
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
|
|
|
|
import com.yihu.jw.wechat.dao.WxAccessTokenDao;
|
|
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
|
|
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
|
|
import com.yihu.jw.wechat.service.WxAccessTokenService;
|
|
import com.yihu.jw.wechat.service.WxAccessTokenService;
|
|
import com.yihu.utils.network.HttpUtils;
|
|
import com.yihu.utils.network.HttpUtils;
|
|
@ -54,6 +57,10 @@ public class MessageUtil {
|
|
private WxTemplateConfigDao wxTemplateConfigDao;
|
|
private WxTemplateConfigDao wxTemplateConfigDao;
|
|
@Autowired
|
|
@Autowired
|
|
private JdbcTemplate jdbcTemplate;
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
@Autowired
|
|
|
|
private SystemMessageDao systemMessageDao;
|
|
|
|
@Autowired
|
|
|
|
private WxAccessTokenDao wxAccessTokenDao;
|
|
//发送微信模板消息
|
|
//发送微信模板消息
|
|
public static String sendMessageUrl ="http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
|
|
public static String sendMessageUrl ="http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
|
|
|
|
|
|
@ -227,8 +234,6 @@ public class MessageUtil {
|
|
logger.info("--------------wechat token return:"+result+"---------------");
|
|
logger.info("--------------wechat token return:"+result+"---------------");
|
|
org.json.JSONObject json = new org.json.JSONObject(result);
|
|
org.json.JSONObject json = new org.json.JSONObject(result);
|
|
if (json.has("access_token")) {
|
|
if (json.has("access_token")) {
|
|
sql="INSERT INTO `base`.`wx_access_token` (`id`, `wechat_id`, `access_token`, `add_timestamp`, `expires_in`, `czrq`, `code`) \n" +
|
|
|
|
"VALUES ('?1', '?2', '?3', '?4', '?5', '?6', '?7') ";
|
|
|
|
String token = json.get("access_token").toString();
|
|
String token = json.get("access_token").toString();
|
|
String expires_in = json.get("expires_in").toString();
|
|
String expires_in = json.get("expires_in").toString();
|
|
WxAccessTokenDO newaccessToken = new WxAccessTokenDO();
|
|
WxAccessTokenDO newaccessToken = new WxAccessTokenDO();
|
|
@ -238,15 +243,7 @@ public class MessageUtil {
|
|
newaccessToken.setCzrq(new Date());
|
|
newaccessToken.setCzrq(new Date());
|
|
newaccessToken.setCode(UUID.randomUUID().toString().replace("-",""));
|
|
newaccessToken.setCode(UUID.randomUUID().toString().replace("-",""));
|
|
newaccessToken.setWechatId(wechatId);
|
|
newaccessToken.setWechatId(wechatId);
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
sql.replace("?1",UUID.randomUUID().toString().replace("-",""));
|
|
|
|
sql.replace("?2",newaccessToken.getWechatId());
|
|
|
|
sql.replace("?3",newaccessToken.getAccessToken());
|
|
|
|
sql.replace("?4",newaccessToken.getAddTimestamp()+"");
|
|
|
|
sql.replace("?5",newaccessToken.getExpiresIn()+"");
|
|
|
|
sql.replace("?6",format.format(newaccessToken.getCzrq()));
|
|
|
|
sql.replace("?7",newaccessToken.getCode());
|
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
|
|
wxAccessTokenDao.save(newaccessToken);
|
|
return newaccessToken;
|
|
return newaccessToken;
|
|
} else {
|
|
} else {
|
|
return null;
|
|
return null;
|
|
@ -282,92 +279,13 @@ public class MessageUtil {
|
|
}
|
|
}
|
|
data.put("msg", msg);
|
|
data.put("msg", msg);
|
|
messageDO.setData(data.toString());
|
|
messageDO.setData(data.toString());
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
Date date = messageDO.getCreateTime();
|
|
|
|
String dateTime=format.format(date);
|
|
|
|
String sql="INSERT INTO `base`.`base_system_message` (`id`, `type`, `title`, `sender`, `sender_name`, `receiver`, `receiver_name`, `relation_code`, `data`, `is_read`, `del`, `create_time`,`over`) \n" +
|
|
|
|
"VALUES ('?!', '?2', '?3', '?4', '?5', '?6', '?7', '?8', '?9', '0', '1', '?10')";
|
|
|
|
messageDO.setCreateTime(date);
|
|
|
|
sql.replace("?1",messageDO.getId());
|
|
|
|
sql.replace("?2",messageDO.getType());
|
|
|
|
sql.replace("?3",messageDO.getTitle());
|
|
|
|
sql.replace("?4",messageDO.getSender());
|
|
|
|
sql.replace("?5",messageDO.getSenderName());
|
|
|
|
sql.replace("?6",messageDO.getReceiver());
|
|
|
|
sql.replace("?7",messageDO.getReceiverName());
|
|
|
|
sql.replace("?8",messageDO.getRelationCode());
|
|
|
|
sql.replace("?9",messageDO.getData());
|
|
|
|
sql.replace("?10",dateTime);
|
|
|
|
sql.replace("?11",over);
|
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
return messageDO;
|
|
|
|
}
|
|
|
|
|
|
|
|
public SystemMessageDO saveSystemMessage(SystemMessageDO messageDO){
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
if (StringUtils.isBlank(messageDO.getId())){
|
|
|
|
messageDO.setId(UUID.randomUUID().toString().replace("-",""));
|
|
|
|
}
|
|
|
|
Date date = messageDO.getCreateTime();
|
|
|
|
String dateTime=format.format(date);
|
|
|
|
String sql="INSERT INTO `base`.`base_system_message` (`id`, `type`, `title`, `sender`, `sender_name`, `receiver`, `receiver_name`, `relation_code`, `data`, `is_read`, `del`, `create_time`,`over`) \n" +
|
|
|
|
"VALUES ('?!', '?2', '?3', '?4', '?5', '?6', '?7', '?8', '?9', '0', '1', '?10','?11')";
|
|
|
|
messageDO.setCreateTime(date);
|
|
|
|
sql.replace("?1",messageDO.getId());
|
|
|
|
sql.replace("?2",messageDO.getType());
|
|
|
|
sql.replace("?3",messageDO.getTitle());
|
|
|
|
sql.replace("?4",messageDO.getSender());
|
|
|
|
sql.replace("?5",messageDO.getSenderName());
|
|
|
|
sql.replace("?6",messageDO.getReceiver());
|
|
|
|
sql.replace("?7",messageDO.getReceiverName());
|
|
|
|
sql.replace("?8",messageDO.getRelationCode());
|
|
|
|
sql.replace("?9",messageDO.getData());
|
|
|
|
sql.replace("?10",dateTime);
|
|
|
|
sql.replace("?11",messageDO.getOver());
|
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
|
|
messageDO.setOver(over);
|
|
|
|
messageDO.setCreateTime(new Date());
|
|
|
|
systemMessageDao.save(messageDO);
|
|
return messageDO;
|
|
return messageDO;
|
|
}
|
|
}
|
|
|
|
|
|
// public void updateMessageByList(String orderId,String typeCondition,String title) {
|
|
|
|
// List<SystemMessageDO> messages = findSystemMesage(orderId, "403,407");
|
|
|
|
// if (CollectionUtils.isEmpty(messages)) {
|
|
|
|
// logger.error("当前工单没有医生待接单消息!orderId:" + orderId);
|
|
|
|
// } else {
|
|
|
|
// messages.forEach(message -> {
|
|
|
|
// orderMessageDel(message.getId(), message.getRelationCode(), message.getType(), message.getReceiver());
|
|
|
|
// if (message.getType().equals("403")) {
|
|
|
|
// message.setTitle("医生接单");
|
|
|
|
// message.setType(434 + "");
|
|
|
|
// message.setReceiver(doorServiceOrder.getDispatcher());
|
|
|
|
// message.setReceiverName(doorServiceOrder.getDispatcherName());
|
|
|
|
// message.setSender(doorServiceOrder.getDoctor());
|
|
|
|
// message.setSenderName(doorServiceOrder.getDoctorName());
|
|
|
|
// message.setCreateTime(new Date());
|
|
|
|
// JSONObject data = JSONObject.parseObject(message.getData());
|
|
|
|
// String msg = doorServiceOrder.getDispatcherName() + "接受了服务工单" + doorServiceOrder.getNumber();
|
|
|
|
// BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doorServiceOrder.getDispatcher());//·
|
|
|
|
// data.put("name", message.getReceiverName());
|
|
|
|
// data.put("age", IdCardUtil.getAgeForIdcard(baseDoctorDO.getIdcard()));
|
|
|
|
// try {
|
|
|
|
// data.put("gender", IdCardUtil.getSexForIdcard(baseDoctorDO.getIdcard()));
|
|
|
|
// } catch (Exception e) {
|
|
|
|
// e.printStackTrace();
|
|
|
|
// }
|
|
|
|
// data.put("msg", msg);
|
|
|
|
// message.setData(data.toJSONString());
|
|
|
|
// }
|
|
|
|
//// else{
|
|
|
|
//// message.setOver("0");
|
|
|
|
//// }
|
|
|
|
// saveSystemMessage(message);
|
|
|
|
//
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
public void updateMessage(SystemMessageDO message) {
|
|
|
|
orderMessageDel(message.getId(),null,null,null);
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<SystemMessageDO> findSystemMesage(String relationCode,String type){
|
|
public List<SystemMessageDO> findSystemMesage(String relationCode,String type){
|
|
StringBuilder sql =new StringBuilder("select * from base.base_system_message where 1=1 ");
|
|
StringBuilder sql =new StringBuilder("select * from base.base_system_message where 1=1 ");
|