From c642ca1d5aad271b22155fce6bd553533343501c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 24 七月 2025 09:10:10 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang into 2.0
---
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java | 14
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSOrderUtil.java | 7
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSVerifyUtil.java | 12
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/VerifyUtil.java | 11
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java | 69 ++--
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSWebHookController.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 724 ++++++++++++++++++++++++++++-------------------
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSClientTokenUtil.java | 4
8 files changed, 498 insertions(+), 345 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
index db4e83d..06014e6 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
@@ -318,10 +318,16 @@
/**
* 抖音门店id
*/
- @TableField("poi_id")
- private String poiId;
-
-
+ @TableField("dy_poi_id")
+ private String dyPoiId;
+
+ /**
+ * 抖音门店id
+ */
+ @TableField("ks_poi_id")
+ private String ksPoiId;
+
+
@Override
protected Serializable pkVal() {
return this.shopId;
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
index dec5930..97b9812 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -42,28 +42,44 @@
Long userId = SecurityUtils.getUserId();
merVerifyCodeDto.setUserId(userId);
String verifyCode = merVerifyCodeDto.getVerifyCode();
- String[] verifyCodeArr = verifyCode.split("-");
MerVerifyCodeVo merVerifyCodeVo = new MerVerifyCodeVo();
- Integer type = Integer.valueOf(verifyCodeArr[0]);
- verifyCode = verifyCodeArr[1];
- merVerifyCodeVo.setVerifyType(type);
- switch(type){
- case 1:
- MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId());
+ if(!verifyCode.contains("https")){
+ String[] verifyCodeArr = verifyCode.split("-");
+ Integer type = Integer.valueOf(verifyCodeArr[0]);
+ verifyCode = verifyCodeArr[1];
+ merVerifyCodeVo.setVerifyType(type);
+ switch(type){
+ case 1:
+ MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId());
+ merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
+ break;
+ case 2:
+ MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId());
+ merVerifyCouponVo.setCouponId(merVerifyCouponVo.getMemberCouponId().toString());
+ merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo);
+ break;
+ case 3:
+ MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId());
+ merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo);
+ break;
+ default:
+ throw new ServiceException(AppErrorConstant.VERIFY_TYPE_MISS);
+ }
+ }else{
+ merVerifyCodeVo.setVerifyType(1);
+ //三方订单
+ //抖音
+ if (verifyCode.contains("douyin")) {
+ MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrderDouYin(verifyCode, merVerifyCodeDto.getShopId());
merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
- break;
- case 2:
- MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId());
- merVerifyCouponVo.setCouponId(merVerifyCouponVo.getMemberCouponId().toString());
- merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo);
- break;
- case 3:
- MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId());
- merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo);
- break;
- default:
- throw new ServiceException(AppErrorConstant.VERIFY_TYPE_MISS);
+ }
+ //快手
+ if (verifyCode.contains("ksurl")) {
+ MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrderKuaiShou(verifyCode, merVerifyCodeDto.getShopId());
+ merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
+ }
}
+
return R.ok(merVerifyCodeVo);
}
@@ -73,20 +89,7 @@
Long userId = SecurityUtils.getUserId();
merVerifyCodeDto.setUserId(userId);
String verifyCode = merVerifyCodeDto.getVerifyCode();
- MerVerifyOrderVo merVerifyOrderVo = null;
- if (!verifyCode.contains("https")) {
- merVerifyOrderVo = orderService.verifyOrder(verifyCode, merVerifyCodeDto.getShopId());
- } else {
- //三方订单
- //抖音
- if (verifyCode.contains("douyin")) {
- merVerifyOrderVo = orderService.verifyOrderDouYin(verifyCode, merVerifyCodeDto.getShopId());
- }
- //快手
- if (verifyCode.contains("ksurl")) {
- merVerifyOrderVo = orderService.verifyOrderKuaiShou(verifyCode, merVerifyCodeDto.getShopId());
- }
- }
+ MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode, merVerifyCodeDto.getShopId());
return R.ok(merVerifyOrderVo);
}
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 7e10468..2bb8ae2 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
@@ -58,6 +58,8 @@
import com.ruoyi.order.util.HuiFuTianXiaUtil;
import com.ruoyi.order.util.douyin.OrderUtil;
import com.ruoyi.order.util.douyin.VerifyUtil;
+import com.ruoyi.order.util.kuaishou.KSOrderUtil;
+import com.ruoyi.order.util.kuaishou.KSVerifyUtil;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.constant.DelayTaskEnum;
import com.ruoyi.system.api.constant.SecurityConstant;
@@ -1876,13 +1878,17 @@
// 设置返回对象的属性值
merVerifyOrderVo.setOrderId(orderId);
merVerifyOrderVo.setOrderFrom(6);
- merVerifyOrderVo.setOrderStatus(status.intValue() == 1 ? 2 : 3);
+ merVerifyOrderVo.setOrderStatus((null == status || status.intValue() == 1) ? 2 : 3);
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = new ArrayList<>();
AppUserOrderGoodsPageVo orderGoodsPageVo = new AppUserOrderGoodsPageVo();
orderGoodsPageVo.setGoodsName(sku.getTitle());
appUserOrderGoodsPageVoList.add(orderGoodsPageVo);
merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
- merVerifyOrderVo.setLaveTime(timeCard.getTimesCount() - timeCard.getTimesUsed());
+ if(null != timeCard){
+ merVerifyOrderVo.setLaveTime(timeCard.getTimesCount() - timeCard.getTimesUsed());
+ }else{
+ merVerifyOrderVo.setLaveTime(-1);
+ }
// 返回结果
return merVerifyOrderVo;
}
@@ -1890,7 +1896,7 @@
@Override
public MerVerifyOrderVo verifyOrderKuaiShou(String orderId, Long shopId) {
- VerifyPrepareDataNew data = com.ruoyi.order.util.kuaishou.VerifyUtil.certificatePrepare(redisService, orderId);
+ VerifyPrepareDataNew data = KSVerifyUtil.certificatePrepare(redisService, orderId);
if (null == data) {
throw new ServiceException("查询券信息失败");
}
@@ -1916,7 +1922,11 @@
orderGoodsPageVo.setGoodsName(sku.getTitle());
appUserOrderGoodsPageVoList.add(orderGoodsPageVo);
merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
- merVerifyOrderVo.setLaveTime(sku.getTimes_count());
+ if(null != sku.getTimes_count()){
+ merVerifyOrderVo.setLaveTime(sku.getTimes_count());
+ }else{
+ merVerifyOrderVo.setLaveTime(-1);
+ }
// 返回结果
return merVerifyOrderVo;
}
@@ -2183,27 +2193,43 @@
throw new ServiceException("查询券信息失败");
}
List<CertificatePrepareResponseDataCertificatesItem> itemList = data.getCertificates();
- if (null == itemList || itemList.isEmpty()) {
+ if (null == itemList && itemList.isEmpty()) {
throw new ServiceException("查询券信息失败");
}
CertificatePrepareResponseDataCertificatesItem certificatesItem = itemList.get(0);
+ //商品信息
+ CertificatePrepareResponseDataCertificatesItemSku sku = certificatesItem.getSku();
+ //次卡信息
+ CertificatePrepareResponseDataCertificatesItemTimeCard timeCard = certificatesItem.getTimeCard();
Number status = certificatesItem.getStatus();
- if (status.intValue() == 2) {
+ if (null != status && status.intValue() == 2) {
throw new ServiceException("该抖音券不能重复核销");
}
- if (status.intValue() != 1) {
+ if (null != status && status.intValue() != 1) {
throw new ServiceException("抖音券核销失败");
}
+ Member member = remoteMemberService.getMemberByMobile(phone).getData();//绑定用户判断核销商户
+ if(null == member){
+ throw new ServiceException("手机号还未注册账户,请先进行注册");
+ }
+ if (member.getBindingFlag() == 1) {
+ if (!member.getRelationShopId().equals(shopId)) {
+ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
+ }
+ //不是次卡才校验是否重复核销
+ if(null == timeCard){
+ Order one = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrderId()));
+ if (null != one) {
+ throw new ServiceException("该抖音券不能重复核销");
+ }
+ }
String encryptedCode = certificatesItem.getEncryptedCode();
- List<CertificateVerifyResponseDataVerifyResultsItem> items = VerifyUtil.certificateVerify(data.getVerifyToken(), shop.getPoiId(), new ArrayList<String>() {{
+ List<CertificateVerifyResponseDataVerifyResultsItem> items = VerifyUtil.certificateVerify(data.getVerifyToken(), shop.getDyPoiId(), new ArrayList<String>() {{
add(encryptedCode);
}});
if (null == items || items.isEmpty()) {
throw new ServiceException("抖音券核销失败");
- }
- Order one = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrderId()));
- if (null != one) {
- throw new ServiceException("该抖音券不能重复核销");
}
TradeOrderQueryResponseData tradeOrderQueryResponseData = OrderUtil.queryOrderList(1, 10, data.getOrderId());
@@ -2215,156 +2241,204 @@
BigDecimal payDiscountAmount = BigDecimal.ZERO;
if (null != tradeOrderQueryResponseData) {
TradeOrderQueryResponseDataOrdersItem ordersItem = tradeOrderQueryResponseData.getOrders().get(0);
- TradeOrderQueryResponseDataOrdersItemAmountInfo amountInfo = ordersItem.getAmountInfo();
- originAmount = BigDecimal.valueOf(amountInfo.getOriginAmount()).divide(new BigDecimal(100));
- payAmount = BigDecimal.valueOf(amountInfo.getPayAmount()).divide(new BigDecimal(100));
- payDiscountAmount = BigDecimal.valueOf(amountInfo.getPayDiscountAmount()).divide(new BigDecimal(100));
+ originAmount = BigDecimal.valueOf(ordersItem.getOriginalAmount()).divide(new BigDecimal(100));
+ payAmount = BigDecimal.valueOf(ordersItem.getPayAmount()).divide(new BigDecimal(100));
+ payDiscountAmount = BigDecimal.valueOf(ordersItem.getDiscountAmount()).divide(new BigDecimal(100));
}
Date nowTime = new Date();
- Member member = remoteMemberService.getMemberByMobile(phone).getData();
//开始添加订单数据
- Order order = new Order();
- order.setOrderId(IdUtils.fastSimpleUUID());
- order.setDelFlag(0);
- order.setOrderStatus(3);
- order.setOrderNo(CodeFactoryUtil.getShopOrderNo());
- order.setOrderFrom(6);
- order.setShopId(shopId);
- order.setUserId(member.getUserId());
- order.setOrderMoney(originAmount);
- order.setDiscountMoney(payDiscountAmount);
- order.setReceivableMoney(payAmount);
- order.setPayType(1);
- order.setPayMoney(payAmount);
- order.setOnlinePayMoney(payAmount);
- order.setOrderRemark("抖音订单");
- order.setCreateTime(nowTime);
- order.setPayTime(nowTime);
- order.setTripartiteOrderId(data.getOrderId());
-
- //绑定用户判断核销商户
- if (member.getBindingFlag() == 1) {
- if (!member.getRelationShopId().equals(shopId)) {
- throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrderId()));
+ if(null == order){
+ order = new Order();
+ order.setOrderId(IdUtils.fastSimpleUUID());
+ order.setDelFlag(0);
+ order.setOrderStatus(3);
+ order.setOrderNo(CodeFactoryUtil.getShopOrderNo());
+ order.setOrderFrom(6);
+ order.setShopId(shopId);
+ order.setUserId(member.getUserId());
+ order.setOrderMoney(originAmount);
+ order.setDiscountMoney(payDiscountAmount);
+ order.setReceivableMoney(payAmount);
+ order.setPayType(1);
+ order.setPayMoney(payAmount);
+ order.setOnlinePayMoney(payAmount);
+ order.setOrderRemark("抖音订单");
+ order.setCreateTime(nowTime);
+ order.setPayTime(nowTime);
+ order.setTripartiteOrderId(data.getOrderId());
+ order.setUseTime(nowTime);
+ order.setUseUserId(merVerifyOrderDto.getUserId());
+ order.setCloseFlag(1);
+ this.save(order);
+ //创建服务商品
+ //获取商品信息(商品简介,调理问题)
+
+ OrderGoods orderGoods = new OrderGoods();
+ orderGoods.setOrderGoodsId(IdUtils.simpleUUID());
+ orderGoods.setDelFlag(0);
+ orderGoods.setOrderId(order.getOrderId());
+
+ ConsumerGoods consumerGoods = new ConsumerGoods();
+ if(null != timeCard){
+ orderGoods.setBuyNum(timeCard.getTimesCount());
+ orderGoods.setServiceNum(timeCard.getTimesCount());
+ consumerGoods.setServiceNum(timeCard.getTimesCount());
+ consumerGoods.setUsedNum(1);
+ consumerGoods.setUseTime(new Date());
}
- }
- order.setUseTime(nowTime);
- order.setUseUserId(merVerifyOrderDto.getUserId());
- order.setCloseFlag(1);
- this.save(order);
- //创建服务商品
- //获取商品信息(商品简介,调理问题)
- //商品信息
- CertificatePrepareResponseDataCertificatesItemSku sku = certificatesItem.getSku();
- //次卡信息
- CertificatePrepareResponseDataCertificatesItemTimeCard timeCard = certificatesItem.getTimeCard();
-
- OrderGoods orderGoods = new OrderGoods();
- orderGoods.setOrderGoodsId(IdUtils.simpleUUID());
- orderGoods.setDelFlag(0);
- orderGoods.setOrderId(order.getOrderId());
- orderGoods.setBuyNum(timeCard.getTimesCount());
- orderGoods.setCycleNumFlag(1);
- orderGoods.setServiceNum(timeCard.getTimesCount());
- orderGoods.setGoodsType(2);
- orderGoods.setGoodsName(sku.getTitle());
- orderGoodsService.save(orderGoods);
-
- ConsumerGoods consumerGoods = new ConsumerGoods();
- consumerGoods.setConsumerGoodsId(IdUtils.simpleUUID());
- consumerGoods.setDelFlag(0);
- consumerGoods.setServiceStatus(1);
- consumerGoods.setShopId(order.getShopId());
- consumerGoods.setUserId(order.getUserId());
- consumerGoods.setOrderId(orderId);
- consumerGoods.setOrderGoodsId(orderGoods.getOrderGoodsId());
- consumerGoods.setGoodsName(sku.getTitle());
- consumerGoods.setCycleNumFlag(1);
- consumerGoods.setServiceNum(timeCard.getTimesCount());
- consumerGoods.setCreateTime(nowTime);
- consumerGoods.setGoodsType(2);
- consumerGoods.setSourceFrom(1);
- consumerGoodsService.save(consumerGoods);
- //生成返回
- MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
- merVerifyOrderVo.setOrderId(orderId);
- merVerifyOrderVo.setOrderNo(order.getOrderNo());
- merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
- merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
- merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
- merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
- merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
- merVerifyOrderVo.setPayMoney(order.getPayMoney());
- merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
- merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
- add(new AppUserOrderGoodsPageVo() {{
- setOrderGoodsId(orderGoods.getOrderGoodsId());
- setGoodsName(orderGoods.getGoodsName());
- setGoodsType(orderGoods.getGoodsType());
- setBuyNum(orderGoods.getBuyNum());
+ orderGoods.setCycleNumFlag(1);
+ orderGoods.setGoodsType(2);
+ orderGoods.setGoodsName(sku.getTitle());
+ orderGoodsService.save(orderGoods);
+
+ consumerGoods.setConsumerGoodsId(IdUtils.simpleUUID());
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setOrderGoodsId(orderGoods.getOrderGoodsId());
+ consumerGoods.setGoodsName(sku.getTitle());
+ consumerGoods.setCycleNumFlag(1);
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsType(2);
+ consumerGoods.setSourceFrom(1);
+ consumerGoodsService.save(consumerGoods);
+
+ //生成返回
+ MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
+ merVerifyOrderVo.setOrderId(orderId);
+ merVerifyOrderVo.setOrderNo(order.getOrderNo());
+ merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
+ merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
+ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
+ merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
+ merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
+ merVerifyOrderVo.setPayMoney(order.getPayMoney());
+ merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
+ merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
+ add(new AppUserOrderGoodsPageVo() {{
+ setOrderGoodsId(orderGoods.getOrderGoodsId());
+ setGoodsName(orderGoods.getGoodsName());
+ setGoodsType(orderGoods.getGoodsType());
+ setBuyNum(orderGoods.getBuyNum());
+ }});
}});
- }});
- merVerifyOrderVo.setCreateTime(order.getCreateTime());
- merVerifyOrderVo.setPayTime(order.getPayTime());
- merVerifyOrderVo.setUseTime(order.getUseTime());
- merVerifyOrderVo.setPayType(order.getPayType());
- merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
- //根据支付方式返回应收金额和已收金额
- if (order.getPayType() == 1) {
- merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
- merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
- } else {
- merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
- if (order.getOfflinePayMoney() != null) {
- merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ merVerifyOrderVo.setCreateTime(order.getCreateTime());
+ merVerifyOrderVo.setPayTime(order.getPayTime());
+ merVerifyOrderVo.setUseTime(order.getUseTime());
+ merVerifyOrderVo.setPayType(order.getPayType());
+ merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+ //根据支付方式返回应收金额和已收金额
+ if (order.getPayType() == 1) {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+ merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
} else {
- merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+ if (order.getOfflinePayMoney() != null) {
+ merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ } else {
+ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ }
}
- }
- merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(merVerifyOrderVo.getReceiveMoney()));
- merVerifyOrderVo.setUserId(order.getUserId());
- merVerifyOrderVo.setUserName(member.getRealName());
- merVerifyOrderVo.setUserMobile(member.getMobile());
- merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
- //判断用户是否绑定 2023-09-05需求改变核销时绑定用户
- if (member.getBindingFlag() != 1) {
- //绑定商户
- AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
- appMemberBindingDto.setShopId(order.getShopId());
- appMemberBindingDto.setUserId(order.getUserId());
- appMemberBindingDto.setBindingFlag(1);
- if (order.getOrderFrom() == 1) {
- appMemberBindingDto.setBindingType(1);
- } else if (order.getOrderFrom() == 2) {
- appMemberBindingDto.setBindingType(2);
+ merVerifyOrderVo.setUnReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setUserId(order.getUserId());
+ merVerifyOrderVo.setUserName(member.getRealName());
+ merVerifyOrderVo.setUserMobile(member.getMobile());
+ merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
+ //判断用户是否绑定 2023-09-05需求改变核销时绑定用户
+ if (member.getBindingFlag() != 1) {
+ //绑定商户
+ AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
+ appMemberBindingDto.setShopId(order.getShopId());
+ appMemberBindingDto.setUserId(order.getUserId());
+ appMemberBindingDto.setBindingFlag(1);
+ if (order.getOrderFrom() == 1) {
+ appMemberBindingDto.setBindingType(1);
+ } else if (order.getOrderFrom() == 2) {
+ appMemberBindingDto.setBindingType(2);
+ }
+ remoteMemberService.updateMemberBinding(appMemberBindingDto);
+ order.setNewMemberFlag(1);
+ } else {
+ order.setNewMemberFlag(0);
}
- remoteMemberService.updateMemberBinding(appMemberBindingDto);
- order.setNewMemberFlag(1);
- } else {
- order.setNewMemberFlag(0);
- }
- this.saveOrUpdate(order);
- //更新用户积分和消费统计
- MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
- memberTotalChangeDto.setUserId(order.getUserId());
- // 如果存在积分兑换比例,则计算积分
- if (redisService.hasKey(SecurityConstant.PAY_MONEY_INTEGRAL)) {
- Integer moneyValue = redisService.getCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL);
- BigDecimal moneyValueBig = BigDecimal.valueOf(moneyValue);
- BigDecimal integralBig = moneyValueBig.multiply(order.getOnlinePayMoney()).setScale(0, BigDecimal.ROUND_HALF_UP);
- Integer integral = Integer.valueOf(integralBig.toString());
- if (integral > 0) {
- memberTotalChangeDto.setChangeIntegral(integral);
- memberTotalChangeDto.setTypeIntegral(1);
- memberTotalChangeDto.setOrderId(orderId);
- memberTotalChangeDto.setOrderNo(order.getOrderNo());
+ this.saveOrUpdate(order);
+ //更新用户积分和消费统计
+ MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+ memberTotalChangeDto.setUserId(order.getUserId());
+ // 如果存在积分兑换比例,则计算积分
+ if (redisService.hasKey(SecurityConstant.PAY_MONEY_INTEGRAL)) {
+ Integer moneyValue = redisService.getCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL);
+ BigDecimal moneyValueBig = BigDecimal.valueOf(moneyValue);
+ BigDecimal integralBig = moneyValueBig.multiply(order.getOnlinePayMoney()).setScale(0, BigDecimal.ROUND_HALF_UP);
+ Integer integral = Integer.valueOf(integralBig.toString());
+ if (integral > 0) {
+ memberTotalChangeDto.setChangeIntegral(integral);
+ memberTotalChangeDto.setTypeIntegral(1);
+ memberTotalChangeDto.setOrderId(orderId);
+ memberTotalChangeDto.setOrderNo(order.getOrderNo());
+ }
}
+ //更新消费时间
+ memberTotalChangeDto.setConsumeTime(nowTime);
+ remoteMemberService.changeMemberTotal(memberTotalChangeDto);
+ return merVerifyOrderVo;
+ }else{
+ //扣减剩余次数
+ OrderGoods orderGoods = orderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, order.getOrderId()));
+ ConsumerGoods consumerGoods = consumerGoodsService.getOne(new LambdaQueryWrapper<ConsumerGoods>().eq(ConsumerGoods::getOrderId, order.getOrderId()).eq(ConsumerGoods::getOrderGoodsId, orderGoods.getOrderGoodsId()));
+ consumerGoods.setUsedNum(consumerGoods.getUsedNum() + 1);
+ consumerGoods.setUseTime(new Date());
+ if(consumerGoods.getUsedNum() == consumerGoods.getServiceNum()){
+ consumerGoods.setCompleteTime(new Date());
+ }
+ consumerGoodsService.updateById(consumerGoods);
+ //生成返回
+ MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
+ merVerifyOrderVo.setOrderId(orderId);
+ merVerifyOrderVo.setOrderNo(order.getOrderNo());
+ merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
+ merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
+ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
+ merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
+ merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
+ merVerifyOrderVo.setPayMoney(order.getPayMoney());
+ merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
+ merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
+ add(new AppUserOrderGoodsPageVo() {{
+ setOrderGoodsId(orderGoods.getOrderGoodsId());
+ setGoodsName(orderGoods.getGoodsName());
+ setGoodsType(orderGoods.getGoodsType());
+ setBuyNum(orderGoods.getBuyNum());
+ }});
+ }});
+ merVerifyOrderVo.setCreateTime(order.getCreateTime());
+ merVerifyOrderVo.setPayTime(order.getPayTime());
+ merVerifyOrderVo.setUseTime(order.getUseTime());
+ merVerifyOrderVo.setPayType(order.getPayType());
+ merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+ //根据支付方式返回应收金额和已收金额
+ if (order.getPayType() == 1) {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+ merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
+ } else {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+ if (order.getOfflinePayMoney() != null) {
+ merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ } else {
+ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ }
+ }
+ merVerifyOrderVo.setUnReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setUserId(order.getUserId());
+ merVerifyOrderVo.setUserName(member.getRealName());
+ merVerifyOrderVo.setUserMobile(member.getMobile());
+ merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
+ return merVerifyOrderVo;
}
- //更新消费时间
- memberTotalChangeDto.setConsumeTime(nowTime);
- remoteMemberService.changeMemberTotal(memberTotalChangeDto);
- return merVerifyOrderVo;
}
@@ -2382,7 +2456,7 @@
Long shopId = merVerifyOrderDto.getShopId();
//获取核销商户
Shop shop = remoteShopService.getShop(shopId).getData();
- VerifyPrepareDataNew data = com.ruoyi.order.util.kuaishou.VerifyUtil.certificatePrepare(redisService, orderId);
+ VerifyPrepareDataNew data = KSVerifyUtil.certificatePrepare(redisService, orderId);
if (null == data) {
throw new ServiceException("查询券信息失败");
}
@@ -2395,20 +2469,32 @@
if(LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) > expire_time){
throw new ServiceException("优惠券已过期");
}
+ //商品信息
+ SkuTImesCard sku = certificatesItem.getSku();
+ if(null == sku.getTimes_count()){
+ Order one = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrder_id()));
+ if (null != one) {
+ throw new ServiceException("该快手券不能重复核销");
+ }
+ }
+
+ Member member = remoteMemberService.getMemberByMobile(phone).getData();
+ //绑定用户判断核销商户
+ if (member.getBindingFlag() == 1) {
+ if (!member.getRelationShopId().equals(shopId)) {
+ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
+ }
String encryptedCode = certificatesItem.getEncrypted_code();
- List<VerifyResult> items = com.ruoyi.order.util.kuaishou.VerifyUtil.certificateVerify(redisService, data.getVerify_token(), shop.getPoiId(), new ArrayList<String>() {{
+ List<VerifyResult> items = KSVerifyUtil.certificateVerify(redisService, data.getVerify_token(), shop.getKsPoiId(), new ArrayList<String>() {{
add(encryptedCode);
}}, data.getOrder_id());
if (null == items || items.isEmpty()) {
throw new ServiceException("快手券核销失败");
}
- Order one = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrder_id()));
- if (null != one) {
- throw new ServiceException("该快手券不能重复核销");
- }
- OpenApiQueryOrderDetailInfoV1 orderDetailInfoV1 = com.ruoyi.order.util.kuaishou.OrderUtil.queryOrderInfo(redisService, data.getOrder_id());
+ OpenApiQueryOrderDetailInfoV1 orderDetailInfoV1 = KSOrderUtil.queryOrderInfo(redisService, data.getOrder_id());
//原始金额
BigDecimal originAmount = BigDecimal.ZERO;
//支付金额
@@ -2423,149 +2509,197 @@
}
Date nowTime = new Date();
- Member member = remoteMemberService.getMemberByMobile(phone).getData();
- //开始添加订单数据
- Order order = new Order();
- order.setOrderId(IdUtils.fastSimpleUUID());
- order.setDelFlag(0);
- order.setOrderStatus(3);
- order.setOrderNo(CodeFactoryUtil.getShopOrderNo());
- order.setOrderFrom(7);
- order.setShopId(shopId);
- order.setUserId(member.getUserId());
- order.setOrderMoney(originAmount);
- order.setDiscountMoney(payDiscountAmount);
- order.setReceivableMoney(payAmount);
- order.setPayType(1);
- order.setPayMoney(payAmount);
- order.setOnlinePayMoney(payAmount);
- order.setOrderRemark("快手订单");
- order.setCreateTime(nowTime);
- order.setPayTime(nowTime);
- order.setTripartiteOrderId(data.getOrder_id());
-
- //绑定用户判断核销商户
- if (member.getBindingFlag() == 1) {
- if (!member.getRelationShopId().equals(shopId)) {
- throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
- }
- }
- order.setUseTime(nowTime);
- order.setUseUserId(merVerifyOrderDto.getUserId());
- order.setCloseFlag(1);
- this.save(order);
- //创建服务商品
- //获取商品信息(商品简介,调理问题)
- //商品信息
- SkuTImesCard sku = certificatesItem.getSku();
-
- OrderGoods orderGoods = new OrderGoods();
- orderGoods.setOrderGoodsId(IdUtils.simpleUUID());
- orderGoods.setDelFlag(0);
- orderGoods.setOrderId(order.getOrderId());
- orderGoods.setGoodsId(sku.getSku_id());
- orderGoods.setBuyNum(sku.getTimes_count());
- orderGoods.setCycleNumFlag(1);
- orderGoods.setServiceNum(sku.getTimes_count());
- orderGoods.setGoodsType(2);
- orderGoods.setGoodsName(sku.getTitle());
- orderGoodsService.save(orderGoods);
-
- ConsumerGoods consumerGoods = new ConsumerGoods();
- consumerGoods.setConsumerGoodsId(IdUtils.simpleUUID());
- consumerGoods.setDelFlag(0);
- consumerGoods.setServiceStatus(1);
- consumerGoods.setShopId(order.getShopId());
- consumerGoods.setUserId(order.getUserId());
- consumerGoods.setOrderId(orderId);
- consumerGoods.setGoodsId(sku.getSku_id());
- consumerGoods.setOrderGoodsId(orderGoods.getOrderGoodsId());
- consumerGoods.setGoodsName(sku.getTitle());
- consumerGoods.setCycleNumFlag(1);
- consumerGoods.setServiceNum(sku.getTimes_count());
- consumerGoods.setCreateTime(nowTime);
- consumerGoods.setGoodsType(2);
- consumerGoods.setSourceFrom(1);
- consumerGoodsService.save(consumerGoods);
- //生成返回
- MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
- merVerifyOrderVo.setOrderId(orderId);
- merVerifyOrderVo.setOrderNo(order.getOrderNo());
- merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
- merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
- merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
- merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
- merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
- merVerifyOrderVo.setPayMoney(order.getPayMoney());
- merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
- merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
- add(new AppUserOrderGoodsPageVo() {{
- setOrderGoodsId(orderGoods.getOrderGoodsId());
- setGoodsName(orderGoods.getGoodsName());
- setGoodsType(orderGoods.getGoodsType());
- setBuyNum(orderGoods.getBuyNum());
+ Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getTripartiteOrderId, data.getOrder_id()));
+ if(null == order){
+ //开始添加订单数据
+ order = new Order();
+ order.setOrderId(IdUtils.fastSimpleUUID());
+ order.setDelFlag(0);
+ order.setOrderStatus(3);
+ order.setOrderNo(CodeFactoryUtil.getShopOrderNo());
+ order.setOrderFrom(7);
+ order.setShopId(shopId);
+ order.setUserId(member.getUserId());
+ order.setOrderMoney(originAmount);
+ order.setDiscountMoney(payDiscountAmount);
+ order.setReceivableMoney(payAmount);
+ order.setPayType(1);
+ order.setPayMoney(payAmount);
+ order.setOnlinePayMoney(payAmount);
+ order.setOrderRemark("快手订单");
+ order.setCreateTime(nowTime);
+ order.setPayTime(nowTime);
+ order.setTripartiteOrderId(data.getOrder_id());
+ order.setUseTime(nowTime);
+ order.setUseUserId(merVerifyOrderDto.getUserId());
+ order.setCloseFlag(1);
+ this.save(order);
+ //创建服务商品
+ //获取商品信息(商品简介,调理问题)
+
+ OrderGoods orderGoods = new OrderGoods();
+ orderGoods.setOrderGoodsId(IdUtils.simpleUUID());
+ orderGoods.setDelFlag(0);
+ orderGoods.setOrderId(order.getOrderId());
+ orderGoods.setGoodsId(sku.getSku_id());
+ orderGoods.setBuyNum(sku.getTimes_count());
+ orderGoods.setCycleNumFlag(1);
+ orderGoods.setServiceNum(sku.getTimes_count());
+ orderGoods.setGoodsType(2);
+ orderGoods.setGoodsName(sku.getTitle());
+ orderGoodsService.save(orderGoods);
+
+ ConsumerGoods consumerGoods = new ConsumerGoods();
+ consumerGoods.setConsumerGoodsId(IdUtils.simpleUUID());
+ consumerGoods.setDelFlag(0);
+ consumerGoods.setServiceStatus(1);
+ consumerGoods.setShopId(order.getShopId());
+ consumerGoods.setUserId(order.getUserId());
+ consumerGoods.setOrderId(orderId);
+ consumerGoods.setGoodsId(sku.getSku_id());
+ consumerGoods.setOrderGoodsId(orderGoods.getOrderGoodsId());
+ consumerGoods.setGoodsName(sku.getTitle());
+ consumerGoods.setCycleNumFlag(1);
+ consumerGoods.setServiceNum(sku.getTimes_count());
+ consumerGoods.setUsedNum(1);
+ consumerGoods.setUseTime(new Date());
+ consumerGoods.setCreateTime(nowTime);
+ consumerGoods.setGoodsType(2);
+ consumerGoods.setSourceFrom(1);
+ consumerGoodsService.save(consumerGoods);
+ //生成返回
+ MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
+ merVerifyOrderVo.setOrderId(orderId);
+ merVerifyOrderVo.setOrderNo(order.getOrderNo());
+ merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
+ merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
+ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
+ merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
+ merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
+ merVerifyOrderVo.setPayMoney(order.getPayMoney());
+ merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
+ merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
+ add(new AppUserOrderGoodsPageVo() {{
+ setOrderGoodsId(orderGoods.getOrderGoodsId());
+ setGoodsName(orderGoods.getGoodsName());
+ setGoodsType(orderGoods.getGoodsType());
+ setBuyNum(orderGoods.getBuyNum());
+ }});
}});
- }});
- merVerifyOrderVo.setCreateTime(order.getCreateTime());
- merVerifyOrderVo.setPayTime(order.getPayTime());
- merVerifyOrderVo.setUseTime(order.getUseTime());
- merVerifyOrderVo.setPayType(order.getPayType());
- merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
- //根据支付方式返回应收金额和已收金额
- if (order.getPayType() == 1) {
- merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
- merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
- } else {
- merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
- if (order.getOfflinePayMoney() != null) {
- merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ merVerifyOrderVo.setCreateTime(order.getCreateTime());
+ merVerifyOrderVo.setPayTime(order.getPayTime());
+ merVerifyOrderVo.setUseTime(order.getUseTime());
+ merVerifyOrderVo.setPayType(order.getPayType());
+ merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+ //根据支付方式返回应收金额和已收金额
+ if (order.getPayType() == 1) {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+ merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
} else {
- merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+ if (order.getOfflinePayMoney() != null) {
+ merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ } else {
+ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ }
}
- }
- merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(merVerifyOrderVo.getReceiveMoney()));
- merVerifyOrderVo.setUserId(order.getUserId());
- merVerifyOrderVo.setUserName(member.getRealName());
- merVerifyOrderVo.setUserMobile(member.getMobile());
- merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
- //判断用户是否绑定 2023-09-05需求改变核销时绑定用户
- if (member.getBindingFlag() != 1) {
- //绑定商户
- AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
- appMemberBindingDto.setShopId(order.getShopId());
- appMemberBindingDto.setUserId(order.getUserId());
- appMemberBindingDto.setBindingFlag(1);
- if (order.getOrderFrom() == 1) {
- appMemberBindingDto.setBindingType(1);
- } else if (order.getOrderFrom() == 2) {
- appMemberBindingDto.setBindingType(2);
+ merVerifyOrderVo.setUnReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setUserId(order.getUserId());
+ merVerifyOrderVo.setUserName(member.getRealName());
+ merVerifyOrderVo.setUserMobile(member.getMobile());
+ merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
+ //判断用户是否绑定 2023-09-05需求改变核销时绑定用户
+ if (member.getBindingFlag() != 1) {
+ //绑定商户
+ AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
+ appMemberBindingDto.setShopId(order.getShopId());
+ appMemberBindingDto.setUserId(order.getUserId());
+ appMemberBindingDto.setBindingFlag(1);
+ if (order.getOrderFrom() == 1) {
+ appMemberBindingDto.setBindingType(1);
+ } else if (order.getOrderFrom() == 2) {
+ appMemberBindingDto.setBindingType(2);
+ }
+ remoteMemberService.updateMemberBinding(appMemberBindingDto);
+ order.setNewMemberFlag(1);
+ } else {
+ order.setNewMemberFlag(0);
}
- remoteMemberService.updateMemberBinding(appMemberBindingDto);
- order.setNewMemberFlag(1);
- } else {
- order.setNewMemberFlag(0);
- }
- this.saveOrUpdate(order);
- //更新用户积分和消费统计
- MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
- memberTotalChangeDto.setUserId(order.getUserId());
- // 如果存在积分兑换比例,则计算积分
- if (redisService.hasKey(SecurityConstant.PAY_MONEY_INTEGRAL)) {
- Integer moneyValue = redisService.getCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL);
- BigDecimal moneyValueBig = BigDecimal.valueOf(moneyValue);
- BigDecimal integralBig = moneyValueBig.multiply(order.getOnlinePayMoney()).setScale(0, BigDecimal.ROUND_HALF_UP);
- Integer integral = Integer.valueOf(integralBig.toString());
- if (integral > 0) {
- memberTotalChangeDto.setChangeIntegral(integral);
- memberTotalChangeDto.setTypeIntegral(1);
- memberTotalChangeDto.setOrderId(orderId);
- memberTotalChangeDto.setOrderNo(order.getOrderNo());
+ this.saveOrUpdate(order);
+ //更新用户积分和消费统计
+ MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+ memberTotalChangeDto.setUserId(order.getUserId());
+ // 如果存在积分兑换比例,则计算积分
+ if (redisService.hasKey(SecurityConstant.PAY_MONEY_INTEGRAL)) {
+ Integer moneyValue = redisService.getCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL);
+ BigDecimal moneyValueBig = BigDecimal.valueOf(moneyValue);
+ BigDecimal integralBig = moneyValueBig.multiply(order.getOnlinePayMoney()).setScale(0, BigDecimal.ROUND_HALF_UP);
+ Integer integral = Integer.valueOf(integralBig.toString());
+ if (integral > 0) {
+ memberTotalChangeDto.setChangeIntegral(integral);
+ memberTotalChangeDto.setTypeIntegral(1);
+ memberTotalChangeDto.setOrderId(orderId);
+ memberTotalChangeDto.setOrderNo(order.getOrderNo());
+ }
}
+ //更新消费时间
+ memberTotalChangeDto.setConsumeTime(nowTime);
+ remoteMemberService.changeMemberTotal(memberTotalChangeDto);
+ return merVerifyOrderVo;
+ }else{
+ //扣减剩余次数
+ OrderGoods orderGoods = orderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, order.getOrderId()));
+ ConsumerGoods consumerGoods = consumerGoodsService.getOne(new LambdaQueryWrapper<ConsumerGoods>().eq(ConsumerGoods::getOrderId, order.getOrderId()).eq(ConsumerGoods::getOrderGoodsId, orderGoods.getOrderGoodsId()));
+ consumerGoods.setUsedNum(consumerGoods.getUsedNum() + 1);
+ consumerGoods.setUseTime(new Date());
+ if(consumerGoods.getUsedNum() == consumerGoods.getServiceNum()){
+ consumerGoods.setCompleteTime(new Date());
+ }
+ consumerGoodsService.updateById(consumerGoods);
+ //生成返回
+ MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
+ merVerifyOrderVo.setOrderId(orderId);
+ merVerifyOrderVo.setOrderNo(order.getOrderNo());
+ merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
+ merVerifyOrderVo.setOrderFrom(order.getOrderFrom());
+ merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
+ merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
+ merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
+ merVerifyOrderVo.setPayMoney(order.getPayMoney());
+ merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
+ merVerifyOrderVo.setAppUserOrderGoodsPageVoList(new ArrayList<AppUserOrderGoodsPageVo>() {{
+ add(new AppUserOrderGoodsPageVo() {{
+ setOrderGoodsId(orderGoods.getOrderGoodsId());
+ setGoodsName(orderGoods.getGoodsName());
+ setGoodsType(orderGoods.getGoodsType());
+ setBuyNum(orderGoods.getBuyNum());
+ }});
+ }});
+ merVerifyOrderVo.setCreateTime(order.getCreateTime());
+ merVerifyOrderVo.setPayTime(order.getPayTime());
+ merVerifyOrderVo.setUseTime(order.getUseTime());
+ merVerifyOrderVo.setPayType(order.getPayType());
+ merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+ //根据支付方式返回应收金额和已收金额
+ if (order.getPayType() == 1) {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+ merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
+ } else {
+ merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+ if (order.getOfflinePayMoney() != null) {
+ merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+ } else {
+ merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+ }
+ }
+ merVerifyOrderVo.setUnReceiveMoney(BigDecimal.ZERO);
+ merVerifyOrderVo.setUserId(order.getUserId());
+ merVerifyOrderVo.setUserName(member.getRealName());
+ merVerifyOrderVo.setUserMobile(member.getMobile());
+ merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
+ return merVerifyOrderVo;
}
- //更新消费时间
- memberTotalChangeDto.setConsumeTime(nowTime);
- remoteMemberService.changeMemberTotal(memberTotalChangeDto);
- return merVerifyOrderVo;
+
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/VerifyUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/VerifyUtil.java
index d051b03..9ae2dff 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/VerifyUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/VerifyUtil.java
@@ -37,9 +37,14 @@
String encryptedData = "";
if(302 == status){
String location = execute.header("Location");
- location = location.substring(location.indexOf("object_id=") + 1);
- location = location.substring(0, location.indexOf("&"));
- encryptedData = location;
+ location = location.substring(location.indexOf("?") + 1);
+ String[] split = location.split("&");
+ for (String s : split) {
+ if(s.contains("object_id")){
+ encryptedData = s.split("=")[1];
+ break;
+ }
+ }
}
Config config = new Config().setClientKey(DouyinConfig.CLIENT_KEY).setClientSecret(DouyinConfig.CLIENT_SECRET); // 改成自己的app_id跟secret
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/ClientTokenUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSClientTokenUtil.java
similarity index 96%
rename from ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/ClientTokenUtil.java
rename to ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSClientTokenUtil.java
index aaf9801..cd2bfda 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/ClientTokenUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSClientTokenUtil.java
@@ -17,7 +17,7 @@
*/
@Slf4j
@Component
-public class ClientTokenUtil {
+public class KSClientTokenUtil {
/**
@@ -38,8 +38,10 @@
throw new RuntimeException(e);
}
} catch (TeaException e) {
+ e.printStackTrace();
System.out.println(e.getMessage());
} catch (Exception e) {
+ e.printStackTrace();
System.out.println(e.getMessage());
}
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/OrderUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSOrderUtil.java
similarity index 82%
rename from ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/OrderUtil.java
rename to ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSOrderUtil.java
index 50d4a7a..e864494 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/OrderUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSOrderUtil.java
@@ -15,7 +15,7 @@
* @Date 2025/6/11 18:58
*/
@Slf4j
-public class OrderUtil {
+public class KSOrderUtil {
/**
@@ -25,10 +25,11 @@
*/
public static OpenApiQueryOrderDetailInfoV1 queryOrderInfo(RedisService redisService, String order_id) {
//判断token是否过期
- Object ks_access_token = redisService.getCacheObject("ks_access_token");
+// Object ks_access_token = redisService.getCacheObject("ks_access_token");
+ Object ks_access_token = "ChFvYXV0aC5hY2Nlc3NUb2tlbhIw2wStpH_xKVvdiMW3FC-K5jaDZuWrAE-s_Snu40VKs7D-Syd_cVWqZO_y9APvkvVUGhLOP4f6O_NIH5dNtHtm_4-XE8QiIFE-h8UpEf22Wbcrj4qUb_zFeGnZHgwa6rj1h6QVbrQFKAUwAQ";
if(null == ks_access_token){
//刷新token
- com.ruoyi.order.util.kuaishou.ClientTokenUtil.refreshToken(redisService);
+ com.ruoyi.order.util.kuaishou.KSClientTokenUtil.refreshToken(redisService);
ks_access_token = redisService.getCacheObject("ks_access_token");
}
String access_token = ks_access_token.toString();
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/VerifyUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSVerifyUtil.java
similarity index 86%
rename from ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/VerifyUtil.java
rename to ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSVerifyUtil.java
index f353c07..653ea9c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/VerifyUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSVerifyUtil.java
@@ -19,7 +19,7 @@
* @Date 2025/6/16 10:28
*/
@Slf4j
-public class VerifyUtil {
+public class KSVerifyUtil {
/**
@@ -29,10 +29,11 @@
*/
public static VerifyPrepareDataNew certificatePrepare(RedisService redisService, String code){
//判断token是否过期
- Object ks_access_token = redisService.getCacheObject("ks_access_token");
+// Object ks_access_token = redisService.getCacheObject("ks_access_token");
+ Object ks_access_token = "ChFvYXV0aC5hY2Nlc3NUb2tlbhIw2wStpH_xKVvdiMW3FC-K5jaDZuWrAE-s_Snu40VKs7D-Syd_cVWqZO_y9APvkvVUGhLOP4f6O_NIH5dNtHtm_4-XE8QiIFE-h8UpEf22Wbcrj4qUb_zFeGnZHgwa6rj1h6QVbrQFKAUwAQ";
if(null == ks_access_token){
//刷新token
- ClientTokenUtil.refreshToken(redisService);
+ KSClientTokenUtil.refreshToken(redisService);
ks_access_token = redisService.getCacheObject("ks_access_token");
}
String access_token = ks_access_token.toString();
@@ -71,10 +72,11 @@
*/
public static List<VerifyResult> certificateVerify(RedisService redisService, String verify_token, String poiId, List<String> encryptedCodes, String order_id){
//判断token是否过期
- Object ks_access_token = redisService.getCacheObject("ks_access_token");
+// Object ks_access_token = redisService.getCacheObject("ks_access_token");
+ Object ks_access_token = "ChFvYXV0aC5hY2Nlc3NUb2tlbhIw2wStpH_xKVvdiMW3FC-K5jaDZuWrAE-s_Snu40VKs7D-Syd_cVWqZO_y9APvkvVUGhLOP4f6O_NIH5dNtHtm_4-XE8QiIFE-h8UpEf22Wbcrj4qUb_zFeGnZHgwa6rj1h6QVbrQFKAUwAQ";
if(null == ks_access_token){
//刷新token
- ClientTokenUtil.refreshToken(redisService);
+ KSClientTokenUtil.refreshToken(redisService);
ks_access_token = redisService.getCacheObject("ks_access_token");
}
String access_token = ks_access_token.toString();
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSWebHookController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSWebHookController.java
index 592cdf2..9dbe599 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSWebHookController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/kuaishou/KSWebHookController.java
@@ -30,7 +30,7 @@
@GetMapping("/webhook")
public void orderWebHook(String code, String state) {
log.info("快手webhook回调,code:{},state:{}", code, state);
- ClientTokenUtil.getClientToken(redisService, code);
+ KSClientTokenUtil.getClientToken(redisService, code);
}
--
Gitblit v1.7.1