|
@@ -1,10 +1,30 @@
|
|
|
package com.template.controller;
|
|
package com.template.controller;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
|
|
+import com.template.annotation.PassToken;
|
|
|
|
|
+import com.template.api.WelcomeStudentDormitoryControllerAPI;
|
|
|
|
|
+import com.template.model.pojo.WelcomeDormitory;
|
|
|
|
|
+import com.template.model.pojo.WelcomeStudent;
|
|
|
|
|
+import com.template.model.pojo.WelcomeStudentDormitory;
|
|
|
|
|
+import com.template.model.result.CommonResult;
|
|
|
|
|
+import com.template.model.vo.DormitoryDetailsVo;
|
|
|
|
|
+import com.template.services.WelcomeDormitoryService;
|
|
|
|
|
+import com.template.services.WelcomeStudentDormitoryService;
|
|
|
|
|
+import com.template.services.WelcomeStudentService;
|
|
|
|
|
+import javafx.beans.binding.SetBinding;
|
|
|
|
|
+import org.aspectj.weaver.ast.Var;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* <p>
|
|
* <p>
|
|
|
* 前端控制器
|
|
* 前端控制器
|
|
@@ -14,8 +34,87 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
* @since 2025-06-13
|
|
* @since 2025-06-13
|
|
|
*/
|
|
*/
|
|
|
@RestController
|
|
@RestController
|
|
|
-@RequestMapping("/auto/welcome-student-dormitory")
|
|
|
|
|
-public class WelcomeStudentDormitoryController {
|
|
|
|
|
|
|
+public class WelcomeStudentDormitoryController implements WelcomeStudentDormitoryControllerAPI {
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ WelcomeStudentDormitoryService welcomeStudentDormitoryService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ WelcomeStudentService welcomeStudentService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ WelcomeDormitoryService welcomeDormitoryService;
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult submit(WelcomeStudentDormitory welcomeStudentDormitory) {
|
|
|
|
|
+ String studentCard = welcomeStudentDormitory.getStudentCard();
|
|
|
|
|
+ LambdaQueryWrapper<WelcomeStudentDormitory> wrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(WelcomeStudentDormitory::getStudentCard,studentCard);
|
|
|
|
|
+ WelcomeStudentDormitory one = welcomeStudentDormitoryService.getOne(wrapper);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(one)) {
|
|
|
|
|
+ return CommonResult.fail("已添加宿舍信息,请勿重复添加");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ boolean save = welcomeStudentDormitoryService.save(welcomeStudentDormitory);
|
|
|
|
|
+ if (save) {
|
|
|
|
|
+ return CommonResult.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+ return CommonResult.fail();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult dormitoryDetails( String buildName, String dormitoryName, String studentCard) {
|
|
|
|
|
+
|
|
|
|
|
+ // 查询对应床位数量
|
|
|
|
|
+ LambdaQueryWrapper<WelcomeDormitory> wrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(WelcomeDormitory::getBuild,buildName)
|
|
|
|
|
+ .eq(WelcomeDormitory::getDormitory,dormitoryName);
|
|
|
|
|
+ WelcomeDormitory welcomeDormitory = welcomeDormitoryService.getOne(wrapper);
|
|
|
|
|
+// 获取床位数
|
|
|
|
|
+ Integer bedNumber = welcomeDormitory.getBedNumber();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 查找哪些已经入住了
|
|
|
|
|
+ LambdaQueryWrapper<WelcomeStudentDormitory> wrapperStudentDormitory=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapperStudentDormitory.eq(WelcomeStudentDormitory::getBuilding,buildName)
|
|
|
|
|
+ .eq(WelcomeStudentDormitory::getDormitory,dormitoryName);
|
|
|
|
|
+ List<WelcomeStudentDormitory> list1 = welcomeStudentDormitoryService.list(wrapperStudentDormitory);
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<WelcomeStudentDormitory> wrapperOne=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapperOne.eq(WelcomeStudentDormitory::getStudentCard,studentCard);
|
|
|
|
|
+ WelcomeStudentDormitory studentDormitory = welcomeStudentDormitoryService.getOne(wrapperOne);
|
|
|
|
|
+ Integer bedNum1 = Integer.valueOf(studentDormitory.getBedNum());
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<WelcomeStudent> wrapperStudent=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapperStudent.eq(WelcomeStudent::getCardId,studentCard);
|
|
|
|
|
+ WelcomeStudent one = welcomeStudentService.getOne(wrapperStudent);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ ArrayList<DormitoryDetailsVo> dormitoryDetailsVos = new ArrayList<>();
|
|
|
|
|
+ for (int i = 1; i <= bedNumber; i++) {
|
|
|
|
|
+ DormitoryDetailsVo dormitoryDetailsVo = new DormitoryDetailsVo();
|
|
|
|
|
+ dormitoryDetailsVo.setBedNum(i+"");
|
|
|
|
|
+ dormitoryDetailsVo.setDormitory(dormitoryName);
|
|
|
|
|
+ dormitoryDetailsVo.setBuilding(buildName);
|
|
|
|
|
+ if (bedNum1==i) {
|
|
|
|
|
+ dormitoryDetailsVo.setStatus(1);
|
|
|
|
|
+ dormitoryDetailsVo.setWelcomeStudent(one);
|
|
|
|
|
+ }else {
|
|
|
|
|
+// 默认设置成没人
|
|
|
|
|
+ dormitoryDetailsVo.setStatus(2);
|
|
|
|
|
+ for (WelcomeStudentDormitory welcomeStudentDormitory : list1) {
|
|
|
|
|
+ Integer bedNum = Integer.valueOf(welcomeStudentDormitory.getBedNum());
|
|
|
|
|
+ if (i == bedNum) {
|
|
|
|
|
+ dormitoryDetailsVo.setStatus(1);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ dormitoryDetailsVos.add(dormitoryDetailsVo);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ return CommonResult.ok(dormitoryDetailsVos);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|