package org.jeecg.modules.system.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.system.entity.SysParams; import org.jeecg.modules.system.event.SysParamChangeEvent; import org.jeecg.modules.system.service.ISysParamsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; /** * @Description: 系统参数表 * @Author: server-boot * @Date: 2020-12-28 * @Version: V1.0 */ @Api(tags="系统参数表") @RestController @RequestMapping("/system/sysParams") @Slf4j public class SysParamsController { @Autowired private ISysParamsService ISysParamsService; @Autowired private ApplicationEventPublisher applicationEventPublisher; /** * 分页列表查询 * * @param sysParams * @param req * @return */ @ApiOperation(value="系统参数表-分页列表查询", notes="系统参数表-分页列表查询") @GetMapping(value = "/list") public Result> queryPageList(SysParams sysParams, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysParams, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList= ISysParamsService.page(page, queryWrapper); return Result.OK(pageList); } /** * 添加 * * @param sysParams * @return */ @ApiOperation(value="系统参数表-添加", notes="系统参数表-添加") @PostMapping(value = "/add") public Result add(@RequestBody SysParams sysParams) { ISysParamsService.save(sysParams); return Result.ok("添加成功!"); } /** * 编辑(根据settingKey) * * @param sysParams * @return */ @ApiOperation(value="系统参数表-编辑(根据settingKey)", notes="系统参数表-编辑(根据settingKey)") @PostMapping(value = "/edit/for/settingkey") public Result editForSettingKey(@RequestBody SysParams sysParams) { SysParams params = ISysParamsService.getOne(new QueryWrapper().eq("setting_key",sysParams.getSettingKey())); if(params==null){ ISysParamsService.save(sysParams); }else{ params.setSettingValue(sysParams.getSettingValue()); ISysParamsService.updateById(params); } return Result.ok("设置成功!"); } /** * 编辑 * * @param sysParams * @return */ @ApiOperation(value="系统参数表-编辑", notes="系统参数表-编辑") @PutMapping(value = "/edit") public Result edit(@RequestBody SysParams sysParams) { ISysParamsService.updateById(sysParams); //Event触发刷新 applicationEventPublisher.publishEvent(new SysParamChangeEvent(this, sysParams)); return Result.ok("编辑成功!"); } /** * 通过id删除 * * @param id * @return */ @ApiOperation(value="系统参数表-通过id删除", notes="系统参数表-通过id删除") @DeleteMapping(value = "/delete") public Result delete(@RequestParam(name="id",required=true) String id) { ISysParamsService.removeById(id); return Result.ok("删除成功!"); } /** * 批量删除 * * @param ids * @return */ @ApiOperation(value="系统参数表-批量删除", notes="系统参数表-批量删除") @DeleteMapping(value = "/deleteBatch") public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.ISysParamsService.removeByIds(Arrays.asList(ids.split(","))); return Result.ok("批量删除成功!"); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value="系统参数表-通过id查询", notes="系统参数表-通过id查询") @GetMapping(value = "/queryById") public Result queryById(@RequestParam(name="id",required=true) String id) { SysParams sysParams = ISysParamsService.getById(id); if(sysParams==null) { return Result.error("未找到对应数据"); } return Result.ok(sysParams); } /** * 通过settingkey查询 * * @param settingKey * @return */ @ApiOperation(value="系统参数表-通过settingkey查询", notes="系统参数表-通过settingkey查询") @GetMapping(value = "/query/by/settingKey") public Result queryBySettingKey(@RequestParam(name="settingKey",required=true) String settingKey) { SysParams sysParams = ISysParamsService.getOne(new QueryWrapper().eq("setting_key",settingKey)); if(sysParams==null) { return Result.error("未找到对应数据"); } return Result.ok(sysParams); } }