SmartDataClassController.java 7.2 KB

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