package com.example.hospitalbloodbank.controller;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.example.hospitalbloodbank.common.CommonResponse;
import com.example.hospitalbloodbank.entity.BloodInventory;
import com.example.hospitalbloodbank.entity.BloodRequests;
import com.example.hospitalbloodbank.entity.DonationRecords;
import com.example.hospitalbloodbank.entity.Donors;
import com.example.hospitalbloodbank.service.BloodInventoryService;
import com.example.hospitalbloodbank.service.DonationRecordsService;
import com.example.hospitalbloodbank.service.DonorsService;
import com.example.hospitalbloodbank.utils.RegexUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/donors")
@Api(tags = "献血者登记信息")
public class DonorsController {
@Autowired
private DonorsService donorsService;
@Autowired
private BloodInventoryService bloodInventoryService;
@Autowired
private DonationRecordsService donationRecordsService;
// 获取所有献血者信息
@GetMapping
@ApiOperation(value = "获取所有献血者信息")
public CommonResponse<?> getAllDonors(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Donors> list = donorsService.list();
PageInfo<Donors> timeDtoPageInfo = new PageInfo<>(list);
return CommonResponse.success(timeDtoPageInfo);
}
// 根据ID获取献血者信息
@GetMapping("/{donorID}")
@ApiOperation(value = "根据ID获取献血者信息")
public CommonResponse<?> getDonorById(@PathVariable Integer donorID) {
return CommonResponse.success(donorsService.getDonorById(donorID));
}
// 创建献血者信息
@PostMapping
@ApiOperation(value = "创建献血者信息")
@Transactional
public CommonResponse<?> createDonor(@RequestBody Donors donors) {
if (RegexUtils.isPhoneInvalid(donors.getContactNumber())) {
return CommonResponse.fail("请输入正确手机号");
}
// 获取性别
String gender = donors.getGender();
if (!gender.equals("男") && !gender.equals("女")) {
return CommonResponse.fail("请输入正确性别(如 男 女)");
}
// 获取血型
String bloodType = donors.getBloodType();
if (!bloodType.equals("A") && !bloodType.equals("B") && !bloodType.equals("AB") && !bloodType.equals("O")) {
return CommonResponse.fail("请输入正确血型(如 A B AB O)");
}
donorsService.save(donors);
// 构造更新条件
LambdaUpdateWrapper<BloodInventory> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.eq(BloodInventory::getBloodType, bloodType);
updateWrapper.setSql("quantity = quantity + 1");
boolean update = bloodInventoryService.update(updateWrapper);
if (update) {
DonationRecords donationRecords = new DonationRecords();
donationRecords.setDonorID(donors.getDonorID());
donationRecordsService.save(donationRecords);
return CommonResponse.success(donors);
}
return CommonResponse.fail("创建失败");
}
// 更新献血者信息
@PutMapping("/{donorID}")
@ApiOperation(value = "更新献血者信息")
@Transactional
public CommonResponse<?> updateDonor(@PathVariable Integer donorID, @RequestBody Donors donors) {
if (RegexUtils.isPhoneInvalid(donors.getContactNumber())) {
return CommonResponse.fail("请输入正确手机号");
}
// 获取性别
String gender = donors.getGender();
if (!gender.equals("男") && !gender.equals("女")) {
return CommonResponse.fail("请输入正确性别(如 男 女)");
}
// 获取血型
String bloodType = donors.getBloodType();
if (!bloodType.equals("A") && !bloodType.equals("B") && !bloodType.equals("AB") && !bloodType.equals("O")) {
return CommonResponse.fail("请输入正确血型(如 A B AB O)");
}
donors.setDonorID(donorID);
donorsService.updateById(donors);
return CommonResponse.success(donors);
}
// 删除献血者信息
@ApiOperation(value = "删除献血者信息")
@DeleteMapping("/{donorID}")
public CommonResponse<?> deleteDonor(@PathVariable Integer donorID) {
donorsService.removeById(donorID);
return CommonResponse.success(null, "删除献血者信息成功");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕设:医院血库管理系统.zip (55个子文件)
HospitalBloodBank-master
mvnw.cmd 7KB
sql
create_table.sql 2KB
pom.xml 6KB
src
test
java
com
example
hospitalbloodbank
HospitalBloodBankApplicationTests.java 241B
main
resources
mapper
UsersMapper.xml 737B
DonorsMapper.xml 915B
PatientsMapper.xml 925B
BloodInventoryMapper.xml 776B
BloodRequestsMapper.xml 956B
DonationRecordsMapper.xml 684B
application.properties 1B
application.yml 876B
java
com
example
hospitalbloodbank
mapper
DonationRecordsMapper.java 462B
DonorsMapper.java 423B
BloodInventoryMapper.java 463B
BloodRequestsMapper.java 458B
UsersMapper.java 418B
PatientsMapper.java 436B
controller
DonorsController.java 5KB
UsersController.java 4KB
BloodInventoryController.java 3KB
BloodRequestsController.java 5KB
PatientsController.java 4KB
DonationRecordsController.java 3KB
utils
RegexUtils.java 2KB
TokenManager.java 1KB
DateTimeUtils.java 2KB
HospitalBloodBankApplication.java 457B
service
UsersService.java 633B
BloodRequestsService.java 661B
PatientsService.java 588B
DonorsService.java 550B
DonationRecordsService.java 682B
BloodInventoryService.java 674B
impl
UsersServiceImpl.java 2KB
BloodRequestsServiceImpl.java 1KB
BloodInventoryServiceImpl.java 1KB
DonationRecordsServiceImpl.java 1KB
DonorsServiceImpl.java 1KB
PatientsServiceImpl.java 1KB
common
ResponseWrite.java 975B
CommonResponse.java 2KB
entity
BloodRequests.java 1KB
Users.java 929B
Donors.java 1KB
DonationRecords.java 915B
Patients.java 1KB
BloodInventory.java 1008B
config
WebMvcConfig.java 994B
Knife4jConfig.java 1KB
interceptor
AuthenticationInterceptor.java 980B
.mvn
wrapper
maven-wrapper.properties 1019B
maven-wrapper.jar 59KB
mvnw 10KB
.gitignore 395B
共 55 条
- 1
资源评论
马coder
- 粉丝: 1198
- 资源: 6602
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功