Commit d8781a63 authored by shiyu's avatar shiyu

修改查询专场商品列表排序的逻辑,价格单位转换空值处理

parent eeb2edaa
......@@ -6,6 +6,9 @@ import java.text.DecimalFormat;
public class PriceUtil {
public static String convertPriceFenToYuan(Long rawPrice) {
if (rawPrice == null) {
return "0";
}
BigDecimal price = new BigDecimal(rawPrice).divide(new BigDecimal("100"));
DecimalFormat df = new DecimalFormat("#0.00");
String str = df.format(price);
......
......@@ -34,6 +34,7 @@ import java.math.BigDecimal;
import java.time.Duration;
import java.time.Instant;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
......@@ -305,9 +306,15 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
Instant startInstant = now.toInstant().plus(Duration.ofDays(1));
Date previewStartTime = Date.from(startInstant);
supplierItemList.forEach(supplierItem -> {
Map<Long, SupplierItem> supplierItemMap = supplierItemList.stream().collect(Collectors.toMap(SupplierItem::getId, Function.identity()));
for (SpecialPerformanceConfig specialPerformanceConfig : list) {
long itemId = specialPerformanceConfig.getItemId();
SupplierItem supplierItem = supplierItemMap.get(itemId);
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setLot(specialPerformanceConfig.getLot());
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(specialPerformanceConfig.getCurrentPrice()));
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
......@@ -317,12 +324,12 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setRebate(supplierItem.getRebate().toPlainString() + "%");
//竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
AuctionRecord lastedRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
/* AuctionRecord lastedRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
if (lastedRecord != null && lastedRecord.getPrice() != null) {
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice()));
} else {
supplierItemVo.setCurrentPrice("0");
}
}*/
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
supplierItemVo.setAuctionStartTime(auctionConfig.getStartTime());
supplierItemVo.setRealEndTime(auctionConfig.getRealEndTime());
......@@ -349,7 +356,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setOfferNum(count);
}
supplierItemVos.add(supplierItemVo);
});
}
resultMap.put("dataList", PageSearchResult.of(pageInfo, supplierItemVos));
resultMap.put("startTime", specialPerformance.getStartTime());
resultMap.put("endTime", specialPerformance.getEndTime());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment