Browse Source

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 4 years ago
parent
commit
1de14d9c07

+ 99 - 238
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/ConsultController.java

@ -1,238 +1,99 @@
//package com.yihu.jw.door.controller.patient;
//
//import com.alibaba.fastjson.JSONObject;
//import com.yihu.jw.door.controller.BaseController;
//import com.yihu.jw.door.service.consult.ConsultTeamService;
//import com.yihu.jw.entity.base.im.ConsultTeamDo;
//import com.yihu.jw.entity.base.im.ConsultTeamLogDo;
//import com.yihu.jw.entity.patient.Patient;
//import com.yihu.jw.im.dao.ConsultTeamDao;
//import com.yihu.jw.im.util.ImUtil;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.http.NameValuePair;
//import org.apache.http.message.BasicNameValuePair;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.http.MediaType;
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//
///**
// * Created by yeshijie on 2020/12/29.
// */
//@RestController
//@RequestMapping(value = "/patient/consult", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
//@Api(description = "患者端-患者咨询")
//public class ConsultController extends BaseController {
//
//    @Autowired
//    private ConsultTeamService consultTeamService;
//    @Autowired
//    private ConsultTeamDao consultTeamDao;
//    @Autowired
//    private ImUtil imUtil;
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//
//    /**
//     * 三师咨询追问接口
//     *
//     * @param consult 咨询标识
//     * @param content 追问内容
//     * @param type    追问内容类型:1文字,2图片,3语音  ... (im消息类型)
//     * @return
//     */
//    @RequestMapping(value = "append")
//    @ResponseBody
//    @ApiOperation("三师咨询追问接口")
//    public String append(
//            @RequestParam String consult,
//            @RequestParam String content,
//            @RequestParam int type,
//            @RequestParam(required = false, defaultValue = "0") Integer times) {
//        try {
//            List<ConsultTeamLogDo> logs = new ArrayList<ConsultTeamLogDo>();
//            ConsultTeamDo consultModel = consultTeamDao.findByConsult(consult);
//
//            if (consultModel == null) {
//                return error(-1, "咨询记录不存在!");
//            }
//
//            if (consultModel.getEndMsgId() != null) {
//                return error(-1, "咨询已结束");
//            }
//
//            String[] arr = null;
//            if (type == 3) {
//                String path = fetchWxVoices();
//                JSONObject obj = new JSONObject();
//                // 将临时语音拷贝到正式存储路径下
//                if (StringUtils.isNotEmpty(path)) {
//                    content = CommonUtil.copyTempVoice(path);
//                    obj.put("path", content);
//                    obj.put("times", times);
//                    content = obj.toString();
//                }
//                ConsultTeamLogDo log = new ConsultTeamLogDo();
//                log.setConsult(consult);
//                log.setContent(content);
//                log.setDel("1");
//                log.setChatType(type);
//                log.setType(type);
//                logs.add(log);
//            } else if (type == 2) {
//                // 图片消息
//                content = fetchWxImages();
//                // 将临时图片拷贝到正式存储路径下
//                if (StringUtils.isNotEmpty(content)) {
//                    content = CommonUtil.copyTempImage(content);
//                }
//                if (StringUtils.isEmpty(content)) {
//                    return error(-1, "图片上传失败!");
//                }
//                String[] images = content.split(",");
//                for (String image : images) {
//                    ConsultTeamLogDo log = new ConsultTeamLogDo();
//                    log.setConsult(consult);
//                    log.setContent(image);
//                    log.setDel("1");
//                    log.setChatType(type);
//                    log.setType(type);
//                    logs.add(log);
//                }
//            } else {
//                ConsultTeamLogDo log = new ConsultTeamLogDo();
//                log.setConsult(consult);
//                log.setContent(content);
//                log.setDel("1");
//                log.setChatType(type);
//                log.setType(type);
//                logs.add(log);
//
//                arr = new String[]{content};
//            }
////            Patient patient = patientDao.findByCode(getUID());
//            Patient patient = patientDao.findByCode(getRepUID());
//            int i = 0;
//            List<String> failed = new ArrayList<>();
//
//            String agent = getUID()==getRepUID()?null:getUID();
//            for (ConsultTeamLogDo log : logs) {
//                String response = imUtil.sendTopicIM(getRepUID(), patient.getName(), consult, String.valueOf(log.getType()), log.getContent(),agent);
//
//                if (StringUtils.isNotEmpty(response)) {
//                    JSONObject resObj = new JSONObject(response);
//                    if (resObj.getInteger("status") == -1) {
//                        return invalidUserException(new RuntimeException(resObj.getString("message")), -1, "追问失败!" + resObj.getString("message"));
//                    }
//                    failed.add(String.valueOf(resObj.get("data")));
//                    try {
//                        String sql = "";
//                        if (consultModel.getType() == 2){
//                            //家庭咨询
//                            sql = "SELECT t.participant_id FROM " + im +
//                                    ".participants t where t.session_id = '" +
//                                    patient.getCode() + "_" + consultModel.getTeam() + "_" + consultModel.getType() +
//                                    "' and t.participant_role = 0";
//                        }else if (consultModel.getType() == 8 || consultModel.getType() == 9 || consultModel.getType() == 11){
//                            //8-续方咨询 9-在线复诊咨询 11-上门预约服务
//                            sql = "SELECT t.participant_id FROM " + im +
//                                    ".participants t where t.session_id = '" +
//                                    patient.getCode() + "_" + consultModel.getConsult() + "_" + consultModel.getType() +
//                                    "' and t.participant_role = 0";
//                        }else if(consultModel.getType() == 18){
//                            //康复咨询
//                            sql = "SELECT t.participant_id FROM " + im +
//                                    ".participants t where t.session_id = '(SELECT session_id from "+im+".topics WHERE id='"+consultModel.getConsult()+"')' and t.participant_role = 0";
//                        }
//
//                        if(StringUtils.isEmpty(sql)){
//                            return write(-1, "追问失败!", "data", "不存在该类型!【type】:" + type);
//                        }
//                        List<Map<String, Object>> participants = jdbcTemplate.queryForList(sql);
//
//                        for (Map<String, Object> participant : participants) {
////                          //有居民、健管、全科
//                            String doctorCode = participant.get("participant_id").toString();
//                            if (doctorCode.equals(patient.getCode())) {
//                                continue;
//                            }
//
//                        }
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//
//                }
//            }
//            return write(200, "追问成功!", "data", failed);
//        } catch (Exception e) {
//            error(e);
//            return invalidUserException(e, -1, "追问失败!");
//        }
//    }
//
//
//    /**
//     * 网络咨询咨询日志查询
//     *
//     * @param consult  咨询标识
//     * @param pagesize 每页显示数,默认为10
//     * @return
//     */
//    @GetMapping(value = "loglist")
//    @ApiOperation("网络咨询咨询日志查询")
//    public String loglist(@RequestParam String consult, @RequestParam int page, @RequestParam int pagesize) {
//        try {
//            ConsultTeamDo consultModel = consultTeamDao.findByConsult(consult);
//            if (consultModel == null) {
//                return error(-1, "咨询记录不存在!");
//            }
//            JSONObject messageObj = imUtil.getTopicMessage(consultModel.getConsult(), consultModel.getStartMsgId(), consultModel.getEndMsgId(), page, pagesize, getRepUID());
//
//            return write(200, "查询成功", "list", messageObj);
//        } catch (Exception e) {
//            error(e);
//            return invalidUserException(e, -1, "查询失败!");
//        }
//    }
//
//    @GetMapping(value = "getTopic")
//    public String getTopic(String consult){
//        try{
//            return success(imUtil.getTopic(consult).get("data").toString());
//        }catch (Exception e){
//            error(e);
//            return error(-1,e.getMessage());
//        }
//    }
//
//    @GetMapping(value = "getConsult")
//    public String getConsult(String consult){
//        try{
//            ConsultTeamDo consultTeam = consultTeamDao.findByConsult(consult);
//            return write(200, "查询成功", "data", consultTeam);
//        }catch (Exception e){
//            error(e);
//            return error(-1,e.getMessage());
//        }
//    }
//
//    @GetMapping(value = "queryByRelationCode")
//    @ApiOperation("根据关联业务code查询咨询记录")
//    public String queryByRelationCode(@ApiParam(name = "code", value = "咨询关联业务code") @RequestParam(value = "code", required = true) String code){
//        try{
//            ConsultTeamDo consultTeam = consultTeamDao.queryByRelationCode(code);
//            return write(200, "提交成功", "data", consultTeam);
//        }catch (Exception e){
//            error(e);
//            return error(-1,"添加失败");
//        }
//    }
//}
package com.yihu.jw.door.controller.patient;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.door.controller.BaseController;
import com.yihu.jw.door.service.consult.ConsultTeamService;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.util.ImUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by yeshijie on 2020/12/29.
 */
