| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 | package org.jeecg.modules.system.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import lombok.extern.slf4j.Slf4j;import org.jeecg.common.api.vo.Result;import org.jeecg.common.aspect.annotation.PermissionData;import org.jeecg.common.system.query.QueryGenerator;import org.jeecg.common.util.oConvertUtils;import org.jeecg.modules.system.entity.SysTenant;import org.jeecg.modules.system.service.ISysTenantService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;import java.util.ArrayList;import java.util.List;/** * 租户配置信息 */@Slf4j@RestController@RequestMapping("/sys/tenant")public class SysTenantController {    @Autowired    private ISysTenantService sysTenantService;    /**     * 获取列表数据     * @param sysTenant     * @param pageNo     * @param pageSize     * @param req     * @return     */    @PermissionData(pageComponent = "system/TenantList")	@RequestMapping(value = "/list", method = RequestMethod.GET)	public Result<IPage<SysTenant>> queryPageList(SysTenant sysTenant,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {		Result<IPage<SysTenant>> result = new Result<IPage<SysTenant>>();		QueryWrapper<SysTenant> queryWrapper = QueryGenerator.initQueryWrapper(sysTenant, req.getParameterMap());		Page<SysTenant> page = new Page<SysTenant>(pageNo, pageSize);		IPage<SysTenant> pageList = sysTenantService.page(page, queryWrapper);		result.setSuccess(true);		result.setResult(pageList);		return result;	}    /**     *   添加     * @param     * @return     */    @RequestMapping(value = "/add", method = RequestMethod.POST)    public Result<SysTenant> add(@RequestBody SysTenant sysTenant) {        Result<SysTenant> result = new Result<SysTenant>();        if(sysTenantService.getById(sysTenant.getId())!=null){            return result.error500("该编号已存在!");        }        try {            sysTenantService.save(sysTenant);            result.success("添加成功!");        } catch (Exception e) {            log.error(e.getMessage(), e);            result.error500("操作失败");        }        return result;    }    /**     *  编辑     * @param     * @return     */    @RequestMapping(value = "/edit", method = RequestMethod.POST)    public Result<SysTenant> edit(@RequestBody SysTenant tenant) {        Result<SysTenant> result = new Result<SysTenant>();        SysTenant sysTenant = sysTenantService.getById(tenant.getId());        if(sysTenant==null) {            result.error500("未找到对应实体");        }else {            boolean ok = sysTenantService.updateById(tenant);            if(ok) {                result.success("修改成功!");            }        }        return result;    }    /**     *   通过id删除     * @param id     * @return     */    @RequestMapping(value = "/delete", method = RequestMethod.POST)    public Result<?> delete(@RequestParam(name="id",required=true) String id) {        sysTenantService.removeTenantById(id);        return Result.ok("删除成功");    }    /**     *  批量删除     * @param ids     * @return     */    @RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)    public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {        Result<?> result = new Result<>();        if(oConvertUtils.isEmpty(ids)) {            result.error500("未选中租户!");        }else {            String[] ls = ids.split(",");            // 过滤掉已被引用的租户            List<String> idList = new ArrayList<>();            for (String id : ls) {                int userCount = sysTenantService.countUserLinkTenant(id);                if (userCount == 0) {                    idList.add(id);                }            }            if (idList.size() > 0) {                sysTenantService.removeByIds(idList);                if (ls.length == idList.size()) {                    result.success("删除成功!");                } else {                    result.success("部分删除成功!(被引用的租户无法删除)");                }            }else  {                result.error500("选择的租户都已被引用,无法删除!");            }        }        return result;    }    /**     * 通过id查询     * @param id     * @return     */    @RequestMapping(value = "/queryById", method = RequestMethod.GET)    public Result<SysTenant> queryById(@RequestParam(name="id",required=true) String id) {        Result<SysTenant> result = new Result<SysTenant>();        SysTenant sysTenant = sysTenantService.getById(id);        if(sysTenant==null) {            result.error500("未找到对应实体");        }else {            result.setResult(sysTenant);            result.setSuccess(true);        }        return result;    }    /**     * 查询有效的 租户数据     * @return     */    @RequestMapping(value = "/queryList", method = RequestMethod.GET)    public Result<List<SysTenant>> queryList(@RequestParam(name="ids",required=false) String ids) {        Result<List<SysTenant>> result = new Result<List<SysTenant>>();        LambdaQueryWrapper<SysTenant> query = new LambdaQueryWrapper<>();        query.eq(SysTenant::getStatus, 1);        if(oConvertUtils.isNotEmpty(ids)){            query.in(SysTenant::getId, ids.split(","));        }        //此处查询忽略时间条件        List<SysTenant> ls = sysTenantService.list(query);        result.setSuccess(true);        result.setResult(ls);        return result;    }}
 |