123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace app\store\model;
- use app\common\model\RefundGoodsStatistics as RefundGoodsStatisticsModel;
- /**
- * 退款商品统计模型
- * @package app\store\model
- */
- class RefundGoodsStatistics extends RefundGoodsStatisticsModel
- {
- /**
- * 获取列表
- * @param $param
- * @return mixed
- */
- public function getList($param = [])
- {
- $model = $this->setQueryFilter($param);
- return $model->alias('r')
- ->field('sum(r.refund_amount) as refund_amount_total,sum(r.refund_num) as refund_num_total,r.goods_id,g.goods_price_min,g.goods_name,g.goods_no')
- ->leftJoin('goods g', 'g.goods_id=r.goods_id')
- ->group('r.goods_id')
- ->order('r.goods_id desc')
- ->paginate(15);
- }
- /**
- * 检索查询条件
- * @param array $param
- * @return \think\db\BaseQuery
- */
- private function setQueryFilter(array $param)
- {
- // 实例化查询对象
- $query = $this->getNewQuery();
- // 查询参数
- $params = $this->setQueryDefaultValue($param, []);
- // 起止时间
- if (!empty($params['betweenTime'])) {
- $times = between_time($params['betweenTime']);
- } else {
- $weekday = date('w')-1;
- $times['start_time'] = strtotime(date('Y-m-d',strtotime("-{$weekday} day"))) ;//当前星期的星期一
- $times['end_time'] = time();
- }
- $filter[] = ["r.start_time", '>=', $times['start_time']];
- $filter[] = ["r.end_time", '<=', $times['end_time']];
- $query->where($filter);
- return $query;
- }
- /**
- * 导出记录
- */
- public function export(array $param)
- {
- $data['header'] = ['商品ID', '商品编码', '退款商品名称', '商品单价(元)','退款件数', '退款金额(元)'];
- $data['filename'] = '退款商品统计导出';
- $data['data'] = [];
- $model = $this->setQueryFilter($param);
- $list = $model->alias('r')
- ->field('sum(r.refund_amount) as refund_amount_total,sum(r.refund_num) as refund_num_total,r.goods_id,g.goods_price_min,g.goods_name,g.goods_no')
- ->leftJoin('goods g', 'g.goods_id=r.goods_id')
- ->group('r.goods_id')
- ->order('r.goods_id desc')
- ->select();
- foreach ($list as $arr){
- $new_list['goods_id'] = $arr['goods_id'];
- $new_list['goods_no'] = $arr['goods_no'];
- $new_list['goods_name'] = $arr['goods_name'];
- $new_list['goods_price_min'] = $arr['goods_price_min'];
- $new_list['refund_num_total'] = $arr['refund_num_total'];
- $new_list['refund_amount_total'] = $arr['refund_amount_total'];
- $data['data'][] = $new_list;
- }
- return $data;
- }
-
- }
|