@RestController
@RequestMapping(value = "/patient/consult", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "患者端-患者咨询")
public class ConsultController extends BaseController {
    private static final Logger logger = LoggerFactory.getLogger(ConsultController.class);
    @Autowired
    private ConsultTeamService consultTeamService;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 网络咨询咨询日志查询
     *
     * @param consult  咨询标识
     * @param pagesize 每页显示数,默认为10
     * @return
     */
    @GetMapping(value = "loglist")
    @ApiOperation("网络咨询咨询日志查询")
    public String loglist(@RequestParam String consult, @RequestParam int page, @RequestParam int pagesize) {
        try {
            ConsultTeamDo consultModel = consultTeamDao.findByConsult(consult);
            if (consultModel == null) {
                return error(-1, "咨询记录不存在!");
            }
            JSONObject messageObj = imUtil.getTopicMessage(consultModel.getConsult(), consultModel.getStartMsgId(), consultModel.getEndMsgId(), page, pagesize, getRepUID());
            return write(200, "查询成功", "list", messageObj);
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "查询失败!");
        }
    }
    @GetMapping(value = "getTopic")
    public String getTopic(String consult){
        try{
            return success(imUtil.getTopic(consult).get("data").toString());
        }catch (Exception e){
            error(e);
            return error(-1,e.getMessage());
        }
    }
    @GetMapping(value = "getConsult")
    public String getConsult(String consult){
        try{
            ConsultTeamDo consultTeam = consultTeamDao.findByConsult(consult);
            return write(200, "查询成功", "data", consultTeam);
        }catch (Exception e){
            error(e);
            return error(-1,e.getMessage());
        }
    }
    @GetMapping(value = "queryByRelationCode")
    @ApiOperation("根据关联业务code查询咨询记录")
    public String queryByRelationCode(@ApiParam(name = "code", value = "咨询关联业务code") @RequestParam(value = "code", required = true) String code){
        try{
            ConsultTeamDo consultTeam = consultTeamDao.queryByRelationCode(code);
            return write(200, "提交成功", "data", consultTeam);
        }catch (Exception e){
            error(e);
            return error(-1,"添加失败");
        }
    }
}

