package com.kmall.admin.service.impl; import com.kmall.admin.dao.OrderDao; import com.kmall.admin.entity.RealtimeSalesDetection; import com.kmall.admin.service.RealtimeSalesDetectionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; import java.util.Map; /** * @author hhq * @version 1.0.0 * 2020/6/16 */ @Service public class RealtimeSalesDetectionServiceImpl implements RealtimeSalesDetectionService { @Autowired OrderDao orderDao; @Override public RealtimeSalesDetection queryRealtimeSales(Map realtimeSalesDetection) { RealtimeSalesDetection r = orderDao.queryRealtimeSales(realtimeSalesDetection); if(r!=null && r.getGuestNumber()>0){ //计算优惠损失 销售额-实际销售额 // r.setPreferentialLoss(r.getTotalSales().subtract(r.getActualSales())); if(null !=r.getTotalCost() && (new BigDecimal(0)!=r.getTotalCost()) && null !=r.getActualSales()){ //计算毛利 实际销售额-总成本 r.setGrossProfit(r.getActualSales().subtract(r.getTotalCost())); //计算毛利率 总成本/实际销售额 r.setGrossProfitRatio(r.getGrossProfit().divide(r.getActualSales(), 2, BigDecimal.ROUND_HALF_UP)); } //计算客单价 r.setGuestUnitPrice(r.getActualSales().divide(new BigDecimal(r.getGuestNumber()),2).setScale(2,BigDecimal.ROUND_HALF_UP)); //时区-13小时 Date lastSalesTime = r.getLastSalesTime(); lastSalesTime.setTime(r.getLastSalesTime().getTime() - 13*60*60*1000); r.setLastSalesTime(lastSalesTime); } return r; } }