package com.huaheng.pc.config.token.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.common.utils.StringUtils; import com.huaheng.pc.config.token.domain.Token; import com.huaheng.pc.config.token.service.ITokensService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.common.support.Convert; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; /** * 【请填写功能名称】 信息操作处理 * * @author huaheng * @date 2022-08-26 */ @Controller @RequestMapping("/config/token") public class TokenController extends BaseController { private String prefix = "config/token"; @Resource private ITokensService tokensService; @RequiresPermissions("config:token:view") @GetMapping() public String token() { return prefix + "/list"; } /** * 查询【请填写功能名称】列表 */ @RequiresPermissions("config:token:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(Token token) { LambdaQueryWrapper<Token> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(StringUtils.isNotEmpty(token.getAccesstoken()), Token::getAccesstoken, token.getAccesstoken()) .eq(StringUtils.isNotEmpty(token.getType()), Token::getType, token.getType()) .like(StringUtils.isNotEmpty(token.getName()), Token::getName, token.getName()) .eq(StringUtils.isNotEmpty(token.getPassword()), Token::getPassword, token.getPassword()) .eq(StringUtils.isNotEmpty(token.getRefreshToken()), Token::getRefreshToken, token.getRefreshToken()) .eq(StringUtils.isNotEmpty(token.getRedirectUrl()), Token::getRedirectUrl, token.getRedirectUrl()) .eq(StringUtils.isNotEmpty(token.getExpires()), Token::getExpires, token.getExpires()) ; PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<Token> page = new Page<>(pageNum, pageSize); IPage<Token> iPage = tokensService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<Token> list = tokensService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增【请填写功能名称】 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存【请填写功能名称】 */ @RequiresPermissions("config:token:add") @Log(title = "【请填写功能名称】", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(Token token) { return toAjax(tokensService.save(token)); } /** * 修改【请填写功能名称】 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { Token token = tokensService.getById(id); mmap.put("token", token); return prefix + "/edit"; } /** * 修改保存【请填写功能名称】 */ @RequiresPermissions("config:token:edit") @Log(title = "【请填写功能名称】", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(Token token) { return toAjax(tokensService.updateById(token)); } /** * 删除【请填写功能名称】 */ @RequiresPermissions("config:token:remove") @Log(title = "【请填写功能名称】", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } return toAjax(tokensService.removeByIds(Arrays.asList(Convert.toIntArray(ids)))); } }