无关风月
3 天以前 9411a5a1eec19f3460eca9a6c82ebb46dc4e2f0d
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WxChatPayCallBack.java
@@ -12,15 +12,9 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.vo.UserDto;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.order.entity.ChangeDispatch;
import com.ruoyi.order.entity.Order;
import com.ruoyi.order.entity.Withdraw;
import com.ruoyi.order.entity.WithdrawDetail;
import com.ruoyi.order.entity.*;
import com.ruoyi.order.request.ChangeDispatchRequest;
import com.ruoyi.order.service.ChangeDispatchService;
import com.ruoyi.order.service.OrderService;
import com.ruoyi.order.service.WithdrawDetailService;
import com.ruoyi.order.service.WithdrawService;
import com.ruoyi.order.service.*;
import com.ruoyi.order.vx.HttpUtil;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.user.api.feignClient.UserClient;
@@ -63,6 +57,8 @@
    @Autowired
    private WithdrawDetailService withdrawDetailService;
    @Autowired
    private WithdrawRecordService withdrawRecordService;
    @Resource
    private OrderService orderService;
    @Autowired
@@ -111,16 +107,25 @@
                withdrawDetail.setStatus("SUCCESS");
                withdrawDetailService.updateById(withdrawDetail);
                orderService.updateById(order);
                WithdrawRecord withdrawRecord = new WithdrawRecord();
                withdrawRecord.setWithdrawId(withdraw.getId());
                withdrawRecord.setOrderId(withdraw.getOrderId());
                withdrawRecord.setUserId(withdraw.getUserId());
                withdrawRecord.setWithdrawType(4);
                withdrawRecord.setCreateTime(new Date());
                withdrawRecord.setAuditStatus(1);
            }else if ("CANCELLED".equals(state)||"CANCELING".equals(state)||"FAIL".equals(state)){
                // 校验提现
                List<Withdraw> list = withdrawService.lambdaQuery().eq(Withdraw::getUserId, order.getUserId())
                        .eq(Withdraw::getOrderId, order.getId()).list();
                List<Integer> stateList = list.stream().map(Withdraw::getState).collect(Collectors.toList());
                if (stateList.contains(Constants.ONE)) {
                    throw new GlobalException("当前订单提现申请已通过!");
                }
//                List<Withdraw> list = withdrawService.lambdaQuery().eq(Withdraw::getUserId, order.getUserId())
//                        .eq(Withdraw::getOrderId, order.getId()).list();
//                List<Integer> stateList = list.stream().map(Withdraw::getState).collect(Collectors.toList());
//                if (stateList.contains(Constants.ONE)) {
//                    throw new GlobalException("当前订单提现申请已通过!");
//                }
                // 超时未收款 撤销 重新发起转账 更新packageInfo
                 weChatPay(order.getOrderMoney(), data.getOpenId(),list.get(0).getId(),order.getServeName());
                 weChatPay(order.getOrderMoney(), data.getOpenId(),withdraw.getId(),order.getServeName());
            }
            map.put("code", "SUCCESS");
            map.put("message", "成功");
@@ -183,7 +188,7 @@
                WithdrawDetail one = withdrawDetailService.lambdaQuery().eq(WithdrawDetail::getWithdrawId, withdrawId).last("limit 1").one();
                if (one!=null){
                    one.setOutBatchNo(s);
                    one.setStatus("FAIL");
                    one.setStatus("PENDING");
                    withdrawDetailService.updateById(one);
                    Order order = orderService.getById(withdraw.getOrderId());
                    order.setPackageInfo(string);
@@ -201,7 +206,7 @@
    }
    public static void main(String[] args) {
        String s = "1827928ae317443a8ef788e9ed56e8dc";
        String s = "e965efcc225b4250864658d2fa969a18";
        String s1 = HttpUtil.queryTransBatRequest(WechatConstants.WE_CHAT_PAY_QUERY_URL_PRE + s,
                "7EEA04429B006E12AAA421C002EC48BBEED5BE94",
                "1665330417",