diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index 4b75b4ff..82ae3ff8 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -29,6 +29,7 @@ import com.ghy.system.service.IWxMsgService; import com.ghy.web.pojo.vo.OrderChangePriceRequest; import com.ghy.web.pojo.vo.OrderListResponse; import com.ghy.web.pojo.vo.OrderStandard; +import com.ghy.web.service.InsuranceService; import com.ghy.worker.domain.Worker; import com.ghy.worker.domain.WorkerCertification; import com.ghy.worker.service.IWorkerCertificationService; @@ -112,6 +113,8 @@ public class OrderDetailController extends BaseController { @Resource private IInsuranceManagerService insuranceManagerService; + @Autowired + private InsuranceService insuranceService; @RequiresPermissions("order:detail:view") @GetMapping() @@ -932,6 +935,13 @@ public class OrderDetailController extends BaseController { if (StringUtils.isNotEmpty(orderDetail.getClockInLocation())) { OrderDetail model = orderDetailService.selectById(orderDetail.getId()); Customer customer = customerService.selectByCustomerId(model.getCustomerId()); + // 更新订单状态为上门 + try { + insuranceService.clockInsurance(model.getId()); + }catch (Exception e){ + logger.error("订单上门返回异常:{}", e.getMessage()); + e.printStackTrace(); + } // 通知师傅新订单 try { Map params = new HashMap<>(); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/InsuranceOrderEditReq.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/InsuranceOrderEditReq.java index 1d36e13c..041fe42d 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/InsuranceOrderEditReq.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/InsuranceOrderEditReq.java @@ -17,6 +17,7 @@ public class InsuranceOrderEditReq { private String workerID; + private String shangmenTime; - + private String shangmenNum; } diff --git a/ghy-admin/src/main/java/com/ghy/web/service/InsuranceService.java b/ghy-admin/src/main/java/com/ghy/web/service/InsuranceService.java index cf8a6aa3..a2031172 100644 --- a/ghy-admin/src/main/java/com/ghy/web/service/InsuranceService.java +++ b/ghy-admin/src/main/java/com/ghy/web/service/InsuranceService.java @@ -4,6 +4,8 @@ import com.ghy.order.domain.OrderDetailInsuranceUser; public interface InsuranceService { + void clockInsurance(Long orderDetailId) throws Exception; + void orderInsurance(String orderCode) throws Exception; void editInsurance(OrderDetailInsuranceUser orderDetailInsuranceUser) throws Exception ; diff --git a/ghy-admin/src/main/java/com/ghy/web/service/impl/InsuranceServiceImpl.java b/ghy-admin/src/main/java/com/ghy/web/service/impl/InsuranceServiceImpl.java index eb74281f..43e0abaf 100644 --- a/ghy-admin/src/main/java/com/ghy/web/service/impl/InsuranceServiceImpl.java +++ b/ghy-admin/src/main/java/com/ghy/web/service/impl/InsuranceServiceImpl.java @@ -124,4 +124,27 @@ public class InsuranceServiceImpl implements InsuranceService { throw new Exception(JSONObject.parseObject(result).getString("msg")); } } + + @Override + public void clockInsurance(Long orderDetailId) throws Exception { + // 查询子单 + OrderDetail detail = orderDetailService.selectById(orderDetailId); + // 查询主单 + OrderMaster master = orderMasterService.selectById(detail.getOrderMasterId()); + if(master.getInsuranceId() != null){ + InsuranceOrderEditReq editReq = new InsuranceOrderEditReq(); + editReq.setOrderNumber(master.getCode()); + editReq.setRequestNo(master.getCode() + System.currentTimeMillis()); + editReq.setSign(Md5Utils.hash(editReq.getRequestNo() + editReq.getChannelCode() + Key)); + editReq.setOrderNumber(master.getCode()); + editReq.setShangmenTime(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN)); + editReq.setShangmenNum("1"); + log.info("调用保险请求url:{},内容:{}", baseUrl+"/platInterface/service", JSONUtil.toJsonStr(editReq)); + String result = HttpUtil.post(baseUrl+"/platInterface/service", JSONUtil.toJsonStr(editReq)); + log.info("调用保险返回内容:{}", result); + if(!"1".equals(JSONObject.parseObject(result).getString("code"))){ + throw new Exception(JSONObject.parseObject(result).getString("msg")); + } + } + } } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 4063efbb..3b34c48b 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -110,6 +110,9 @@ public class OrderDetailServiceImpl implements OrderDetailService { @Resource private IOrderAttachmentRecordService orderAttachmentRecordService; + @Resource + private IOrderCallRecordService orderCallRecordService; + // Adapay 手续费率 默认0.008 @Value("${adapay.fee_rate:0.008}") private String feeRate; @@ -196,7 +199,26 @@ public class OrderDetailServiceImpl implements OrderDetailService { @Override public List selectOrderDetailList(OrderDetail orderDetail) { - return orderDetailMapper.selectOrderDetailList(orderDetail); + List result = new ArrayList<>(); + List orderDetails = orderDetailMapper.selectOrderDetailList(orderDetail); + orderDetails.forEach(model->{ + if(StringUtils.isNotEmpty(orderDetail.getIsCall())){ + OrderCallRecord param = new OrderCallRecord(); +// param.setOrderType("02"); + param.setOrderId(model.getId()); + List list = orderCallRecordService.selectOrderCallRecordList(param); + // 用于判断是约 还是 排的问题 + if("01".equals(orderDetail.getIsCall()) && CollectionUtils.isEmpty(list)){ + result.add(model); + } + if("02".equals(orderDetail.getIsCall()) && CollectionUtils.isNotEmpty(list)){ + result.add(model); + } + }else { + result.add(model); + } + }); + return result; } @Override diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml index 655f6d91..d2cf9926 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml @@ -211,9 +211,9 @@ AND od.timeout_ = #{timeout} - - AND om.is_call = #{isCall} - + + + order by od.create_time