From 6da09d93fdc3b365cae5c9e6154534904e10a90c Mon Sep 17 00:00:00 2001
From: axindata <1851789500@qq.com>
Date: Mon, 17 Feb 2025 14:15:26 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=B8=93=E5=8C=BA=E7=9A=84?=
=?UTF-8?q?=E5=AE=9E=E7=8E=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../buy507/mall/mapper/OmsOrderMapper.java | 6 ++-
.../com/buy507/mall/mapper/OmsOrderMapper.xml | 10 ++++
.../impl/OmsPortalOrderServiceImpl.java | 49 ++++++++++++++-----
3 files changed, 52 insertions(+), 13 deletions(-)
diff --git a/mall-dao/src/main/java/com/buy507/mall/mapper/OmsOrderMapper.java b/mall-dao/src/main/java/com/buy507/mall/mapper/OmsOrderMapper.java
index ad93814..24e4801 100644
--- a/mall-dao/src/main/java/com/buy507/mall/mapper/OmsOrderMapper.java
+++ b/mall-dao/src/main/java/com/buy507/mall/mapper/OmsOrderMapper.java
@@ -4,6 +4,8 @@ import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.OmsOrderExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
public interface OmsOrderMapper {
long countByExample(OmsOrderExample example);
@@ -27,4 +29,6 @@ public interface OmsOrderMapper {
int updateByPrimaryKeySelective(OmsOrder record);
int updateByPrimaryKey(OmsOrder record);
-}
\ No newline at end of file
+
+
+ int selectPointsAreaStatus(@Param("orderSn") String orderSn);}
\ No newline at end of file
diff --git a/mall-dao/src/main/resources/com/buy507/mall/mapper/OmsOrderMapper.xml b/mall-dao/src/main/resources/com/buy507/mall/mapper/OmsOrderMapper.xml
index 3ed83ab..8b06498 100644
--- a/mall-dao/src/main/resources/com/buy507/mall/mapper/OmsOrderMapper.xml
+++ b/mall-dao/src/main/resources/com/buy507/mall/mapper/OmsOrderMapper.xml
@@ -874,4 +874,14 @@
settlement_time = #{settlementTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
+
+
\ No newline at end of file
diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java
index 14f2c91..f44d611 100644
--- a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java
+++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java
@@ -1775,23 +1775,45 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
//TODO
try {
//verifyResult = true;//AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType); mcoo
- verifyResult = AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType);
+ verifyResult = AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType);
if (verifyResult) {
// 签名验证通过
//String tradeStatus = params.get("trade_status"); 支付宝改版后 没有trade_status
String outTradeNo = params.get("out_trade_no");
//if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
- // 处理支付成功的业务逻辑
- OmsOrderExample example = new OmsOrderExample();
- example.createCriteria().andOrderSnEqualTo(outTradeNo);
- List list = orderMapper.selectByExample(example);
- if(list != null && !list.isEmpty()) {
- OmsOrder order = list.get(0);
+ // 处理支付成功的业务逻辑
+ OmsOrderExample example = new OmsOrderExample();
+ example.createCriteria().andOrderSnEqualTo(outTradeNo);
+ List list = orderMapper.selectByExample(example);
+ if (list != null && !list.isEmpty()) {
+ OmsOrder order = list.get(0);
+
+ //获取积分专区状态
+ int pointsAreaStatus = orderMapper.selectPointsAreaStatus(outTradeNo);
+ //如果是积分专区的商品则进行积分专区相对应的逻辑
+ if (pointsAreaStatus == 1) {
+ //奖励积分是购买的价格的100%
+ BigDecimal rewardPoints = order.getPayAmount();
+ // 获取用户信息
+ UmsMember member = memberMapper.selectByPrimaryKey(order.getMemberId());
+ // 增加用户积分
+ if (member != null) {
+
+ if (member.getIntegration() == null) {
+ member.setIntegration(rewardPoints.intValue());
+ } else {
+ member.setIntegration(member.getIntegration() + rewardPoints.intValue());
+ }
+
+ // 更新用户积分
+ memberMapper.updateByPrimaryKey(member);
+
+ }
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
if (order != null && order.getStatus() == 0) {
Date date = new Date();
//提货方式:0->自提;1->物流
- if(order.getDeliveryType() == 0) {
+ if (order.getDeliveryType() == 0) {
order.setStatus(2); //已发货
} else {
order.setStatus(1); //待发货
@@ -1801,6 +1823,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
order.setModifyTime(date);
order.setPaymentTime(date);
orderMapper.updateByPrimaryKey(order);
+
+
/**
* 会员分润,升级逻辑
*/
@@ -1809,12 +1833,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
}
}
}
- //}
+ }
- } catch (AlipayApiException e) {
- e.printStackTrace();
+ } catch(AlipayApiException e){
+ e.printStackTrace();
+ }
}
- }
+
public List outOrderInfo() { //优化mcoo
UmsMemberOrderQueueExample example = new UmsMemberOrderQueueExample();
--
2.36.6