初始提交
This commit is contained in:
114
bin/controller/PersonController.dart
Normal file
114
bin/controller/PersonController.dart
Normal file
@@ -0,0 +1,114 @@
|
||||
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<HttpMethod, List<List>> get routeMap => routes;
|
||||
|
||||
PersonController();
|
||||
|
||||
// 获取人员列表
|
||||
@RequestMapping(path: "/personList", method: HttpMethod.GET)
|
||||
Future<Response> getPersonList(
|
||||
Request request, Map<String, dynamic> jwt) async {
|
||||
ApiResponse<List<Map<String, dynamic>>> 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<Map<String, dynamic>> personListMap =
|
||||
personList.map((e) => e as Map<String, dynamic>).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<Response> addPerson(Request request) async {
|
||||
ApiResponse<String> 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<Response> updatePerson(Request request) async {
|
||||
ApiResponse<String> 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<Response> deletePerson(Request request) async {
|
||||
ApiResponse<String> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user