|
@@ -30,6 +30,7 @@ import com.qs.mp.common.utils.RSAUtil;
|
|
|
import com.qs.mp.user.domain.UserHitPrize;
|
|
|
import com.qs.mp.user.domain.UserPrizeStorage;
|
|
|
import com.qs.mp.user.domain.UserTicketOrder;
|
|
|
+import com.qs.mp.user.domain.UserTicketOrderItem;
|
|
|
import com.qs.mp.user.domain.vo.UserHitPrizeVO;
|
|
|
import com.qs.mp.user.domain.vo.UserPrizeStorageVO;
|
|
|
import com.qs.mp.user.service.IUserPrizeStorageService;
|
|
@@ -225,14 +226,13 @@ public class TicketBoxMgrController extends BaseApiController {
|
|
|
userHitPrizeCoinVOList.forEach(v -> coinCost.updateAndGet(v1 -> v1 + v.getValue() * 10));
|
|
|
|
|
|
// 盲票关联商品成本
|
|
|
- int ticketBoxGodsCost = 0;
|
|
|
- List<TicketBoxGoodsVO> ticketBoxGoodsVOS = ticketBoxGoodsService.listByQueryWrapper(new QueryWrapper<TicketBoxGoods>().eq("box_id", box.getBoxId()));
|
|
|
- if (CollectionUtils.isNotEmpty(ticketBoxGoodsVOS)) {
|
|
|
- ticketBoxGodsCost += ticketBoxGoodsVOS.get(0).getCost() * userhitPrizeVOList.size();
|
|
|
- }
|
|
|
+ List<UserPrizeStorageVO> storageTicketGoods = userPrizeStorageService.listTicketGoodsCost(new QueryWrapper<UserTicketOrderItem>().eq("t2.box_id", box.getBoxId())
|
|
|
+ .eq("t1.in_type",PrizeStorageInTypeEnum.TICKET_GOODS.getValue()));
|
|
|
+ int allTicketBoxGoodsCost = storageTicketGoods.stream().mapToInt(UserPrizeStorageVO::getCost).sum();
|
|
|
+ int hasDistributedTicketBoxGoodsCost = storageTicketGoods.stream().filter(v -> PrizeStorageStatusEnum.HAS_DISTRIBUTED.equals(v.getStatus())).mapToInt(UserPrizeStorageVO::getCost).sum();
|
|
|
Integer payAmt = boxGrossProfit != null ? boxGrossProfit.getPayAmt() : 0;
|
|
|
- box.setRealTimeGrossProfit(payAmt - commAmt - hasDistributedPrizeGoodsCost - recoveryGoodsCost - couponCost.get() - coinCost.get() - ticketBoxGodsCost);
|
|
|
- box.setFinalGrossProfit(payAmt - commAmt - notDistributedPrizeGoodsCost - hasDistributedPrizeGoodsCost - recoveryGoodsCost - couponCost.get() - coinCost.get() - ticketBoxGodsCost);
|
|
|
+ box.setRealTimeGrossProfit(payAmt - commAmt - hasDistributedPrizeGoodsCost - recoveryGoodsCost - couponCost.get() - coinCost.get() - hasDistributedTicketBoxGoodsCost);
|
|
|
+ box.setFinalGrossProfit(payAmt - commAmt - notDistributedPrizeGoodsCost - hasDistributedPrizeGoodsCost - recoveryGoodsCost - couponCost.get() - coinCost.get() - allTicketBoxGoodsCost);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/update")
|