This commit is contained in:
admin
2024-07-24 21:56:39 +08:00
parent 3029bffadf
commit f0993f107e
3 changed files with 61 additions and 38 deletions

View File

@@ -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<SysTenantMapper, SysTenant
@Resource
private IPlayClerkLevelInfoService playClerkLevelInfoService;
@Resource
private IPlayCommodityInfoService playCommodityInfoService;
@Override
public List<SysTenantEntity> listAll() {
@@ -222,6 +226,8 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
//初始化店铺等级数据和用户等级数据
playCustomLevelInfoService.initDefaultLevel(sysTenantEntity);
playClerkLevelInfoService.initDefaultLevel(sysTenantEntity);
//初始化店铺服务信息
playCommodityInfoService.initPlayCommodityInfo(sysTenantEntity.getTenantId());
return R.ok("租户创建成功!");
}

View File

@@ -37,15 +37,19 @@ public class PlayCommodityInfoServiceImpl extends ServiceImpl<PlayCommodityInfoM
@Override
public void initPlayCommodityInfo(String tenantId) {
LambdaQueryWrapper<PlayCommodityInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PlayCommodityInfoEntity::getTenantId, tenantId);
List<PlayCommodityInfoEntity> list = playCommodityInfoMapper.selectList(lambdaQueryWrapper);
if (list == null || list.isEmpty()) {
//查询默认租户的服务信息,然后复制其属性
SecurityUtils.setTenantId("default");
LambdaQueryWrapper<PlayCommodityInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PlayCommodityInfoEntity::getPId, "00");
List<PlayCommodityInfoEntity> list = playCommodityInfoMapper.selectList(lambdaQueryWrapper);
for (PlayCommodityInfoEntity entity : list) {
LambdaQueryWrapper<PlayCommodityInfoEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
lambdaQueryWrapper1.eq(PlayCommodityInfoEntity::getPId, "00");
for (PlayCommodityInfoEntity entity : playCommodityInfoMapper.selectList(lambdaQueryWrapper1)) {
initPlayCommodityInfo(entity, tenantId);
}
}
}
public void initPlayCommodityInfo(PlayCommodityInfoEntity entity, String tenantId) {
LambdaQueryWrapper<PlayCommodityInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@@ -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<String, String> 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<String, String> 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);
}