|
@@ -62,7 +62,12 @@ public class GoodsDonController {
|
|
|
* 获取商品列表
|
|
* 获取商品列表
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get")
|
|
@GetMapping("/get")
|
|
|
- public Result<SearchResult<GoodsDon>> get() {
|
|
|
|
|
|
|
+ public Result<SearchResult<GoodsDon>> get(Boolean isLogin) {
|
|
|
|
|
+ Long userId = null;
|
|
|
|
|
+ if (isLogin != null && isLogin) {
|
|
|
|
|
+ userId = StpUserUtil.getLoginIdAsLong();
|
|
|
|
|
+ }
|
|
|
|
|
+ final Long fUid = userId;
|
|
|
SearchResult<GoodsDon> search = beanSearcher.search(GoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
SearchResult<GoodsDon> search = beanSearcher.search(GoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.field(GoodsDon::getStatus, true)
|
|
.field(GoodsDon::getStatus, true)
|
|
|
.field(GoodsDon::getDeleted, true)
|
|
.field(GoodsDon::getDeleted, true)
|
|
@@ -81,6 +86,13 @@ public class GoodsDonController {
|
|
|
goods.setSoldNum(goods.getVirtualSold() + orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
|
|
goods.setSoldNum(goods.getVirtualSold() + orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
.eq(OrderDon::getGoodsId, goods.getId())
|
|
.eq(OrderDon::getGoodsId, goods.getId())
|
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus)));
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus)));
|
|
|
|
|
+ if (fUid != null) {
|
|
|
|
|
+ //设置特定价格
|
|
|
|
|
+ if (!isPaySpecificGoodsIds(sku.getSpecificGoodsIds(), fUid)) {
|
|
|
|
|
+ sku.setSpecificGoodsIds(null);
|
|
|
|
|
+ sku.setSpecificPrice(null);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
@@ -493,15 +505,28 @@ public class GoodsDonController {
|
|
|
if (isPaySpecificGoodsIds(specificGoodsIdsStr, fUid)) {
|
|
if (isPaySpecificGoodsIds(specificGoodsIdsStr, fUid)) {
|
|
|
BigDecimal specificPrice = data.getSpecificPrice();
|
|
BigDecimal specificPrice = data.getSpecificPrice();
|
|
|
BigDecimal skuSpecificPrice = specificSku.getSpecificPrice();
|
|
BigDecimal skuSpecificPrice = specificSku.getSpecificPrice();
|
|
|
|
|
+ Long specificSkuId = specificSku.getId();
|
|
|
if (specificPrice == null) {
|
|
if (specificPrice == null) {
|
|
|
data.setSpecificPrice(skuSpecificPrice);
|
|
data.setSpecificPrice(skuSpecificPrice);
|
|
|
|
|
+ data.setSpecificSkuId(specificSkuId);
|
|
|
data.setMonths(specificSku.getMonths());
|
|
data.setMonths(specificSku.getMonths());
|
|
|
} else if (specificPrice.compareTo(skuSpecificPrice) > 0) {
|
|
} else if (specificPrice.compareTo(skuSpecificPrice) > 0) {
|
|
|
data.setSpecificPrice(skuSpecificPrice);
|
|
data.setSpecificPrice(skuSpecificPrice);
|
|
|
|
|
+ data.setSpecificSkuId(specificSkuId);
|
|
|
data.setMonths(specificSku.getMonths());
|
|
data.setMonths(specificSku.getMonths());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
+ List<GoodsDonSkuFrontView> skuList = data.getSkuList();
|
|
|
|
|
+ if (CollUtil.isNotEmpty(skuList)) {
|
|
|
|
|
+ skuList.forEach(sku->{
|
|
|
|
|
+ //设置特定价格
|
|
|
|
|
+ if (!isPaySpecificGoodsIds(sku.getSpecificGoodsIds(), fUid)) {
|
|
|
|
|
+ sku.setSpecificGoodsIds(null);
|
|
|
|
|
+ sku.setSpecificPrice(null);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|