| | |
| | | R<com.alibaba.fastjson.JSONObject> r = HuiFuTianXiaUtil.weixinPayment(outTradeNo, description, payMoney.doubleValue(), openid, request.getNotifyUrl()); |
| | | if(r.getCode() != 200){ |
| | | throw new ServiceException(r.getMsg()); |
| | | }else{ |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | int time = 0; |
| | | for (int i = 0; i < 13; i++) { |
| | | try { |
| | | time += (5000 * i); |
| | | Thread.sleep(time); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | R<WeixinPaymentNotifyVo> voR = HuiFuTianXiaUtil.queryPayment(outTradeNo, sdf.format(new Date())); |
| | | if(voR.getCode() == 200){ |
| | | WeixinPaymentNotifyVo data = voR.getData(); |
| | | //P:处理中;S:成功;F:失败;I: 初始(初始状态很罕见,请联系汇付技术人员处理); |
| | | String transStat = data.getTransStat(); |
| | | if("S".equals(transStat)){ |
| | | PartnerTransactionsResult transaction = new PartnerTransactionsResult(); |
| | | transaction.setOutTradeNo(data.getReqSeqId()); |
| | | payBack(transaction, data.getFeeFlag() == 1 ? BigDecimal.ZERO : new BigDecimal(data.getFeeAmount())); |
| | | return; |
| | | } |
| | | if("P".equals(transStat) || "F".equals(transStat)){ |
| | | continue; |
| | | } |
| | | log.error("支付失败,流水号:{}, 状态码:{}", outTradeNo, transStat); |
| | | return; |
| | | }else{ |
| | | log.error("支付查询失败!流水号:{},结果:{}", outTradeNo, voR.getMsg()); |
| | | } |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | com.alibaba.fastjson.JSONObject data = r.getData(); |
| | | String mainMchId = WxPayConfiguration.getPlatformTyMacId(); |
| | |
| | | Order order = this.getById(orderId); |
| | | // 获取会员信息 |
| | | Member member = remoteMemberService.getMember(order.getUserId()).getData(); |
| | | // 获取商店信息 |
| | | Shop shop = remoteShopService.getShop(order.getShopId()).getData(); |
| | | // 获取订单商品详细信息 |
| | | List<MgtOrderGoodsDetailVo> orderGoodsDetailVoList = orderGoodsService.listMgtVoByOrderId(orderId); |
| | | // 设置MgtOrderDetailVo属性 |
| | |
| | | } |
| | | // 设置订单编号 |
| | | mgtOrderDetailVo.setOrderNo(order.getOrderNo()); |
| | | mgtOrderDetailVo.setOutTradeNo(order.getOutTradeNo()); |
| | | // 设置订单来源 |
| | | switch (order.getOrderFrom()) { |
| | | case 1: |
| | |
| | | mgtOrderDetailVo.setCancelTime(order.getCancelTime()); |
| | | mgtOrderDetailVo.setOrderRemark(order.getOrderRemark()); |
| | | mgtOrderDetailVo.setShopId(order.getShopId()); |
| | | if (shop != null) { |
| | | if (3 == order.getOrderStatus()) { |
| | | // 获取商店信息 |
| | | Shop shop = remoteShopService.getShop(order.getShopId()).getData(); |
| | | mgtOrderDetailVo.setShopName(shop.getShopName()); |
| | | } else { |
| | | mgtOrderDetailVo.setShopName("商户已被删除"); |
| | | mgtOrderDetailVo.setShopName(""); |
| | | } |
| | | mgtOrderDetailVo.setVerifyTime(order.getUseTime()); |
| | | //获取支付记录 |
| | |
| | | ProfitSharingResult profitSharingResult = wxService.getEcommerceService().queryProfitSharing(request); |
| | | return profitSharingResult; |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getActivityOrderGoods(String activityId) { |
| | | List<Order> orders = this.baseMapper.selectList(new QueryWrapper<Order>() |
| | | .eq("del_flag", 0) |
| | | .in("order_status", Arrays.asList(1, 2, 3)) |
| | | .eq("activity_id", activityId) |
| | | ); |
| | | if(orders.size() > 0){ |
| | | List<String> collect = orders.stream().map(Order::getOrderId).collect(Collectors.toList()); |
| | | List<OrderGoods> list = orderGoodsService.list(new QueryWrapper<OrderGoods>() |
| | | .eq("del_flag", 0) |
| | | .in("order_id", collect) |
| | | ); |
| | | return list.stream().map(OrderGoods::getGoodsId).collect(Collectors.toList()); |
| | | } |
| | | return new ArrayList<>(); |
| | | } |
| | | } |