+ 5 - 4
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorServiceOrderController.java

@ -12,6 +12,7 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
@ -170,12 +171,12 @@ public class WlyyDoorServiceOrderController extends EnvelopRestEndpoint {
    @ApiOperation(value = "生成二维码接口")
    public Envelop twoDimensionalCode(
            @ApiParam(name = "id", value = "工单id") @RequestParam(value = "id", required = true) String id) {
/*        if (wlyyDoorServiceOrderService.twoDimensionalCode(id, weiXinAccessTokenUtils.getAccessToken()) != null){
            return success("获取二维码成功",200,wlyyDoorServiceOrderService.twoDimensionalCode(id, weiXinAccessTokenUtils.getAccessToken()));
        String url = wlyyDoorServiceOrderService.twoDimensionalCode(id);
       if (StringUtils.isNotEmpty(url)){
            return success("获取二维码成功",200,url);
        }else {
            return failed("获取二维码失败,请确认工单",-1);
        }*/
        return null;
        }
    }
    @PostMapping(value = "updateOrderInfo")

+ 2 - 3
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/WlyyDoorServiceOrderService.java

@ -1012,10 +1012,9 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
    /**
     * 生成二維碼
     * @param id
     * @param token
     * @return
     */
    public String twoDimensionalCode(String id , String token) {
    public String twoDimensionalCode(String id ) {
        JSONObject orderJson = new JSONObject();
        List<WlyyDoorServiceOrderDO> orderList = this.findByField("id", id);
        if (orderList.size()>0){
@ -1031,7 +1030,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
                try {
                    ObjectNode imgNode = fastDFSUtil.upload(ipt, "png", "plan_service_qrcode" + System.currentTimeMillis());
                    JSONObject json = JSONObject.parseObject(imgNode.toString());
                    tempPaths.add(json.getString("fid"));
                    tempPaths.add(json.getString("fileId"));
                    String urls = "";
                    for (String image : tempPaths) {
                        if (urls.length() == 0) {

+ 2 - 2
svr/svr-door-serivce/src/main/resources/application.yml

@ -159,11 +159,11 @@ spring:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.26.0.110:80/
  fastdfs_file_url: http://172.26.0.110:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122
  public-server: http://172.26.0.110:80/
  public-server: http://172.26.0.110:8888/
server:
  server_url: http://ehr.yihu.com/wlyy/