|
@@ -106,6 +106,8 @@ import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.*;
|
|
|
@Slf4j
|
|
|
public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@Resource
|
|
|
private IntegralMapper integralMapper;//add by ben 20240411
|
|
|
|
|
@@ -864,15 +866,16 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
return payOrderId;//返回支付订单ID
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.MEMBER_PAY)
|
|
|
- //下面的参数中的id1为交易订单TradeOrder表的id,已经没用了,因为一个支付订单对应多个订单。
|
|
|
//只有支付订单id参数payOrderId是有用的。
|
|
|
- public void updateOrderPaid(Long id1, Long payOrderId) {
|
|
|
+ public List updateOrderPaid(Long payOrderId) {
|
|
|
|
|
|
// System.out.println("#########updateOrderPaid####payOrderId:"+payOrderId);
|
|
|
|
|
|
+ List rs = new ArrayList();
|
|
|
+
|
|
|
//查询订单提成比例
|
|
|
QueryWrapper<OrderPercentageDO> queryWrapper = new QueryWrapper<>();
|
|
|
OrderPercentageDO orderPercentageDO = orderPercentageMapper.selectOne(queryWrapper);//表中只有一条记录
|
|
@@ -881,7 +884,8 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
*/
|
|
|
String grossProfitPerc = orderPercentageDO.getGrossProfitPerc();
|
|
|
|
|
|
-
|
|
|
+ Integer allTradeOrderTotalPrice = 0;//所有订单的总金额
|
|
|
+ Long allTradeOrderTotalFreezeAmount = 0l;//所有订单用户总的冻结积分
|
|
|
|
|
|
/**
|
|
|
* 购物本人自得 百分比
|
|
@@ -894,6 +898,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
for(TradeOrderDO tradeOrderDO:TradeOrderDOList) {
|
|
|
|
|
|
Long tradeOrderId = tradeOrderDO.getId();
|
|
|
+ allTradeOrderTotalPrice+=tradeOrderDO.getTotalPrice();
|
|
|
|
|
|
// System.out.println("#########updateOrderPaid####tradeOrderId:"+tradeOrderId);
|
|
|
|
|
@@ -972,12 +977,36 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
|
|
String OrderNum =order.getNo();
|
|
|
integralService.updateUserIntegral(tradeOrderDO.getUserId(), CaclEnum.ORDER_GET_FREEZE_INTEGRAL, 0l,totalFreezeAmount,tradeOrderId,OrderNum);
|
|
|
|
|
|
+ allTradeOrderTotalFreezeAmount+=totalFreezeAmount;//用户获得总的待确权冻结积分
|
|
|
|
|
|
// 发送给微信消息给系统用户待发货消息
|
|
|
sentWcChatMessage(order);
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //自得身价计算
|
|
|
+ double orderUserSocialStatus = Double.parseDouble(orderPercentageDO.getOrderUserSocialStatus());//获得身价百分比
|
|
|
+ Double newSocialStatus = allTradeOrderTotalPrice * orderUserSocialStatus / 100;//用户获取的待确权身价值
|
|
|
+
|
|
|
+
|
|
|
+ rs.add(allTradeOrderTotalFreezeAmount);
|
|
|
+ rs.add(newSocialStatus);
|
|
|
+
|
|
|
+ return rs;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.MEMBER_PAY)
|
|
|
+ //下面的参数中的id1为交易订单TradeOrder表的id,已经没用了,因为一个支付订单对应多个订单。
|
|
|
+ //只有支付订单id参数payOrderId是有用的。
|
|
|
+ public void updateOrderPaid(Long id1, Long payOrderId) {
|
|
|
+
|
|
|
+ log.error("[TradeOrderUpdateServiceImpl.updateOrderPaid]###微信回调(现在程序什么也没干):[payOrderId({}) ,TradeOrderId({})]"+new Date(),
|
|
|
+ payOrderId, id1);
|
|
|
+
|
|
|
+ //updateOrderPaid( payOrderId);
|
|
|
}
|
|
|
|
|
|
private void sentWcChatMessage(TradeOrderDO order){
|