diff --git a/niucloud/app/api/controller/apiController/CommunicationRecords.php b/niucloud/app/api/controller/apiController/CommunicationRecords.php new file mode 100644 index 00000000..4814a2e3 --- /dev/null +++ b/niucloud/app/api/controller/apiController/CommunicationRecords.php @@ -0,0 +1,49 @@ + $request->param('staff_id', ''),// + 'resource_id' => $request->param('resource_id', ''),// + 'resource_type' => $request->param('resource_type', ''),//资源类型(如设备、文件、系统等) + 'communication_type' => $request->param('communication_type', ''),// + 'communication_result' => $request->param('communication_result', ''),//沟通结果: success-成功, failure-失败, pending-待定 + 'communication_time' => $request->param('communication_time', $date),//沟通时间 + 'remarks' => $request->param('remarks', ''),//备注 + 'tag' => $request->param('tag', null),//标签:|默认null high-高, medium-中, low-低 + ]; + + $res = (new CommunicationRecordsService())->add($data); + if(!$res['code']){ + return fail('操作失败'); + } + return success('操作成功'); + } +} diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index a73e32ed..ec249eac 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -226,6 +226,10 @@ Route::group(function () { Route::post('resourceSharing/assign', 'apiController.ResourceSharing/assign'); + //沟通记录-添加 + Route::post('communicationRecords/add', 'apiController.CommunicationRecords/add'); + + diff --git a/niucloud/app/service/api/apiService/CommunicationRecordsService.php b/niucloud/app/service/api/apiService/CommunicationRecordsService.php new file mode 100644 index 00000000..a0f2986c --- /dev/null +++ b/niucloud/app/service/api/apiService/CommunicationRecordsService.php @@ -0,0 +1,89 @@ +model = (new CommunicationRecords()); + } + + //添加沟通记录 + public function add(array $data) + { + $model = $this->model; + $add = $model->create($data);//员工信息 + if ($add) { + $res = [ + 'code' => 1, + 'msg' => '操作成功', + 'data' => [] + ]; + } else { + $res = [ + 'code' => 0, + 'msg' => '操作失败', + 'data' => [] + ]; + } + return $res; + } + + /** + * 对比新旧数据改变 + * @param array $old_data 旧数据 + * @param array $new_data 新数据 + * @param array $ignoreFields 忽略验证的字段|默认[] + * @return array + */ + public function compareData(array $old_data, array $new_data, array $ignoreFields = ['updated_at']) + { + $changedFields = [];//改了那些字段 + $oldChanges = [];//数据修改前的样子 + $newChanges = [];//数据修改后的样子 + + foreach ($new_data as $key => $value) { + // 如果字段在忽略列表中,则跳过 + if (in_array($key, $ignoreFields)) { + continue; + } + + if (!isset($old_data[$key]) || $old_data[$key] != $value) { + $changedFields[] = $key; + $oldChanges[$key] = $old_data[$key] ?? null; + $newChanges[$key] = $value; + } + } + + return [ + 'changed_fields' => $changedFields, + 'old_values' => $oldChanges, + 'new_values' => $newChanges, + + 'changed_fields_json' => json_encode($changedFields, JSON_UNESCAPED_UNICODE), + 'old_values_json' => json_encode($oldChanges, JSON_UNESCAPED_UNICODE), + 'new_values_json' => json_encode($newChanges, JSON_UNESCAPED_UNICODE) + ]; + } + +}