|
@ -25,6 +25,7 @@ import com.yihu.mysql.query.URLQueryParser;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.checkerframework.checker.units.qual.A;
|
|
|
import org.hibernate.dialect.Ingres9Dialect;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.data.jpa.provider.HibernateUtils;
|
|
@ -33,6 +34,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.swing.plaf.PanelUI;
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.lang.annotation.ElementType;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Service
|
|
@ -63,7 +65,7 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
private boolean flag;
|
|
|
|
|
|
//患者给医生自身留言接口
|
|
|
public void leaveMessage(String content, String reciverId, String reciverName, String senderId) {
|
|
|
public void leaveMessage(String content, String reciverId, String reciverName, String senderId, Integer type) {
|
|
|
BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
|
|
|
BasePatientDO patientDO= basePatientDao.findById(senderId);
|
|
|
String senderName=null;
|
|
@ -81,12 +83,13 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
baseUserMessageDO.setRelationType(1);
|
|
|
baseUserMessageDO.setStatus(1);
|
|
|
baseUserMessageDO.setDel(1);
|
|
|
baseUserMessageDO.setType(type);
|
|
|
baseUserMessageDao.save(baseUserMessageDO);
|
|
|
|
|
|
}
|
|
|
//回复留言接口
|
|
|
@Transactional
|
|
|
public void responseMessage(String contentId,String content, String reciverId, String reciverName, String senderId,Integer isDoctor) {
|
|
|
public void responseMessage(String contentId,String content, String reciverId, String senderId,Integer isDoctor) {
|
|
|
BaseUserMessageDO baseUserMessageDOS = baseUserMessageDao.findOne(contentId);
|
|
|
if(null!=baseUserMessageDOS){
|
|
|
baseUserMessageDOS.setStatus(2);
|
|
@ -96,12 +99,20 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
String senderName = null;
|
|
|
if(1==isDoctor){
|
|
|
BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(senderId);
|
|
|
BasePatientDO reciver= basePatientDao.findById(reciverId);
|
|
|
if (null!=reciver){
|
|
|
baseUserMsgContentDO.setReceiverName(reciver.getName());
|
|
|
}
|
|
|
if(null!=baseDoctorDO){
|
|
|
senderName = baseDoctorDO.getName();
|
|
|
}
|
|
|
baseUserMsgContentDO.setIsDoctor(1);
|
|
|
}else {
|
|
|
BasePatientDO patientDO= basePatientDao.findById(senderId);
|
|
|
BaseDoctorDO reciver = baseDoctorDao.findById(reciverId);
|
|
|
if(null!=reciver){
|
|
|
baseUserMsgContentDO.setReceiverName(reciver.getName());
|
|
|
}
|
|
|
if(null!=patientDO){
|
|
|
senderName = patientDO.getName();
|
|
|
}
|
|
@ -112,7 +123,6 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
baseUserMsgContentDO.setSender(senderId);
|
|
|
baseUserMsgContentDO.setSenderName(senderName);
|
|
|
baseUserMsgContentDO.setReceiver(reciverId);
|
|
|
baseUserMsgContentDO.setReceiverName(reciverName);
|
|
|
baseUserMsgContentDO.setDel(1);
|
|
|
baseUserMsgContentDO.setStatus(1);
|
|
|
baseUserMsgContentDao.save(baseUserMsgContentDO);
|
|
@ -148,13 +158,32 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
sql.append(" and t.relation_type = " + showAllType);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(beginTime)) {
|
|
|
sql.append(" and t.update_time > '" + beginTime+"'");//DateUtil.stringToDate(beginTime,"yyyy-MM-dd HH:mm:ss")
|
|
|
//sql.append(" and t.update_time > '" + beginTime+"'");//DateUtil.stringToDate(beginTime,"yyyy-MM-dd HH:mm:ss")
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
if (flag){
|
|
|
sql.append( " and t.create_time >= str_to_date('" + beginTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')");
|
|
|
}else {
|
|
|
sql.append( " and t.create_time >= to_date('" + beginTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')");
|
|
|
}
|
|
|
} else {
|
|
|
sql.append( " AND e.create_time >='" + beginTime + " 00:00:00'");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotEmpty(endTime)) {
|
|
|
sql.append(" and t.update_time < '" + endTime+"'");//DateUtil.stringToDate(endTime,"yyyy-MM-dd HH:mm:ss")
|
|
|
//sql.append(" and t.update_time < '" + endTime+"'");//DateUtil.stringToDate(endTime,"yyyy-MM-dd HH:mm:ss")
|
|
|
if ("xm_ykyy_wx".equals(wxId)) {
|
|
|
if (flag){
|
|
|
sql.append( " and t.update_time <= str_to_date('" + endTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')");
|
|
|
}else {
|
|
|
sql.append( " and t.update_time <= to_date('" + endTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')");
|
|
|
}
|
|
|
} else {
|
|
|
sql.append( " AND e.update_time <='" + endTime + " 00:00:00'");
|
|
|
}
|
|
|
}
|
|
|
sql.append(" GROUP BY t.relation_code ORDER BY t.update_time Desc");
|
|
|
String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql.toString()+") t";
|
|
|
String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql.toString()+") q";
|
|
|
Long count = 0L;
|
|
|
List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount,params);
|
|
|
if(total!=null){
|
|
@ -168,8 +197,12 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
Map<String,Object> returnMap = new HashMap<>();
|
|
|
String relationCode = map.get("relation_code").toString();
|
|
|
String id = map.get("id").toString();
|
|
|
String patientID = map.get("sender").toString();
|
|
|
BaseUserMessageDO baseUserMsgContentDO =new BaseUserMessageDO();
|
|
|
baseUserMsgContentDO.setId(id);
|
|
|
if (map.get("type")!=null){
|
|
|
baseUserMsgContentDO.setType(Integer.valueOf(map.get("type").toString()));
|
|
|
}
|
|
|
baseUserMsgContentDO.setReceiver(map.get("receiver").toString());
|
|
|
baseUserMsgContentDO.setReceiverName(map.get("receiver_name").toString());
|
|
|
baseUserMsgContentDO.setSender(map.get("sender").toString());
|
|
@ -183,6 +216,13 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
icon = patientDO.getPhoto();
|
|
|
}
|
|
|
List<BaseUserMsgContentDO> contentlist=baseUserMsgContentDao.getContentListByID(id);
|
|
|
for (BaseUserMsgContentDO dealList :contentlist){
|
|
|
if (baseUserMsgContentDO.getType()==2){
|
|
|
dealList.setSenderName(patientID==dealList.getSender()?dealList.getSenderName().substring(0,1)+"**":dealList.getSenderName());
|
|
|
dealList.setReceiverName(patientID==dealList.getReceiver()?dealList.getReceiverName().substring(0,1)+"**":dealList.getReceiverName());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
baseUserMsgContentDO.setMsgList(contentlist);
|
|
|
String updateTime = map.get("update_time").toString();
|
|
|
baseUserMsgContentDO.setUpdateTime(DateUtil.strToDateLong(updateTime));
|
|
@ -247,9 +287,16 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
//获取单条评论详细信息
|
|
|
public List<Map<String,Object>> getSingle(String id){
|
|
|
BaseUserMessageDO baseUserMessageDO=baseUserMessageDao.findOne(id);
|
|
|
String patientId= baseUserMessageDO.getSender();
|
|
|
Integer type = baseUserMessageDO.getType();
|
|
|
List<BaseUserMsgContentDO> contentlist=baseUserMsgContentDao.getContentListByID(id);
|
|
|
if (type==2){
|
|
|
for (BaseUserMsgContentDO baseUserMsgContentDO:contentlist){
|
|
|
baseUserMsgContentDO.setSenderName(baseUserMsgContentDO.getSender()==patientId?baseUserMsgContentDO.getSenderName().substring(0,1)+"**":baseUserMsgContentDO.getSenderName());
|
|
|
baseUserMsgContentDO.setReceiverName(baseUserMsgContentDO.getReceiver()==patientId?baseUserMsgContentDO.getReceiverName().substring(0,1)+"**":baseUserMsgContentDO.getReceiverName());
|
|
|
}
|
|
|
}
|
|
|
String relationCode= baseUserMessageDO.getRelationCode();
|
|
|
|
|
|
List<Map<String,Object>> returnResult = new ArrayList<>();
|
|
|
//List<Map<String,Object>> scoreList = this.getListByRelationCode(relationCode);
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
@ -265,7 +312,11 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
|
|
|
}
|
|
|
map.put("scoreList",scoreList);
|
|
|
map.put("sender",baseUserMessageDO.getSender());
|
|
|
map.put("senderName",baseUserMessageDO.getSenderName());
|
|
|
if (type==2){
|
|
|
map.put("senderName",baseUserMessageDO.getSenderName().substring(0,1)+"**");
|
|
|
}else {
|
|
|
map.put("senderName",baseUserMessageDO.getSenderName());
|
|
|
}
|
|
|
map.put("content",baseUserMessageDO.getContent());
|
|
|
map.put("receiver",baseUserMessageDO.getReceiver());
|
|
|
map.put("receiverName",baseUserMessageDO.getReceiverName());
|