|
@ -2,16 +2,18 @@ package com.yihu.jw.article.service;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.jw.article.dao.BaseLinkDictDao;
|
|
|
import com.yihu.jw.article.dao.BaseMenuDictDao;
|
|
|
import com.yihu.jw.article.dao.BaseMenuShowDao;
|
|
|
import com.yihu.jw.article.dao.KnowledgeArticleDictDao;
|
|
|
import com.yihu.jw.article.dao.*;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.base.menu.BaseLinkDictDO;
|
|
|
import com.yihu.jw.entity.base.menu.BaseMenuDictDO;
|
|
|
import com.yihu.jw.entity.base.menu.BaseMenuDictUserDO;
|
|
|
import com.yihu.jw.entity.base.menu.BaseMenuShowDO;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
|
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
|
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
|
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@ -19,6 +21,8 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@ -40,6 +44,64 @@ public class BaseMenuManageService {
|
|
|
private KnowledgeArticleDictDao knowledgeArticleDictDao;
|
|
|
@Autowired
|
|
|
private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private BaseMenuDictUserDao baseMenuDictUserDao;
|
|
|
@Autowired
|
|
|
private BasePatientDao patientDao;
|
|
|
@Autowired
|
|
|
private BaseDoctorDao doctorDao;
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* @param id
|
|
|
* @param flag 1收藏2阅读3点赞4分享
|
|
|
* @param status
|
|
|
* @return
|
|
|
*/
|
|
|
public BaseMenuDictDO setCollectionById(String id, Integer flag, Integer status, String user, String userType){
|
|
|
BaseMenuDictDO dictDO = baseMenuDictDao.findByIdAndDel(id);
|
|
|
if(dictDO==null){
|
|
|
return null;
|
|
|
}
|
|
|
BaseMenuDictUserDO dictUserDO =baseMenuDictUserDao.findByRelationCodeAndUserAndDel(id,user);
|
|
|
if (dictUserDO==null){
|
|
|
dictUserDO = new BaseMenuDictUserDO();
|
|
|
dictUserDO.setRelationCode(id);
|
|
|
dictUserDO.setRelationName(dictDO.getMenuTitle());
|
|
|
dictUserDO.setRelationType(1);
|
|
|
dictUserDO.setDel(1);
|
|
|
dictUserDO.setUser(user);
|
|
|
if (StringUtils.isNoneBlank(userType)&&userType.equalsIgnoreCase("1")){
|
|
|
BasePatientDO patientDO = patientDao.findById(user).orElse(null);
|
|
|
if (patientDO!=null){
|
|
|
dictUserDO.setUserName(patientDO.getName());
|
|
|
}
|
|
|
}else if (StringUtils.isNoneBlank(userType)&&userType.equalsIgnoreCase("2")){
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(user).orElse(null);
|
|
|
if (doctorDO!=null){
|
|
|
dictUserDO.setUserName(doctorDO.getName());
|
|
|
}
|
|
|
}
|
|
|
dictUserDO.setCreateTime(new Date());
|
|
|
}
|
|
|
|
|
|
if (flag!=null&&flag==1){
|
|
|
dictUserDO.setCollection(status);
|
|
|
}else if (flag!=null&&flag==2){
|
|
|
dictUserDO.setIsRead(status);
|
|
|
}else if (flag!=null&&flag==3){
|
|
|
dictUserDO.setFabulous(status);
|
|
|
}else if (flag!=null&&flag==4){
|
|
|
dictUserDO.setShare(status);
|
|
|
}
|
|
|
baseMenuDictUserDao.save(dictUserDO);
|
|
|
|
|
|
return dictDO;
|
|
|
}
|
|
|
|
|
|
//删除菜单字典
|
|
|
public void deletMenuDict(String id) throws Exception{
|
|
|
BaseMenuDictDO baseMenuDictDO= baseMenuDictDao.findById(id).orElse(null);
|
|
@ -120,6 +182,7 @@ public class BaseMenuManageService {
|
|
|
List<WlyyHospitalSysDictDO> menuLocation = wlyyHospitalSysDictDao.findByDictName("menuLocation");
|
|
|
List<WlyyHospitalSysDictDO> menuFunction = wlyyHospitalSysDictDao.findByDictName("menuFunction");
|
|
|
List<WlyyHospitalSysDictDO> effect = wlyyHospitalSysDictDao.findByDictName("isEffect");
|
|
|
List<WlyyHospitalSysDictDO> releaseType = wlyyHospitalSysDictDao.findByDictName("releaseType");
|
|
|
for (Map<String,Object> map:listParent){
|
|
|
List<Map<String,Object>> childList = new ArrayList<>();
|
|
|
Integer articleParentNum= knowledgeArticleDictDao.getCountByCategoryFirst(map.get("id").toString());
|
|
@ -135,6 +198,16 @@ public class BaseMenuManageService {
|
|
|
map.put("menuLocationName",wlyyHospitalSysDictDO.getDictValue());
|
|
|
}
|
|
|
}
|
|
|
for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:menuLocation){
|
|
|
if (map.get("menuLocation").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
map.put("menuLocationName",wlyyHospitalSysDictDO.getDictValue());
|
|
|
}
|
|
|
}
|
|
|
for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:releaseType){
|
|
|
if (map.get("releaseType").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
map.put("releaseTypeName",wlyyHospitalSysDictDO.getDictValue());
|
|
|
}
|
|
|
}
|
|
|
for (Map<String,Object> mapchild:list){
|
|
|
if (mapchild.get("parentId").toString().equalsIgnoreCase(map.get("id").toString())){
|
|
|
List<String> list1 = new ArrayList<>();
|
|
@ -161,7 +234,7 @@ public class BaseMenuManageService {
|
|
|
return listParent;
|
|
|
}
|
|
|
//查询单挑菜单字典
|
|
|
public BaseMenuDictDO findOneMenuDict(String id){
|
|
|
public BaseMenuDictDO findOneMenuDict(String id,String patient){
|
|
|
BaseMenuDictDO baseMenuDictDO= baseMenuDictDao.findById(id).orElse(null);
|
|
|
if (baseMenuDictDO!=null){
|
|
|
WlyyHospitalSysDictDO effect = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("isEffect",baseMenuDictDO.getStatus().toString());
|
|
@ -186,6 +259,18 @@ public class BaseMenuManageService {
|
|
|
baseMenuDictDO.setLocaTionName(menuLocation.getDictValue());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotBlank(baseMenuDictDO.getDoctors())){
|
|
|
String doctors = "'"+baseMenuDictDO.getDoctors().replace(",","','")+"'";
|
|
|
String sql = "select * from base_doctor where id in ("+doctors+")";
|
|
|
List<BaseDoctorDO> doctorDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDoctorDO.class));
|
|
|
baseMenuDictDO.setDoctorList(doctorDOList);
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotBlank(patient)){
|
|
|
//点赞收藏相关
|
|
|
|
|
|
}
|
|
|
}
|
|
|
return baseMenuDictDO;
|
|
|
}
|
|
@ -280,6 +365,10 @@ public class BaseMenuManageService {
|
|
|
menuOld.setDescribtion(menuDO.getDescribtion());
|
|
|
menuOld.setMenuTitle(menuDO.getMenuTitle());
|
|
|
menuOld.setBgImg(menuDO.getBgImg());
|
|
|
menuOld.setReleaseType(menuDO.getReleaseType());
|
|
|
menuOld.setDoctors(menuDO.getDoctors());
|
|
|
menuOld.setAuthor(menuDO.getAuthor());
|
|
|
menuOld.setMusicUrl(menuDO.getMusicUrl());
|
|
|
menuOld.setUpdateTime(new Date());
|
|
|
menuOld.setIsDel("1");
|
|
|
menuDO = baseMenuDictDao.save(menuOld);
|
|
@ -748,7 +837,6 @@ public class BaseMenuManageService {
|
|
|
map.put("menuLocationName",wlyyHospitalSysDictDO.getDictValue());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return listParent;
|