/* * Copyright 2019-2020 Zheng Jie * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.youchain.businessdata.rest; import com.youchain.annotation.Log; import com.youchain.businessdata.domain.XppPlan; import com.youchain.businessdata.service.XppPlanService; import com.youchain.businessdata.service.dto.XppPlanQueryCriteria; import org.springframework.data.domain.Pageable; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; import javax.servlet.http.HttpServletResponse; /** * @website https://eladmin.vip * @author houjianlan * @date 2026-02-11 **/ @RestController @RequiredArgsConstructor @Api(tags = "xppPlan管理") @RequestMapping("/api/xppPlan") public class XppPlanController { private final XppPlanService xppPlanService; @Log("导出数据") @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('xppPlan:list')") public void exportXppPlan(HttpServletResponse response, XppPlanQueryCriteria criteria) throws Exception { xppPlanService.download(xppPlanService.queryAll(criteria), response); } @GetMapping @Log("查询xppPlan") @ApiOperation("查询xppPlan") @PreAuthorize("@el.check('xppPlan:list')") public ResponseEntity queryXppPlan(XppPlanQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(xppPlanService.queryAll(criteria,pageable),HttpStatus.OK); } @PostMapping @Log("新增xppPlan") @ApiOperation("新增xppPlan") @PreAuthorize("@el.check('xppPlan:add')") public ResponseEntity createXppPlan(@Validated @RequestBody XppPlan resources){ return new ResponseEntity<>(xppPlanService.create(resources),HttpStatus.CREATED); } @PutMapping @Log("修改xppPlan") @ApiOperation("修改xppPlan") @PreAuthorize("@el.check('xppPlan:edit')") public ResponseEntity updateXppPlan(@Validated @RequestBody XppPlan resources){ xppPlanService.update(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @DeleteMapping @Log("删除xppPlan") @ApiOperation("删除xppPlan") @PreAuthorize("@el.check('xppPlan:del')") public ResponseEntity deleteXppPlan(@RequestBody Long[] ids) { xppPlanService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } }