| 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")@Slf4jpublic 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("该值不可用,系统中已存在!");		}	}	}
 |