@Transactional public PageResult serviceEnd(String orderGuid, PageResult result) { BabysitterOrder order = dao.getResultByGUID(BabysitterOrder.class, orderGuid); if (order == null) { result.setResult(ResultInfo.BABYSITTER_ORDER_NULL); return result; } order.setState(Constants.OUT_ORDER); // 设置订单日志 BabysitterOrderRecordInfo info = BabysitterOrderRecordInfo.getInstance(); info.setBabysitterOrder(order); info.setState(order.getState()); dao.add(info); result.setResult(ResultInfo.SUCCESS); return result; }
@Transactional public ResultInfo addBabysitterOrderEvaluate(String orderGuid, String msg, String score) { BabysitterOrder order = dao.getResultByGUID(BabysitterOrder.class, orderGuid); if (order == null) return ResultInfo.BABYSITTER_ORDER_NULL; Babysitter babysitter = dao.getResultByGUID(Babysitter.class, order.getBabysitter().getGuid()); if (babysitter == null) return ResultInfo.BABYSITTER_NULL; order.setScore(Integer.valueOf(score)); order.setEvaluation(msg); order.setState(Constants.ORDER_OVER); dao.update(order); BabysitterOrderRecordInfo info = BabysitterOrderRecordInfo.getInstance(); info.setBabysitterOrder(order); info.setState(order.getState()); dao.add(info); // BabysitterEvaluate evaluate = BabysitterEvaluate.getInstance(); // evaluate.setBabysitter(babysitter); // evaluate.setEmployer(employer); // evaluate.setOrder(order); // evaluate.setMsg(msg); // evaluate.setScore(Integer.valueOf(score)); // dao.add(evaluate); int sumSocre = 0; int count = 0; List<BabysitterOrder> orders = babysitter.getOrders(); for (BabysitterOrder o : orders) { if (o.getState() == Constants.ORDER_OVER) { sumSocre += o.getScore(); count += 1; } } int avg = 0; if (count != 0) { avg = sumSocre / count; } babysitter.setScore(avg); dao.update(babysitter); return ResultInfo.SUCCESS; }
private BabysitterOrder updateBabysitterOrder( String orderGuid, Babysitter babysitter, ServiceOrder serviceOrder) { // 添加月嫂订单 BabysitterOrder babysitterOrder = BabysitterOrder.getInstance(); babysitterOrder.setBabysitter(babysitter); babysitterOrder.setEmployer(serviceOrder.getEmployer()); babysitterOrder.setEmployerAddress(serviceOrder.getAddress()); babysitterOrder.setEmployerName(serviceOrder.getEmployerName()); babysitterOrder.setEmployerTelephone(serviceOrder.getMobilePhone()); babysitterOrder.setOrderId(recordService.createOrderId()); babysitterOrder.setOrderPrice(serviceOrder.getOrderPrice()); long frontPrice = getFrontPrice(serviceOrder.getOrderPrice()); babysitterOrder.setOrderFrontPrice(frontPrice); babysitterOrder.setServiceBeginDate(serviceOrder.getServiceBeginDate()); babysitterOrder.setServiceEndDate(serviceOrder.getServiceEndDate()); babysitterOrder.setState(Constants.NEW_ORDER); dao.add(babysitterOrder); // 添加月嫂订单变更信息 BabysitterOrderRecordInfo recordInfo = BabysitterOrderRecordInfo.getInstance(); recordInfo.setBabysitterOrder(babysitterOrder); recordInfo.setState(babysitterOrder.getState()); dao.add(recordInfo); // 更新雇主订单 serviceOrder.setOrderGuid(babysitterOrder.getGuid()); dao.update(serviceOrder); // 更新月嫂抢单通知表中该订单的所有记录为不可用即订单已经被抢 String hql = "from PanicBuyingBabysitterAdvice t where t.ovld = true and t.serviceOrder.guid = ?"; List<PanicBuyingBabysitterAdvice> list = dao.getListResultByHQL(PanicBuyingBabysitterAdvice.class, hql, orderGuid); for (PanicBuyingBabysitterAdvice advice : list) { advice.setIsOver(true); dao.update(advice); } return babysitterOrder; }