| | |
| | | import com.ruoyi.order.api.query.ShoppingOrderQuery; |
| | | import com.ruoyi.order.dto.*; |
| | | import com.ruoyi.order.service.TShoppingOrderService; |
| | | import com.ruoyi.other.api.domain.TCoupon; |
| | | import com.ruoyi.other.api.domain.TGoods; |
| | | import com.ruoyi.other.api.feignClient.CouponClient; |
| | | import com.ruoyi.other.api.feignClient.GoodsClient; |
| | | import com.ruoyi.payment.api.feignClient.AliPaymentClient; |
| | |
| | | TAppUserAddress data = appUserClient.getAddressById(byId.getAppUserAddressId()).getData(); |
| | | if (data != null) { |
| | | byId.setReceivingName(data.getName() + "-" + data.getPhone()); |
| | | byId.setReceivingAddress(data.getAddress()); |
| | | byId.setReceivingAddress(data.getProvince()+data.getCity() |
| | | +(data.getDistrict()==null?"":data.getDistrict()) |
| | | +(data.getAddress()==null?"":data.getAddress()) |
| | | +(data.getHouseNumber()==null?"":data.getHouseNumber())); |
| | | } |
| | | } |
| | | if (byId.getOrderType()==1){ |
| | | TGoods data = goodsClient.getGoodsById(byId.getGoodsId()).getData(); |
| | | if (data!=null){ |
| | | byId.setName(data.getName()); |
| | | } |
| | | }else { |
| | | TCoupon data = couponClient.getCouponById1(byId.getCouponId()).getData(); |
| | | if (data!=null){ |
| | | byId.setName(data.getName()); |
| | | } |
| | | } |
| | | return AjaxResult.success(byId); |
| | | } |
| | |
| | | WxPaymentRefundModel wxPaymentRefundModel = new WxPaymentRefundModel(); |
| | | wxPaymentRefundModel.setTransaction_id(byId.getSerialNumber()); |
| | | wxPaymentRefundModel.setOut_trade_no(byId.getCode()); |
| | | wxPaymentRefundModel.setOut_refund_no(OrderCodeUtil.getOrderCode("GW")); |
| | | wxPaymentRefundModel.setOut_refund_no(OrderCodeUtil.getOrderCode("GWTK")); |
| | | wxPaymentRefundModel.setReason("后台购物订单退款"); |
| | | wxPaymentRefundModel.setNotify_url("/payment/wx/refund/notify"); |
| | | |
| | | // todo 部署到线上之后写回调地址 |
| | | // wxPaymentRefundModel.setNotify_url(""); |
| | | String string = byId.getPaymentAmount().multiply(new BigDecimal("100")).toString(); |
| | | if (string.contains(".")) { |
| | | string = string.substring(0, string.indexOf(".")); |
| | |
| | | int i = Integer.parseInt(string); |
| | | WxPaymentRefundModel.RefundAmount refundAmount = new WxPaymentRefundModel.RefundAmount(); |
| | | refundAmount.setTotal(i); |
| | | refundAmount.setCurrency("CNY"); |
| | | refundAmount.setRefund(i); |
| | | wxPaymentRefundModel.setAmount(refundAmount); |
| | | wxPaymentClient.refundOrderR(wxPaymentRefundModel); |
| | |
| | | // 支付宝 |
| | | RefundReq refundReq = new RefundReq(); |
| | | refundReq.setOutTradeNo(byId.getSerialNumber()); |
| | | String gw = OrderCodeUtil.getOrderCode("GW"); |
| | | String gw = OrderCodeUtil.getOrderCode("GWTK"); |
| | | refundReq.setOutRequestNo(gw); |
| | | refundReq.setRefundAmount(byId.getPaymentAmount().toString()); |
| | | refundReq.setRefundReason("后台退款"); |
| | | refundReq.setRefundReason("后台购物订单退款"); |
| | | RefundResp data = aliPaymentClient.refund(refundReq).getData(); |
| | | if (data != null) { |
| | | // 退款成功 回退优惠券 |
| | | // byId.setStatus(4); |
| | | byId.setStatus(4); |
| | | if (byId.getAppCouponId() != null) { |
| | | appCouponClient.refund(byId.getAppCouponId().toString()); |
| | | byId.setRefundCode(gw); |
| | | byId.setRefundAmount(byId.getPaymentAmount()); |
| | | byId.setRefundStatus(2); |
| | | byId.setRefundSerialNumber(data.getTradeNo()); |
| | | shoppingOrderService.updateById(byId); |
| | | } |
| | | } |
| | | break; |
| | |
| | | public AjaxResult<Map<String, Object>> getMyShoppingOrderListNum() { |
| | | Long userId = tokenService.getLoginUserApplet().getUserId(); |
| | | long dfh = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0) |
| | | .eq(TShoppingOrder::getStatus, 1).eq(TShoppingOrder::getAppUserId, userId)); |
| | | .eq(TShoppingOrder::getStatus, 1).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2)); |
| | | long dsh = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0) |
| | | .eq(TShoppingOrder::getStatus, 2).eq(TShoppingOrder::getAppUserId, userId)); |
| | | .eq(TShoppingOrder::getStatus, 2).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2)); |
| | | long ywc = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0) |
| | | .eq(TShoppingOrder::getStatus, 3).eq(TShoppingOrder::getAppUserId, userId)); |
| | | .eq(TShoppingOrder::getStatus, 3).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2)); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("dfh", dfh); |
| | | map.put("dsh", dsh); |
| | |
| | | return AjaxResult.error("订单已取消,不允许操作。"); |
| | | } |
| | | shoppingOrder.setStatus(3); |
| | | shoppingOrder.setReceivingTime(LocalDateTime.now()); |
| | | shoppingOrderService.updateById(shoppingOrder); |
| | | return AjaxResult.success(); |
| | | } |
| | |
| | | * 商城订单取消微信退款回调 |
| | | */ |
| | | @PostMapping("/cancelShoppingOrderWxRefund") |
| | | public void cancelShoppingOrderWxRefund(HttpServletRequest request) { |
| | | WxRefundNotifyResp data = wxPaymentClient.refundNotify(request).getData(); |
| | | if (null != data) { |
| | | String out_refund_no = data.getOut_refund_no(); |
| | | String refund_id = data.getRefund_id(); |
| | | String tradeState = data.getTradeState(); |
| | | String success_time = data.getSuccess_time(); |
| | | shoppingOrderService.cancelShoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time); |
| | | } |
| | | public void cancelShoppingOrderWxRefund(@RequestParam("out_refund_no") String out_refund_no, |
| | | @RequestParam("refund_id") String refund_id, |
| | | @RequestParam("tradeState") String tradeState, |
| | | @RequestParam("success_time") String success_time) { |
| | | shoppingOrderService.cancelShoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time); |
| | | } |
| | | |
| | | |