StatisticsBaseController.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <?php
  2. namespace App\Http\Controllers\Statistics;
  3. use Illuminate\Routing\Controller as BaseController;
  4. use Illuminate\Support\Facades\Auth;
  5. use Illuminate\Support\Facades\View;
  6. /**
  7. * web端前台系统控制器基类
  8. * Class StatisticsBaseController
  9. * @package App\Http\Controllers\Web
  10. */
  11. class StatisticsBaseController extends BaseController
  12. {
  13. protected function sendSuccessResponse($data = [])
  14. {
  15. $responseData['message']='OK';
  16. $responseData['data']=$data;
  17. return response()->json($responseData);
  18. }
  19. protected function sendErrorResponse($message, $data = [], $status = 400)
  20. {
  21. $responseData['message']=$message;
  22. $responseData['errors']=$data;
  23. return response()->json($responseData)->setStatusCode($status);
  24. }
  25. /**
  26. * 显示信息页面
  27. * @param $message
  28. * @param $jump_url
  29. * @param bool $is_error
  30. * @param string $return_page_name
  31. * @param int $count_down
  32. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  33. */
  34. protected function showMessage($message, $jump_url, $is_error = false, $return_page_name = "上一页", $count_down = 10)
  35. {
  36. return view('app.show_message', compact(['message', 'jump_url', 'is_error', 'return_page_name', 'count_down']));
  37. }
  38. /**
  39. * 平板查询失败页面
  40. * @param $message
  41. * @param $jump_url
  42. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  43. */
  44. protected function notFount($message)
  45. {
  46. return view('app.hardware.pad.notfound', compact(['message']));
  47. }
  48. protected function putSeoData($key, $value)
  49. {
  50. $unset_keys=['username', 'password', 'remember_token'];
  51. foreach ($unset_keys as $unset_key) {
  52. unset($value[$unset_key]);
  53. }
  54. $seo_data=View::shared('seo_data', []);
  55. $seo_data[$key]=$value;
  56. View::share('seo_data', $seo_data);
  57. }
  58. /**
  59. * @return \Illuminate\Contracts\Auth\Authenticatable|null
  60. */
  61. protected function getLoginUser()
  62. {
  63. if (Auth::guard('web-statistics')->check()) {
  64. return Auth::guard('web-statistics')->user();
  65. }
  66. return null;
  67. }
  68. //日期过滤
  69. public function getDateDetail($params)
  70. {
  71. if (array_has($params, 'starttime')) {
  72. $start_date = $params['starttime'];
  73. } else {
  74. $sdate = date('Y-m-01', strtotime(date("Y-m-d")));
  75. $start_date = session('caiqing_start_date', $sdate);
  76. }
  77. if (array_has($params, 'endtime')) {
  78. $end_date = $params['endtime'];
  79. } else {
  80. $end_date = session('caiqing_end_date', date('Y-m-d'));
  81. }
  82. session(['caiqing_start_date' => $start_date]);
  83. session(['caiqing_end_date' => $end_date]);
  84. return [
  85. 'start_date' => $start_date,
  86. 'end_date' => $end_date
  87. ];
  88. }
  89. //获取对比时间
  90. public function getCompareDate($params)
  91. {
  92. $start_date = '';
  93. $end_date = '';
  94. if (array_has($params, 'start_date')) {
  95. $start_date = $params['start_date'];
  96. } else {
  97. $start_date = session('caiqing_compare_start_date', null);
  98. }
  99. if (array_has($params, 'end_date')) {
  100. $end_date = $params['end_date'];
  101. } else {
  102. $end_date = session('caiqing_compare_end_date', null);
  103. }
  104. if (!$start_date && !$end_date) {
  105. $start_date = null;
  106. $sdate = date('Y-m-01', time());
  107. $edate = date('Y-m-d', time());
  108. $end_date = $sdate.' - '.$edate; //月初 - 当前时间
  109. }
  110. session(['caiqing_compare_start_date' => $start_date]);
  111. session(['caiqing_compare_end_date' => $end_date]);
  112. $compare_start_date_arr = array();
  113. $compare_end_date_arr = array();
  114. if ($start_date) {
  115. $compare_start_date_arr = explode(' - ', $start_date);
  116. }
  117. if ($end_date) {
  118. $compare_end_date_arr = explode(' - ', $end_date);
  119. }
  120. return array(
  121. 'start_date_arr' => $compare_start_date_arr,
  122. 'end_date_arr' => $compare_end_date_arr,
  123. 'compare_start_date' => $start_date,
  124. 'compare_end_date' => $end_date,
  125. );
  126. }
  127. //时间过滤条件
  128. public function getDateParams($params)
  129. {
  130. //判断是否有时间过滤,没有则选择读取session中的时间值,session没有值时读取当前年月时间
  131. if (array_has($params, 'start_year')) {
  132. $start_year = $params['start_year'];
  133. } else {
  134. $start_year = session('caiqing_start_year', date('Y'));
  135. }
  136. if (array_has($params, 'start_mouth')) {
  137. $start_month = $params['start_mouth'];
  138. } else {
  139. $start_month = session('caiqing_start_month', date('m'));
  140. }
  141. if (array_has($params, 'end_year')) {
  142. $end_year = $params['end_year'];
  143. } else {
  144. $end_year = session('caiqing_end_year', date('Y'));
  145. }
  146. if (array_has($params, 'end_mouth')) {
  147. $end_month = $params['end_mouth'];
  148. } else {
  149. $end_month = session('caiqing_end_month', date('m'));
  150. }
  151. if (array_has($params, 'starttime')) {
  152. $start_date = $params['starttime'];
  153. } else {
  154. $sdate = date('Y-m-01', strtotime(date("Y-m-d")));
  155. $start_date = session('caiqing_start_date', $sdate);
  156. }
  157. if (array_has($params, 'endtime')) {
  158. $end_date = $params['endtime'];
  159. } else {
  160. $end_date = session('caiqing_end_date', date('Y-m-d'));
  161. }
  162. session(['caiqing_start_date' => $start_date]);
  163. session(['caiqing_end_date' => $end_date]);
  164. session(['caiqing_start_year' => $start_year]);
  165. session(['caiqing_start_month' => $start_month]);
  166. session(['caiqing_end_year' => $end_year]);
  167. session(['caiqing_end_month' => $end_month]);
  168. return [
  169. 'start_year' => $start_year,
  170. 'start_month'=> (int)$start_month,
  171. 'end_year' => $end_year,
  172. 'end_month' => (int)$end_month,
  173. 'start_date' =>$start_date,
  174. 'end_date' =>$end_date
  175. ];
  176. }
  177. public function getDataType($params)
  178. {
  179. if (array_has($params, 'type')) {
  180. $data_type = $params['type'];
  181. } else {
  182. $data_type = session('caiqing_data_type', 1);
  183. }
  184. session(['caiqing_data_type' => $data_type]);
  185. return $data_type;
  186. }
  187. public function getFilterType($params)
  188. {
  189. if (array_has($params, 'filter_type')) {
  190. $filter_type = $params['filter_type'];
  191. } else {
  192. $filter_type = session('caiqing_filter_type', 2);
  193. }
  194. session(['caiqing_filter_type' => $filter_type]);
  195. return $filter_type;
  196. }
  197. public function getFiterJobfair($params)
  198. {
  199. if (array_has($params, 'jobfair_id')) {
  200. $jobfair_id = $params['jobfair_id'];
  201. } else {
  202. $jobfair_id = session('caiqing_data_jobfairid', '');
  203. }
  204. session(['caiqing_data_jobfairid' => $jobfair_id]);
  205. return $jobfair_id;
  206. }
  207. }