|
@@ -5,6 +5,7 @@ namespace app\admin\service\sys_manage;
|
|
|
use app\common\Util;
|
|
|
use app\model\SysField;
|
|
|
use Illuminate\Database\Schema\Blueprint;
|
|
|
+use Illuminate\Support\Facades\Schema;
|
|
|
use support\Db;
|
|
|
|
|
|
class FieldService
|
|
@@ -19,21 +20,21 @@ class FieldService
|
|
|
* @param $keywords
|
|
|
* @return \support\Response
|
|
|
*/
|
|
|
- public static function fieldList($page, $limit, $keywords)
|
|
|
+ public static function fieldList($page, $pageSize, $keywords)
|
|
|
{
|
|
|
- $list = SysField::select('*')
|
|
|
+ $rows = SysField::select('*')
|
|
|
->when($keywords != '', function ($query) use ($keywords) {
|
|
|
$query->where('field_name', 'like', '%' . $keywords . '%');
|
|
|
})
|
|
|
->orderBy('field_addtimes', 'DESC')
|
|
|
- ->forPage($page, $limit)
|
|
|
+ ->forPage($page, $pageSize)
|
|
|
->get()
|
|
|
->toArray();
|
|
|
- $count = SysField::when($keywords != '', function ($query) use ($keywords) {
|
|
|
+ $total = SysField::when($keywords != '', function ($query) use ($keywords) {
|
|
|
$query->where('field_name', 'like', '%' . $keywords . '%');
|
|
|
})->count();
|
|
|
|
|
|
- return json_success('', compact('list', 'page', 'limit', 'count'));
|
|
|
+ return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -71,14 +72,14 @@ class FieldService
|
|
|
'field_category' => $params['field_category'],
|
|
|
'field_name' => $params['field_name'],
|
|
|
'field_table' => $params['field_table'],
|
|
|
- 'field_column_key' => $params['field_column_key'],
|
|
|
- 'field_column_datatype' => $params['field_column_datatype'],
|
|
|
- 'field_column_default' => $params['field_column_default'],
|
|
|
- 'field_form_key' => $params['field_form_key'],
|
|
|
- 'field_form_type' => $params['field_form_type'],
|
|
|
- 'field_form_default' => $params['field_form_default'],
|
|
|
- 'field_refer_json' => !!empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
|
|
|
- 'field_remark' => $params['field_remark'],
|
|
|
+ 'field_column_key' => $params['field_column_key'] ?? '',
|
|
|
+ 'field_column_datatype' => $params['field_column_datatype'] ?? '',
|
|
|
+ 'field_column_default' => $params['field_column_default'] ?? '',
|
|
|
+ 'field_form_key' => $params['field_form_key'] ?? '',
|
|
|
+ 'field_form_type' => $params['field_form_type'] ?? '',
|
|
|
+ 'field_form_default' => $params['field_form_default'] ?? '',
|
|
|
+ 'field_refer_json' => !empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
|
|
|
+ 'field_remark' => $params['field_remark'] ?? '',
|
|
|
'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '{}',
|
|
|
'field_addtimes' => time()
|
|
|
];
|
|
@@ -106,7 +107,6 @@ class FieldService
|
|
|
Db::commit();
|
|
|
} catch (\Exception $e) {
|
|
|
Db::rollBack();
|
|
|
- dd($e->getMessage());
|
|
|
return json_fail('创建字段失败');
|
|
|
}
|
|
|
|
|
@@ -209,15 +209,21 @@ class FieldService
|
|
|
* @param $id
|
|
|
* @return \support\Response
|
|
|
*/
|
|
|
- public static function delField($id)
|
|
|
+ public static function delField($ids)
|
|
|
{
|
|
|
Db::beginTransaction();
|
|
|
try {
|
|
|
- $field = SysField::where('field_id', $id)->first();
|
|
|
- // 删除表记录
|
|
|
- $field->delete();
|
|
|
- // 删除表字段
|
|
|
- Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
|
|
|
+ if (!is_array($ids)){
|
|
|
+ $ids = [$ids];
|
|
|
+ }
|
|
|
+ foreach ($ids as $id){
|
|
|
+ $field = SysField::where('field_id', $id)->first();
|
|
|
+ // 删除表记录
|
|
|
+ $field->delete();
|
|
|
+ // 删除表字段
|
|
|
+ Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
|
|
|
+ }
|
|
|
+
|
|
|
// 提交事务
|
|
|
Db::commit();
|
|
|
} catch (\Exception $e) {
|
|
@@ -232,7 +238,11 @@ class FieldService
|
|
|
public static function checkTableExist($table)
|
|
|
{
|
|
|
try {
|
|
|
- return Db::table($table)->select(1)->exists();
|
|
|
+ $table = getenv('DB_PREFIX') . $table;
|
|
|
+ $desc = (new SysField)->getConnection()->select("desc `$table`");
|
|
|
+ if ($desc) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
} catch (\Exception $e) {
|
|
|
return false;
|
|
|
}
|