Browse Source

代码修改

LAPTOP-KB9HII50\70708 3 years ago
parent
commit
a0ecd26783

+ 78 - 41
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java

@ -97,6 +97,8 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
    @Autowired
    private DoctorServicePermissionsService doctorServicePermissionsService;
    //是否开启支付 false 不需要支付
    public static final boolean  isNeedPay = false;
    /**
     * 记录完成情况
@ -450,16 +452,19 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
            logger.error(failMsg);
            return result;
        }
        if(orderDO.getStatus() != LifeCareOrderDO.Status.waitForPay.getType()){
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            String failMsg = "无法取消工单,已支付的工单需要到我的订单中进行申请退款," + orderId;
            result.put(ResponseContant.resultMsg, failMsg);
            logger.error(failMsg);
            return result;
        if(isNeedPay){
            if(orderDO.getStatus() != LifeCareOrderDO.Status.waitForPay.getType()){
                result.put(ResponseContant.resultFlag, ResponseContant.fail);
                String failMsg = "无法取消工单,已支付的工单需要到我的订单中进行申请退款," + orderId;
                result.put(ResponseContant.resultMsg, failMsg);
                logger.error(failMsg);
                return result;
            }
            BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(orderDO.getId());
            businessOrderDO.setStatus(2);
            businessOrderDao.save(businessOrderDO);
        }
        BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(orderDO.getId());
        businessOrderDO.setStatus(2);
        businessOrderDao.save(businessOrderDO);
//        if(orderDO.getStatus().equals(LifeCareOrderDO.Status.complete.getType())){
//            result.put(ResponseContant.resultFlag, ResponseContant.fail);
//            String failMsg = "只有医生服务前的工单才可取消";
@ -489,16 +494,19 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        lifeCareCancelLogDao.save(cancelLogDO);
        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
//        String first = "key1,您好,您的上门预约服务已退回,点击查看原因";
//        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
//        first  = first.replace("key1", null != patient.getName() ? patient.getName() : "");
//        JSONObject json = new JSONObject();
//        json.put("id", orderDO.getId());
//        List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
//        if(basePatientWechatDos.size()>0){
//            String openId = basePatientWechatDos.get(0).getOpenid();
//            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"生活照料已取消");
//        }
        if(!isNeedPay){
            String first = "key1,您好,您的上门预约服务已退回,点击查看原因";
            BasePatientDO patient = patientDao.findById(orderDO.getPatient());
            first  = first.replace("key1", null != patient.getName() ? patient.getName() : "");
            JSONObject json = new JSONObject();
            json.put("id", orderDO.getId());
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
            if(basePatientWechatDos.size()>0){
                String openId = basePatientWechatDos.get(0).getOpenid();
                messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"生活照料已取消");
            }
        }
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put(ResponseContant.resultMsg, "工单服务已取消!");
        return result;
@ -520,19 +528,37 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        try {
            jsonObjectParam = JSONObject.parseObject(jsonData);
            orderDO = EntityUtils.jsonToEntity(jsonObjectParam.get("order").toString(), LifeCareOrderDO.class);
            //存在未支付的订单不能发起
            boolean bool = lifeCareOrderDao.existsByPatientAndStatusIn(orderDO.getPatient(),
                    new Integer[]{
                            BaseDoorCoachOrderDO.Status.waitForPay.getType()
                    });
            if(isNeedPay){
                //存在未支付的订单不能发起
                boolean bool = lifeCareOrderDao.existsByPatientAndStatusIn(orderDO.getPatient(),
                        new Integer[]{
                                LifeCareOrderDO.Status.waitForPay.getType(),
                                LifeCareOrderDO.Status.waitForAccept.getType(),
                                LifeCareOrderDO.Status.signIn.getType()
                        });
                if(bool){
                    String failMsg = "当前服务对象存在未支付或未完成,无法再次申请!";
                    result.put(ResponseContant.resultFlag, ResponseContant.fail);
                    result.put(ResponseContant.resultMsg, failMsg);
                    logger.error(failMsg);
                    return result;
                }
            }else{
                boolean bool = lifeCareOrderDao.existsByPatientAndStatusIn(orderDO.getPatient(),
                        new Integer[]{
                                LifeCareOrderDO.Status.waitForAccept.getType(),
                                LifeCareOrderDO.Status.signIn.getType()
                        });
                if(bool){
                    String failMsg = "当前服务对象存在未完成,无法再次申请!";
                    result.put(ResponseContant.resultFlag, ResponseContant.fail);
                    result.put(ResponseContant.resultMsg, failMsg);
                    logger.error(failMsg);
                    return result;
                }
            if(bool){
                String failMsg = "当前服务对象存在未支付或未完成,无法再次申请!";
                result.put(ResponseContant.resultFlag, ResponseContant.fail);
                result.put(ResponseContant.resultMsg, failMsg);
                logger.error(failMsg);
                return result;
            }
            Integer type = orderDO.getType();
            if (type==1||type==2){
@ -547,12 +573,14 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
                orderDO.setProxyPatient(proxyPatient);
                orderDO.setProxyPatientName(doctorDO.getName());
                orderDO.setProxyPatientPhone(doctorDO.getMobile());
                List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,orderDO.getPatient());
                if (basePatientWechatDos.size()>0){
                    JSONObject json = new JSONObject();
                    String openId = basePatientWechatDos.get(0).getOpenid();
                    messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","shzldzf",openId,null,null,"请在30分钟内完成支付",3,json,
                            DateUtil.dateToChineseDate(new Date()),"助老员已为您代预约生活照料","待支付");
                if(isNeedPay){
                    List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,orderDO.getPatient());
                    if (basePatientWechatDos.size()>0){
                        JSONObject json = new JSONObject();
                        String openId = basePatientWechatDos.get(0).getOpenid();
                        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","shzldzf",openId,null,null,"请在30分钟内完成支付",3,json,
                                DateUtil.dateToChineseDate(new Date()),"助老员已为您代预约生活照料","待支付");
                    }
                }
            }
            if(StringUtils.isNotBlank(agent)){
@ -597,7 +625,12 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        }
        orderDO.setNumber(orderNoService.getOrderNo(1));
        orderDO.setCreateTime(new Date());
        orderDO.setStatus(0);//待付款状态
        if(isNeedPay){
            orderDO.setStatus(0);//待付款状态
        }else {
            orderDO.setStatus(1);//待(医生)接单
        }
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
@ -628,7 +661,9 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        result.put(ResponseContant.resultMsg, orderDO);
        //发起支付订单
        payService.submitOrder(orderDO.getPatient(),"4",orderDO.getId(),orderDO.getTotalFee().doubleValue());
        if (isNeedPay){
            payService.submitOrder(orderDO.getPatient(),"4",orderDO.getId(),orderDO.getTotalFee().doubleValue());
        }
        //给签约医生发送预约短信
        String sql ="SELECT i.code,r.team_code,pack.org_code,pack.org_name from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack  \n" +
@ -640,9 +675,11 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        for (BaseDoctorDO doctorDO:doctorDOS){
            try {
                if (StringUtils.isNotBlank(doctorDO.getMobile())){
                    messageUtil.sendTXYSJson("1099805",doctorDO.getMobile(),orderDO.getPatientName());
                    messageUtil.sendTXYSJson("1099807",doctorDO.getMobile(),orderDO.getPatientName(),"生活照料");
                }
            }catch (Exception e){}
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        return result;