package com.vci.web.controller; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.dto.PLIconDTO; import com.vci.pagemodel.PLIconGroupVO; import com.vci.pagemodel.PLIconVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.annotation.log.VciBusinessLog; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.WebIconserviceI; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; import java.util.List; /** * @Description 图标控制器 * @Author dangsn * @Date 2024/12/20 10:24 */ @VciBusinessLog(modelName="图标控制器",notStore=true) @RestController @RequestMapping("/webIconController") public class WebIconController { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 图标服务 */ @Resource private WebIconserviceI iconserviceI; /** * 导入图标 * @param file 图标文件 */ @PostMapping("/importIcon") @VciBusinessLog(operateName = "导入图标库", description = "导入图标库") public BaseResult importIcon(String type, String groups, MultipartFile file){ String fileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File iconFile = new File(fileName); try { file.transferTo(iconFile); if (iconFile != null) { iconserviceI.importIcon(type, groups, iconFile); return BaseResult.successMsg("导入成功!"); } else { return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"无导入的文件"}); } }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); }finally { iconFile.delete(); } } /** * 新增图标 * @param iconDTO 图标传输对象 * @return 执行结果 */ @PostMapping("/addIcon") @VciBusinessLog(operateName = "新增图标", description = "新增图标") public BaseResult addIcon(@RequestBody PLIconDTO iconDTO){ try { iconserviceI.addIcon(iconDTO); return BaseResult.successMsg("新增图标成功!"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "新增图标出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 修改图标 * @param iconDTO 图标传输对象 * @return 执行结果 */ @PutMapping("/editIcon") @VciBusinessLog(operateName = "修改图标", description = "修改图标") public BaseResult editIcon(@RequestBody PLIconDTO iconDTO){ try { iconserviceI.editIcon(iconDTO); return BaseResult.successMsg("修改图标成功!"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "修改图标出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 删除图标 * @param iconDTO 图标传输对象 * @return 执行结果 */ @DeleteMapping("/delIcon") @VciBusinessLog(operateName = "删除图标", description = "删除图标") public BaseResult delIcon(PLIconDTO iconDTO){ try { iconserviceI.delIcon(iconDTO); return BaseResult.successMsg("删除图标成功!"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "删除图标出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 获取图标名称 * @return 图标名称 */ @VciBusinessLog(operateName = "获取图标名称", description = "获取图标名称") @GetMapping("/getIconName") public BaseResult getIconName(){ try{ List iconNameList = iconserviceI.getIconName(); BaseResult baseResult = BaseResult.success(); baseResult.setData(iconNameList); return baseResult; }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "获取图标名称出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 获取所有图标信息 * @param baseQueryObject 查询对象 * @return 图标信息 */ @VciUnCheckRight @VciBusinessLog(operateName = "获取所有图标", description = "获取所有图标") @GetMapping("/getAllIcon") public BaseResult getAllIcon(BaseQueryObject baseQueryObject){ try{ List iconList = iconserviceI.getAllIcon(baseQueryObject); BaseResult baseResult = BaseResult.success(); baseResult.setData(iconList); return baseResult; }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "获取图标出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 获取图标信息,分页 * @param baseQueryObject 查询对象 * @return 图标信息 */ @VciBusinessLog(operateName = "获取图标", description = "获取图标表格数据") @GetMapping("/getGrid") public DataGrid getGrid(BaseQueryObject baseQueryObject){ try{ return iconserviceI.getGrid(baseQueryObject); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "获取图标出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return new DataGrid<>(exceptionMessage); } } }