/** * 购买福利-生成订单 -- 根据子订单 ID 进行支付 * * @author zhliu * @date 2015年7月3日 * @parm * @param request * @param response * @param objectId : 子订单ID * @return */ @RequestMapping("/buyWelfareSubOrderSuc/{objectId}") public String buyWelfareSubOrderSuc(HttpServletRequest request, @PathVariable Long objectId) { User user = (User) request.getSession().getAttribute(SecurityConstants.SESSION_USER); SubOrder subOrder = new SubOrder(); double totalAmount = 0.0; // 应付总额 Double sumPoint = 0.0; // 员工 积分 Order order = new Order(); // 总订单 try { // 查询剩余积分 sumPoint = userManager.getUserBalance(user.getObjectId()); subOrder = subOrderManager.getByObjectId(objectId); order = orderManager.getByObjectId(subOrder.getGeneralOrderId()); totalAmount = subOrder.getPayableAmount(); request.setAttribute("sumPoint", sumPoint); request.setAttribute("subOrder", subOrder); request.setAttribute("totalAmount", totalAmount); if (order.getPaymentWay() != null && order.getPaymentWay() == 2) { return HOME_DIR + "/buyWelfareOrder"; } else { return HOME_DIR + "/buyWelfareOrderPayOffline"; } } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return HOME_DIR + "/buyWelfareOrder"; }
/** * 支付宝支付 * * @author zhliu * @date 2015年6月30日 * @param request * @param subOrderId : 子订单ID * @param subOrderNo:子订单号 * @param payWay :线上支付渠道(1:积分支付;2支付宝支付;3:混合支付) * @return */ @RequestMapping("onlinePaySetPayment") public String onlinePaySetPayment( HttpServletRequest request, String subOrderId, String subOrderNo, String payWay) { try { // 更新 订单 实付金额 SubOrder subOrder = new SubOrder(); subOrder.setSubOrderNo(subOrderNo); subOrder = subOrderManager.getBySample(subOrder).get(0); if (payWay != null && payWay.equals(String.valueOf(IBSConstants.PAY_WAY_ON_LINE_INTEGRAL))) { // 积分支付 subOrder.setActuallyAmount(0.0); subOrder.setActuallyIntegral(subOrder.getPayableAmount()); } else if (payWay != null && payWay.equals(String.valueOf(IBSConstants.PAY_WAY_ON_LINE_ALIPAY))) { // 支付宝支付 subOrder.setActuallyAmount(subOrder.getPayableAmount()); subOrder.setActuallyIntegral(0.0); } else { return null; } subOrderManager.save(subOrder); return "redirect:/onlinePay/aliPay/" + subOrderId; } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return null; }
/** * 购买福利-生成订单 * * @author zhliu * @date 2015年7月3日 * @parm * @param request * @param response * @param objectId : 总订单ID * @return */ @RequestMapping("/buyWelfareOrderSuc/{objectId}") public String buyWelfareOrderSuc(HttpServletRequest request, @PathVariable Long objectId) { try { List<SubOrder> subOrderList = null; SubOrder subOrder = new SubOrder(); subOrder.setGeneralOrderId(objectId); subOrderList = subOrderManager.getBySample(subOrder); subOrder = subOrderList.get(0); return "redirect:" + GlobalConfig.getPayDomain() + "/onlinePay/orderPayCenter?subOrderIds=" + subOrder.getObjectId(); } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return HOME_DIR + "/buyWelfareOrder"; }
/** * 积分支付 * * @author zhliu * @date 2015年6月30日 * @param request * @param response * @param subOrderNo:子订单号 * @param payWay :线上支付渠道(1:积分支付;2支付宝支付;3:混合支付) * @param password :支付密码 * @return */ @RequestMapping("integralPaySetPayment") public String integralPaySetPayment( HttpServletRequest request, String subOrderId, String subOrderNo, String payWay, String password, Long orderId) { try { User user = (User) request.getSession().getAttribute(SecurityConstants.SESSION_USER); // 更新 订单 实付金额 SubOrder subOrder = new SubOrder(); subOrder.setSubOrderNo(subOrderNo); subOrder = subOrderManager.getBySample(subOrder).get(0); if (payWay != null && payWay.equals(String.valueOf(IBSConstants.PAY_WAY_ON_LINE_INTEGRAL))) { // 积分支付 subOrder.setActuallyAmount(0.0); subOrder.setActuallyIntegral(subOrder.getPayableAmount()); } else if (payWay != null && payWay.equals(String.valueOf(IBSConstants.PAY_WAY_ON_LINE_ALIPAY))) { // 支付宝支付 subOrder.setActuallyAmount(subOrder.getPayableAmount()); subOrder.setActuallyIntegral(0.0); } else { return null; } subOrderManager.save(subOrder); // 积分支付 Map resultMap = orderManager.integralPay(subOrderId, user.getObjectId(), password); request.setAttribute("message", resultMap.get("message")); // 支付信息 /*if(orderId == null){//子订单ID return "redirect:"+"buyWelfareSubOrderSuc/"+subOrderId; }else{//总订单ID return "redirect:"+"buyWelfareOrderSuc/"+orderId; }*/ return "redirect:" + "buyWelfareSubOrderSuc/" + subOrderId; } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return null; }