SmartDataClassController.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. package com.template.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.template.api.SmartDataClassControllerAPI;
  4. import com.template.common.utils.CommonUtil;
  5. import com.template.common.utils.paramUtils;
  6. import com.template.model.pojo.SmartDataClass;
  7. import com.template.model.pojo.SmartDataSource;
  8. import com.template.model.pojo.SmartDataSourceLog;
  9. import com.template.model.result.CommonResult;
  10. import com.template.model.result.PageUtils;
  11. import com.template.services.SmartDataClassService;
  12. import com.template.services.SmartDataSourceLogService;
  13. import com.template.services.SmartDataSourceService;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.http.HttpRequest;
  16. import org.springframework.validation.BindingResult;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import javax.servlet.http.HttpServletRequest;
  20. import java.net.InetAddress;
  21. import java.net.UnknownHostException;
  22. import java.util.Map;
  23. /**
  24. * <p>
  25. * 数据源类别 前端控制器
  26. * </p>
  27. *
  28. * @author ceshi
  29. * @since 2023-12-05
  30. */
  31. @RestController
  32. public class SmartDataClassController implements SmartDataClassControllerAPI {
  33. @Autowired
  34. private SmartDataClassService smartDataClassService;
  35. @Autowired
  36. private SmartDataSourceService smartDataSourceService;
  37. @Autowired
  38. private SmartDataSourceLogService smartDataSourceLogService;
  39. /**
  40. * 新增 数据源分类
  41. *
  42. * @param smartDataClass
  43. * @param bindingResult
  44. * @return
  45. */
  46. @Override
  47. public CommonResult insertSmartDataClass(SmartDataClass smartDataClass, HttpServletRequest httpServletRequest, BindingResult bindingResult) {
  48. if (bindingResult.hasErrors()) {
  49. String st = paramUtils.getParamError(bindingResult);
  50. return CommonResult.fail(st);
  51. }
  52. if (smartDataClass.getDsClsName() == null) {
  53. return CommonResult.fail("数据源分类名称为空!");
  54. }
  55. if (smartDataClass.getDsClsDriver() == null) {
  56. return CommonResult.fail("数据源驱动为空!");
  57. }
  58. // 检测是否有重复名称
  59. QueryWrapper<SmartDataClass> smartDataClassQueryWrapper = new QueryWrapper<>();
  60. smartDataClassQueryWrapper.eq("ds_cls_name", smartDataClass.getDsClsName());
  61. smartDataClassQueryWrapper.eq("ds_cls_driver", smartDataClass.getDsClsDriver());
  62. int count = smartDataClassService.count(smartDataClassQueryWrapper);
  63. if (count > 0) {
  64. return CommonResult.fail("数据源分类名称和驱动有重复,新增失败!");
  65. }
  66. SmartDataSourceLog smartDataSourceLog =
  67. CommonUtil.generateLog("新增数据源分类|【数据交换中心】→【数据源分类管理】|新增【数据源分类】|create", httpServletRequest);
  68. int result = smartDataClassService.insertSmartDataClass(smartDataClass);
  69. if (result > 0) {
  70. smartDataSourceLog.setLogActionStatus(1);
  71. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  72. return CommonResult.ok("添加成功");
  73. } else {
  74. smartDataSourceLog.setLogActionStatus(0);
  75. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  76. return CommonResult.fail("添加失败");
  77. }
  78. }
  79. /**
  80. * 更新 数据源分类
  81. *
  82. * @param smartDataClass
  83. * @param bindingResult
  84. * @return
  85. */
  86. @Override
  87. public CommonResult updateSmartDataClassById(SmartDataClass smartDataClass, HttpServletRequest httpServletRequest, BindingResult bindingResult) {
  88. if (bindingResult.hasErrors()) {
  89. String st = paramUtils.getParamError(bindingResult);
  90. return CommonResult.fail(st);
  91. }
  92. if (smartDataClass.getDsClsName() == null) {
  93. return CommonResult.fail("数据源分类名称为空!");
  94. }
  95. if (smartDataClass.getDsClsDriver() == null) {
  96. return CommonResult.fail("数据源驱动为空!");
  97. }
  98. // 检测是否有重复名称
  99. QueryWrapper<SmartDataClass> smartDataClassQueryWrapper = new QueryWrapper<>();
  100. smartDataClassQueryWrapper.eq("ds_cls_name", smartDataClass.getDsClsName());
  101. smartDataClassQueryWrapper.eq("ds_cls_driver", smartDataClass.getDsClsDriver());
  102. int count = smartDataClassService.count(smartDataClassQueryWrapper);
  103. if (count > 0) {
  104. return CommonResult.fail("数据源分类名称和驱动有重复,更新失败!");
  105. }
  106. SmartDataSourceLog smartDataSourceLog =
  107. CommonUtil.generateLog("修改数据源分类|【数据交换中心】→【数据源分类管理】|修改【数据源分类】|update", httpServletRequest);
  108. int result = smartDataClassService.updateSmartDataClass(smartDataClass);
  109. if (result > 0) {
  110. smartDataSourceLog.setLogActionStatus(1);
  111. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  112. return CommonResult.ok("修改成功");
  113. } else {
  114. smartDataSourceLog.setLogActionStatus(0);
  115. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  116. return CommonResult.fail("修改失败");
  117. }
  118. }
  119. /**
  120. * 数据源分类 分页数据查询
  121. *
  122. * @param currentPage 当前页数
  123. * @param pageCount 一页数据条数
  124. * @param name 查询名称
  125. * @return
  126. */
  127. @Override
  128. public CommonResult queryPageSmartDataClass(int currentPage, int pageCount, String name) {
  129. PageUtils<SmartDataClass> result = smartDataClassService.queryPageSmartDataClasss(currentPage, pageCount, name);
  130. return CommonResult.ok(result);
  131. }
  132. @Override
  133. public CommonResult deleteSmartDataClassById(int id, HttpServletRequest httpServletRequest) {
  134. SmartDataClass data = smartDataClassService.getSmartById(id);
  135. if (data == null) {
  136. return CommonResult.fail("当前数据源类别不存在,删除失败!");
  137. }
  138. // 检测当前类别下是否有数据源,有则不能删除,否则可以删除
  139. QueryWrapper<SmartDataSource> smartDataSourceQueryWrapper = new QueryWrapper<>();
  140. smartDataSourceQueryWrapper.eq("ds_cls_id", id);
  141. int count = smartDataSourceService.count(smartDataSourceQueryWrapper);
  142. if (count > 0) {
  143. return CommonResult.fail("当前类别下有数据源,不能删除,删除失败!");
  144. }
  145. SmartDataSourceLog smartDataSourceLog =
  146. CommonUtil.generateLog("删除数据源分类|【数据交换中心】→【数据源分类管理】|删除【数据源分类】|delete", httpServletRequest);
  147. int result = smartDataClassService.deleteSmartDataClassById(id);
  148. if (result > 0) {
  149. smartDataSourceLog.setLogActionStatus(1);
  150. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  151. return CommonResult.ok("删除成功");
  152. } else {
  153. smartDataSourceLog.setLogActionStatus(0);
  154. smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
  155. return CommonResult.fail("删除失败");
  156. }
  157. }
  158. }