package com.ruoyi.template.controller; import com.ruoyi.common.annotation.AddOrgId; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.template.domain.SvyLibScriptCategory; import com.ruoyi.template.domain.SvyLibScriptCategoryVO; import com.ruoyi.template.service.ISvyLibScriptCategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; /** * 问卷题目分类Controller * * @author ruoyi * @date 2023-12-27 */ @Api(description = "问卷题库分类") @RestController @RequestMapping("/smartor/svyLibScriptCategory") public class SvyLibScriptCategoryController extends BaseController { @Autowired private ISvyLibScriptCategoryService svyLibScriptCategoryService; /** * 查询问卷题目分类列表 */ @ApiOperation("查询问卷题目分类列表") //@PreAuthorize("@ss.hasPermi('smartor:category:list')") @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("list") public TableDataInfo list(@RequestBody SvyLibScriptCategory svyLibScriptCategory) { // startPage(); List list = svyLibScriptCategoryService.selectSvyLibScriptCategoryList(svyLibScriptCategory); return getDataTable(list); } /** * 导出问卷题目分类列表 */ //@PreAuthorize("@ss.hasPermi('smartor:category:export')") @Log(title = "问卷题目分类", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, SvyLibScriptCategory svyLibScriptCategory) { List list = svyLibScriptCategoryService.selectSvyLibScriptCategoryList(svyLibScriptCategory); ExcelUtil util = new ExcelUtil(SvyLibScriptCategoryVO.class); util.exportExcel(response, list, "问卷题目分类数据"); } /** * 获取问卷题目分类详细信息 */ @ApiOperation("获取问卷题目分类详细信息") //@PreAuthorize("@ss.hasPermi('smartor:category:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(svyLibScriptCategoryService.selectSvyLibScriptCategoryById(id)); } // /** // * 新增问卷题目分类 // */ // //@PreAuthorize("@ss.hasPermi('smartor:category:add')") // @Log(title = "问卷题目分类", businessType = BusinessType.INSERT) // @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") // @PostMapping("/add") // public AjaxResult add(@RequestBody SvyLibScriptCategory svyLibScriptCategory) { // return toAjax(svyLibScriptCategoryService.insertSvyLibScriptCategory(svyLibScriptCategory)); // } /** * 修改问卷题目分类 */ //@PreAuthorize("@ss.hasPermi('smartor:category:edit')") @Log(title = "问卷题目分类", businessType = BusinessType.UPDATE) @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/edit") public AjaxResult edit(@RequestBody SvyLibScriptCategory svyLibScriptCategory) { return toAjax(svyLibScriptCategoryService.updateSvyLibScriptCategory(svyLibScriptCategory)); } /** * 删除问卷题目分类 */ @ApiOperation("删除问卷题目分类") //@PreAuthorize("@ss.hasPermi('smartor:category:remove')") @Log(title = "问卷题目分类", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable String ids) { // ⚠️ 原实现用 `org.apache.commons.beanutils.ConvertUtils.convert(ids.split(","), Long.class)`。 // `commons-beanutils` 在本项目里**没有任何 pom 显式声明**(全靠传递依赖带进来), // 而模板模块只依赖 ruoyi-common —— 为一行数组转换去引一个三方库不划算。 // 这里用 JDK 写法等价替换:同样是"逗号分隔字符串 -> Long[]",空/null 同样安全。 // (原 ConvertUtils 对空串会返回 null 元素的数组;本模块的 /remove/{ids} 路径变量 // 不会是空串,且下游只按元素取值,行为一致。) Long[] idArray = java.util.Arrays.stream(ids.split(",")) .filter(s -> s != null && !s.trim().isEmpty()) .map(s -> Long.valueOf(s.trim())) .toArray(Long[]::new); return toAjax(svyLibScriptCategoryService.deleteSvyLibScriptCategoryByIds(idArray)); } /** * 问卷题目分类树 */ //@PreAuthorize("@ss.hasPermi('smartor:assort:add')") @Log(title = "问卷题目分类树", businessType = BusinessType.INSERT) @ApiOperation("问卷题目分类树") @PostMapping("/addtree") public AjaxResult addtree(@RequestBody SvyLibScriptCategoryVO svyLibScriptCategoryVO) { SysUser user = getLoginUser().getUser(); svyLibScriptCategoryVO.setOrgid(user.getOrgid()); return toAjax(svyLibScriptCategoryService.insertSvyLibScriptCategoryTree(svyLibScriptCategoryVO)); } }