import 'dart:convert'; import 'package:EasyDartModule/EasyDartModule.dart'; import 'package:EasyDartModule/base/webserver/WebServer.dart'; import '../const/HttpStatusCode.dart'; import '../const/MessageConstants.dart'; import '../const/ResponseJsonCode.dart'; import '../model/ApiResponse.dart'; import '../model/Person.dart'; import '../service/PersonService.dart'; part 'PersonController.route.dart'; @RequestMapping(path: "/person") class PersonController { final PersonService personService = PersonService(); set callHandler(handler) => _callHandler = handler; Map> get routeMap => routes; PersonController(); // 获取人员列表 @RequestMapping(path: "/personList", method: HttpMethod.GET) Future getPersonList( Request request, Map jwt) async { ApiResponse>> apiResponse = ApiResponse(); try { var queryParameters = request.requestedUri.queryParameters; Person query = Person.fromQueryParameters(queryParameters, jwt); var personList = await personService.getPersonList(query); int personCount = await personService.getPersonCount(query); print(personList); List> personListMap = personList.map((e) => e as Map).toList(); apiResponse.code = ResponseJsonCode.success; apiResponse.data = personListMap; apiResponse.total = personCount; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.ok, body: serializedJson); } catch (e) { apiResponse.code = ResponseJsonCode.fail; apiResponse.message = "查询失败: $e"; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.internalServerError, body: serializedJson); } } // 添加人员 @RequestMapping(path: "/addPerson", method: HttpMethod.POST) Future addPerson(Request request) async { ApiResponse apiResponse = ApiResponse(); try { var data = jsonDecode(await request.readAsString()); var person = Person.fromJson(data); var result = await personService.addPerson(person); apiResponse.code = ResponseJsonCode.success; apiResponse.message = MessageConstants.ADD_SUCCESS; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.ok, body: serializedJson); } catch (e) { apiResponse.code = ResponseJsonCode.fail; apiResponse.message = MessageConstants.ADD_ERROR; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.internalServerError, body: serializedJson); } } // 更新人员信息 @RequestMapping(path: "/updatePerson", method: HttpMethod.PUT) Future updatePerson(Request request) async { ApiResponse apiResponse = ApiResponse(); try { var data = jsonDecode(await request.readAsString()); var personId = data['_id']; var updatedPerson = Person.fromJson(data); var result = await personService.updatePerson(personId, updatedPerson); apiResponse.code = ResponseJsonCode.success; apiResponse.message = result; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.ok, body: serializedJson); // 发送成功响应 } catch (e) { apiResponse.code = ResponseJsonCode.fail; apiResponse.message = "更新失败: $e"; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.internalServerError, body: serializedJson); } } // 删除人员 @RequestMapping(path: "/deletePerson", method: HttpMethod.DELETE) Future deletePerson(Request request) async { ApiResponse apiResponse = ApiResponse(); try { var data = jsonDecode(await request.readAsString()); var personId = data['_id']; var result = await personService.deletePerson(personId); if (result.isEmpty) { apiResponse.code = ResponseJsonCode.success; apiResponse.message = MessageConstants.DELETE_SUCCESS; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.ok, body: serializedJson); // 发送成功响应 } apiResponse.code = ResponseJsonCode.fail; apiResponse.message = result; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.ok, body: serializedJson); } catch (e) { apiResponse.code = ResponseJsonCode.fail; apiResponse.message = "删除失败: $e"; String serializedJson = apiResponse.serialize(); return Response(HttpStatusCode.internalServerError, body: serializedJson); } } }