Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

zd_123 7 years ago
parent
commit
e068940838

+ 1 - 1
common/common-entity/src/main/java/com/yihu/wlyy/entity/call/CallRecord.java

@ -33,7 +33,7 @@ public class CallRecord extends IdEntity {
    private String  ssc; //社保卡号
    private String  doctor; //签约医生code
    private String  doctorName; //签约医生姓名
    private String  adminTeamCode;
    private String  adminTeamCode; //签约医生团队
    public String getCode() {
        return code;

File diff suppressed because it is too large
+ 2 - 2
common/common-entity/src/main/java/com/yihu/wlyy/entity/message/Message.java


+ 2 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java

@ -7,6 +7,7 @@ import org.springframework.web.context.request.async.DeferredResult;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
@ -28,6 +29,7 @@ public class SwaggerConfig extends WebMvcConfigurerAdapter {
                .forCodeGeneration(true)
                .pathMapping("/")
                .select()
                .paths(PathSelectors.regex("/customer/.*"))
                .build()
                .apiInfo(patientApiInfo());
    }

+ 18 - 17
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/common/account/CustomerController.java

@ -35,7 +35,7 @@ import java.util.Map;
@RestController
@RequestMapping(value = "/customer")
@SessionAttributes("current_user")
@Api(description = "客服系统")
@Api
public class CustomerController extends BaseController {
    @Autowired
@ -241,11 +241,11 @@ public class CustomerController extends BaseController {
    @RequestMapping(value = "/getCallRecords", method = {RequestMethod.GET, RequestMethod.POST})
    @ApiOperation(value = "获取通讯记录列表")
    public String getCallRecords(@ApiParam(name="callerNumber",value="呼叫人电话")@RequestParam(required = true)String callerNumber,
                                 @ApiParam(name="answerStatus",value="接听状态: 1.接通,2. 队列中放弃,3.接通")@RequestParam(required = true)Integer answerStatus,
                                 @ApiParam(name="serviceType",value="服务类型:0.医生咨询,1.预约挂号")@RequestParam(required = true)Integer serviceType ,
                                 @ApiParam(name="startDate",value="开始时间")@RequestParam(required = true)String startDate,
                                 @ApiParam(name="endDate",value="结束时间")@RequestParam(required = true)String endDate,
    public String getCallRecords(@ApiParam(name="callerNumber",value="呼叫人电话")@RequestParam(required = false)String callerNumber,
                                 @ApiParam(name="answerStatus",value="接听状态: 1.接通,2. 队列中放弃,3.接通")@RequestParam(required = false)Integer answerStatus,
                                 @ApiParam(name="serviceType",value="服务类型:0.医生咨询,1.预约挂号")@RequestParam(required = false)Integer serviceType ,
                                 @ApiParam(name="startDate",value="开始时间")@RequestParam(required = false)String startDate,
                                 @ApiParam(name="endDate",value="结束时间")@RequestParam(required = false)String endDate,
                                 @ApiParam(name="page",value="第几页,从1开始")@RequestParam(required = true)Integer page,
                                 @ApiParam(name="size",value="页码大小")@RequestParam(required = true)Integer size){
        try {
@ -291,20 +291,21 @@ public class CustomerController extends BaseController {
    @RequestMapping(value = "/getCallServices", method = {RequestMethod.GET, RequestMethod.POST})
    @ApiOperation(value = "协同服务查询")
    public String getCallServices(@ApiParam(name="keyword",value="姓名或身份证或医保卡号")@RequestParam(required = true)String keyword,
                                  @ApiParam(name="serverType",value="服务类型:0.医生咨询,1.预约挂号")@RequestParam(required = true)Integer serverType,
                                  @ApiParam(name="state",value="订单状态:0.草稿,1.待处理,2.完成")@RequestParam(required = true)Integer state,
                                  @ApiParam(name="patientName",value="患者姓名")@RequestParam(required = true)String patientName,
                                  @ApiParam(name="ssc",value="医保卡号")@RequestParam(required = true)String ssc,
                                  @ApiParam(name="idCard",value="身份证号")@RequestParam(required = true)String idCard,
                                  @ApiParam(name="doctorName",value="医生姓名")@RequestParam(required = true)String doctorName,
                                  @ApiParam(name="code",value="服务编号")@RequestParam(required = true)String code,
                                  @ApiParam(name="startDate",value="开始时间")@RequestParam(required = true)String startDate,
                                  @ApiParam(name="endDate",value="结束时间")@RequestParam(required = true)String endDate,
    public String getCallServices(@ApiParam(name="keyword",value="姓名或身份证或医保卡号")@RequestParam(required = false)String keyword,
                                  @ApiParam(name="serverType",value="服务类型:0.医生咨询,1.预约挂号")@RequestParam(required = false)Integer serverType,
                                  @ApiParam(name="state",value="订单状态:0.草稿,1.待处理,2.完成")@RequestParam(required = false)Integer state,
                                  @ApiParam(name="patientName",value="患者姓名")@RequestParam(required = false)String patientName,
                                  @ApiParam(name="ssc",value="医保卡号")@RequestParam(required = false)String ssc,
                                  @ApiParam(name="idCard",value="身份证号")@RequestParam(required = false)String idCard,
                                  @ApiParam(name="doctorName",value="医生姓名")@RequestParam(required = false)String doctorName,
                                  @ApiParam(name="code",value="服务编号")@RequestParam(required = false)String code,
                                  @ApiParam(name="adminTeamCode",value="签约医生团队团队")@RequestParam(required = false)Integer adminTeamCode,
                                  @ApiParam(name="startDate",value="开始时间")@RequestParam(required = false)String startDate,
                                  @ApiParam(name="endDate",value="结束时间")@RequestParam(required = false)String endDate,
                                  @ApiParam(name="page",value="第几页,从1开始")@RequestParam(required = true)Integer page,
                                  @ApiParam(name="size",value="每页大小")@RequestParam(required = true)Integer size){
        try {
            return write(200,"保存成功","data",customerService.getCallServices(keyword, serverType,state,patientName,ssc,idCard,doctorName, code, startDate, endDate, page, size));
            return write(200,"保存成功","data",customerService.getCallServices(keyword, serverType,state,patientName,ssc,idCard,doctorName, code,adminTeamCode,startDate, endDate, page, size));
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");

File diff suppressed because it is too large
+ 2 - 2
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/Message.java


+ 6 - 3
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/account/CustomerService.java

@ -188,7 +188,7 @@ public class CustomerService extends BaseService{
		List<Patient> list =  patientDao.findByMobile(callerNumber);
		Map<String,Object> rs = new HashedMap();
		Patient p ;
		if(list!=null||list.size()==0){
		if(list==null||list.size()==0){
			rs.put("state",-1);
			rs.put("mes","未找到患者信息");
			rs.put("callRecord",null);
@ -353,7 +353,7 @@ public class CustomerService extends BaseService{
			message.setCode(getCode());
			message.setSenderPhoto(p.getPhoto());
			message.setTitle("协同服务消息");
			message.setType(11);//协同服务消息
			message.setType(12);//协同服务消息
			message.setReadonly(1);//是否只读消息
			message.setSex(p.getSex());
			message.setOver("1");//未处理
@ -364,7 +364,7 @@ public class CustomerService extends BaseService{
		return "1";
	}
	public List<Map<String,Object>> getCallServices(String keyword, Integer serverType,Integer state,String patientName,String ssc,String idCard,String doctorName,String code,String startDate,String endDate,Integer page,Integer size){
	public List<Map<String,Object>> getCallServices(String keyword, Integer serverType,Integer state,String patientName,String ssc,String idCard,String doctorName,String code,Integer adminTeamCode ,String startDate,String endDate,Integer page,Integer size){
		String sql = "SELECT " +
				" s.`code`, " +
				" s.patient, " +
@ -411,6 +411,9 @@ public class CustomerService extends BaseService{
		if(StringUtils.isNotBlank(endDate)){
			sql +=" AND s.create_time <='"+endDate+" 23:59:59'" ;
		}
		if(adminTeamCode!=null){
			sql +=" AND s.admin_team_code ="+adminTeamCode ;
		}
		sql += " LIMIT "+(page-1)*size+","+size +" ORDER BY r.create_time DESC";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);

+ 23 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/AppealService.java

@ -2,6 +2,7 @@ package com.yihu.wlyy.service.manager.feedback;
import com.yihu.wlyy.entity.Doctor;
import com.yihu.wlyy.entity.Message;
import com.yihu.wlyy.entity.Patient;
import com.yihu.wlyy.entity.SMS;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.repository.DoctorDao;
@ -269,6 +270,28 @@ public class AppealService extends BaseService {
                HttpClientUtil.post(url, params, "UTF-8");
                messageDao.save(message);
            }else if(appeal.getIdentity() == 1){
                //wlyy给患者发送模板消息
                String creater = appeal.getCreater();
                Patient patient = patientDao.findByCode(creater);
                String patientName = patient.getName();
                String patientOpendID = patient.getOpenid();
                if (StringUtils.isNotEmpty(patientOpendID)) {
                    String url = wlyyService + "/third/template/sendTemplate";
                    List<NameValuePair> params = new ArrayList<>();
                    params.add(new BasicNameValuePair("type", "1"));
                    params.add(new BasicNameValuePair("toUser", patientOpendID));
                    params.add(new BasicNameValuePair("url", null));
                    params.add(new BasicNameValuePair("first", patientName+"您好!您提交的账号申诉已处理"));
                    params.add(new BasicNameValuePair("remark", "感谢你的意见"));
                    SimpleDateFormat formatDate = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                    String newDate = formatDate.format(new Date());
                    String keywords = result + "," + newDate;
                    params.add(new BasicNameValuePair("keywords", keywords));
                    HttpClientUtil.post(url, params, "UTF-8");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();

+ 8 - 4
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -1144,10 +1144,12 @@ public class FamilyContractService extends BaseService {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    JSONObject data = json;
                    data.remove("toUser");
//                    data.remove("toUser");
                    data.remove("agent");
                    data.put("toUser", member.getCode());
//                    data.put("toUser", member.getCode());
                    data.put("agent", "1");
                    data.remove("represented");
                    data.put("represented", member.getCode());
                    String ms = sf.getName() + ",您好!祝贺您,成功签约" + sf.getDoctorName() + "医生团队,您已可以享受家庭医生所带来的无微不至的健康保健服务。" +
                            "为了给您提供更好的服务,请尽快完成缴费。您可登录签约居民的微信账号,进入签约管理,选择待缴费的签约记录进行缴费操作,如需线下缴费,请尽快到" + (hos != null ? hos.getName() : "") + "社区(地址:" +
@ -1489,10 +1491,12 @@ public class FamilyContractService extends BaseService {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    JSONObject data = json;
                    data.remove("toUser");
//                    data.remove("toUser");
                    data.remove("agent");
                    data.put("toUser", member.getCode());
//                    data.put("toUser", member.getCode());
                    data.put("agent", "1");
                    data.remove("represented");
                    data.put("represented", member.getCode());
                    String ms = sf.getName() + ",您好!祝贺您,成功签约" + doc.getName() + "医生团队,您已可以享受家庭医生所带来的无微不至的健康保健服务。" +
                            "为了给您提供更好的服务,请尽快完成缴费。您可登录签约居民的微信账号,进入签约管理,选择待缴费的签约记录进行缴费操作,如需线下缴费,请尽快到" + (hos != null ? hos.getName() : "") + "社区(地址:" +
                            (hos != null ? hos.getAddress() : "") + ")缴费。";

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java

@ -98,6 +98,6 @@ public interface MessageDao extends PagingAndSortingRepository<Message, Long>, J
    @Query("from Message a where a.type = 8 and a.state=0 and a.del='1' and a.over='0' and relationCode = ?1  ")
    Message findByRelationCode(String relationCode);
    @Query("from Message a where a.type = 11 and a.state=0 and a.del='1' and a.over='0' and receiver = ?1  ")
    @Query("from Message a where a.type = 12 and a.state=0 and a.del='1' and a.over='0' and receiver = ?1  ")
    List<Message> findByReceiverCallService(String doctor);
}

+ 8 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -1215,9 +1215,11 @@ public class FamilyContractService extends BaseService {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    JSONObject data = json;
                    data.remove("toUser");
//                    data.remove("toUser");
                    data.remove("represented");
                    data.remove("agent");
                    data.put("toUser", member.getCode());
//                    data.put("toUser", member.getCode());
                    data.put("represented", member.getCode());
                    data.put("agent", "1");
                    String ms = sf.getName() + ",您好!祝贺您,成功签约" + sf.getDoctorName() + "医生团队,您已可以享受家庭医生所带来的无微不至的健康保健服务。" +
@ -1566,10 +1568,12 @@ public class FamilyContractService extends BaseService {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    JSONObject data = json;
                    data.remove("toUser");
//                    data.remove("toUser");
                    data.remove("agent");
                    data.put("toUser", member.getCode());
//                    data.put("toUser", member.getCode());
                    data.put("agent", "1");
                    data.remove("represented");
                    data.put("represented", member.getCode());
                    String ms = sf.getName() + ",您好!祝贺您,成功签约" + doc.getName() + "医生团队,您已可以享受家庭医生所带来的无微不至的健康保健服务。" +
                            "为了给您提供更好的服务,请尽快完成缴费。您可登录签约居民的微信账号,进入签约管理,选择待缴费的签约记录进行缴费操作,如需线下缴费,请尽快到" + (hos != null ? hos.getName() : "") + "社区(地址:" +
                            (hos != null ? hos.getAddress() : "") + ")缴费。";

+ 47 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/call/CustomerService.java

@ -13,6 +13,8 @@ import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import io.swagger.models.auth.In;
import org.apache.axis.client.Call;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
@ -107,4 +109,49 @@ public class CustomerService extends BaseService{
		return mes;
	}
	public Map<String,Object> getCallServiceInfo(String code){
		CallService callService = callServiceDao.findByCode(code);
		CallRecord callRecord = callRecordDao.findByCode(callService.getCallCode());
		Map<String,Object> rs = new HashedMap();
		rs.put("callService",callService);
		rs.put("callRecord",callRecord);
		return rs;
	}
	public String dealConsultCallService(String code, Integer dealType, Integer dealState,String dealContent){
		 CallService callService =  callServiceDao.findByCode(code);
		 callService.setDealType(dealType);
		 callService.setDealState(dealState);
		 callService.setDealContent(dealContent);
		 callService.setDealTime(new Date());
		 callService.setState(2);
		 callServiceDao.save(callService);
		return "1";
	}
	/**
	 *     private Integer dealReason; // 处理取消原因:0.没有号源、1.病人取消
	 private String orderHospital; //预约医院code
	 private String orderHospitalName; //预约医院
	 private String orderDept; //预约科室code
	 private String orderDeptName; //预约科室名称
	 private String orderDoctor; //预约医生code
	 private String orderDoctorName; //预约医生名称
	 private String orderTime; //预约时间段
	 * @param type
	 * @param orderHospital
     * @return
     */
	public String dealAppointCallService(String type ,String code,String dealReason, String orderHospital,String orderHospitalName,String orderDept,String orderDeptName,String orderDoctor,String orderDoctorName,String orderTime){
		CallService callService = callServiceDao.findByCode(code);
		//预约成功
		if("1".equals(type)){
		//预约失败
		}else{
		}
		return null;
	}
}

+ 25 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/call/CallRecordController.java

@ -56,4 +56,29 @@ public class CallRecordController extends BaseController {
            return error(-1,"保存失败");
        }
    }
    @RequestMapping(value = "/getCallServiceInfo", method = {RequestMethod.GET, RequestMethod.POST})
    @ApiOperation(value = "获取协同服务详情")
    public String getCallServiceInfo(@ApiParam(name="code",value="协同服务code(Mes中relationCode)")@RequestParam(required = false)String code){
        try {
            return write(200,"保存成功","data",customerService.getCallServiceInfo(code));
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");
        }
    }
    @RequestMapping(value = "/dealConsultCallService", method = {RequestMethod.GET, RequestMethod.POST})
    @ApiOperation(value = "处理咨询协同服务")
    public String dealConsultCallService(@ApiParam(name="code",value="协同服务code(Mes中relationCode)")@RequestParam(required = true)String code,
                                         @ApiParam(name="dealType",value="处理方式:1.电话回复,2.客服回复")@RequestParam(required = true)Integer dealType,
                                         @ApiParam(name="dealState",value="处理结果:1.完成,2.无法联系居民")@RequestParam(required = true)Integer dealState,
                                         @ApiParam(name="dealContent",value="处理内容")@RequestParam(required = false)String dealContent){
        try {
            return write(200,"保存成功","data",customerService.dealConsultCallService(code,dealType,dealState,dealContent));
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");
        }
    }
}

+ 82 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/template/ThirdTemplateController.java

@ -0,0 +1,82 @@
package com.yihu.wlyy.web.third.template;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.web.BaseController;
import com.yihu.wlyy.wechat.util.WeiXinTempMsgSendUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
 * 第三方推往健康模板消息
 * Created by Reece on 2017/11/14.
 */
@Controller
@RestController
@RequestMapping(value = "/third/template")
@Api(description = "第三方推往健康模板消息")
public class ThirdTemplateController extends BaseController {
    @Autowired
    private WeiXinTempMsgSendUtils tempMsgSendUtils;
    @Value("${wechat.message.template_doctor_survey}")
    private String template_doctor_survey;
    /**
     * 发送模板消息
     *
     * @param type     消息类别
     * @param toUser   接受者openID
     * @param url      跳转路径(带参数)
     * @param first
     * @param remark
     * @param keywords
     * @return
     */
    @RequestMapping(value = "/sendTemplate", method = RequestMethod.POST)
    @ApiOperation(value = "发送模板消息")
    @ResponseBody
    @ObserverRequired
    public String sendTemplate(
            @RequestParam(required = true) String type,
            @RequestParam(required = true) String toUser,
            @RequestParam(required = false) String url,
            @RequestParam(required = true) String first,
            @RequestParam(required = true) String remark,
            @RequestParam(required = true) String... keywords) {
        try {
            JSONObject data = tempMsgSendUtils.packageTemplate(first, remark, keywords);
            String templateId = getTemplateId(type);
            tempMsgSendUtils.sendTemplateMessage(templateId, toUser, url, data);
            return write(200, "发送成功!");
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "发送失败!");
        }
    }
    /**
     * 根据第三方type 匹配对应模板ID
     *
     * @param type 1.代办事项
     * @return
     */
    private String getTemplateId(String type) throws Exception {
        String templateId = null;
        switch (type) {
            case "1":
                templateId = template_doctor_survey;
                break;
            default:
                templateId = template_doctor_survey;
                break;
        }
        return templateId;
    }
}