1
0

RealtimeSalesDetectionServiceImpl.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.kmall.admin.service.impl;
  2. import com.kmall.admin.dao.OrderDao;
  3. import com.kmall.admin.entity.RealtimeSalesDetection;
  4. import com.kmall.admin.service.RealtimeSalesDetectionService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.math.BigDecimal;
  8. import java.util.Date;
  9. import java.util.Map;
  10. /**
  11. * @author hhq
  12. * @version 1.0.0
  13. * 2020/6/16
  14. */
  15. @Service
  16. public class RealtimeSalesDetectionServiceImpl implements RealtimeSalesDetectionService {
  17. @Autowired
  18. OrderDao orderDao;
  19. @Override
  20. public RealtimeSalesDetection queryRealtimeSales(Map realtimeSalesDetection) {
  21. RealtimeSalesDetection r = orderDao.queryRealtimeSales(realtimeSalesDetection);
  22. if(r!=null && r.getGuestNumber()>0){
  23. //计算优惠损失 销售额-实际销售额
  24. // r.setPreferentialLoss(r.getTotalSales().subtract(r.getActualSales()));
  25. if(null !=r.getTotalCost() && (new BigDecimal(0)!=r.getTotalCost()) && null !=r.getActualSales()){
  26. //计算毛利 实际销售额-总成本
  27. r.setGrossProfit(r.getActualSales().subtract(r.getTotalCost()));
  28. //计算毛利率 总成本/实际销售额
  29. r.setGrossProfitRatio(r.getGrossProfit().divide(r.getActualSales(), 2, BigDecimal.ROUND_HALF_UP));
  30. }
  31. //计算客单价
  32. r.setGuestUnitPrice(r.getActualSales().divide(new BigDecimal(r.getGuestNumber()),2).setScale(2,BigDecimal.ROUND_HALF_UP));
  33. //时区-13小时
  34. Date lastSalesTime = r.getLastSalesTime();
  35. lastSalesTime.setTime(r.getLastSalesTime().getTime() - 13*60*60*1000);
  36. r.setLastSalesTime(lastSalesTime);
  37. }
  38. return r;
  39. }
  40. }