From e31a75558bd7b8ac200194d11d181d0c6e319aa9 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 13 十月 2023 11:44:21 +0800 Subject: [PATCH] 对接第三方分账接口 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 78 insertions(+), 17 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 8635275..383a92c 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -906,6 +906,56 @@ } + + + /** + * 小程序支付下单API + * @param appPlaceOrderVo + * @param userId + * @param shopId + * @param goodsName + * @param outTradeNo + * @param orderId + * @param payMoney + * @param openid + * @param payerClientIp + */ + + private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId, + String goodsName, String outTradeNo, + String orderId, BigDecimal payMoney, + String openid, String payerClientIp){ + try { + + + + // 支付相关信息返回 + appPlaceOrderVo.setAppId(result.getAppId()); + appPlaceOrderVo.setMchId(config.getMchId()); + appPlaceOrderVo.setTimeStamp(result.getTimeStamp()); + appPlaceOrderVo.setNonceStr(result.getNonceStr()); + appPlaceOrderVo.setPackageStr(result.getPackageValue()); + appPlaceOrderVo.setSignType(result.getSignType()); + appPlaceOrderVo.setPaySign(result.getPaySign()); + appPlaceOrderVo.setPrepayId(result.getPackageValue()); + + // 保存支付订单统一下单日志 + paymentMessageService.savePaymentMessage("1", orderId, payRequestJson, payResponseJson); + + // 保存支付订单统一下单支付记录 + orderPaymentService.saveOrderPayment(userId, shopId, mainMchId, orderId, outTradeNo, payMoney, + appPlaceOrderVo.getEndTime(), "Y", openid, + goodsName, result.getPackageValue()); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + + + + /** * @param appPlaceActivityDto * @return AppPlaceOrderVo @@ -1988,29 +2038,37 @@ MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo(); // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象 List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); + String relGoodsIds = memberCoupon.getRelGoodsIds(); + String[] relGoodsIdArr = relGoodsIds.split(","); + if(relGoodsIdArr.length!=goodsList.size()){ + throw new ServiceException(AppErrorConstant.GOODS_DOWN); + } merVerifyCouponVo.setUserName(member.getRealName()); merVerifyCouponVo.setUserMobile(member.getMobile()); merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); merVerifyCouponVo.setCouponName(memberCoupon.getCouponName()); merVerifyCouponVo.setCreateTime(memberCoupon.getReceiveTime()); // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性 - List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream() - .map(goods -> { - MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo(); - merCouponGoods.setGoodsId(goods.getGoodsId()); - merCouponGoods.setGoodsName(goods.getGoodsName()); - if (goods.getGoodsType() == 1) { - merCouponGoods.setGoodsType("周期"); - } else if (goods.getGoodsType() == 2) { - merCouponGoods.setGoodsType("服务"); - } else if (goods.getGoodsType() == 3) { - merCouponGoods.setGoodsType("体验"); - } else if (goods.getGoodsType() == 4) { - merCouponGoods.setGoodsType("单品"); - } - // 设置其他属性 - return merCouponGoods; - }).collect(Collectors.toList()); + List<MerCouponGoodsListVo> merCouponGoodsList = new ArrayList<>(); + MerCouponGoodsListVo merCouponGoods; + for(Goods goods : goodsList){ + if(goods.getGoodsStatus()!=1){ + throw new ServiceException(AppErrorConstant.GOODS_DOWN); + } + merCouponGoods = new MerCouponGoodsListVo(); + merCouponGoods.setGoodsId(goods.getGoodsId()); + merCouponGoods.setGoodsName(goods.getGoodsName()); + if (goods.getGoodsType() == 1) { + merCouponGoods.setGoodsType("周期"); + } else if (goods.getGoodsType() == 2) { + merCouponGoods.setGoodsType("服务"); + } else if (goods.getGoodsType() == 3) { + merCouponGoods.setGoodsType("体验"); + } else if (goods.getGoodsType() == 4) { + merCouponGoods.setGoodsType("单品"); + } + merCouponGoodsList.add(merCouponGoods); + } // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList merVerifyCouponVo.setGoodsList(merCouponGoodsList); //生成服务 @@ -2266,6 +2324,9 @@ SysUser sysUser; if (member != null) { sysUser = remoteUserService.getSysUser(member.getUserId()).getData(); + if(member.getBindingFlag()==1&&!member.getRelationShopId().equals(merNewOrderDto.getShopId())){ + throw new ServiceException(AppErrorConstant.USER_BINDING_ERROR); + } } else { //创建新用户 String memberId = IdUtils.simpleUUID(); -- Gitblit v1.7.1