|
|
@@ -12,6 +12,7 @@ use app\common\enum\worker\WorkerAccountLogEnum;
|
|
|
use app\common\model\master_worker\MasterWorker;
|
|
|
use app\common\model\master_worker\MasterWorkerInfo;
|
|
|
use app\common\model\master_worker\MasterWorkerAgree;
|
|
|
+use app\common\model\master_worker\MasterWorkerQuestion;
|
|
|
use app\common\model\master_worker\MasterWorkerInterview;
|
|
|
use app\common\model\master_worker\MasterWorkerAccountLog;
|
|
|
|
|
|
@@ -283,5 +284,51 @@ class MasterWorkerLogic extends BaseLogic
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询工程师面试题库
|
|
|
+ */
|
|
|
+ public static function getQuestion(array $params)
|
|
|
+ {
|
|
|
+ if ($params['type'] == 1 || $params['type'] == 2) {
|
|
|
+
|
|
|
+ $cagegory = trim($params['category']);
|
|
|
+ $cagegory = str_replace(',', ',', $cagegory);
|
|
|
+ $cagegory = explode(',', $cagegory);
|
|
|
+ $cagegory = array_slice($cagegory, 0, 5);
|
|
|
+ $list = MasterWorkerQuestion::where('type',$params['type'])
|
|
|
+ ->whereRaw('FIND_IN_SET(' . $cagegory . ', category)')
|
|
|
+ ->where('type',$params['type'])
|
|
|
+ ->limit(100)
|
|
|
+ ->toArray();
|
|
|
+ // 按 category 分组
|
|
|
+ $grouped = [];
|
|
|
+ foreach ($list as $item) {
|
|
|
+ $category = $item['category'];
|
|
|
+ if (!isset($grouped[$category])) {
|
|
|
+ $grouped[$category] = [];
|
|
|
+ }
|
|
|
+ $grouped[$category][] = $item;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 从每组中随机取 5 个元素
|
|
|
+ $result = [];
|
|
|
+ foreach ($grouped as $category => $items) {
|
|
|
+ $randomItems = [];
|
|
|
+ $count = count($items);
|
|
|
+ if ($count <= 5) {
|
|
|
+ $randomItems = $items;
|
|
|
+ } else {
|
|
|
+ $keys = array_rand($items, 5);
|
|
|
+ foreach ($keys as $key) {
|
|
|
+ $randomItems[] = $items[$key];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result[$category] = $randomItems;
|
|
|
+ }
|
|
|
+ return array_values($result);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
}
|