Browse Source

三院知识库后台配置接口开发完成

wangzhinan 2 years ago
parent
commit
edd138ff99

+ 2 - 1
business/base-service/src/main/java/com/yihu/jw/knowledge/dao/BaseKnowledgeDictDao.java

@ -21,9 +21,10 @@ public interface BaseKnowledgeDictDao extends JpaRepository<BaseKnowledgeDict, S
    @Query("update BaseKnowledgeDict p set p.del = ?2 where p.id = ?1")
    void updateDelById(String id,Integer del);
    @Query("from BaseKnowledgeDict p where p.sort = ?1 ")
    @Query("from BaseKnowledgeDict p where p.sort = ?1 and p.del=1 ")
    BaseKnowledgeDict selectBySort(Integer sort);
    @Query(value = "select p.* from base_knowledge_dict p where p.del=1 order by p.sort limit ?1 ",nativeQuery = true)
    List<BaseKnowledgeDict> findTopList(Integer limit);
}

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/knowledge/dao/BaseKnowledgeQuestionDao.java

@ -24,7 +24,7 @@ public interface BaseKnowledgeQuestionDao extends JpaRepository<BaseKnowledgeQue
    @Query("update BaseKnowledgeQuestion p set p.flag = ?2 where p.id = ?1")
    void updateFlagById(String id,Integer flag);
    @Query("from BaseKnowledgeQuestion p where p.sort = ?1 ")
    @Query("from BaseKnowledgeQuestion p where p.sort = ?1 and p.del=1")
    BaseKnowledgeQuestion selectBySort(Integer sort);
    @Query(value = "select p.* from base_knowledge_question p where p.status = 1 and p.del=1 and (p.time=1 or (p.time=2 and p.date<?1)) order by sort limit ?2 ",nativeQuery = true)

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/knowledge/dao/BaseKnowledgeQuestionsDao.java

