Parcourir la source

fix 抽奖积分记录

zoujiajian il y a 3 ans
Parent
commit
25143c6a44

+ 4 - 4
netflix-service/src/main/java/com/cyksj/service/market/MarketFrontService.java

@@ -11,10 +11,10 @@ public interface MarketFrontService {
 
 	SignUser getUserSignDetail(Long userId);
 
-    /**
-     * 记录积分明细,发放积分
-     */
-    void pointsRecord(Long userId, Integer points, String remark);
+	/**
+	 * 记录积分明细,发放积分
+	 */
+	void pointsRecord(Long userId, Integer points, String remark, Boolean isLottery);
 
 	LuckyDrawView lottery(Long userId);
 

+ 10 - 7
netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

@@ -134,17 +134,20 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 	}
 
 	@Override
-	public void pointsRecord(Long userId, Integer points, String remark) {
+	public void pointsRecord(Long userId, Integer points, String remark, Boolean isLottery) {
 		UserPointsRecord userPointsRecord = new UserPointsRecord();
 		userPointsRecord.setUserId(userId);
 		userPointsRecord.setPoints(points);
 		userPointsRecord.setRemark(remark);
 		userPointsRecordMapper.insert(userPointsRecord);
 
-		//发放爱心
-		userPointsRecordMapper.updateUserPoints(userId, points);
+		if (!isLottery) {
+			//发放爱心
+			userPointsRecordMapper.updateUserPoints(userId, points);
+		}
 	}
 
+
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public LuckyDrawView lottery(Long userId) {
@@ -159,7 +162,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 		if (sub != 1) {
 			throw BusinessRuntimeException.getInstance("积分不足");
 		}
-		pointsRecord(userId, -subPoints.intValue(), PointsRecordConst.POINTS_LOTTERY);
+		pointsRecord(userId, -subPoints.intValue(), PointsRecordConst.POINTS_LOTTERY, true);
 		List<LuckyDrawView> drawViews = beanSearcher.searchAll(LuckyDrawView.class, MapUtils.builder()
 				.field(LuckyDrawView::getStatus, true).op(Operator.Equal)
 				.orderBy(LuckyDrawView::getProbability).asc()
@@ -188,7 +191,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 		LuckyDrawRecord record = new LuckyDrawRecord();
 		BeanUtil.copyProperties(luckyDraw, record, "status");
 		if (luckyDraw.getType() == LuckyDraw.Type.points) {
-			pointsRecord(userId, luckyDraw.getPoints(), PointsRecordConst.LOTTERY);
+			pointsRecord(userId, luckyDraw.getPoints(), PointsRecordConst.LOTTERY, false);
 			record.setStatus(LuckyDrawRecord.Status.success);
 		} else if (luckyDraw.getType() == LuckyDraw.Type.coupon) {
 			//发放优惠券
@@ -286,7 +289,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 		if (data.getCouponId() != null && data.getCouponId() != 0) {
 			couponCommonService.sendCouponToUser(userId, data.getCouponId(), null, null, null, CouponUser.Channel.task);
 		}
-		pointsRecord(userId, data.getPoints(), PointsRecordConst.TASK);
+		pointsRecord(userId, data.getPoints(), PointsRecordConst.TASK, false);
 		//改变状态
 		TaskUserCompleteRecord record = new TaskUserCompleteRecord();
 		record.setId(data.getTaskCompleteRecordId());
@@ -345,7 +348,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 				points = signConfigMapper.selectOne(Wrappers.lambdaQuery(SignConfig.class)
 						.orderByAsc(SignConfig::getId).last("limit 1")).getMaxPoints();
 			}
-			pointsRecord(signUser.getUserId(), points, PointsRecordConst.SIGN);
+			pointsRecord(signUser.getUserId(), points, PointsRecordConst.SIGN, false);
 		}
 	}