Browse Source

签约判断与签约推送

lyr 8 years ago
parent
commit
53c40c4c3c

+ 3 - 0
src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -24,6 +24,7 @@ import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.repository.patient.SocialSecurityInfoDao;
import com.yihu.wlyy.repository.statistics.WlyySignFamilyCodeDao;
import com.yihu.wlyy.service.app.disease.PatientDiseaseService;
import com.yihu.wlyy.task.SignUploadTask;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
@ -919,6 +920,7 @@ public class FamilyContractService extends BaseService {
            json.put("remark", ""); //您好,您成功签约家庭医生
            // 添加到发送队列
            PushMsgTask.getInstance().putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
            new Thread(new SignUploadTask(sf.getCode())).start();
        }
        return temp;
    }
@ -1201,6 +1203,7 @@ public class FamilyContractService extends BaseService {
            json.put("remark", ""); //您好,您成功签约家庭医生
            // 添加到发送队列
            PushMsgTask.getInstance().putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
            new Thread(new SignUploadTask(sf.getCode())).start();
        } else if (type == 2) {
            System.out.println(" ---------- fail send weixin-------------");
            // 拒绝签约

+ 44 - 0
src/main/java/com/yihu/wlyy/task/SignUploadTask.java

@ -0,0 +1,44 @@
package com.yihu.wlyy.task;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.util.SystemConf;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
/**
 * 签约推送
 * <p>
 * Created by lyr-pc on 2016/9/26.
 */
public class SignUploadTask implements Runnable {
    private static Logger logger = LoggerFactory.getLogger(SignUploadTask.class);
    String code = "";
    public SignUploadTask(String code) {
        this.code = code;
    }
    @Override
    public void run() {
        try {
            String url = SystemConf.getInstance().getSystemProperties().getProperty("sign_check_upload");
            String resultStr = HttpUtil.sendPost(url + "/third/sign/UploadSignFamily?code=" + code, "");
            JSONObject json = new JSONObject(resultStr);
            if (json.getInt("status") == 200) {
                logger.info("sign-info-upload-success:" + code);
            } else {
                logger.error("sign-info-upload-failed:" + code);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

+ 1 - 0
src/main/java/com/yihu/wlyy/web/common/util/ManagerUtilController.java

@ -127,6 +127,7 @@ public class ManagerUtilController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "/people_num_to_redis")
    public String peopleNumToRedis() {
        try {
            statisticsService.peopleNumToRedis();

+ 31 - 6
src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java

@ -5,6 +5,7 @@ import java.util.Map;
import com.yihu.wlyy.entity.message.Message;
import com.yihu.wlyy.service.app.account.PatientInfoService;
import com.yihu.wlyy.util.*;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
@ -23,11 +24,6 @@ import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.service.app.sign.FamilyContractService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.util.CommonUtil;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.IdcardInfoExtractor;
import com.yihu.wlyy.util.IdcardValidator;
import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.WeixinBaseController;
/**
@ -277,6 +273,17 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            int type, String group,
            @RequestParam(required = false, defaultValue = "0") String expenses) {
        try {
            String checkUrl = SystemConf.getInstance().getSystemProperties().getProperty("sign_check_upload");
            String jsonString = HttpUtil.sendPost(checkUrl + "/third/sign/CheckSignFamily?idcard=" + patientIDcard, "");
            JSONObject checkJson = new JSONObject(jsonString);
            if (checkJson.getInt("status") == 200) {
                JSONObject jsonData = checkJson.getJSONObject("data");
                if (jsonData.getString("status").equals("1")) {
                    return error(-1,"此身份证号已签约");
                }
            }
            int res = familyContractService.handleSign(signType, getAccessToken(), healthDoctor, healthDoctorName, msgid, patientIDcard, type, disease, majorDoctor, majorDoctorName, group, expenses);
            if (res == -1) {
                return error(-1, "未知的处理类型!");
@ -459,7 +466,25 @@ public class DoctorFamilyContractController extends WeixinBaseController {
                return error(-1, "请输入身份证号!");
            }
            JSONObject result = familyContractService.getSanshiSingInfoByPatientIdCard(idCard);
            JSONObject result = new JSONObject();
            String checkUrl = SystemConf.getInstance().getSystemProperties().getProperty("sign_check_upload");
            String jsonString = HttpUtil.sendPost(checkUrl + "/third/sign/CheckSignFamily?idcard=" + idCard, "");
            JSONObject checkJson = new JSONObject(jsonString);
            if (checkJson.getInt("status") == 200) {
                JSONObject jsonData = checkJson.getJSONObject("data");
                if (jsonData.getString("status").equals("1")) {
                    result.put("signStatus", "2");
                    result.put("msg", "病人已申请过家庭签约!");
                    return write(200, "查询成功!", "data", result);
                }
            } else {
                return error(-1,"签约验证异常!");
            }
            result = familyContractService.getSanshiSingInfoByPatientIdCard(idCard);
            return write(200, "查询成功!", "data", result);
        } catch (Exception e) {

+ 4 - 0
src/main/resources/system.properties

@ -61,6 +61,8 @@ appId=wxd03f859efdf0873d
appSecret=2935b54b53a957d9516c920a544f2537
wechat_base_url=http%3a%2f%2fweixin.xmtyw.cn%2fwlyy
wechat_token=27eb3bb24f149a7760cf1bb154b08040
#是否签约检查和签约数据上传
sign_check_upload=http://192.168.131.10:8011
#-------------测试------------#
#server_ip=ehr.yihu.com
@ -71,6 +73,8 @@ wechat_token=27eb3bb24f149a7760cf1bb154b08040
#appSecret=988f005d8309ed1795939e0f042431fb
#wechat_base_url=http%3a%2f%2fehr.yihu.com%2fwlyy
#wechat_token=27eb3bb24f149a7760cf1bb154b08040
##是否签约检查和签约数据上传
#sign_check_upload=http://172.19.103.85:8011
im_group_server=http://120.41.252.108:3031/group/sendgroupmsg.im
msg_push_server=http://120.41.252.108:3031/push/sendmsg.im