12.2.2 服务层

接口


import java.util.List;
import java.util.Map;

public interface PublisherService {
    /*
    查询总数
     */
    long getDauTotal(String date);
    /*
    查询小时明细

    相比数据层, 我们把数据结构做下调整, 更方便使用
     */
    Map getDauHour(String date);

   // 以下为新增
    /**
     * 销售额总数
     * @param date
     * @return
     */
    double getOrderAmountTotal(String date);

    /**
     * 获取销售额小时明细
     * @param date
     * @return
     */
    Map getOrderAmountHour(String date);
}

实现


import com.atguigu.gmall0225publisher2.mapper.DauMapper;
import com.atguigu.gmall0225publisher2.mapper.OrderMapper;
import org.apache.commons.collections.map.HashedMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Author lzc
 * @Date 2019/8/27 4:03 PM
 */
@Service  // 必须添加 Service 注解
public class PublisherServiceImpl implements PublisherService {
    /*自动注入 DauMapper 对象*/
    @Autowired
    DauMapper dauMapper;


    @Override
    public long getDauTotal(String date) {
        return dauMapper.getDauTotal(date);
    }

    @Override
    public Map getDauHour(String date) {
        List<Map> dauHourList = dauMapper.getDauHour(date);

        Map dauHourMap = new HashedMap();
        for (Map map : dauHourList) {
            String hour = (String)map.get("LOGHOUR");
            Long count = (Long) map.get("COUNT");
            dauHourMap.put(hour, count);
        }

        return dauHourMap;
    }

    // 以下为新增
    @Autowired
    OrderMapper orderMapper;
    @Override
    public double getOrderAmountTotal(String date) {
        return orderMapper.getOrderAmountTotal(date);
    }

    @Override
    public Map getOrderAmountHour(String date) {
        List<Map> orderAmountHour = orderMapper.getOrderAmountHour(date);

        Map<String, BigDecimal> orderHourAmountMap = new HashMap<>();
        for (Map map : orderAmountHour) {
            String hour = (String) map.get("CREATE_HOUR");
            BigDecimal amount = (BigDecimal)map.get("SUM");
            orderHourAmountMap.put(hour, amount);
        }

        return orderHourAmountMap;
    }
}
Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-10-08 23:56:19

results matching ""

    No results matching ""