Jelajahi Sumber

Merge branch 'dev' of lyr/patient-co-management into dev

lyr 8 tahun lalu
induk
melakukan
f79a8476a7

+ 40 - 22
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/ExpensesRemindService.java

@ -119,7 +119,7 @@ public class ExpensesRemindService extends BaseService {
     * @param doctor  医生
     * @return
     */
    public int remindPatientExpenses(String patient, String doctor) {
    public JSONObject remindPatientExpenses(String patient, String doctor) {
        try {
            Doctor doc = doctorDao.findByCode(doctor);
            if (doc == null) {
@ -140,7 +140,10 @@ public class ExpensesRemindService extends BaseService {
            return remindPatientExpenses(p, doc, hos, false);
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
            JSONObject reObj = new JSONObject();
            reObj.put("status",-1);
            reObj.put("msg",e.getMessage());
            return reObj;
        }
    }
@ -152,9 +155,11 @@ public class ExpensesRemindService extends BaseService {
     * @param hos 医院
     * @return
     */
    public int remindPatientExpenses(Patient p, Doctor doc, Hospital hos,boolean ignore) throws Exception {
    public JSONObject remindPatientExpenses(Patient p, Doctor doc, Hospital hos, boolean ignore) throws Exception {
        try {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            JSONObject reObj = new JSONObject();
            String mDesc = "";
            boolean mFlag = false;
            boolean wFlag = false;
            boolean isMobileExist = false;
@ -162,11 +167,14 @@ public class ExpensesRemindService extends BaseService {
            if (StringUtils.isNotEmpty(p.getMobile())) {
                isMobileExist = true;
                int result = smsService.sendMsg(p.getMobile(), doc.getName() + "医生提醒您:为完成家庭医生签约," +
                JSONObject result = smsService.sendMsg(p.getMobile(), doc.getName() + "医生提醒您:为完成家庭医生签约," +
                        "尽早为您提供家庭医生服务,请尽快到" + hos.getName() + "(地址:" + hos.getAddress() + ")缴费");
                if (result == 1) {
                if (result != null && result.getInt("result") == 1) {
                    mFlag = true;
                }
                if (result != null) {
                    mDesc = result.getString("description");
                }
            }
            if (StringUtils.isNotEmpty(p.getOpenid())) {
                isOpenIdExist = true;
@ -185,35 +193,45 @@ public class ExpensesRemindService extends BaseService {
                wFlag = true;
            }
            if(ignore) {
            if (ignore) {
                redisTemplate.opsForValue().set("expenses:remind:" + p.getCode(), df.format(new Date()));
                redisTemplate.expire("expenses:remind:" + p.getCode(), 1, TimeUnit.DAYS);
            }
            if (wFlag || mFlag) {
                if(!ignore) {
                    redisTemplate.opsForValue().set("expenses:remind:" + p.getCode(), df.format(new Date()));
                    redisTemplate.expire("expenses:remind:" + p.getCode(), 1, TimeUnit.DAYS);
                }
                if (!isMobileExist) {
                    return 2;
                }
                if (!isOpenIdExist) {
                    return 3;
                reObj.put("status", 200);
                redisTemplate.opsForValue().set("expenses:remind:" + p.getCode(), df.format(new Date()));
                redisTemplate.expire("expenses:remind:" + p.getCode(), 1, TimeUnit.DAYS);
                if (wFlag && mFlag) {
                    reObj.put("msg", "提醒成功");
                } else if (mFlag && !wFlag) {
                    reObj.put("msg", "已短信提醒,居民未绑定微信,无法微信提醒");
                } else {
                    if (!isMobileExist) {
                        reObj.put("msg", "已微信提醒,居民未绑定手机,无法短信提醒");
                    } else {
                        reObj.put("msg", "已微信提醒,短信提醒失败,失败原因:" + mDesc);
                    }
                }
                return 1;
            } else {
                reObj.put("status", -1);
                if (!isMobileExist && !isOpenIdExist) {
                    return -1;
                    reObj.put("msg", "居民未绑定手机及微信,无法提醒");
                } else if (isMobileExist && !isOpenIdExist) {
                    reObj.put("msg", "居民未绑定微信,且短信提醒失败,无法提醒居民。短信失败原因:" + mDesc);
                } else {
                    reObj.put("msg", "提醒失败");
                }
                if(isMobileExist){
                    return  -2;
                }
                return 0;
            }
            return reObj;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
            JSONObject reObj = new JSONObject();
            reObj.put("status",-1);
            reObj.put("msg",e.getMessage());
            return reObj;
        }
    }
}

+ 3 - 8
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/SMSService.java

@ -103,7 +103,7 @@ public class SMSService extends BaseService {
                throw new Exception("短信发送失败!");
            }
            // 新手机号绑定验证
            sms.setContent( patient.getName() + "欲添加您为家人,添加成功后,对方可登录您的账号,为您处理各类健康服务。如同意添加,可告知其验证码(" + captcha + ")。");
            sms.setContent(patient.getName() + "欲添加您为家人,添加成功后,对方可登录您的账号,为您处理各类健康服务。如同意添加,可告知其验证码(" + captcha + ")。");
        } else {
            // 其他验证码
            sms.setContent("验证码:" + captcha);
@ -139,16 +139,11 @@ public class SMSService extends BaseService {
     * @param content
     * @return
     */
    public int sendMsg(String mobile,String content){
    public JSONObject sendMsg(String mobile, String content) {
        // 调用总部发送信息的接口
        String result = HttpClientUtil.post(SystemConf.getInstance().getSmsUrl(), buildSmsParams(content, mobile), "GBK");
        JSONObject json = toJson(result);
        if (json == null) {
           return 0;
        } else if (json.getInt("result") != 0) {
            return 0;
        }
        return 1;
        return json;
    }
    /**

+ 2 - 14
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java

@ -874,20 +874,8 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            }
            if (StringUtils.isNotEmpty(patient)) {
                int result = expensesRemindService.remindPatientExpenses(patient, getUID());
                if (result == 1) {
                    return error(200, "提醒成功");
                } if (result == 2) {
                    return error(200, "居民未绑定手机号,无法短信提醒,已发送微信提醒");
                } if (result == 3) {
                    return error(200, "居民未绑定微信,无法微信提醒,已发送短信提醒");
                } if (result == -1) {
                    return error(-1, "居民未绑定手机号和微信,无法提醒");
                } if (result == -2) {
                    return error(-1, "短信发送失败");
                }  else {
                    return error(-1, "提醒失败");
                }
                JSONObject result = expensesRemindService.remindPatientExpenses(patient, getUID());
                return write(result.getInt("status"), result.getString("msg"));
            } else if (StringUtils.isNotEmpty(isAll) && isAll.equals("1")) {
                expensesRemindService.remindPatientExpensesAll(getUID());
                return error(200, "提醒操作成功");