SystemSettingController.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. package com.template.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.google.gson.Gson;
  4. import com.google.gson.reflect.TypeToken;
  5. import com.template.annotation.PassToken;
  6. import com.template.api.LoginControllerAPI;
  7. import com.template.api.SystemSettingControllerAPI;
  8. import com.template.common.utils.*;
  9. import com.template.config.WxOpenidConfig;
  10. import com.template.model.pojo.*;
  11. import com.template.model.request.InsertOrUpdateSystemSettingRequest;
  12. import com.template.model.request.changePasswordRequest;
  13. import com.template.model.request.loginRequest;
  14. import com.template.model.request.mobileLoginRequest;
  15. import com.template.model.result.CommonResult;
  16. import com.template.model.result.Wx_user;
  17. import com.template.model.vo.*;
  18. import com.template.services.*;
  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.util.StringUtils;
  25. import org.springframework.validation.BindingResult;
  26. import org.springframework.web.bind.annotation.RequestBody;
  27. import org.springframework.web.bind.annotation.RestController;
  28. import javax.annotation.Resource;
  29. import java.util.*;
  30. /**
  31. * @Author: binguo
  32. * @Date: 2023/7/5 星期三 9:28
  33. * @Description: com.template.controller
  34. * @Version: 1.0
  35. */
  36. @RestController
  37. public class SystemSettingController implements SystemSettingControllerAPI {
  38. private static Logger logger = LoggerFactory.getLogger(SystemSettingController.class);
  39. //宿舍缴费设置 welcome_pay_setting
  40. @Autowired
  41. private WelcomePaySettingService welcomePaySettingService;
  42. //宿舍开放比例设置 welcome_open_setting
  43. @Autowired
  44. private WelcomeOpenSettingService welcomeOpenSettingService;
  45. //到站时间段设置 welcome_arrive_setting
  46. @Autowired
  47. private WelcomeArriveSettingService welcomeArriveSettingService;
  48. //基础信息 welcome_setting
  49. @Autowired
  50. private WelcomeSettingService welcomeSettingService;
  51. @Override
  52. public CommonResult querySettings() {
  53. List<WelcomePaySetting> wps = welcomePaySettingService.list(null);
  54. List<WelcomeOpenSetting> wos = welcomeOpenSettingService.list(null);
  55. List<WelcomeArriveSetting> wass = welcomeArriveSettingService.list(null);
  56. List<WelcomeSetting> ws = welcomeSettingService.list(null);
  57. SystemSettingVo result = new SystemSettingVo();
  58. //选宿舍缴费设置
  59. List<PaySettingVo> psvs = new ArrayList<>();
  60. if (wps != null && wps.size() > 0) {
  61. for (WelcomePaySetting wp : wps) {
  62. PaySettingVo psv = new PaySettingVo();
  63. psv.setId(wp.getId());
  64. psv.setSchool(wp.getSchool());
  65. psv.setMethod(wp.getMethod());
  66. psv.setPayAmount(wp.getPayAmount());
  67. psv.setIsCheck(wp.getIsCheck());
  68. psvs.add(psv);
  69. }
  70. }
  71. result.setPsvs(psvs);
  72. //宿舍开放比例设置
  73. List<OpenSettingVo> osvs = new ArrayList<>();
  74. if (wos != null && wos.size() > 0) {
  75. for (WelcomeOpenSetting wo : wos) {
  76. OpenSettingVo osv = new OpenSettingVo();
  77. osv.setId(wo.getId());
  78. osv.setSchool(wo.getSchool());
  79. osv.setCollege(wo.getCollege());
  80. osv.setOpenAmount(wo.getOpenAmount());
  81. osv.setIsCheck(wo.getIsCheck());
  82. osvs.add(osv);
  83. }
  84. }
  85. result.setOsvs(osvs);
  86. //到站时间段设置
  87. List<ArriveSettingVo> asvs = new ArrayList<>();
  88. if (wass != null && wass.size() > 0) {
  89. for (WelcomeArriveSetting was : wass) {
  90. ArriveSettingVo asv = new ArriveSettingVo();
  91. asv.setId(was.getId());
  92. asv.setIsCheck(was.getIsCheck());
  93. asv.setStartTime(was.getStartTime());
  94. asv.setEndTime(was.getEndTime());
  95. asvs.add(asv);
  96. }
  97. }
  98. result.setAsvs(asvs);
  99. if (ws != null && ws.size() > 0) {
  100. WelcomeSetting wsData = ws.get(0);
  101. result.setMxhCarNum(wsData.getMxhCarNum());
  102. result.setHjhCarNum(wsData.getHjhCarNum());
  103. if (StringUtils.hasText(wsData.getPhone())) {
  104. List<String> phones = Arrays.asList(wsData.getPhone().split(","));
  105. result.setPhones(phones);
  106. } else {
  107. result.setPhones(new ArrayList<>());
  108. }
  109. result.setSafetyNotice(wsData.getSafetyNotice());
  110. result.setBasicVerification(wsData.getBasicVerification());
  111. result.setFamilyInfo(wsData.getFamilyInfo());
  112. result.setArriveSchool(wsData.getArriveSchool());
  113. result.setChooseDormitory(wsData.getChooseDormitory());
  114. result.setCarOrder(wsData.getCarOrder());
  115. }
  116. return CommonResult.ok(result);
  117. }
  118. @Override
  119. @Transactional(rollbackFor = {Exception.class})
  120. public CommonResult insertOrUpdateSettings(InsertOrUpdateSystemSettingRequest iussr, BindingResult bindingResult) throws Exception {
  121. if (bindingResult.hasErrors()) {
  122. String st = paramUtils.getParamError(bindingResult);
  123. return CommonResult.fail(st);
  124. }
  125. WelcomeSetting result = new WelcomeSetting();
  126. List<WelcomeSetting> ws = welcomeSettingService.list(null);
  127. if (ws != null && ws.size() > 0) {
  128. result = ws.get(0);
  129. }
  130. result.setMxhCarNum(iussr.getMxhCarNum());
  131. result.setHjhCarNum(iussr.getHjhCarNum());
  132. String phone = org.apache.commons.lang3.StringUtils.join(iussr.getPhones(), ',');
  133. result.setPhone(phone);
  134. result.setSafetyNotice(iussr.getSafetyNotice());
  135. result.setBasicVerification(iussr.getBasicVerification());
  136. result.setFamilyInfo(iussr.getFamilyInfo());
  137. result.setArriveSchool(iussr.getArriveSchool());
  138. result.setChooseDormitory(iussr.getChooseDormitory());
  139. result.setCarOrder(iussr.getCarOrder());
  140. //选宿舍缴费设置WelcomePaySetting
  141. List<WelcomePaySetting> wpss = new ArrayList<>();
  142. if (iussr.getPsvs() != null && iussr.getPsvs().size() > 0) {
  143. for (PaySettingVo psv : iussr.getPsvs()) {
  144. WelcomePaySetting wps = new WelcomePaySetting();
  145. wps.setSchool(psv.getSchool());
  146. wps.setMethod(psv.getMethod());
  147. wps.setPayAmount(psv.getPayAmount());
  148. wps.setIsCheck(psv.getIsCheck());
  149. wpss.add(wps);
  150. }
  151. }
  152. //宿舍开放比例设置 welcome_open_setting
  153. List<WelcomeOpenSetting> woss = new ArrayList<>();
  154. if (iussr.getOsvs() != null && iussr.getOsvs().size() > 0) {
  155. for (OpenSettingVo osv : iussr.getOsvs()) {
  156. WelcomeOpenSetting wos = new WelcomeOpenSetting();
  157. wos.setSchool(osv.getSchool());
  158. wos.setCollege(osv.getCollege());
  159. wos.setOpenAmount(osv.getOpenAmount());
  160. wos.setIsCheck(osv.getIsCheck());
  161. woss.add(wos);
  162. }
  163. }
  164. // //到站时间段设置 welcome_arrive_setting
  165. // List<WelcomeArriveSetting> wass = new ArrayList<>();
  166. // if (iussr.getAsvs() != null && iussr.getAsvs().size() > 0) {
  167. // for (ArriveSettingVo asv : iussr.getAsvs()) {
  168. // WelcomeArriveSetting was = new WelcomeArriveSetting();
  169. // was.setIsCheck(asv.getIsCheck());
  170. // was.setStartTime(asv.getStartTime());
  171. // was.setEndTime(asv.getEndTime());
  172. // wass.add(was);
  173. // }
  174. // }
  175. try {
  176. boolean iuS = welcomeSettingService.saveOrUpdate(result);
  177. if (!iuS) {
  178. logger.error("设置失败,result参数:" + JSON.toJSON(result));
  179. throw new Exception("添加失败!");
  180. }
  181. if (wpss != null && wpss.size() > 0) {
  182. int deleteAll = welcomePaySettingService.deleteAll();
  183. boolean saveBatch = welcomePaySettingService.saveBatch(wpss);
  184. if (!saveBatch) {
  185. logger.error("添加缴费设置信息失败,参数:" + JSON.toJSON(wpss));
  186. throw new Exception("添加失败!");
  187. }
  188. }
  189. if (woss != null && woss.size() > 0) {
  190. int deleteAll = welcomeOpenSettingService.deleteAll();
  191. boolean saveBatch = welcomeOpenSettingService.saveBatch(woss);
  192. if (!saveBatch) {
  193. logger.error("添加开放比例设置信息失败,参数:" + JSON.toJSON(woss));
  194. throw new Exception("添加失败!");
  195. }
  196. }
  197. // if (wass != null && wass.size() > 0) {
  198. // int deleteAll = welcomeArriveSettingService.deleteAll();
  199. //
  200. // boolean saveBatch = welcomeArriveSettingService.saveBatch(wass);
  201. // if (!saveBatch) {
  202. // logger.error("添加抵达时间段设置信息失败,参数:" + JSON.toJSON(wass));
  203. // throw new Exception("添加失败!");
  204. // }
  205. // }
  206. } catch (Exception e) {
  207. logger.error(e.getMessage());
  208. throw new Exception("设置失败!");
  209. }
  210. return CommonResult.ok("设置成功");
  211. }
  212. }