package doumeemes.api.ext; import doumeemes.api.BaseController; import doumeemes.core.annotation.excel.ExcelExporter; import doumeemes.core.annotation.pr.PreventRepeat; import doumeemes.core.annotation.trace.Trace; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; import doumeemes.dao.business.model.BarcodeParam; import doumeemes.dao.ext.dto.QueryBarcodeParamExtDTO; import doumeemes.dao.ext.vo.BarcodeParamContent; import doumeemes.dao.ext.vo.BarcodeParamExtListVO; import doumeemes.service.business.BarcodeParamService; import doumeemes.service.ext.BarcodeParamExtService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 二维码设置接口 * @author 江蹄蹄 * @date 2022/04/20 11:01 */ @RestController @RequestMapping("/ext/barcodeParamExt") @Api(tags = "二维码设置接口") @Trace(withRequestResult = false,withRequestParameters = false) public class BarcodeParamExtController extends BaseController { @Autowired private BarcodeParamExtService barcodeParamExtService; @Autowired private BarcodeParamService barcodeParamService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") @RequiresPermissions("ext:barcodeparamext:create") public ApiResponse create(@RequestBody BarcodeParam barcodeParam) { return barcodeParamService.create(barcodeParam); } @ApiOperation("根据ID删除") @ApiImplicitParam(value = "主键id", name = "id", paramType = "query", dataType = "String") @GetMapping("/delete/{id}") @RequiresPermissions("ext:barcodeparamext:delete") public ApiResponse deleteById(@PathVariable String id) { barcodeParamService.deleteById(Integer.valueOf(id)); return ApiResponse.success(null); } @ApiOperation("批量删除") @ApiImplicitParam(value = "主键ids", name = "ids", paramType = "query", dataType = "String") @GetMapping("/delete/batch") @RequiresPermissions("ext:barcodeparamext:delete") public ApiResponse deleteByIds(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { // BarcodeParam barcodeParam= barcodeParamService.findById(Integer.valueOf(id)); // barcodeParam.setDeleted(Constants.ONE); idList.add(Integer.valueOf(id)); } barcodeParamService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改") @PostMapping("/updateById") @RequiresPermissions("ext:barcodeparamext:update") public ApiResponse updateById(@RequestBody BarcodeParam barcodeParam) { return barcodeParamService.updateById(barcodeParam); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("ext:barcodeparamext:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { pageWrap.getModel().setDeleted(Constants.ZERO); pageWrap.getModel().setDepartId(getLoginUser().getCurComDepartment().getId()); pageWrap.getModel().setRootDepartId(getLoginUser().getRootDepartment().getRootId()); return ApiResponse.success(barcodeParamExtService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("ext:barcodeparamext:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { ExcelExporter.build(BarcodeParamExtListVO.class).export(barcodeParamExtService.findPage(pageWrap).getRecords(), "二维码设置", response); } @ApiOperation("根据ID查询") @ApiImplicitParam(value = "主键id", name = "id", paramType = "query", dataType = "String") @GetMapping("/{id}") @RequiresPermissions("ext:barcodeparamext:query") public ApiResponse findById(@PathVariable String id) { return ApiResponse.success(barcodeParamService.findById(Integer.valueOf(id))); } @ApiOperation("修改状态") @ApiImplicitParams({ @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(value = "状态状态 0失效 1有效", name = "status", paramType = "query", required = true, dataType = "String") }) @GetMapping("/updateStatus") @RequiresPermissions("ext:barcodeparamext:updateStatus") public ApiResponse updateStatus(@RequestParam String id,@RequestParam String status) { BarcodeParam barcodeParam= barcodeParamService.findById(Integer.valueOf(id)); barcodeParam.setStatus(Integer.valueOf(status)); return barcodeParamService.updateStatusById(barcodeParam); } @ApiOperation("获取扫描条码内容") @ApiImplicitParams({ @ApiImplicitParam(value = "扫描条码", name = "barcode", paramType = "query", required = true, dataType = "String") }) @GetMapping("/getBarcodeContent") public ApiResponse getBarcodeContent(@RequestParam String barcode) { return ApiResponse.success(barcodeParamExtService.getBarcodeContent(barcode,getLoginUser())); } }