package com.yiboshi.science.rest.v1; import com.yiboshi.arch.base.ResponseDataModel; import com.yiboshi.science.base.Pagination; import com.yiboshi.science.config.annotation.Anonymous; import com.yiboshi.science.config.annotation.Logs; import com.yiboshi.science.entity.SelectCodeListItem; import com.yiboshi.science.entity.SelectListItem; import com.yiboshi.science.entity.SystemParameter; import com.yiboshi.science.enumeration.CommonEnum; import com.yiboshi.science.param.dto.SpecDTO; import com.yiboshi.science.param.dto.SystemParameterDTO; import com.yiboshi.science.param.query.SystemParameterQueryVO; import com.yiboshi.science.rest.BaseController; import com.yiboshi.science.service.SystemParameterService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 功能:参数表 接口 * * @author lkl * @version 2021-08-26 */ @Api(tags = "system-parameter", description = "参数表") @RestController @RequestMapping("/v1/science-admin/system-parameter") public class SystemParameterController extends BaseController<SystemParameterService, SystemParameterQueryVO, SystemParameterDTO, SystemParameter> { @Autowired private SystemParameterService systemParameterService; @ApiOperation(value = "1.02 分页查询", httpMethod = "GET", notes = "1.02 根据参数获取列表") @GetMapping @RequestMapping("/getListByPage") public ResponseDataModel<Pagination<SystemParameterDTO>> getListByPage(@Validated SystemParameterQueryVO vo, BindingResult bindingResult) { Pagination<SystemParameterDTO> page = systemParameterService.getListByPage(vo); return ResponseDataModel.ok(page); } @ApiOperation(value = "根据类型获取父级参数列表", httpMethod = "GET", notes = "根据类型获取父级参数列表") @GetMapping @Anonymous @RequestMapping("/getParentListByType") public ResponseDataModel<List<SelectListItem>> getParentListByType(Integer typeId) { List<SelectListItem> list = new ArrayList<>(); List<SystemParameter> paraList = systemParameterService.getParentListByType(typeId); paraList.forEach((e) -> { SelectListItem selectListItem = new SelectListItem(e.getName(), e.getId(),"",true, true, null); list.add(selectListItem); }); return ResponseDataModel.ok(list); } @ApiOperation(value = "根据参数获取参数列表", httpMethod = "GET", notes = "根据参数获取参数列表") @GetMapping @Anonymous @RequestMapping("/getParameterList") public ResponseDataModel<Map<String, Object>> getParameterList(SystemParameter s) { return ResponseDataModel.ok(systemParameterService.getParameterList(s)); } @ApiOperation(value = "根据参数获取参数列表", httpMethod = "GET", notes = "根据参数获取参数列表") @GetMapping @Anonymous @RequestMapping("/getParameterListByTypeId") public ResponseDataModel<List<SystemParameter>> getParameterListByTypeId(Integer typeId) { return ResponseDataModel.ok(systemParameterService.getListByType(typeId)); } @ApiOperation(value = "根据类型参数列表", httpMethod = "GET", notes = "根据类型参数列表") @GetMapping @Anonymous @RequestMapping("/getArrayListByType") public ResponseDataModel<List<SelectListItem>> getArrayListByType(Integer typeId) { return ResponseDataModel.ok(systemParameterService.getArrayListByType(typeId)); } @ApiOperation(value = "根据类型参数列表", httpMethod = "GET", notes = "根据类型参数列表") @GetMapping @RequestMapping("/getTreeListByType") public ResponseDataModel<List<SelectListItem>> getTreeListByType(Integer typeId) { return ResponseDataModel.ok(systemParameterService.getTreeListByType(typeId)); } @ApiOperation(value = "获取父参数列表", httpMethod = "GET", notes = "获取父参数列表") @GetMapping @RequestMapping("/getParentList") public ResponseDataModel<List<SelectListItem>> getParentParameterList() { List<SelectListItem> list = new ArrayList<>(); List<SystemParameter> paraList = systemParameterService.getParentParameterList(); paraList.forEach((e) -> { SelectListItem selectListItem = new SelectListItem(e.getName()+"("+e.getTypeId()+")", e.getId(),"",true, true, null); list.add(selectListItem); }); return ResponseDataModel.ok(list); } /** * 根据id获取信息 * * @param id 查询条件 */ @ApiOperation(value = "根据id获取信息", httpMethod = "GET", notes = "根据id获取信息") @GetMapping @RequestMapping("/getParameterById") public ResponseDataModel<SystemParameterDTO> getParameterById(@Validated String id) { return ResponseDataModel.ok(systemParameterService.dtoById(id)); } @ApiOperation(value = "修改字典", httpMethod = "PUT", notes = "2.02 修改数据", consumes = MediaType.APPLICATION_JSON_VALUE) @ApiImplicitParam(dataType = "string", name = "id", value = "主键", example = "1", type = "path") @PutMapping(value = "/updateSystemParameter") @Logs(value = CommonEnum.logType.parameterUpdate) public ResponseDataModel<String> updateSystemParameter(@Validated @RequestBody SystemParameterDTO dto) { return ResponseDataModel.ok(systemParameterService.save(dto)); } @ApiOperation(value = "删除字典", httpMethod = "DELETE", notes = "删除字典") @DeleteMapping(value = "deleteById/{id}") @Logs(value = CommonEnum.logType.parameterDelete) public ResponseDataModel<String> deleteById(@PathVariable String id) { return ResponseDataModel.ok(systemParameterService.deleteParameterById(id)); } @ApiOperation(value = "根据类型参数列表", httpMethod = "GET", notes = "根据类型参数列表") @GetMapping @RequestMapping("/refreshSystemParameter") public ResponseDataModel<String> refreshSystemParameter() { return ResponseDataModel.ok(systemParameterService.refreshSystemParameter()); } @ApiOperation(value = "根据参数获取参数列表", httpMethod = "GET", notes = "根据参数获取参数列表") @GetMapping @RequestMapping("/getParameterListBySystemCode") public ResponseDataModel<List<SelectListItem>> getParameterListBySystemCode(String SystemCodeOrName) { List<SelectListItem> list = new ArrayList<>(); List<SystemParameter> paraList = systemParameterService.getParameterListBySystemCode(SystemCodeOrName); paraList.forEach((e) -> { SelectListItem selectListItem = new SelectListItem(e.getName(), e.getId(),"",true, true, null); list.add(selectListItem); }); return ResponseDataModel.ok(list); } @ApiOperation(value = "获取学科代码树列表", httpMethod = "GET", notes = "获取学科代码树列表") @GetMapping @RequestMapping("/getKnowledgeInfoList1") public ResponseDataModel<List<SelectListItem>> getKnowledgeInfoList1() { List<SelectListItem> list = systemParameterService.getKnowledgeInfoList1(); return ResponseDataModel.ok(list); } @ApiOperation(value = "获取学科代码树列表", httpMethod = "GET", notes = "获取学科代码树列表") @GetMapping @RequestMapping("/getKnowledgeInfoList2") public ResponseDataModel<List<SelectCodeListItem>> getKnowledgeInfoList2() { List<SelectCodeListItem> list = systemParameterService.getKnowledgeInfoList2(); return ResponseDataModel.ok(list); } @ApiOperation(value = "专业数组代码列表", httpMethod = "GET", notes = "专业数组代码列表") @GetMapping @RequestMapping("/getSpecArray") public ResponseDataModel<List<SpecDTO>> getSpecArray() { List<SpecDTO> list = systemParameterService.getSpecArray(); return ResponseDataModel.ok(list); } }