WelcomeStudentController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. package com.template.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.template.api.WelcomeStudentControllerAPI;
  4. import com.template.common.utils.paramUtils;
  5. import com.template.model.pojo.WelcomeAccompany;
  6. import com.template.model.pojo.WelcomeFamily;
  7. import com.template.model.pojo.WelcomeStudent;
  8. import com.template.model.pojo.WelcomeStudentDormitory;
  9. import com.template.model.request.InsertAccompanyRequest;
  10. import com.template.model.request.InsertFamilyRequest;
  11. import com.template.model.request.InsertStudentRequest;
  12. import com.template.model.result.CommonResult;
  13. import com.template.model.result.PageUtils;
  14. import com.template.model.vo.StudentPageVo;
  15. import com.template.services.WelcomeAccompanyService;
  16. import com.template.services.WelcomeFamilyService;
  17. import com.template.services.WelcomeStudentDormitoryService;
  18. import com.template.services.WelcomeStudentService;
  19. import io.swagger.annotations.ApiModelProperty;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import org.springframework.validation.BindingResult;
  25. import org.springframework.web.bind.annotation.RequestMapping;
  26. import org.springframework.web.bind.annotation.RestController;
  27. import springfox.documentation.spring.web.json.Json;
  28. import java.math.BigDecimal;
  29. import java.util.ArrayList;
  30. import java.util.Date;
  31. import java.util.List;
  32. /**
  33. * <p>
  34. * 前端控制器
  35. * </p>
  36. *
  37. * @author ceshi
  38. * @since 2025-06-13
  39. */
  40. @RestController
  41. public class WelcomeStudentController implements WelcomeStudentControllerAPI {
  42. @Autowired
  43. private WelcomeStudentService welcomeStudentService;
  44. @Autowired
  45. private WelcomeFamilyService welcomeFamilyService;
  46. @Autowired
  47. private WelcomeAccompanyService welcomeAccompanyService;
  48. @Autowired
  49. private WelcomeStudentDormitoryService welcomeStudentDormitoryService;
  50. private static Logger logger = LoggerFactory.getLogger(WelcomeStudentController.class);
  51. @Override
  52. @Transactional(rollbackFor = {Exception.class})
  53. public CommonResult insertStudentInfo(InsertStudentRequest isr, BindingResult bindingResult) throws Exception {
  54. if (bindingResult.hasErrors()) {
  55. String st = paramUtils.getParamError(bindingResult);
  56. return CommonResult.fail(st);
  57. }
  58. int existCount = welcomeStudentService.existStudentInfo(isr.getAdmissNum(), isr.getCardId());
  59. if (existCount > 0) {
  60. return CommonResult.fail("当前录取号或身份证号已存在!");
  61. }
  62. //region 学生信息
  63. WelcomeStudent ws = new WelcomeStudent();
  64. ws.setAdmissNum(isr.getAdmissNum());
  65. ws.setName(isr.getName());
  66. ws.setPicture(isr.getPicture());
  67. ws.setCardId(isr.getCardId());
  68. ws.setSex(isr.getSex());
  69. ws.setBirthday(isr.getBirthday());
  70. ws.setCollege(isr.getCollege());
  71. ws.setMajor(isr.getMajor());
  72. ws.setClassstr(isr.getClassstr());
  73. ws.setExamNum(isr.getExamNum());
  74. ws.setEduSystem(isr.getEduSystem());
  75. ws.setGraduationSchool(isr.getGraduationSchool());
  76. ws.setBatchValue(isr.getBatchValue());
  77. ws.setPoliticalStatu(isr.getPoliticalStatu());
  78. ws.setNationality(isr.getNationality());
  79. ws.setPhone(isr.getPhone());
  80. ws.setOprovinceId(isr.getOprovinceId());
  81. ws.setOcityId(isr.getOcityId());
  82. ws.setOdistrictId(isr.getOdistrictId());
  83. ws.setProvinceId(isr.getProvinceId());
  84. ws.setCityId(isr.getCityId());
  85. ws.setDistrictId(isr.getDistrictId());
  86. ws.setAddress(isr.getAddress());
  87. ws.setTrafficMethod(isr.getTrafficMethod());
  88. ws.setArrive(isr.getArrive());
  89. ws.setArrvieDate(isr.getArrvieDate());
  90. ws.setArriveTime(isr.getArriveTime());
  91. //ws.setAmountPayable(isr.getAmountPayable());
  92. //ws.setPayAmount(isr.getPayAmount());
  93. //ws.setIsDrive(isr.getIsDrive());
  94. //ws.setCarNumber(isr.getCarNumber());
  95. //endregion
  96. //region 家庭成员数据
  97. List<WelcomeFamily> wfs = new ArrayList<>();
  98. if (isr.getFamilys() != null && isr.getFamilys().size() > 0) {
  99. for (InsertFamilyRequest family : isr.getFamilys()) {
  100. WelcomeFamily wf = new WelcomeFamily();
  101. wf.setStudentCard(ws.getCardId());
  102. wf.setFamilyShip(family.getFamilyShip());
  103. wf.setName(family.getName());
  104. wf.setWorkUnit(family.getWorkUnit());
  105. wf.setPhone(family.getPhone());
  106. wfs.add(wf);
  107. }
  108. }
  109. //endregion
  110. //region 陪同人员数据
  111. List<WelcomeAccompany> was = new ArrayList<>();
  112. if (isr.getAccompanys() != null && isr.getAccompanys().size() > 0) {
  113. for (InsertAccompanyRequest accompany : isr.getAccompanys()) {
  114. WelcomeAccompany wa = new WelcomeAccompany();
  115. wa.setStudentCard(ws.getCardId());
  116. wa.setName(accompany.getName());
  117. wa.setPhone(accompany.getPhone());
  118. was.add(wa);
  119. }
  120. }
  121. //endregion
  122. //region 宿舍信息
  123. WelcomeStudentDormitory wsd = new WelcomeStudentDormitory();
  124. wsd.setStudentCard(isr.getCardId());
  125. wsd.setBuilding(isr.getBilding());
  126. wsd.setDormitory(isr.getDormitory());
  127. wsd.setBedNum(isr.getBednum());
  128. //endregion
  129. try {
  130. int studentId = welcomeStudentService.insertWelcomeStudent(ws);
  131. if (studentId <= 0) {
  132. logger.error("添加学生失败,参数:" + JSON.toJSON(isr));
  133. throw new Exception("添加失败!");
  134. }
  135. if (wfs != null && wfs.size() > 0) {
  136. boolean insertBatch = welcomeFamilyService.saveBatch(wfs);
  137. if (!insertBatch) {
  138. logger.error("添加家庭成员失败,参数:" + JSON.toJSON(wfs));
  139. throw new Exception("添加失败!");
  140. }
  141. }
  142. if (was != null && was.size() > 0) {
  143. boolean insertBatch = welcomeAccompanyService.saveBatch(was);
  144. if (!insertBatch) {
  145. logger.error("添加陪同人员失败,参数:" + JSON.toJSON(was));
  146. throw new Exception("添加失败!");
  147. }
  148. }
  149. int insertStudentDormitory = welcomeStudentDormitoryService.insertWelcomeStudentDormitory(wsd);
  150. if(insertStudentDormitory <= 0){
  151. logger.error("添加宿舍信息失败,参数:" + JSON.toJSON(wsd));
  152. throw new Exception("添加失败!");
  153. }
  154. } catch (Exception e) {
  155. logger.error(e.getMessage());
  156. throw new Exception("添加失败!");
  157. }
  158. return CommonResult.ok("添加成功");
  159. }
  160. @Override
  161. public CommonResult queryPageStudents(int currentPage, int pageCount, String college, String major, String classstr, String trafficMethod, String name) {
  162. PageUtils<StudentPageVo> result = welcomeStudentService.queryStudentPageList(currentPage, pageCount, college, major, classstr, trafficMethod, name);
  163. return CommonResult.ok(result);
  164. }
  165. }