4557ef4126e2139ec77294676675938f2f9bc0d2.svn-base 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package org.jeecg.modules.system.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.jeecg.common.api.vo.Result;
  8. import org.jeecg.common.aspect.annotation.PermissionData;
  9. import org.jeecg.common.system.query.QueryGenerator;
  10. import org.jeecg.common.util.oConvertUtils;
  11. import org.jeecg.modules.system.entity.SysTenant;
  12. import org.jeecg.modules.system.service.ISysTenantService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletRequest;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. /**
  19. * 租户配置信息
  20. */
  21. @Slf4j
  22. @RestController
  23. @RequestMapping("/sys/tenant")
  24. public class SysTenantController {
  25. @Autowired
  26. private ISysTenantService sysTenantService;
  27. /**
  28. * 获取列表数据
  29. * @param sysTenant
  30. * @param pageNo
  31. * @param pageSize
  32. * @param req
  33. * @return
  34. */
  35. @PermissionData(pageComponent = "system/TenantList")
  36. @RequestMapping(value = "/list", method = RequestMethod.GET)
  37. public Result<IPage<SysTenant>> queryPageList(SysTenant sysTenant,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  38. @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
  39. Result<IPage<SysTenant>> result = new Result<IPage<SysTenant>>();
  40. QueryWrapper<SysTenant> queryWrapper = QueryGenerator.initQueryWrapper(sysTenant, req.getParameterMap());
  41. Page<SysTenant> page = new Page<SysTenant>(pageNo, pageSize);
  42. IPage<SysTenant> pageList = sysTenantService.page(page, queryWrapper);
  43. result.setSuccess(true);
  44. result.setResult(pageList);
  45. return result;
  46. }
  47. /**
  48. * 添加
  49. * @param
  50. * @return
  51. */
  52. @RequestMapping(value = "/add", method = RequestMethod.POST)
  53. public Result<SysTenant> add(@RequestBody SysTenant sysTenant) {
  54. Result<SysTenant> result = new Result<SysTenant>();
  55. if(sysTenantService.getById(sysTenant.getId())!=null){
  56. return result.error500("该编号已存在!");
  57. }
  58. try {
  59. sysTenantService.save(sysTenant);
  60. result.success("添加成功!");
  61. } catch (Exception e) {
  62. log.error(e.getMessage(), e);
  63. result.error500("操作失败");
  64. }
  65. return result;
  66. }
  67. /**
  68. * 编辑
  69. * @param
  70. * @return
  71. */
  72. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  73. public Result<SysTenant> edit(@RequestBody SysTenant tenant) {
  74. Result<SysTenant> result = new Result<SysTenant>();
  75. SysTenant sysTenant = sysTenantService.getById(tenant.getId());
  76. if(sysTenant==null) {
  77. result.error500("未找到对应实体");
  78. }else {
  79. boolean ok = sysTenantService.updateById(tenant);
  80. if(ok) {
  81. result.success("修改成功!");
  82. }
  83. }
  84. return result;
  85. }
  86. /**
  87. * 通过id删除
  88. * @param id
  89. * @return
  90. */
  91. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  92. public Result<?> delete(@RequestParam(name="id",required=true) String id) {
  93. sysTenantService.removeTenantById(id);
  94. return Result.ok("删除成功");
  95. }
  96. /**
  97. * 批量删除
  98. * @param ids
  99. * @return
  100. */
  101. @RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)
  102. public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
  103. Result<?> result = new Result<>();
  104. if(oConvertUtils.isEmpty(ids)) {
  105. result.error500("未选中租户!");
  106. }else {
  107. String[] ls = ids.split(",");
  108. // 过滤掉已被引用的租户
  109. List<String> idList = new ArrayList<>();
  110. for (String id : ls) {
  111. int userCount = sysTenantService.countUserLinkTenant(id);
  112. if (userCount == 0) {
  113. idList.add(id);
  114. }
  115. }
  116. if (idList.size() > 0) {
  117. sysTenantService.removeByIds(idList);
  118. if (ls.length == idList.size()) {
  119. result.success("删除成功!");
  120. } else {
  121. result.success("部分删除成功!(被引用的租户无法删除)");
  122. }
  123. }else {
  124. result.error500("选择的租户都已被引用,无法删除!");
  125. }
  126. }
  127. return result;
  128. }
  129. /**
  130. * 通过id查询
  131. * @param id
  132. * @return
  133. */
  134. @RequestMapping(value = "/queryById", method = RequestMethod.GET)
  135. public Result<SysTenant> queryById(@RequestParam(name="id",required=true) String id) {
  136. Result<SysTenant> result = new Result<SysTenant>();
  137. SysTenant sysTenant = sysTenantService.getById(id);
  138. if(sysTenant==null) {
  139. result.error500("未找到对应实体");
  140. }else {
  141. result.setResult(sysTenant);
  142. result.setSuccess(true);
  143. }
  144. return result;
  145. }
  146. /**
  147. * 查询有效的 租户数据
  148. * @return
  149. */
  150. @RequestMapping(value = "/queryList", method = RequestMethod.GET)
  151. public Result<List<SysTenant>> queryList(@RequestParam(name="ids",required=false) String ids) {
  152. Result<List<SysTenant>> result = new Result<List<SysTenant>>();
  153. LambdaQueryWrapper<SysTenant> query = new LambdaQueryWrapper<>();
  154. query.eq(SysTenant::getStatus, 1);
  155. if(oConvertUtils.isNotEmpty(ids)){
  156. query.in(SysTenant::getId, ids.split(","));
  157. }
  158. //此处查询忽略时间条件
  159. List<SysTenant> ls = sysTenantService.list(query);
  160. result.setSuccess(true);
  161. result.setResult(ls);
  162. return result;
  163. }
  164. }