Commit d8781a63 authored by shiyu's avatar shiyu

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

parent eeb2edaa
...@@ -6,6 +6,9 @@ import java.text.DecimalFormat; ...@@ -6,6 +6,9 @@ import java.text.DecimalFormat;
public class PriceUtil { public class PriceUtil {
public static String convertPriceFenToYuan(Long rawPrice) { public static String convertPriceFenToYuan(Long rawPrice) {
if (rawPrice == null) {
return "0";
}
BigDecimal price = new BigDecimal(rawPrice).divide(new BigDecimal("100")); BigDecimal price = new BigDecimal(rawPrice).divide(new BigDecimal("100"));
DecimalFormat df = new DecimalFormat("#0.00"); DecimalFormat df = new DecimalFormat("#0.00");
String str = df.format(price); String str = df.format(price);
......
...@@ -34,6 +34,7 @@ import java.math.BigDecimal; ...@@ -34,6 +34,7 @@ import java.math.BigDecimal;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
...@@ -305,9 +306,15 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -305,9 +306,15 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
Instant startInstant = now.toInstant().plus(Duration.ofDays(1)); Instant startInstant = now.toInstant().plus(Duration.ofDays(1));
Date previewStartTime = Date.from(startInstant); 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(); SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo); EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setLot(specialPerformanceConfig.getLot());
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(specialPerformanceConfig.getCurrentPrice()));
supplierItemVo.setItemId(supplierItem.getId()); supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice())); supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice())); supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
...@@ -317,12 +324,12 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -317,12 +324,12 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setRebate(supplierItem.getRebate().toPlainString() + "%"); supplierItemVo.setRebate(supplierItem.getRebate().toPlainString() + "%");
//竞拍商品需要展示当前价 //竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) { 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) { if (lastedRecord != null && lastedRecord.getPrice() != null) {
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice())); supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice()));
} else { } else {
supplierItemVo.setCurrentPrice("0"); supplierItemVo.setCurrentPrice("0");
} }*/
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId()); AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
supplierItemVo.setAuctionStartTime(auctionConfig.getStartTime()); supplierItemVo.setAuctionStartTime(auctionConfig.getStartTime());
supplierItemVo.setRealEndTime(auctionConfig.getRealEndTime()); supplierItemVo.setRealEndTime(auctionConfig.getRealEndTime());
...@@ -349,7 +356,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService ...@@ -349,7 +356,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
supplierItemVo.setOfferNum(count); supplierItemVo.setOfferNum(count);
} }
supplierItemVos.add(supplierItemVo); supplierItemVos.add(supplierItemVo);
}); }
resultMap.put("dataList", PageSearchResult.of(pageInfo, supplierItemVos)); resultMap.put("dataList", PageSearchResult.of(pageInfo, supplierItemVos));
resultMap.put("startTime", specialPerformance.getStartTime()); resultMap.put("startTime", specialPerformance.getStartTime());
resultMap.put("endTime", specialPerformance.getEndTime()); 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