|
@ -10,7 +10,6 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
import com.yihu.jw.im.util.ImUtil;
|
|
import com.yihu.jw.im.util.ImUtil;
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@ -40,10 +39,9 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
|
|
@Autowired
|
|
@Autowired
|
|
private ServicePackageService servicePackageService;
|
|
private ServicePackageService servicePackageService;
|
|
@Autowired
|
|
@Autowired
|
|
private BasePatientDao patientDao;
|
|
|
|
@Autowired
|
|
|
|
private BaseDoctorDao doctorDao;
|
|
private BaseDoctorDao doctorDao;
|
|
|
|
|
|
|
|
|
|
public JSONObject getOnLineObj(String patient){
|
|
public JSONObject getOnLineObj(String patient){
|
|
JSONObject obj = new JSONObject();
|
|
JSONObject obj = new JSONObject();
|
|
String zlySql = "SELECT doc.* from base_service_package_sign_record sr,base_service_package_record r,base_team_member m,base_doctor doc \n" +
|
|
String zlySql = "SELECT doc.* from base_service_package_sign_record sr,base_service_package_record r,base_team_member m,base_doctor doc \n" +
|
|
@ -133,41 +131,24 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
JSONArray doctorResult = new JSONArray();
|
|
JSONArray doctorResult = new JSONArray();
|
|
JSONArray patientResult = new JSONArray();
|
|
JSONArray patientResult = new JSONArray();
|
|
String doctors = imUtil.getSessionListByType(patient,"0","1","2",null,null,"1");
|
|
|
|
|
|
|
|
String patients = imUtil.getSessionListByType(patient,"0","100","2",null,null,"2");
|
|
String patients = imUtil.getSessionListByType(patient,"0","100","2",null,null,"2");
|
|
JSONArray doctorArr = JSON.parseArray(doctors);
|
|
|
|
JSONArray patientArr = JSON.parseArray(patients);
|
|
JSONArray patientArr = JSON.parseArray(patients);
|
|
if (doctorArr.size()==0){//取签约医生其中一个
|
|
|
|
List<Map<String,Object>> signDoctors = servicePackageService.getServerDoctorAll(patient,null,null);
|
|
|
|
if (signDoctors.size()>0){
|
|
|
|
Map<String,Object> tmp = signDoctors.get(0);
|
|
|
|
JSONObject tmpObj = new JSONObject();
|
|
|
|
tmpObj.put("name",tmp.get("doctorName"));
|
|
|
|
tmpObj.put("unread_count","0");
|
|
|
|
tmpObj.put("avatar",tmp.get("photo"));
|
|
|
|
tmpObj.put("userType","1");
|
|
|
|
tmpObj.put("doctorId",tmp.get("doctor"));
|
|
|
|
tmpObj.put("doctorLevel",tmp.get("doctorLevel"));
|
|
|
|
tmpObj.put("relationName",null==tmp.get("doctorLevel")?"":"1".equals(tmp.get("doctorLevel").toString())?"社区医生":"助老员");
|
|
|
|
doctorResult.add(tmpObj);
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
JSONObject tmp = doctorArr.getJSONObject(0);
|
|
|
|
JSONArray participantsTimeArray = tmp.getJSONArray("participantsTimeArray");
|
|
|
|
for (int i=0;i<participantsTimeArray.size();i++){
|
|
|
|
JSONObject tmpObj = participantsTimeArray.getJSONObject(i);
|
|
|
|
String id = tmpObj.getString("id");
|
|
|
|
if (!id.equals(patient)){
|
|
|
|
tmp.put("avatar",tmp.getString("photo"));
|
|
|
|
tmp.put("doctorId",id);
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(id);
|
|
|
|
tmp.put("doctorLevel",doctorDO.getLevel());
|
|
|
|
tmp.put("relationName","助老员");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
doctorResult.add(tmp);
|
|
|
|
|
|
//医生默认取签约第一个
|
|
|
|
List<Map<String,Object>> signDoctors = servicePackageService.getServerDoctorAll(patient,null,null);
|
|
|
|
if (signDoctors.size()>0){
|
|
|
|
Map<String,Object> tmp = signDoctors.get(0);
|
|
|
|
JSONObject tmpObj = new JSONObject();
|
|
|
|
tmpObj.put("name",tmp.get("doctorName"));
|
|
|
|
tmpObj.put("unread_count","0");
|
|
|
|
tmpObj.put("avatar",tmp.get("photo"));
|
|
|
|
tmpObj.put("userType","1");
|
|
|
|
tmpObj.put("doctorId",tmp.get("doctor"));
|
|
|
|
tmp.put("doctorLevel",tmp.get("doctorLevel"));
|
|
|
|
tmpObj.put("relationName","助老员");
|
|
|
|
doctorResult.add(tmpObj);
|
|
}
|
|
}
|
|
|
|
|
|
JSONArray families = familyMemberService.membersWithOnLineFlag(patient);
|
|
JSONArray families = familyMemberService.membersWithOnLineFlag(patient);
|
|
if (families.size()>0){
|
|
if (families.size()>0){
|
|
List<String> familyIds = families.stream().map(item->((JSONObject)item).getString("id")).collect(Collectors.toList());
|
|
List<String> familyIds = families.stream().map(item->((JSONObject)item).getString("id")).collect(Collectors.toList());
|
|
@ -177,10 +158,6 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
|
|
for (int i=0;i<participantsTimeArray.size();i++){
|
|
for (int i=0;i<participantsTimeArray.size();i++){
|
|
JSONObject tmpObj = participantsTimeArray.getJSONObject(i);
|
|
JSONObject tmpObj = participantsTimeArray.getJSONObject(i);
|
|
String id = tmpObj.getString("id");
|
|
String id = tmpObj.getString("id");
|
|
BasePatientDO patientDO = patientDao.findById(id);
|
|
|
|
if (patientDO.getArchiveType()==3){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (!id.equals(patient)&&familyIds.contains(id)){
|
|
if (!id.equals(patient)&&familyIds.contains(id)){
|
|
tmp.put("avatar",tmp.getString("photo"));
|
|
tmp.put("avatar",tmp.getString("photo"));
|
|
tmp.put("patientId",id);
|
|
tmp.put("patientId",id);
|