|
@ -30,501 +30,487 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 健康文章
|
|
* 健康文章
|
|
|
|
*
|
|
* @author huangwenjie
|
|
* @author huangwenjie
|
|
*/
|
|
*/
|
|
@RestController
|
|
@RestController
|
|
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
|
|
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
|
|
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
|
|
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
|
|
public class ArticleEndpoint extends EnvelopRestEndpoint {
|
|
public class ArticleEndpoint extends EnvelopRestEndpoint {
|
|
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleService knowledgeArticleService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeCategoryService knowledgeCategoryService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private BasePatientBusinessService patientBusinessService;
|
|
|
|
@Autowired
|
|
|
|
private BaseDoctorHospitalDao doctorHospitalDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleUserService knowledgeArticleUserService;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleUserDao knowledgeArticleUserDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleDao knowledgeArticleDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleDictDao knowledgeArticleDictDao;
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
|
|
|
|
@ApiOperation(value = "获取文章列表")
|
|
|
|
public Envelop searchKnowledgePageList(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
|
|
|
|
@RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
|
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
|
|
|
|
@RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
|
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
|
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
|
|
|
|
|
|
|
|
try {
|
|
|
|
if(StringUtils.isBlank(filters)){
|
|
|
|
filters=filters+"del=1";
|
|
|
|
}else{
|
|
|
|
filters=filters+";del=1";
|
|
|
|
}
|
|
|
|
|
|
|
|
List<KnowledgeArticleDO> list = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
|
|
|
|
for (KnowledgeArticleDO knowledgeArticleDO:list){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDO.getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDO.getOrgName());
|
|
|
|
}
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(knowledgeArticleDO.getId(),getUID());
|
|
|
|
if (knowledgeArticleUserDO!=null){
|
|
|
|
if (knowledgeArticleUserDO.getUsed()!=null&&knowledgeArticleUserDO.getUsed()==1){
|
|
|
|
knowledgeArticleDO.setIsUsed(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<KnowledgeArticleDO> totals = knowledgeArticleService.search(fields,filters,sorts);
|
|
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total",totals.size());
|
|
|
|
result.put("detailModelList",list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.queryById)
|
|
|
|
@ApiOperation(value = "根据id查询文章")
|
|
|
|
public Envelop queryByCode(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true)
|
|
|
|
@RequestParam(value = "id", required = true)String id) throws Exception{
|
|
|
|
try {
|
|
|
|
KnowledgeArticleDO articleDO = knowledgeArticleDao.findById(id).orElse(null);
|
|
|
|
if(articleDO==null){
|
|
|
|
KnowledgeArticleDictDO articleDictDO = knowledgeArticleDictDao.findByIdAndDel(id);
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDictDO.getId(),getUID());
|
|
|
|
if (knowledgeArticleUserDO!=null){
|
|
|
|
articleDictDO.setIsUsed(knowledgeArticleUserDO.getUsed());
|
|
|
|
articleDictDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
|
|
|
|
}
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDictDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
articleDictDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
articleDictDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
}
|
|
|
|
return success(articleDictDO);
|
|
|
|
}
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDO.getId(),getUID());
|
|
|
|
if (knowledgeArticleUserDO!=null){
|
|
|
|
articleDO.setIsUsed(knowledgeArticleUserDO.getUsed());
|
|
|
|
articleDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
|
|
|
|
}
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
articleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
articleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
}
|
|
|
|
return success(articleDO);
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
|
|
|
|
@ApiOperation(value = "根据id删除文章")
|
|
|
|
public Envelop deleteById(
|
|
|
|
@ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true)
|
|
|
|
@RequestParam(value = "id", required = true)String id)throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.delArticle(id);
|
|
|
|
return success("操作成功");
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
|
|
|
|
@ApiOperation(value = "保存/更新文章")
|
|
|
|
public Envelop saveArticle(
|
|
|
|
@ApiParam(name = "jsonData", value = "Json数据", required = true)
|
|
|
|
@RequestParam String jsonData)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.saveArticle(jsonData);
|
|
|
|
return success("操作成功");
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateIsShow)
|
|
|
|
@ApiOperation(value = "修改文章是否展示首页")
|
|
|
|
public Envelop updateIsShow(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true)
|
|
|
|
@RequestParam String id,
|
|
|
|
@ApiParam(name = "isShow", value = "isShow", required = true)
|
|
|
|
@RequestParam Integer isShow)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.updateIsShow(id,isShow);
|
|
|
|
return success("操作成功");
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
|
|
|
|
@ApiOperation(value = "审核/退回文章")
|
|
|
|
public Envelop saveArticle(
|
|
|
|
@ApiParam(name = "articleId", value = "文章ID")
|
|
|
|
@RequestParam(value = "articleId", required = true) String articleId,
|
|
|
|
@ApiParam(name = "status", value = "0未审核,1已审核,2退回")
|
|
|
|
@RequestParam(value = "status", required = true) Integer status,
|
|
|
|
@ApiParam(name = "reason", value = "退回理由")
|
|
|
|
@RequestParam(value = "reason", required = false) String reason
|
|
|
|
)throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.reviewArticle(articleId,status,reason);
|
|
|
|
return success("操作成功");
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
|
|
|
|
@ApiOperation(value = "获取分类列表")
|
|
|
|
public ListEnvelop searchCategoryList(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
|
|
|
|
@RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
|
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
|
|
|
|
@RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
|
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
|
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
|
|
|
|
try {
|
|
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(filters)){
|
|
|
|
filters += ";del=1";
|
|
|
|
}else {
|
|
|
|
filters = "del=1";
|
|
|
|
}
|
|
|
|
List<KnowledgeCategoryDO> list = knowledgeCategoryService.search(fields,filters,sorts,page,pageSize);
|
|
|
|
return success(list);
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
|
|
|
|
@ApiOperation(value = "保存/更新分类")
|
|
|
|
public Envelop saveCategory(
|
|
|
|
@ApiParam(name = "jsonData", value = "Json数据", required = true)
|
|
|
|
@RequestParam String jsonData)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
knowledgeCategoryService.saveCategory(jsonData);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
|
|
|
|
@ApiOperation(value = "根据分类code删除分类")
|
|
|
|
public Envelop updateDel(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true)
|
|
|
|
@RequestParam(value = "id", required = true)String id)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
Boolean flag = knowledgeCategoryService.updateDel(id);
|
|
|
|
if (flag) {
|
|
|
|
return success("操作成功");
|
|
|
|
}else{
|
|
|
|
return failed("存在一级或二级分类,删除失败");
|
|
|
|
}
|
|
|
|
}catch (Exception e){
|
|
|
|
e.printStackTrace();
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
|
|
|
|
@ApiOperation(value = "设置文章发送的科室")
|
|
|
|
public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
|
|
|
|
@RequestParam(value = "articleId",required = true)String articleId,
|
|
|
|
@ApiParam(name = "sdJsons", value = "部门与科室关系json")
|
|
|
|
@RequestParam(value = "sdJsons",required = true)String sdJsons)throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.saveArticleDept(articleId,sdJsons));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findDeptByArticle)
|
|
|
|
@ApiOperation(value = "查询文章下的科室")
|
|
|
|
public ListEnvelop findDeptByArticle(@ApiParam(name = "articleId", value = "文章ID")
|
|
|
|
@RequestParam(value = "articleId",required = true)String articleId)throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findDeptByArticle(articleId));
|
|
|
|
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByDept)
|
|
|
|
@ApiOperation(value = "查询部门下发放的文章")
|
|
|
|
public ListEnvelop findArticleByDept(@ApiParam(name = "dept", value = "科室")
|
|
|
|
@RequestParam(value = "dept",required = true)String dept)throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findArticleByDept(dept));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveDeptArticle)
|
|
|
|
@ApiOperation(value = "设置科室发送的文章")
|
|
|
|
public ObjEnvelop saveDeptArticle(@ApiParam(name = "dept", value = "部门code")
|
|
|
|
@RequestParam(value = "dept",required = true)String dept,
|
|
|
|
@ApiParam(name = "sdJsons", value = "部门与科室关系json")
|
|
|
|
@RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.saveDeptArticle(dept,sdJsons));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.sendPatientBusiness)
|
|
|
|
@ApiOperation(value = "发送文章/问卷")
|
|
|
|
public ListEnvelop sendPatientBusiness(@ApiParam(name = "json", value = "患者业务关联表")
|
|
|
|
@RequestParam(value = "json",required = false)String json)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
ListEnvelop listEnvelop = new ListEnvelop();
|
|
|
|
JSONArray jsonArray = JSONArray.parseArray(json);
|
|
|
|
List<BasePatientBusinessDO> patientBusinessDOList = new ArrayList<>();
|
|
|
|
for (int i=0;i<jsonArray.size();i++){
|
|
|
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
|
|
|
BasePatientBusinessDO patientBusinessDO = toEntity(jsonObject.toJSONString(),BasePatientBusinessDO.class);
|
|
|
|
patientBusinessDOList.add(patientBusinessDO);
|
|
|
|
}
|
|
|
|
listEnvelop.setDetailModelList(knowledgeArticleService.sendBusinessToPatient(patientBusinessDOList));
|
|
|
|
return listEnvelop;
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleUsed)
|
|
|
|
@ApiOperation(value = "设置文章为常用/不常用")
|
|
|
|
public ObjEnvelop setArticleUsed(@ApiParam(name = "id", value = "文章id")
|
|
|
|
@RequestParam(value = "id",required = true)String id,
|
|
|
|
@ApiParam(name = "used", value = "常用")
|
|
|
|
@RequestParam(value = "used",required = false)Integer used,
|
|
|
|
@ApiParam(name = "doctor", value = "医生code")
|
|
|
|
@RequestParam(value = "doctor",required = false)String doctor)throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.setUsed(id,used,doctor));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchPatientArticle)
|
|
|
|
@ApiOperation(value = "获取患者文章列表")
|
|
|
|
public Envelop searchPatientArticle(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
|
|
|
|
@RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
|
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
|
|
|
|
@RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
|
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
|
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
|
|
|
|
|
|
|
|
try {
|
|
|
|
if(StringUtils.isBlank(filters)){
|
|
|
|
filters=filters+"del=1";
|
|
|
|
}else{
|
|
|
|
filters=filters+";del=1";
|
|
|
|
}
|
|
|
|
|
|
|
|
List<BasePatientBusinessDO> list = patientBusinessService.search(fields,filters,sorts,page,pageSize);
|
|
|
|
|
|
|
|
for (BasePatientBusinessDO patientBusinessDO:list){
|
|
|
|
Integer type = patientBusinessDO.getRelationType();
|
|
|
|
if (type==1){
|
|
|
|
KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(patientBusinessDO.getRelationCode());
|
|
|
|
if (knowledgeArticleDO!=null){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
patientBusinessDO.setKnowledgeArticleDO(knowledgeArticleDO);
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(patientBusinessDO.getRelationCode(),patientBusinessDO.getPatient());
|
|
|
|
if (knowledgeArticleUserDO!=null){
|
|
|
|
patientBusinessDO.setIsRead(knowledgeArticleUserDO.getIsRead());
|
|
|
|
patientBusinessDO.setShare(knowledgeArticleUserDO.getShare());
|
|
|
|
patientBusinessDO.setFabulous(knowledgeArticleUserDO.getFabulous());
|
|
|
|
patientBusinessDO.setCollection(knowledgeArticleUserDO.getCollection());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
List<BasePatientBusinessDO> totals = patientBusinessService.search(fields,filters,sorts);
|
|
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total",totals.size());
|
|
|
|
result.put("detailModelList",list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleCollection)
|
|
|
|
@ApiOperation(value = "设置文章状态")
|
|
|
|
public ObjEnvelop setArticleCollection(@ApiParam(name = "id", value = "文章id")
|
|
|
|
@RequestParam(value = "id",required = true)String id,
|
|
|
|
@ApiParam(name = "flag", value = "1收藏2阅读3点赞4分享")
|
|
|
|
@RequestParam(value = "flag",required = true)Integer flag,
|
|
|
|
@ApiParam(name = "status", value = "收藏(1收藏0未收藏)/阅读(1已读0未读)/点赞(1已赞0未赞)分享(1已分享0未分享)")
|
|
|
|
@RequestParam(value = "status",required = true)Integer status,
|
|
|
|
@ApiParam(name = "user", value = "用户code")
|
|
|
|
@RequestParam(value = "user",required = true)String user,
|
|
|
|
@ApiParam(name = "userType", value = "用户类型(1患者2医生)")
|
|
|
|
@RequestParam(value = "userType",required = true)String userType)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
return success(patientBusinessService.setCollectionById(id,flag,status,user,userType));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchArticleByStatus)
|
|
|
|
@ApiOperation(value = "获取患者文章状态列表")
|
|
|
|
public Envelop searchPatientArticleByStatus(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
|
|
|
|
@RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
|
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
|
|
|
|
@RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
|
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
|
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
|
|
|
|
|
|
|
|
try {
|
|
|
|
if(StringUtils.isBlank(filters)){
|
|
|
|
filters=filters+"del=1";
|
|
|
|
}else{
|
|
|
|
filters=filters+";del=1";
|
|
|
|
}
|
|
|
|
|
|
|
|
List<KnowledgeArticleUserDO> list = knowledgeArticleUserService.search(fields,filters,sorts,page,pageSize);
|
|
|
|
for (KnowledgeArticleUserDO knowledgeArticleUserDO:list){
|
|
|
|
Integer type = knowledgeArticleUserDO.getRelationType();
|
|
|
|
if (type==1){
|
|
|
|
KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(knowledgeArticleUserDO.getRelationCode());
|
|
|
|
if (knowledgeArticleDO!=null){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
knowledgeArticleUserDO.setKnowledgeArticleDO(knowledgeArticleDO);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<KnowledgeArticleUserDO> totals = knowledgeArticleUserService.search(fields,filters,sorts);
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total",totals.size());
|
|
|
|
result.put("detailModelList",list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByCategoryAndName)
|
|
|
|
@ApiOperation(value = "查询文章")
|
|
|
|
public MixEnvelop findArticleByCategoryAndName(@ApiParam(name = "categoryFirst", value = "一级分类code")
|
|
|
|
@RequestParam(value = "categoryFirst",required = false)String categoryFirst,
|
|
|
|
@ApiParam(name = "categorySecond", value = "二级分类code")
|
|
|
|
@RequestParam(value = "categorySecond",required = false)String categorySecond,
|
|
|
|
@ApiParam(name = "keyWords", value = "关键词")
|
|
|
|
@RequestParam(value = "keyWords",required = false)String keyWords,
|
|
|
|
@ApiParam(name = "page", value = "当前页")
|
|
|
|
@RequestParam(value = "page",required = false)Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "分页大小)")
|
|
|
|
@RequestParam(value = "pageSize",required = false)Integer pageSize)throws Exception {
|
|
|
|
|
|
|
|
MixEnvelop mixEnvelop=knowledgeArticleService.findArticleByCategoryAndName(categoryFirst,categorySecond,keyWords,page,pageSize);
|
|
|
|
return mixEnvelop;
|
|
|
|
}
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
|
|
|
|
@ApiOperation(value = "查询分类")
|
|
|
|
public MixEnvelop getGroup(){
|
|
|
|
try {
|
|
|
|
MixEnvelop envelop = knowledgeCategoryService.findAllGroup();
|
|
|
|
return envelop;
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedMixEnvelopException(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findPatientFavorite)
|
|
|
|
@ApiOperation(value = "查询收藏文章")
|
|
|
|
public Envelop findPatientFavorite(@ApiParam(name = "patient", value = "病人id")
|
|
|
|
@RequestParam(value = "patient",required = false)String patient,
|
|
|
|
@ApiParam(name = "page", value = "当前页")
|
|
|
|
@RequestParam(value = "page",required = false)Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "分页大小)")
|
|
|
|
@RequestParam(value = "pageSize",required = false)Integer pageSize)throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findPatientFavorite(patient,page,pageSize));
|
|
|
|
}catch (Exception e){
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleService knowledgeArticleService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeCategoryService knowledgeCategoryService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private BasePatientBusinessService patientBusinessService;
|
|
|
|
@Autowired
|
|
|
|
private BaseDoctorHospitalDao doctorHospitalDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleUserService knowledgeArticleUserService;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleUserDao knowledgeArticleUserDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleDao knowledgeArticleDao;
|
|
|
|
@Autowired
|
|
|
|
private KnowledgeArticleDictDao knowledgeArticleDictDao;
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
|
|
|
|
@ApiOperation(value = "获取文章列表")
|
|
|
|
public Envelop searchKnowledgePageList(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") @RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件") @RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档") @RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1") @RequestParam(value = "page", required = true, defaultValue = "1") Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10") @RequestParam(value = "pageSize", required = true, defaultValue = "10") Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
if (StringUtils.isBlank(filters)) {
|
|
|
|
filters = filters + "del=1";
|
|
|
|
} else {
|
|
|
|
filters = filters + ";del=1";
|
|
|
|
}
|
|
|
|
|
|
|
|
List<KnowledgeArticleDO> list = knowledgeArticleService.search(fields, filters, sorts, page, pageSize);
|
|
|
|
for (KnowledgeArticleDO knowledgeArticleDO : list) {
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDO.getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDO.getOrgName());
|
|
|
|
}
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(knowledgeArticleDO.getId(), getUID());
|
|
|
|
if (knowledgeArticleUserDO != null) {
|
|
|
|
if (knowledgeArticleUserDO.getUsed() != null && knowledgeArticleUserDO.getUsed() == 1) {
|
|
|
|
knowledgeArticleDO.setIsUsed(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<KnowledgeArticleDO> totals = knowledgeArticleService.search(fields, filters, sorts);
|
|
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total", totals.size());
|
|
|
|
result.put("detailModelList", list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.queryById)
|
|
|
|
@ApiOperation(value = "根据id查询文章")
|
|
|
|
public Envelop queryByCode(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id", required = true) String id) throws Exception {
|
|
|
|
try {
|
|
|
|
KnowledgeArticleDO articleDO = knowledgeArticleDao.findById(id).orElse(null);
|
|
|
|
if (articleDO == null) {
|
|
|
|
KnowledgeArticleDictDO articleDictDO = knowledgeArticleDictDao.findByIdAndDel(id);
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDictDO.getId(), getUID());
|
|
|
|
if (knowledgeArticleUserDO != null) {
|
|
|
|
articleDictDO.setIsUsed(knowledgeArticleUserDO.getUsed());
|
|
|
|
articleDictDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
|
|
|
|
}
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDictDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
articleDictDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
articleDictDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
}
|
|
|
|
return success(articleDictDO);
|
|
|
|
}
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDO.getId(), getUID());
|
|
|
|
if (knowledgeArticleUserDO != null) {
|
|
|
|
articleDO.setIsUsed(knowledgeArticleUserDO.getUsed());
|
|
|
|
articleDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
|
|
|
|
}
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
articleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
articleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
}
|
|
|
|
return success(articleDO);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
|
|
|
|
@ApiOperation(value = "根据id删除文章")
|
|
|
|
public Envelop deleteById(
|
|
|
|
@ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true) @RequestParam(value = "id", required = true) String id) throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.delArticle(id);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
|
|
|
|
@ApiOperation(value = "保存/更新文章")
|
|
|
|
public Envelop saveArticle(
|
|
|
|
@ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.saveArticle(jsonData);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateIsShow)
|
|
|
|
@ApiOperation(value = "修改文章是否展示首页")
|
|
|
|
public Envelop updateIsShow(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true) @RequestParam String id,
|
|
|
|
@ApiParam(name = "isShow", value = "isShow", required = true) @RequestParam Integer isShow
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.updateIsShow(id, isShow);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
|
|
|
|
@ApiOperation(value = "审核/退回文章")
|
|
|
|
public Envelop saveArticle(
|
|
|
|
@ApiParam(name = "articleId", value = "文章ID") @RequestParam(value = "articleId", required = true) String articleId,
|
|
|
|
@ApiParam(name = "status", value = "0未审核,1已审核,2退回") @RequestParam(value = "status", required = true) Integer status,
|
|
|
|
@ApiParam(name = "reason", value = "退回理由") @RequestParam(value = "reason", required = false) String reason
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
knowledgeArticleService.reviewArticle(articleId, status, reason);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
|
|
|
|
@ApiOperation(value = "获取分类列表")
|
|
|
|
public ListEnvelop searchCategoryList(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") @RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件") @RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档") @RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1") @RequestParam(value = "page", required = true, defaultValue = "1") Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10") @RequestParam(value = "pageSize", required = true, defaultValue = "10") Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(filters)) {
|
|
|
|
filters += ";del=1";
|
|
|
|
} else {
|
|
|
|
filters = "del=1";
|
|
|
|
}
|
|
|
|
List<KnowledgeCategoryDO> list = knowledgeCategoryService.search(fields, filters, sorts, page, pageSize);
|
|
|
|
return success(list);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
|
|
|
|
@ApiOperation(value = "保存/更新分类")
|
|
|
|
public Envelop saveCategory(
|
|
|
|
@ApiParam(name = "jsonData", value = "Json数据", required = true)
|
|
|
|
@RequestParam String jsonData) throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
knowledgeCategoryService.saveCategory(jsonData);
|
|
|
|
return success("操作成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
|
|
|
|
@ApiOperation(value = "根据分类code删除分类")
|
|
|
|
public Envelop updateDel(
|
|
|
|
@ApiParam(name = "id", value = "id", required = true)
|
|
|
|
@RequestParam(value = "id", required = true) String id) throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
Boolean flag = knowledgeCategoryService.updateDel(id);
|
|
|
|
if (flag) {
|
|
|
|
return success("操作成功");
|
|
|
|
} else {
|
|
|
|
return failed("存在一级或二级分类,删除失败");
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
|
|
|
|
@ApiOperation(value = "设置文章发送的科室")
|
|
|
|
public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
|
|
|
|
@RequestParam(value = "articleId", required = true) String articleId,
|
|
|
|
@ApiParam(name = "sdJsons", value = "部门与科室关系json")
|
|
|
|
@RequestParam(value = "sdJsons", required = true) String sdJsons) throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.saveArticleDept(articleId, sdJsons));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findDeptByArticle)
|
|
|
|
@ApiOperation(value = "查询文章下的科室")
|
|
|
|
public ListEnvelop findDeptByArticle(@ApiParam(name = "articleId", value = "文章ID")
|
|
|
|
@RequestParam(value = "articleId", required = true) String articleId) throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findDeptByArticle(articleId));
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByDept)
|
|
|
|
@ApiOperation(value = "查询部门下发放的文章")
|
|
|
|
public ListEnvelop findArticleByDept(@ApiParam(name = "dept", value = "科室")
|
|
|
|
@RequestParam(value = "dept", required = true) String dept) throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findArticleByDept(dept));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveDeptArticle)
|
|
|
|
@ApiOperation(value = "设置科室发送的文章")
|
|
|
|
public ObjEnvelop saveDeptArticle(
|
|
|
|
@ApiParam(name = "dept", value = "部门code") @RequestParam(value = "dept", required = true) String dept,
|
|
|
|
@ApiParam(name = "sdJsons", value = "部门与科室关系json") @RequestParam(value = "sdJsons", required = false) String sdJsons
|
|
|
|
) throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.saveDeptArticle(dept, sdJsons));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.sendPatientBusiness)
|
|
|
|
@ApiOperation(value = "发送文章/问卷")
|
|
|
|
public ListEnvelop sendPatientBusiness(
|
|
|
|
@ApiParam(name = "json", value = "患者业务关联表") @RequestParam(value = "json", required = false) String json
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
ListEnvelop listEnvelop = new ListEnvelop();
|
|
|
|
JSONArray jsonArray = JSONArray.parseArray(json);
|
|
|
|
List<BasePatientBusinessDO> patientBusinessDOList = new ArrayList<>();
|
|
|
|
for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
|
|
|
BasePatientBusinessDO patientBusinessDO = toEntity(jsonObject.toJSONString(), BasePatientBusinessDO.class);
|
|
|
|
patientBusinessDOList.add(patientBusinessDO);
|
|
|
|
}
|
|
|
|
listEnvelop.setDetailModelList(knowledgeArticleService.sendBusinessToPatient(patientBusinessDOList));
|
|
|
|
return listEnvelop;
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedListEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleUsed)
|
|
|
|
@ApiOperation(value = "设置文章为常用/不常用")
|
|
|
|
public ObjEnvelop setArticleUsed(
|
|
|
|
@ApiParam(name = "id", value = "文章id") @RequestParam(value = "id", required = true) String id,
|
|
|
|
@ApiParam(name = "used", value = "常用") @RequestParam(value = "used", required = false) Integer used,
|
|
|
|
@ApiParam(name = "doctor", value = "医生code") @RequestParam(value = "doctor", required = false) String doctor
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.setUsed(id, used, doctor));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchPatientArticle)
|
|
|
|
@ApiOperation(value = "获取患者文章列表")
|
|
|
|
public Envelop searchPatientArticle(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") @RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件") @RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档") @RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1") @RequestParam(value = "page", required = true, defaultValue = "1") Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10") @RequestParam(value = "pageSize", required = true, defaultValue = "10") Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
if (StringUtils.isBlank(filters)) {
|
|
|
|
filters = filters + "del=1";
|
|
|
|
} else {
|
|
|
|
filters = filters + ";del=1";
|
|
|
|
}
|
|
|
|
|
|
|
|
List<BasePatientBusinessDO> list = patientBusinessService.search(fields, filters, sorts, page, pageSize);
|
|
|
|
|
|
|
|
for (BasePatientBusinessDO patientBusinessDO : list) {
|
|
|
|
Integer type = patientBusinessDO.getRelationType();
|
|
|
|
if (type == 1) {
|
|
|
|
KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(patientBusinessDO.getRelationCode());
|
|
|
|
if (knowledgeArticleDO != null) {
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
patientBusinessDO.setKnowledgeArticleDO(knowledgeArticleDO);
|
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(patientBusinessDO.getRelationCode(), patientBusinessDO.getPatient());
|
|
|
|
if (knowledgeArticleUserDO != null) {
|
|
|
|
patientBusinessDO.setIsRead(knowledgeArticleUserDO.getIsRead());
|
|
|
|
patientBusinessDO.setShare(knowledgeArticleUserDO.getShare());
|
|
|
|
patientBusinessDO.setFabulous(knowledgeArticleUserDO.getFabulous());
|
|
|
|
patientBusinessDO.setCollection(knowledgeArticleUserDO.getCollection());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
List<BasePatientBusinessDO> totals = patientBusinessService.search(fields, filters, sorts);
|
|
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total", totals.size());
|
|
|
|
result.put("detailModelList", list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleCollection)
|
|
|
|
@ApiOperation(value = "设置文章状态")
|
|
|
|
public ObjEnvelop setArticleCollection(
|
|
|
|
@ApiParam(name = "id", value = "文章id") @RequestParam(value = "id", required = true) String id,
|
|
|
|
@ApiParam(name = "flag", value = "1收藏2阅读3点赞4分享") @RequestParam(value = "flag", required = true) Integer flag,
|
|
|
|
@ApiParam(name = "status", value = "收藏(1收藏0未收藏)/阅读(1已读0未读)/点赞(1已赞0未赞)分享(1已分享0未分享)") @RequestParam(value = "status", required = true) Integer status,
|
|
|
|
@ApiParam(name = "user", value = "用户code") @RequestParam(value = "user", required = true) String user,
|
|
|
|
@ApiParam(name = "userType", value = "用户类型(1患者2医生)") @RequestParam(value = "userType", required = true) String userType
|
|
|
|
) throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
return success(patientBusinessService.setCollectionById(id, flag, status, user, userType));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedObjEnvelopException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchArticleByStatus)
|
|
|
|
@ApiOperation(value = "获取患者文章状态列表")
|
|
|
|
public Envelop searchPatientArticleByStatus(
|
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") @RequestParam(value = "fields", required = false) String fields,
|
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件") @RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档") @RequestParam(value = "sorts", required = false) String sorts,
|
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1") @RequestParam(value = "page", required = true, defaultValue = "1") Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10") @RequestParam(value = "pageSize", required = true, defaultValue = "10") Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
|
|
|
|
try {
|
|
|
|
if (StringUtils.isBlank(filters)) {
|
|
|
|
filters = filters + "del=1";
|
|
|
|
} else {
|
|
|
|
filters = filters + ";del=1";
|
|
|
|
}
|
|
|
|
List<KnowledgeArticleUserDO> list = knowledgeArticleUserService.search(fields, filters, sorts, page, pageSize);
|
|
|
|
for (KnowledgeArticleUserDO knowledgeArticleUserDO : list) {
|
|
|
|
Integer type = knowledgeArticleUserDO.getRelationType();
|
|
|
|
if (type == 1) {
|
|
|
|
KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(knowledgeArticleUserDO.getRelationCode());
|
|
|
|
if (knowledgeArticleDO != null) {
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
knowledgeArticleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
knowledgeArticleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
knowledgeArticleUserDO.setKnowledgeArticleDO(knowledgeArticleDO);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<KnowledgeArticleUserDO> totals = knowledgeArticleUserService.search(fields, filters, sorts);
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
result.put("total", totals.size());
|
|
|
|
result.put("detailModelList", list);
|
|
|
|
|
|
|
|
return success(result);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByCategoryAndName)
|
|
|
|
@ApiOperation(value = "查询文章")
|
|
|
|
public MixEnvelop findArticleByCategoryAndName(
|
|
|
|
@ApiParam(name = "categoryFirst", value = "一级分类code") @RequestParam(value = "categoryFirst", required = false) String categoryFirst,
|
|
|
|
@ApiParam(name = "categorySecond", value = "二级分类code") @RequestParam(value = "categorySecond", required = false) String categorySecond,
|
|
|
|
@ApiParam(name = "keyWords", value = "关键词") @RequestParam(value = "keyWords", required = false) String keyWords,
|
|
|
|
@ApiParam(name = "page", value = "当前页") @RequestParam(value = "page", required = false) Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "分页大小)") @RequestParam(value = "pageSize", required = false) Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
MixEnvelop mixEnvelop = knowledgeArticleService.findArticleByCategoryAndName(categoryFirst, categorySecond, keyWords, page, pageSize);
|
|
|
|
return mixEnvelop;
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
|
|
|
|
@ApiOperation(value = "查询分类")
|
|
|
|
public MixEnvelop getGroup() {
|
|
|
|
try {
|
|
|
|
MixEnvelop envelop = knowledgeCategoryService.findAllGroup();
|
|
|
|
return envelop;
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedMixEnvelopException(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findPatientFavorite)
|
|
|
|
@ApiOperation(value = "查询收藏文章")
|
|
|
|
public Envelop findPatientFavorite(
|
|
|
|
@ApiParam(name = "patient", value = "病人id") @RequestParam(value = "patient", required = false) String patient,
|
|
|
|
@ApiParam(name = "page", value = "当前页") @RequestParam(value = "page", required = false) Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "分页大小)") @RequestParam(value = "pageSize", required = false) Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
return success(knowledgeArticleService.findPatientFavorite(patient, page, pageSize));
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询发送记录
|
|
|
|
* base_patient_business
|
|
|
|
*/
|
|
|
|
@PostMapping(value = "/findSendLogList")
|
|
|
|
@ApiOperation(value = "查询医生的发送记录")
|
|
|
|
public Envelop findSendLogList(
|
|
|
|
@ApiParam(name = "doctorCode", value = "病人id") @RequestParam(value = "doctorCode", required = false) String doctorCode,
|
|
|
|
@ApiParam(name = "patient", value = "居民code") @RequestParam(value = "patient", required = false) String patient,
|
|
|
|
@ApiParam(name = "page", value = "当前页") @RequestParam(value = "page", required = false) Integer page,
|
|
|
|
@ApiParam(name = "pageSize", value = "分页大小)") @RequestParam(value = "pageSize", required = false) Integer pageSize
|
|
|
|
) throws Exception {
|
|
|
|
try {
|
|
|
|
HashMap<String, Object> result = knowledgeArticleService.findSendLogList(doctorCode,patient, page, pageSize);
|
|
|
|
return success(result);
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failedException2(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|