diff --git a/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java index ec65377..ef8d9e9 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/platform/service/impl/SysTenantServiceImpl.java @@ -19,6 +19,7 @@ import com.starry.admin.modules.platform.mapper.SysTenantMapper; import com.starry.admin.modules.platform.mapper.SysTenantPackageMapper; import com.starry.admin.modules.platform.service.ISysTenantService; import com.starry.admin.modules.platform.vo.SysTenantQueryVo; +import com.starry.admin.modules.play.service.IPlayCommodityInfoService; import com.starry.admin.modules.system.entity.SysRoleEntity; import com.starry.admin.modules.system.entity.SysRoleMenuEntity; import com.starry.admin.modules.system.entity.SysUserEntity; @@ -76,6 +77,9 @@ public class SysTenantServiceImpl extends ServiceImpl listAll() { @@ -222,6 +226,8 @@ public class SysTenantServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayCommodityInfoEntity::getPId, "00"); + lambdaQueryWrapper.eq(PlayCommodityInfoEntity::getTenantId, tenantId); List list = playCommodityInfoMapper.selectList(lambdaQueryWrapper); - for (PlayCommodityInfoEntity entity : list) { - initPlayCommodityInfo(entity, tenantId); + if (list == null || list.isEmpty()) { + //查询默认租户的服务信息,然后复制其属性 + SecurityUtils.setTenantId("default"); + LambdaQueryWrapper lambdaQueryWrapper1 = new LambdaQueryWrapper<>(); + lambdaQueryWrapper1.eq(PlayCommodityInfoEntity::getPId, "00"); + for (PlayCommodityInfoEntity entity : playCommodityInfoMapper.selectList(lambdaQueryWrapper1)) { + initPlayCommodityInfo(entity, tenantId); + } } } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java index 2d78b48..9c5e9d8 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java @@ -3,7 +3,13 @@ package com.starry.admin.modules.weichat.controller; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSONObject; import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; +import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult; +import com.github.binarywang.wxpay.exception.WxPayException; +import com.github.binarywang.wxpay.service.WxPayService; +import com.github.binarywang.wxpay.util.SignUtils; import com.starry.admin.common.aspect.CustomUserLogin; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.CustomException; @@ -11,8 +17,10 @@ import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; import com.starry.admin.modules.order.service.IPlayOrderInfoService; +import com.starry.admin.modules.order.service.impl.PlayOrderInfoServiceImpl; import com.starry.admin.modules.platform.entity.SysTenantEntity; import com.starry.admin.modules.platform.service.impl.SysTenantServiceImpl; +import com.starry.admin.modules.weichat.service.WxCustomMpService; import com.starry.admin.utils.SecurityUtils; import com.starry.common.result.R; import com.starry.common.utils.StringUtils; @@ -44,6 +52,11 @@ public class WxPlayController { @Resource private IPlayOrderInfoService orderInfoService; + @Resource + PlayOrderInfoServiceImpl playOrderInfoService; + @Resource + private WxCustomMpService mpService; + @GetMapping("/test") public String test() { @@ -152,41 +165,41 @@ public class WxPlayController { String orderId = IdUtil.fastSimpleUUID(); orderInfoService.createRechargeOrder(orderId, new BigDecimal(totalFee * 1.0 / 100), new BigDecimal(totalFee * 1.0 / 100), customUserInfo.getId()); customUserInfoService.customAccountBalanceRecharge(new BigDecimal(money), ThreadLocalRequestDetail.getCustomUserInfo().getId(), orderId); - return R.ok("充值成功"); +// return R.ok("充值成功"); -// WxPayService wxPayService = mpService.getWxPay(); -// WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest(); -// request.setOpenid(customUserInfo.getOpenid()); -// // 订单总金额,单位为分(开发阶段固定设置为支付1分钱) -// request.setTotalFee(1); -// request.setOutTradeNo(orderNo); -// request.setTradeType("JSAPI"); -// request.setSpbillCreateIp("101.43.206.16"); -// request.setNotifyUrl(wxPayService.getConfig().getNotifyUrl()); -// request.setBody("船票充值"); -// WxPayUnifiedOrderResult orderResult; -// try { -// orderResult = wxPayService.unifiedOrder(request); -// } catch (WxPayException e) { -// throw new RuntimeException(e); -// } + WxPayService wxPayService = mpService.getWxPay(); + WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest(); + request.setOpenid(customUserInfo.getOpenid()); + // 订单总金额,单位为分(开发阶段固定设置为支付1分钱) + request.setTotalFee(1); + request.setOutTradeNo(orderId); + request.setTradeType("JSAPI"); + request.setSpbillCreateIp("101.43.206.16"); + request.setNotifyUrl(wxPayService.getConfig().getNotifyUrl()); + request.setBody("船票充值"); + WxPayUnifiedOrderResult orderResult; + try { + orderResult = wxPayService.unifiedOrder(request); + } catch (WxPayException e) { + throw new RuntimeException(e); + } // -// String prepayId = orderResult.getPrepayId(); -// //组合参数构建支付 -// Map paySignInfo = new HashMap<>(5); -// String timeStamp = String.valueOf(System.currentTimeMillis()); -// String nonceStr = "dalfhh241lnandnsklajax"; -// paySignInfo.put("appId", wxPayService.getConfig().getAppId()); -// paySignInfo.put("nonceStr", nonceStr); -// paySignInfo.put("timeStamp", timeStamp); -// paySignInfo.put("signType", "MD5"); -// paySignInfo.put("package", "prepay_id=" + prepayId); -// String[] signInfo = new String[0]; -// String paySign = SignUtils.createSign(paySignInfo, "MD5", wxPayService.getConfig().getMchKey(), signInfo); -// -// //组合支付参数 -// JSONObject jsonObject = new JSONObject().fluentPut("appId", wxPayService.getConfig().getAppId()).fluentPut("timeStamp", timeStamp).fluentPut("nonceStr", nonceStr).fluentPut("package", "prepay_id=" + prepayId).fluentPut("signType", "MD5").fluentPut("paySign", paySign); -// return R.ok(jsonObject); + String prepayId = orderResult.getPrepayId(); + //组合参数构建支付 + Map paySignInfo = new HashMap<>(5); + String timeStamp = String.valueOf(System.currentTimeMillis()); + String nonceStr = "dalfhh241lnandnsklajax"; + paySignInfo.put("appId", wxPayService.getConfig().getAppId()); + paySignInfo.put("nonceStr", nonceStr); + paySignInfo.put("timeStamp", timeStamp); + paySignInfo.put("signType", "MD5"); + paySignInfo.put("package", "prepay_id=" + prepayId); + String[] signInfo = new String[0]; + String paySign = SignUtils.createSign(paySignInfo, "MD5", wxPayService.getConfig().getMchKey(), signInfo); + + //组合支付参数 + JSONObject jsonObject = new JSONObject().fluentPut("appId", wxPayService.getConfig().getAppId()).fluentPut("timeStamp", timeStamp).fluentPut("nonceStr", nonceStr).fluentPut("package", "prepay_id=" + prepayId).fluentPut("signType", "MD5").fluentPut("paySign", paySign); + return R.ok(jsonObject); }