|
@ -1,10 +1,14 @@
|
|
|
package com.yihu.jw.hospital.message.service;
|
|
|
|
|
|
import com.yihu.jw.entity.base.score.BaseEvaluateDO;
|
|
|
import com.yihu.jw.entity.base.score.BaseEvaluateScoreDO;
|
|
|
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
|
|
|
import com.yihu.jw.entity.hospital.message.BaseUserMessageDO;
|
|
|
import com.yihu.jw.hospital.message.dao.BaseBannerDao;
|
|
|
import com.yihu.jw.hospital.message.dao.BaseBannerDoctorDao;
|
|
|
import com.yihu.jw.entity.hospital.message.BaseUserMsgContentDO;
|
|
|
import com.yihu.jw.evaluate.score.dao.BaseEvaluateDao;
|
|
|
import com.yihu.jw.evaluate.score.dao.BaseEvaluateScoreDao;
|
|
|
import com.yihu.jw.hospital.message.dao.BaseUserMessageDao;
|
|
|
import com.yihu.jw.hospital.message.dao.BaseUserMsgContentDao;
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
|
|
@ -34,9 +38,15 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
@Autowired
|
|
|
private BaseUserMessageDao baseUserMessageDao;
|
|
|
@Autowired
|
|
|
private BaseUserMsgContentDao baseUserMsgContentDao;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private HibenateUtils hibenateUtils;
|
|
|
@Autowired
|
|
|
private BaseEvaluateScoreDao baseEvaluateScoreDao;
|
|
|
@Autowired
|
|
|
private BaseEvaluateDao baseEvaluateDao;
|
|
|
|
|
|
@Value("${wechat.id}")
|
|
|
private String wxId;
|
|
@ -46,13 +56,7 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
private boolean flag;
|
|
|
|
|
|
//患者给医生自身留言接口
|
|
|
public void leaveMessage(String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode) {
|
|
|
|
|
|
List<BaseUserMessageDO> baseUserMessageDOS = baseUserMessageDao.getMessageByCode(relationCode);
|
|
|
if (baseUserMessageDOS.size()>0){
|
|
|
BaseUserMessageDO peiviousMessage = baseUserMessageDOS.get(0);
|
|
|
peiviousMessage.setStatus(2);
|
|
|
baseUserMessageDao.save(peiviousMessage);
|
|
|
public void leaveMessage(String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode,Boolean isReply) {
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
@ -62,46 +66,28 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("自身留言");
|
|
|
baseUserMessageDO.setRelationType(1);
|
|
|
baseUserMessageDO.setStatus(2);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("自身留言");
|
|
|
baseUserMessageDO.setRelationType(1);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//回复留言接口
|
|
|
@Transactional
|
|
|
public void responseMessage(String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode) {
|
|
|
List<BaseUserMessageDO> baseUserMessageDOS = baseUserMessageDao.getMessageByCode(relationCode);
|
|
|
public void responseMessage(String contentId,String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode) {
|
|
|
List<BaseUserMessageDO> baseUserMessageDOS = baseUserMessageDao.getMessageByCode(relationCode,contentId);
|
|
|
BaseUserMessageDO peiviousMessage = baseUserMessageDOS.get(0);
|
|
|
peiviousMessage.setStatus(2);
|
|
|
baseUserMessageDao.save(peiviousMessage);
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("自身留言");
|
|
|
baseUserMessageDO.setRelationType(1);
|
|
|
baseUserMessageDO.setStatus(2);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
BaseUserMsgContentDO baseUserMsgContentDO =new BaseUserMsgContentDO();
|
|
|
baseUserMsgContentDO.setBaseUserMsgId(contentId);
|
|
|
baseUserMsgContentDO.setContent(content);
|
|
|
baseUserMsgContentDO.setSender(senderId);
|
|
|
baseUserMsgContentDO.setSenderName(senderName);
|
|
|
baseUserMsgContentDO.setReceiver(reciverId);
|
|
|
baseUserMsgContentDO.setReceiverName(reciverName);
|
|
|
baseUserMsgContentDO.setDel(1);
|
|
|
baseUserMsgContentDO.setStatus(1);
|
|
|
baseUserMsgContentDao.save(baseUserMsgContentDO);
|
|
|
}
|
|
|
|
|
|
//评论留言展示
|
|
@ -151,14 +137,33 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql.toString(),params,page,pageSize);
|
|
|
List<Map<String, Object>> returnList = new ArrayList<>();
|
|
|
for (Map<String, Object> map : list) {
|
|
|
Map<String,Object> returnMap = new HashMap<>();
|
|
|
String relationCode = map.get("relation_code").toString();
|
|
|
String id = map.get("id").toString();
|
|
|
BaseUserMessageDO baseUserMsgContentDO =new BaseUserMessageDO();
|
|
|
baseUserMsgContentDO.setId(id);
|
|
|
baseUserMsgContentDO.setReceiver(map.get("receiver").toString());
|
|
|
baseUserMsgContentDO.setReceiverName(map.get("receiver_name").toString());
|
|
|
baseUserMsgContentDO.setSenderName(map.get("sender_name").toString());
|
|
|
baseUserMsgContentDO.setSenderName(map.get("sender").toString());
|
|
|
baseUserMsgContentDO.setContent(map.get("content").toString());
|
|
|
List<BaseUserMsgContentDO> contentlist=baseUserMsgContentDao.getContentListByID(id);
|
|
|
baseUserMsgContentDO.setMsgList(contentlist);
|
|
|
String updateTime = map.get("update_time").toString();
|
|
|
map.put("update_time",DateUtil.dateToStrLong(DateUtil.strToDateLong(updateTime)));
|
|
|
List<Map<String,Object>> scoreList = this.getListByRelationCode(relationCode);
|
|
|
if(null!=scoreList){
|
|
|
map.put("scoreList",scoreList);
|
|
|
baseUserMsgContentDO.setUpdateTime(DateUtil.strToDateLong(updateTime));
|
|
|
returnMap.put("contentList",baseUserMsgContentDO);
|
|
|
//map.put("update_time",DateUtil.dateToStrLong(DateUtil.strToDateLong(updateTime)));
|
|
|
List<BaseEvaluateDO> baseEvaluateDO=baseEvaluateDao.findByRelationCode(relationCode);
|
|
|
if (baseEvaluateDO.size()>0){
|
|
|
String findRC=baseEvaluateDO.get(0).getRelationCode();
|
|
|
BaseEvaluateScoreDO scoreList = baseEvaluateScoreDao.findOne(relationCode);
|
|
|
if(null!=scoreList){
|
|
|
returnMap.put("everangScore",scoreList);
|
|
|
returnMap.put("scoreList",baseEvaluateDO);
|
|
|
}
|
|
|
}
|
|
|
returnList.add(map);
|
|
|
|
|
|
returnList.add(returnMap);
|
|
|
}
|
|
|
return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, returnList, page, pageSize, count);
|
|
|
}
|
|
@ -220,77 +225,77 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
//专家咨询留言
|
|
|
public void expertMessage(String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode) {
|
|
|
|
|
|
List<BaseUserMessageDO> baseUserMessageDOS = baseUserMessageDao.getMessageByCode(relationCode);
|
|
|
if (baseUserMessageDOS.size()>0){
|
|
|
BaseUserMessageDO peiviousMessage = baseUserMessageDOS.get(0);
|
|
|
peiviousMessage.setStatus(2);
|
|
|
baseUserMessageDao.save(peiviousMessage);
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("专家咨询");
|
|
|
baseUserMessageDO.setRelationType(3);
|
|
|
baseUserMessageDO.setStatus(2);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("专家咨询");
|
|
|
baseUserMessageDO.setRelationType(3);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
|
|
|
}
|
|
|
else{
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("专家咨询");
|
|
|
baseUserMessageDO.setRelationType(3);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//在线复诊留言
|
|
|
public void onlineVisitMessage(String content, String reciverId, String reciverName, String senderId, String senderName, String relationCode) {
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("在线复诊");
|
|
|
baseUserMessageDO.setRelationType(4);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
|
|
|
List<BaseUserMessageDO> baseUserMessageDOS = baseUserMessageDao.getMessageByCode(relationCode);
|
|
|
if (baseUserMessageDOS.size()>0){
|
|
|
BaseUserMessageDO peiviousMessage = baseUserMessageDOS.get(0);
|
|
|
peiviousMessage.setStatus(2);
|
|
|
baseUserMessageDao.save(peiviousMessage);
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("在线复诊");
|
|
|
baseUserMessageDO.setRelationType(4);
|
|
|
baseUserMessageDO.setStatus(2);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
|
|
|
}
|
|
|
//评论回复展示
|
|
|
public Envelop showReply(String relationCode, Integer page, Integer pageSize){
|
|
|
String sql = dealSql(relationCode,false);
|
|
|
String sqlCount = dealSql(relationCode,true);
|
|
|
Map<String,Object> params = new HashedMap();
|
|
|
if (StringUtils.isNotEmpty(relationCode)){
|
|
|
params.put("relationCode",relationCode);
|
|
|
}
|
|
|
else{
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
baseUserMessageDO.setContent(content);
|
|
|
baseUserMessageDO.setSender(senderId);
|
|
|
baseUserMessageDO.setSenderName(senderName);
|
|
|
baseUserMessageDO.setReceiver(reciverId);
|
|
|
baseUserMessageDO.setReceiverName(reciverName);
|
|
|
baseUserMessageDO.setRelationCode(relationCode);
|
|
|
baseUserMessageDO.setRelationName("在线复诊");
|
|
|
baseUserMessageDO.setRelationType(4);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
Long count = 0L;
|
|
|
List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlCount,params);
|
|
|
if(total!=null){
|
|
|
//mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
|
|
|
count = hibenateUtils.objTransformLong(total.get(0).get("total"));
|
|
|
}
|
|
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,params,page,pageSize);
|
|
|
for (Map<String,Object> map:list){
|
|
|
String createTime= map.get("updateTime").toString();
|
|
|
String updateTime = map.get("updateTime1").toString();
|
|
|
map.put("updateTime",DateUtil.dateToStrLong(DateUtil.strToDateLong(createTime)));
|
|
|
map.put("updateTime1",DateUtil.dateToStrLong(DateUtil.strToDateLong(updateTime)));
|
|
|
}
|
|
|
return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, pageSize, count);
|
|
|
}
|
|
|
private String dealSql(String relationCode,Boolean isCount){
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
if (isCount) {
|
|
|
sql.append("SELECT COUNT(1) AS \"total\" FROM (");
|
|
|
}
|
|
|
sql.append("select " +"b.id AS \"id\",b.content AS \"topContent\",b.sender_name AS \"topSenderName\" " +
|
|
|
",a.content AS \"content\",b.update_time AS \"updateTime\", a.sender_name AS \"senderName\",a.receiver_name AS \"receiverName\",a.update_time AS \"updateTime1\""+
|
|
|
"from base_user_msg_content a left join base_user_message b" +
|
|
|
"on on b.id = a.base_user_msg_id");
|
|
|
sql.append(" where 1=1 ");
|
|
|
if (StringUtils.isNotEmpty(relationCode)){
|
|
|
sql.append(" and a.relation_code = :relationCode");
|
|
|
}
|
|
|
if (isCount) {
|
|
|
sql.append(") t");
|
|
|
}
|
|
|
return sql.toString();
|
|
|
}
|
|
|
}
|