@ -16,7 +16,7 @@ import java.util.List;
@Transactional
public interface BaseKnowledgeQuestionsDao extends JpaRepository<BaseKnowledgeQuestions, String>, JpaSpecificationExecutor<BaseKnowledgeQuestions> {
    @Query("from BaseKnowledgeQuestions p where p.sort = ?1 ")
    @Query("from BaseKnowledgeQuestions p where p.sort = ?1 and p.del=1 ")
    BaseKnowledgeQuestions selectBySort(Integer sort);
    @Modifying

+ 30 - 6
business/base-service/src/main/java/com/yihu/jw/knowledge/service/BaseKnowledgeDictService.java

@ -92,7 +92,11 @@ public class BaseKnowledgeDictService extends BaseJpaService<BaseKnowledgeDict,
     * @return
     */
    public void deleteDict(String id){
        dictDao.updateDelById(id, 0);
        String str[] = id.split(",");
        for (int i=0;i<str.length;i++){
            dictDao.updateDelById(str[i], 0);
        }
    }
@ -173,23 +177,43 @@ public class BaseKnowledgeDictService extends BaseJpaService<BaseKnowledgeDict,
    /**
     * 字典设置排序
     * @param id
     * @param flag 1上移2下移
     * @param flag 1上移2下移3置顶
     */
    public BaseKnowledgeDict setDictSortById(String id,Integer flag){
        BaseKnowledgeDict knowledgeDict = dictDao.findById(id).get();
        int sort = 0;
        if (flag==1){
            sort = knowledgeDict.getSort()-1;
            String sql = "select sort from base_knowledge_dict where sort<'"+knowledgeDict.getSort()+"' and del=1 order by sort desc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeDict knowledgeDict1= dictDao.selectBySort(sort);
            if (knowledgeDict1!=null){
                knowledgeDict1.setSort(knowledgeDict.getSort()+1);
                knowledgeDict1.setSort(knowledgeDict.getSort());
                dictDao.save(knowledgeDict1);
            }
        }else if (flag==2){
            sort = knowledgeDict.getSort()+1;
            String sql = "select sort from base_knowledge_dict where sort>'"+knowledgeDict.getSort()+"' and del=1 order by sort asc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeDict knowledgeDict1= dictDao.selectBySort(sort);
            if (knowledgeDict1!=null){
                knowledgeDict1.setSort(knowledgeDict.getSort()-1);
                knowledgeDict1.setSort(knowledgeDict.getSort());
                dictDao.save(knowledgeDict1);
            }

+ 66 - 17
business/base-service/src/main/java/com/yihu/jw/knowledge/service/BaseKnowledgeQuestionService.java

@ -86,7 +86,11 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
     * @return
     */
    public void deleteQuestion(String id){
        questionDao.updateDelById(id, 0);
        String str[] = id.split(",");
        for (int i=0;i<str.length;i++){
            questionDao.updateDelById(str[i], 0);
        }
    }
@ -97,7 +101,8 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
     * @param status
     */
    public MixEnvelop selectQuestionList(String name,String type,String status,Integer page,Integer size){
        String condition = " and del = 1 order by sort asc,create_time desc ";
        String orderBy = " and del = 1 order by sort asc,create_time desc  ";
        String condition = " ";
        String sql = "SELECT\n" +
                "\tid,\n" +
                "\ttype,\n" +
@ -112,15 +117,15 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
                "FROM\n" +
                "\tbase_knowledge_question where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            condition +=" and question_name like '"+name+"' ";
            condition +=" and question_name like '%"+name+"%' ";
        }
        if (StringUtils.isNoneBlank(type)){
            condition +=" and type ='"+type+"' ";
        }
        if (StringUtils.isNoneBlank(status)){
            condition +=" and status ='"+type+"' ";
            condition +=" and status ='"+status+"' ";
        }
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql+condition, page, size);
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql+condition+orderBy, page, size);
        String sqlCount ="select COUNT(1) as total from base_knowledge_question where 1=1 ";
        List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(sqlCount+condition);
        Long count = 0L;
@ -143,24 +148,44 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
    /**
     * 问题设置排序
     * @param id
     * @param flag 1上移2下移
     * @param flag 1上移2下移3置顶
     */
    public BaseKnowledgeQuestion setQuestionSortById(String id,Integer flag){
        BaseKnowledgeQuestion knowledgeQuestion = questionDao.findById(id).get();
        int sort = 0;
        if (flag==1){
            sort = knowledgeQuestion.getSort()-1;
            String sql = "select sort from base_knowledge_question where sort<'"+knowledgeQuestion.getSort()+"' and del=1 order by sort desc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeQuestion knowledgeQuestion1= questionDao.selectBySort(sort);
            if (knowledgeQuestion1!=null){
                knowledgeQuestion1.setSort(knowledgeQuestion.getSort()+1);
                knowledgeQuestion1.setSort(knowledgeQuestion.getSort());
                questionDao.save(knowledgeQuestion1);
            }
        }else if (flag==2){
            sort = knowledgeQuestion.getSort()+1;
            String sql = "select sort from base_knowledge_question where sort>'"+knowledgeQuestion.getSort()+"' and del=1 order by sort asc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeQuestion knowledgeQuestion1= questionDao.selectBySort(sort);
            if (knowledgeQuestion1!=null){
                knowledgeQuestion1.setSort(knowledgeQuestion.getSort()-1);
                knowledgeQuestion1.setSort(knowledgeQuestion.getSort());
                questionDao.save(knowledgeQuestion1);
            }
@ -217,7 +242,11 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
     * @return
     */
    public void deleteQuestions(String id){
        questionsDao.updateDelById(id, 0);
        String str[] = id.split(",");
        for (int i=0;i<str.length;i++){
            questionsDao.updateDelById(str[i], 0);
        }
    }
@ -244,13 +273,13 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
                "FROM\n" +
                "\tbase_knowledge_questions where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            condition +=" and questions_name like '"+name+"' ";
            condition +=" and questions_name like '%"+name+"%' ";
        }
        if (StringUtils.isNoneBlank(type)){
            condition +=" and business_type ='"+type+"' ";
        }
        if (StringUtils.isNoneBlank(status)){
            condition +=" and status ='"+type+"' ";
            condition +=" and status ='"+status+"' ";
        }
        condition += " and del = 1";
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql+condition+orderBy, page, size);
@ -299,18 +328,38 @@ public class BaseKnowledgeQuestionService extends BaseJpaService<BaseKnowledgeQu
        BaseKnowledgeQuestions knowledgeQuestions = questionsDao.findById(id).get();
        int sort = 0;
        if (flag==1){
            sort = knowledgeQuestions.getSort()-1;
            String sql = "select sort from base_knowledge_questions where sort<'"+knowledgeQuestions.getSort()+"' and del=1 order by sort desc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeQuestions knowledgeQuestions1= questionsDao.selectBySort(sort);
            if (knowledgeQuestions1!=null){
                knowledgeQuestions1.setSort(knowledgeQuestions.getSort()+1);
                knowledgeQuestions1.setSort(knowledgeQuestions.getSort());
                questionsDao.save(knowledgeQuestions1);
            }
        }else if (flag==2){
            sort = knowledgeQuestions.getSort()+1;
            String sql = "select sort from base_knowledge_questions where sort>'"+knowledgeQuestions.getSort()+"' and del=1 order by sort asc limit 1";
            List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
            Integer count = 0;
            if (mapList != null && mapList.size() > 0) {
                count = Integer.parseInt(mapList.get(0).get("sort").toString());
            }
            if (count==0){
                sort = 0;
            }else {
                sort=count;
            }
            BaseKnowledgeQuestions knowledgeQuestions1= questionsDao.selectBySort(sort);
            if (knowledgeQuestions1!=null){
                knowledgeQuestions1.setSort(knowledgeQuestions.getSort()-1);
                knowledgeQuestions1.setSort(knowledgeQuestions.getSort());
                questionsDao.save(knowledgeQuestions1);
            }
        }else if (flag==3){

+ 0 - 1
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -589,7 +589,6 @@ public class ImService {
            logs.add(log);
        } else if (type == 2) {
//			// 图片消息
            String[] images = content.split(",");
            for (String image : images) {
                ConsultTeamLogDo log = new ConsultTeamLogDo();

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/knowledge/BaseSystemDialogSetting.java

@ -27,10 +27,19 @@ public class BaseSystemDialogSetting extends UuidIdentityEntityWithOperator {
	private String content;//文本
	private String time;//超时时间
	private String timeUnit;//时间单位code(字典timeUnitDict)
	private List<BaseKnowledgeQuestion> questions;//问题列表
	private List<BaseKnowledgeQuestions> questionsList;//问题集列表
	private List<BaseKnowledgeDict> dictList;//字典列表
	public String getTimeUnit() {
		return timeUnit;
	}
	public void setTimeUnit(String timeUnit) {
		this.timeUnit = timeUnit;
	}
	@Transient
	public List<BaseKnowledgeQuestion> getQuestions() {
		return questions;

+ 4 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java

@ -895,10 +895,12 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
	@PostMapping(value = BaseHospitalRequestMapping.PatientIM.getPatientGuaidenceConsult)
	@ApiOperation(value = "导诊的咨询对话", notes = "导诊的咨询对话")
	public Envelop getPatientGuaidenceConsult(@ApiParam(name = "patientCode", value = "居民CODE")
	                       @RequestParam(value = "patientCode", required = true)String patientCode) throws Exception {
												  @RequestParam(value = "patientCode", required = true)String patientCode,
											  @ApiParam(name = "type", value = "_guidance_14 导诊收")
											  @RequestParam(value = "type", required = true)String type) throws Exception {
		try {
			String session_id = patientCode+"_guidance_14";
			String session_id = patientCode+type;
			session_id = imService.getPatientGuaidenceConsult(patientCode,session_id,null);
			return success(session_id);
		}catch (Exception e){

+ 1 - 1
svr/svr-internet-hospital/src/main/resources/bootstrap.yml

@ -1,6 +1,6 @@
spring:
  application:
    name:  svr-internet-hospital
    name:  svr-internet-hospital-wangzhinan
  cloud:
    config:
      failFast: true