|
|
@@ -159,6 +159,104 @@ class BasicPanel extends Controller
|
|
|
return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 禁止挂网省份统计
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-02-10
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function get_violation_province_count(request $request, ViolationProductModel $violationProductModel)
|
|
|
+ {
|
|
|
+ $request->scene('get_violation_province_count')->validate();
|
|
|
+ $admin_company_id = request('admin_company_id', '0');
|
|
|
+ $company_id = request('access_token.company_id', '0');
|
|
|
+ $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ $yesterdayStart = Carbon::yesterday()->startOfDay()->getTimestamp(); // 昨天开始时间 00:00:00
|
|
|
+ $yesterdayEnd = Carbon::yesterday()->endOfDay()->getTimestamp(); // 昨天结束时间 23:59:59
|
|
|
+ $start_time_string = request('start_time', '');
|
|
|
+ $end_time_string = request('end_time', '');
|
|
|
+ $start_time = $start_time_string ? strtotime($start_time_string . ' 00:00:00') : $yesterdayStart;
|
|
|
+ $end_time = $end_time_string ? strtotime($end_time_string . ' 23:59:59') : $yesterdayEnd;
|
|
|
+ $todayStart = Carbon::today()->startOfDay()->getTimestamp(); // 今天开始时间 00:00:00
|
|
|
+ // if ($start_time > $todayStart || $end_time > $todayStart) return json_send(['code' => 'error', 'msg' => '不支持查询今天或以后时间', 'data' => '']);
|
|
|
+ // 时间条件
|
|
|
+ $map = [];
|
|
|
+ if ($start_time) $map[] = ['insert_time', '>=', $start_time];
|
|
|
+ if ($end_time) $map[] = ['insert_time', '<=', $end_time];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $map[] = ['company_id', '=', $company_id];
|
|
|
+ } else {
|
|
|
+ $map[] = ['company_id', '=', $admin_company_id];
|
|
|
+ }
|
|
|
+ // 禁止挂网省份统计
|
|
|
+ // 获取省份字段并按数量分组统计
|
|
|
+ try {
|
|
|
+ // 假设 ViolationProductModel 中有 province 字段,表示省份信息
|
|
|
+ // 查询指定时间范围内的数据,并按 province 分组统计数量
|
|
|
+ $result = ViolationProductModel::where($map)->where('status', 0)
|
|
|
+ ->select(['province_name', DB::raw('count(province_name) as count')])
|
|
|
+ ->groupby('province_name')
|
|
|
+ ->orderby('count', 'desc')
|
|
|
+ ->get();
|
|
|
+ return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败:' . $e->getMessage()]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 禁止挂网城市统计
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-02-10
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function get_violation_city_count(request $request, ViolationProductModel $violationProductModel)
|
|
|
+ {
|
|
|
+ $request->scene('get_violation_city_count')->validate();
|
|
|
+ $admin_company_id = request('admin_company_id', '0');
|
|
|
+ $company_id = request('access_token.company_id', '0');
|
|
|
+ $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ $yesterdayStart = Carbon::yesterday()->startOfDay()->getTimestamp(); // 昨天开始时间 00:00:00
|
|
|
+ $yesterdayEnd = Carbon::yesterday()->endOfDay()->getTimestamp(); // 昨天结束时间 23:59:59
|
|
|
+ $start_time_string = request('start_time', '');
|
|
|
+ $end_time_string = request('end_time', '');
|
|
|
+ $start_time = $start_time_string ? strtotime($start_time_string . ' 00:00:00') : $yesterdayStart;
|
|
|
+ $end_time = $end_time_string ? strtotime($end_time_string . ' 23:59:59') : $yesterdayEnd;
|
|
|
+ $todayStart = Carbon::today()->startOfDay()->getTimestamp(); // 今天开始时间 00:00:00
|
|
|
+ // if ($start_time > $todayStart || $end_time > $todayStart) return json_send(['code' => 'error', 'msg' => '不支持查询今天或以后时间', 'data' => '']);
|
|
|
+ // 时间条件
|
|
|
+ $map = [];
|
|
|
+ if ($start_time) $map[] = ['insert_time', '>=', $start_time];
|
|
|
+ if ($end_time) $map[] = ['insert_time', '<=', $end_time];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $map[] = ['company_id', '=', $company_id];
|
|
|
+ } else {
|
|
|
+ $map[] = ['company_id', '=', $admin_company_id];
|
|
|
+ }
|
|
|
+ // 禁止挂网城市统计
|
|
|
+ // 获取城市字段并按数量分组统计
|
|
|
+ try {
|
|
|
+ // 假设 ViolationProductModel 中有 city 字段,表示城市信息
|
|
|
+ // 查询指定时间范围内的数据,并按 city 分组统计数量
|
|
|
+ $result = ViolationProductModel::where($map)->where('status', 0)
|
|
|
+ ->select(['city_name', DB::raw('count(city_name) as count')])
|
|
|
+ ->groupby('city_name')
|
|
|
+ ->orderby('count', 'desc')
|
|
|
+ ->get();
|
|
|
+ return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败:' . $e->getMessage()]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 禁止挂网公司数统计
|
|
|
* @author 唐远望
|
|
|
@@ -274,4 +372,98 @@ class BasicPanel extends Controller
|
|
|
->paginate($limit);
|
|
|
return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 低价挂网省份统计
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-02-10
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function get_low_price_province_count(request $request, LowPriceGoodsModel $LowPriceGoodsModel)
|
|
|
+ {
|
|
|
+ $request->scene('get_low_price_province_count')->validate();
|
|
|
+ $admin_company_id = request('admin_company_id', '0');
|
|
|
+ $company_id = request('access_token.company_id', '0');
|
|
|
+ $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ $yesterdayStart = Carbon::yesterday()->startOfDay()->getTimestamp(); // 昨天开始时间 00:00:00
|
|
|
+ $yesterdayEnd = Carbon::yesterday()->endOfDay()->getTimestamp(); // 昨天结束时间 23:59:59
|
|
|
+ $start_time_string = request('start_time', '');
|
|
|
+ $end_time_string = request('end_time', '');
|
|
|
+ $start_time = $start_time_string ? strtotime($start_time_string . ' 00:00:00') : $yesterdayStart;
|
|
|
+ $end_time = $end_time_string ? strtotime($end_time_string . ' 23:59:59') : $yesterdayEnd;
|
|
|
+ $todayStart = Carbon::today()->startOfDay()->getTimestamp(); // 今天开始时间 00:00:00
|
|
|
+ // if ($start_time > $todayStart || $end_time > $todayStart) return json_send(['code' => 'error', 'msg' => '不支持查询今天或以后时间', 'data' => '']);
|
|
|
+ // 时间条件
|
|
|
+ $map = [];
|
|
|
+ if ($start_time) $map[] = ['insert_time', '>=', $start_time];
|
|
|
+ if ($end_time) $map[] = ['insert_time', '<=', $end_time];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $map[] = ['company_id', '=', $company_id];
|
|
|
+ } else {
|
|
|
+ $map[] = ['company_id', '=', $admin_company_id];
|
|
|
+ }
|
|
|
+ // 禁止挂网省份统计
|
|
|
+ // 获取省份字段并按数量分组统计
|
|
|
+ try {
|
|
|
+ // 假设 LowPriceGoodsModel 中有 province 字段,表示省份信息
|
|
|
+ // 查询指定时间范围内的数据,并按 province 分组统计数量
|
|
|
+ $result = LowPriceGoodsModel::where($map)->where('status', 0)
|
|
|
+ ->select(['province_name', DB::raw('count(province_name) as count')])
|
|
|
+ ->groupby('province_name')
|
|
|
+ ->orderby('count', 'desc')
|
|
|
+ ->get();
|
|
|
+ return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败:' . $e->getMessage()]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 低价挂网城市统计
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-02-10
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function get_low_price_city_count(request $request, LowPriceGoodsModel $LowPriceGoodsModel)
|
|
|
+ {
|
|
|
+ $request->scene('get_low_price_city_count')->validate();
|
|
|
+ $admin_company_id = request('admin_company_id', '0');
|
|
|
+ $company_id = request('access_token.company_id', '0');
|
|
|
+ $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ $yesterdayStart = Carbon::yesterday()->startOfDay()->getTimestamp(); // 昨天开始时间 00:00:00
|
|
|
+ $yesterdayEnd = Carbon::yesterday()->endOfDay()->getTimestamp(); // 昨天结束时间 23:59:59
|
|
|
+ $start_time_string = request('start_time', '');
|
|
|
+ $end_time_string = request('end_time', '');
|
|
|
+ $start_time = $start_time_string ? strtotime($start_time_string . ' 00:00:00') : $yesterdayStart;
|
|
|
+ $end_time = $end_time_string ? strtotime($end_time_string . ' 23:59:59') : $yesterdayEnd;
|
|
|
+ $todayStart = Carbon::today()->startOfDay()->getTimestamp(); // 今天开始时间 00:00:00
|
|
|
+ // if ($start_time > $todayStart || $end_time > $todayStart) return json_send(['code' => 'error', 'msg' => '不支持查询今天或以后时间', 'data' => '']);
|
|
|
+ // 时间条件
|
|
|
+ $map = [];
|
|
|
+ if ($start_time) $map[] = ['insert_time', '>=', $start_time];
|
|
|
+ if ($end_time) $map[] = ['insert_time', '<=', $end_time];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $map[] = ['company_id', '=', $company_id];
|
|
|
+ } else {
|
|
|
+ $map[] = ['company_id', '=', $admin_company_id];
|
|
|
+ }
|
|
|
+ // 禁止挂网城市统计
|
|
|
+ // 获取城市字段并按数量分组统计
|
|
|
+ try {
|
|
|
+ // 假设 LowPriceGoodsModel 中有 city 字段,表示城市信息
|
|
|
+ // 查询指定时间范围内的数据,并按 city 分组统计数量
|
|
|
+ $result = LowPriceGoodsModel::where($map)->where('status', 0)
|
|
|
+ ->select(['city_name', DB::raw('count(city_name) as count')])
|
|
|
+ ->groupby('city_name')
|
|
|
+ ->orderby('count', 'desc')
|
|
|
+ ->get();
|
|
|
+ return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败:' . $e->getMessage()]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|