addShopStat($params); return $result; } /** * 商品增加收藏量 * @param $params */ public function addGoodsCollectStat($params){ $stat_model = new Stat(); $result = $stat_model->addShopStat($params); return $result; } /** * 增加访问数 * @param $params */ public function addGoodsVisit($params){ $member_id = $params['member_id'] ?? 0; $goods_id = $params['goods_id'] ?? 0; $data = array( 'site_id' => $params['site_id'], 'goods_visit_count' => 1 ); $stat_model = new Stat(); $time_region = getDayStartAndEndTime(); $today_start_time = $time_region['start_time']; $today_end_time = $time_region['end_time']; if($goods_id > 0){ $goods_browse_condition = array( ['goods_id', '=', $goods_id], ['browse_time', 'between', [$today_start_time, $today_end_time]], ); $info = model('goods_browse')->getInfo($goods_browse_condition); if(empty($info)){ $data['goods_visited_type_count'] = 1; } } if($member_id > 0){ $member_browse_condition = array( ['member_id', '=', $member_id], ['browse_time', 'between', [$today_start_time, $today_end_time]], ); $info = model('goods_browse')->getInfo($member_browse_condition); if(empty($info)){ $data['goods_visit_member_count'] = 1; } } $result = $stat_model->addShopStat($data); return $result; } /** * 商品上架商品统计 * @param $params */ public function addGoodsOnStat($params){ $site_id = $params['site_id']; //查询当前的已上架商品 $goods_on_condition = array( ['goods_state', '=', 1], ['is_delete', '=', 0], ['site_id', '=', $site_id] ); $count = model('goods')->getCount($goods_on_condition); $carbon = Carbon::now(); $condition = [ ['site_id', '=', $site_id], ['year', '=', $carbon->year], ['month', '=', $carbon->month], ['day', '=', $carbon->day], ['goods_on_type_count', '>', 0] ]; $info = model('stat_shop')->getInfo($condition, 'goods_on_type_count') ?? []; $o_count = $info['goods_on_type_count'] ?? 0; $data = [ 'site_id' => $site_id, ]; $diff_count = $count - $o_count; if($diff_count != 0){ $data['goods_on_type_count'] = $diff_count; $stat_model = new Stat(); $result = $stat_model->addShopStat($data); return $result; } } /** * 销售额统计 * @param $params * @return array */ public function getGoodsOrderMoneyStat($params){ $start_time = $params['start_time']; $end_time = $params['end_time']; $condition = array( ['o.create_time', 'between', [$start_time, $end_time]], ['o.pay_status', '=', 1] ); $site_id = $params['site_id'] ?? 0; if($site_id > 0){ $condition[] = ['o.site_id', '=', $site_id]; } $alias = 'og'; $join = [ [ 'order o', 'o.order_id = og.order_id', 'inner' ], ]; $list = model('order_goods')->getList($condition, 'sum(og.goods_money) as total_money, og.sku_name, og.goods_id, og.sku_id, og.sku_image', 'total_money desc', $alias, $join, 'og.goods_id', $params['limit']); return $this->success($list); } /** * 销售量统计 * @param $params * @return array */ public function getGoodsOrderNumStat($params){ $start_time = $params['start_time']; $end_time = $params['end_time']; $condition = array( ['o.create_time', 'between', [$start_time, $end_time]], ['o.pay_status', '=', 1] ); $site_id = $params['site_id'] ?? 0; if($site_id > 0){ $condition[] = ['o.site_id', '=', $site_id]; } $alias = 'og'; $join = [ [ 'order o', 'o.order_id = og.order_id', 'inner' ], ]; $list = model('order_goods')->getList($condition, 'sum(og.num) as total_num, og.sku_name, og.goods_id, og.sku_id, og.sku_image', 'total_num desc', $alias, $join, 'og.goods_id', $params['limit']); return $this->success($list); } }