package com.tievd.jyz.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.tievd.cube.commons.annotations.AutoLog; import com.tievd.cube.commons.annotations.DictApi; import com.tievd.cube.commons.base.CubeController; import com.tievd.cube.commons.base.Result; import com.tievd.cube.commons.mybatisplus.QueryGenerator; import com.tievd.jyz.dto.IssueDTO; import com.tievd.jyz.entity.Upgrade; import com.tievd.jyz.service.IUpgradeService; import com.tievd.jyz.util.MultiMinioUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.DecimalFormat; import java.util.Arrays; import java.util.HashMap; /** * Upgrade * * @author cube * @version V2.0.0 * @since 2023-02-27 */ @Slf4j @DictApi @RestController @RequestMapping("/jyz/upgrade") public class UpgradeController extends CubeController { @Autowired private IUpgradeService upgradeService; /** * 分页列表查询 */ @GetMapping("/list") public Result queryPageList(Upgrade upgrade, @RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(upgrade, req.getParameterMap()); Page page = new Page<>(pageNo, pageSize); IPage pageList = upgradeService.page(page, queryWrapper); return Result.ok(pageList); } /** * 添加 */ @AutoLog("Upgrade-添加") @PostMapping("/add") public Result add(@RequestBody Upgrade upgrade) { upgrade.setPath(MultiMinioUtil.getBucketName() + ":" + upgrade.getPath()); upgradeService.save(upgrade); return Result.ok(); } /** * 编辑 */ @AutoLog("Upgrade-编辑") @PutMapping("/edit") public Result edit(@RequestBody Upgrade upgrade) { upgradeService.updateById(upgrade); return Result.ok(); } /** * 通过id删除 */ @AutoLog("Upgrade-通过id删除") @DeleteMapping("/delete") public Result delete(@RequestParam String id) { upgradeService.remove(id); return Result.ok(); } /** * 批量删除 */ @AutoLog("Upgrade-批量删除") @DeleteMapping("/deleteBatch") public Result deleteBatch(@RequestParam String ids) { this.upgradeService.removeByIds(Arrays.asList(ids.split(","))); return Result.ok(); } /** * 通过id查询 */ @GetMapping("/queryById") public Result queryById(@RequestParam String id) { Upgrade upgrade = upgradeService.getById(id); return Result.ok(upgrade); } /** * 导出excel */ @RequestMapping("/exportXls") public void exportXls(HttpServletRequest request, HttpServletResponse response, Upgrade upgrade) throws IOException { super.exportXls(request, response, upgrade, "Upgrade"); } /** * 通过excel导入数据 */ @PostMapping("/importExcel") public Result importExcel(HttpServletRequest request) throws Exception { return super.importExcel(request, Upgrade.class); } /** * 下发 * * @return */ @PostMapping("/issue") public Result issue(@RequestBody IssueDTO dto) { return upgradeService.issue(dto); } /** * 升级包上传 * * @param httpServletRequest * @return */ @PostMapping("/upload") public Result upload(HttpServletRequest httpServletRequest) throws IOException { if (httpServletRequest instanceof MultipartHttpServletRequest) { MultipartFile file = ((MultipartHttpServletRequest) httpServletRequest).getFile("file"); String path = MultiMinioUtil.upload(file); //MB float fileSize = ((float) file.getBytes().length / 1024f / 1024f); return Result.ok(new HashMap() {{ put("path", path); put("fileSize", new DecimalFormat("0.00").format(fileSize)); }}); } else { return Result.error("参数错误"); } } }