123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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;
- }
- }
|