123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- package org.jeecg.modules.system.controller;
- import java.util.Arrays;
- import java.util.Date;
- import javax.servlet.http.HttpServletRequest;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang.StringUtils;
- import org.apache.shiro.authz.annotation.RequiresRoles;
- import org.jeecg.common.api.vo.Result;
- import org.jeecg.common.constant.CacheConstant;
- import org.jeecg.common.system.query.QueryGenerator;
- import org.jeecg.common.util.oConvertUtils;
- import org.jeecg.modules.system.entity.SysDictItem;
- import org.jeecg.modules.system.service.ISysDictItemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.cache.annotation.CacheEvict;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- 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;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @Author zhangweijian
- * @since 2018-12-28
- */
- @RestController
- @RequestMapping("/sys/dictItem")
- @Slf4j
- public class SysDictItemController {
- @Autowired
- private ISysDictItemService sysDictItemService;
-
- /**
- * @功能:查询字典数据
- * @param sysDictItem
- * @param pageNo
- * @param pageSize
- * @param req
- * @return
- */
- @RequestMapping(value = "/list", method = RequestMethod.GET)
- public Result<IPage<SysDictItem>> queryPageList(SysDictItem sysDictItem,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
- @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
- Result<IPage<SysDictItem>> result = new Result<IPage<SysDictItem>>();
- QueryWrapper<SysDictItem> queryWrapper = QueryGenerator.initQueryWrapper(sysDictItem, req.getParameterMap());
- queryWrapper.orderByAsc("sort_order");
- Page<SysDictItem> page = new Page<SysDictItem>(pageNo, pageSize);
- IPage<SysDictItem> pageList = sysDictItemService.page(page, queryWrapper);
- result.setSuccess(true);
- result.setResult(pageList);
- return result;
- }
-
- /**
- * @功能:新增
- * @return
- */
- //@RequiresRoles({"admin"})
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- @CacheEvict(value= {CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
- public Result<SysDictItem> add(@RequestBody SysDictItem sysDictItem) {
- Result<SysDictItem> result = new Result<SysDictItem>();
- try {
- // sysDictItem.setCreateTime(new Date());
- sysDictItemService.save(sysDictItem);
- result.success("保存成功!");
- } catch (Exception e) {
- log.error(e.getMessage(),e);
- result.error500("操作失败");
- }
- return result;
- }
-
- /**
- * @功能:编辑
- * @param sysDictItem
- * @return
- */
- //@RequiresRoles({"admin"})
- @RequestMapping(value = "/edit", method = RequestMethod.POST)
- @CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
- public Result<SysDictItem> edit(@RequestBody SysDictItem sysDictItem) {
- Result<SysDictItem> result = new Result<SysDictItem>();
- SysDictItem sysdict = sysDictItemService.getById(sysDictItem.getId());
- if(sysdict==null) {
- result.error500("未找到对应实体");
- }else {
- // sysDictItem.setUpdateTime(new Date());
- boolean ok = sysDictItemService.updateById(sysDictItem);
- //TODO 返回false说明什么?
- if(ok) {
- result.success("编辑成功!");
- }
- }
- return result;
- }
-
- /**
- * @功能:删除字典数据
- * @param id
- * @return
- */
- //@RequiresRoles({"admin"})
- @RequestMapping(value = "/delete", method = RequestMethod.POST)
- @CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
- public Result<SysDictItem> delete(@RequestParam(name="id",required=true) String id) {
- Result<SysDictItem> result = new Result<SysDictItem>();
- SysDictItem joinSystem = sysDictItemService.getById(id);
- if(joinSystem==null) {
- result.error500("未找到对应实体");
- }else {
- boolean ok = sysDictItemService.removeById(id);
- if(ok) {
- result.success("删除成功!");
- }
- }
- return result;
- }
-
- /**
- * @功能:批量删除字典数据
- * @param ids
- * @return
- */
- //@RequiresRoles({"admin"})
- @RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)
- @CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
- public Result<SysDictItem> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
- Result<SysDictItem> result = new Result<SysDictItem>();
- if(ids==null || "".equals(ids.trim())) {
- result.error500("参数不识别!");
- }else {
- this.sysDictItemService.removeByIds(Arrays.asList(ids.split(",")));
- result.success("删除成功!");
- }
- return result;
- }
- /**
- * 字典值重复校验
- * @param sysDictItem
- * @param request
- * @return
- */
- @RequestMapping(value = "/dictItemCheck", method = RequestMethod.GET)
- @ApiOperation("字典重复校验接口")
- public Result<Object> doDictItemCheck(SysDictItem sysDictItem, HttpServletRequest request) {
- int num = 0;
- LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>();
- queryWrapper.eq(SysDictItem::getItemValue,sysDictItem.getItemValue());
- queryWrapper.eq(SysDictItem::getDictId,sysDictItem.getDictId());
- if (StringUtils.isNotBlank(sysDictItem.getId())) {
- // 编辑页面校验
- queryWrapper.ne(SysDictItem::getId,sysDictItem.getId());
- }
- num = sysDictItemService.count(queryWrapper);
- if (num == 0) {
- // 该值可用
- return Result.ok("该值可用!");
- } else {
- // 该值不可用
- log.info("该值不可用,系统中已存在!");
- return Result.error("该值不可用,系统中已存在!");
- }
- }
-
- }
|