zoujiajian 1 tahun lalu
induk
melakukan
984f4f30c1

+ 19 - 4
netflix-service/src/main/java/com/cyksj/service/mange/usermirror/impl/UserMirrorCommonServiceImpl.java

@@ -4,10 +4,7 @@ import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
-import com.cyksj.mapper.mirrorshop.UserMirrorShopApplyRecordMapper;
-import com.cyksj.mapper.mirrorshop.UserMirrorShopDistributeMoneyApplyMapper;
-import com.cyksj.mapper.mirrorshop.UserMirrorShopFeeOrderDonMapper;
-import com.cyksj.mapper.mirrorshop.UserMirrorShopMapper;
+import com.cyksj.mapper.mirrorshop.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.UserMirrorShopInfoApplyReq;
@@ -47,6 +44,8 @@ public class UserMirrorCommonServiceImpl implements UserMirrorCommonService {
 
 	private final OrderRefundService orderRefundService;
 
+	private final UserMirrorShopDistributeWaitingSendPointsMapper waitingSendPointsMapper;
+
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public void verifyApplyMoney(DistributeApplyMoneyReq distributeApplyMoneyReq) {
@@ -127,6 +126,22 @@ public class UserMirrorCommonServiceImpl implements UserMirrorCommonService {
 			userMirrorShopMapper.updateById(userMirrorShop);
 		}
 		userMirrorShopFeeOrderDonMapper.updateById(orderDon);
+
+		//扣除提成
+		UserMirrorShopDistributeWaitingSendPoints waitingSendPoints = waitingSendPointsMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShopDistributeWaitingSendPoints.class)
+				.eq(UserMirrorShopDistributeWaitingSendPoints::getUserId, orderDon.getUserId())
+				.eq(UserMirrorShopDistributeWaitingSendPoints::getType, 2)
+				.last("limit 1"));
+		if (waitingSendPoints != null) {
+			if (waitingSendPoints.getSendStatus() == UserMirrorShopDistributeWaitingSendPoints.Status.waiting) {
+				waitingSendPoints.setSendStatus(UserMirrorShopDistributeWaitingSendPoints.Status.close);
+				waitingSendPointsMapper.updateById(waitingSendPoints);
+			} else if (waitingSendPoints.getSendStatus() == UserMirrorShopDistributeWaitingSendPoints.Status.success) {
+				waitingSendPoints.setRefundMoney(waitingSendPoints.getMoney());
+				userBenefitsService.deductUserMirrorShopTakeMoney(waitingSendPoints.getOrderId(), waitingSendPoints.getShopUserId(), waitingSendPoints.getMoney());
+				waitingSendPointsMapper.updateById(waitingSendPoints);
+			}
+		}
 	}
 
 	@Override