diff --git a/src/main/java/com/m2pool/lease/dto/v2/MachineInfoDto.java b/src/main/java/com/m2pool/lease/dto/v2/MachineInfoDto.java index 0b9ff72..4fb435f 100644 --- a/src/main/java/com/m2pool/lease/dto/v2/MachineInfoDto.java +++ b/src/main/java/com/m2pool/lease/dto/v2/MachineInfoDto.java @@ -98,4 +98,7 @@ public class MachineInfoDto { @ApiModelProperty(value = "店铺售价集合") private List priceList; + + @ApiModelProperty(value = "是否在购物车中") + private Boolean inCart; } diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java index 25162d5..d10fd5f 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java @@ -61,6 +61,9 @@ public class LeaseMachineServiceImpl extends ServiceImpl().eq(LeaseShop::getUserEmail, SecurityUtils.getUsername()) .eq(LeaseShop::getDel, false)); @@ -101,6 +104,26 @@ public class LeaseMachineServiceImpl extends ServiceImpl pageInfo = new PageInfo<>(machineInfoDtoList); //获取gpu和asic对应币种算力和月收益信息 PageResult success = setGpuAndAsicInfo(PageResult.successColumns(machineInfoDtoList),shopMachineVo); + + //查询用户购物车中的矿机 + String userId = SecurityUtils.getUsername(); + if (StringUtils.isNotEmpty(userId)) { + List cartItems = leaseShoppingCartInfoMapper.selectList( + new LambdaQueryWrapper() + .eq(LeaseShoppingCartInfo::getUserId, userId) + .eq(LeaseShoppingCartInfo::getVersion, 1) // 新版本购物车 + ); + // 收集购物车中的矿机ID + Set cartMachineIds = cartItems.stream() + .map(LeaseShoppingCartInfo::getProductMachineId) + .collect(Collectors.toSet()); + + // 设置购物车标识 + for (MachineInfoDto machine : success.getRows()) { + machine.setInCart(cartMachineIds.contains(machine.getId())); + } + } + success.setTotal(pageInfo.getTotal()); success.setTotalPage(pageInfo.getPages()); PageHelper.clearPage();