package com.zt.life.modules.mainPart.sysPictureBase.controller;
|
|
|
import com.zt.common.annotation.LogOperation;
|
import com.zt.common.constant.Constant;
|
import com.zt.common.annotation.QueryParam;
|
import com.zt.common.db.query.QueryFilter;
|
import com.zt.common.servlet.Result;
|
import com.zt.common.validator.AssertUtils;
|
import com.zt.life.modules.mainPart.sysPictureBase.model.SysPictureBase;
|
import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
|
import com.zt.life.sys.service.SysOssConfigService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
import javax.imageio.ImageIO;
|
import javax.servlet.http.HttpServletResponse;
|
import java.awt.image.BufferedImage;
|
import java.io.*;
|
import java.util.List;
|
|
|
/**
|
* sys_picture_base
|
*
|
* @author zt generator
|
* @since 1.0.0 2024-02-27
|
*/
|
@RestController
|
@RequestMapping("/sysPictureBase/")
|
@Api(tags = "sys_picture_base")
|
public class SysPictureBaseController {
|
@Autowired
|
private SysPictureBaseService sysPictureBaseService;
|
|
@Autowired
|
private SysOssConfigService sysOssConfigService;
|
@Value("${zt.oss.local-path}")
|
private String localPath;
|
|
@GetMapping("page")
|
@ApiOperation("分页")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
|
@ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
|
@ApiImplicitParam(name = "productType", value = "检索关键字", dataType = Constant.QT.STRING, format = "PRODUCT_TYPE^EQ"),
|
@ApiImplicitParam(name = "systemMark", value = "系统标识", dataType = Constant.QT.STRING, format = "SYSTEM_MARK^LK")})
|
public Result<List<SysPictureBase>> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
|
|
return Result.ok(sysPictureBaseService.page(queryFilter));
|
}
|
|
@GetMapping("{id}")
|
@ApiOperation("信息")
|
public Result<SysPictureBase> get(@PathVariable("id") Long id) {
|
SysPictureBase data = sysPictureBaseService.get(id);
|
return Result.ok(data);
|
}
|
|
@PostMapping("save")
|
@ApiOperation("保存")
|
@LogOperation("保存")
|
public Result save(@RequestBody SysPictureBase sysPictureBase) {
|
if (sysPictureBase.getId() != null) {
|
sysPictureBaseService.update(sysPictureBase);
|
} else {
|
sysPictureBaseService.insert(sysPictureBase);
|
}
|
if (sysPictureBase.getIsDefault()==1){
|
if (sysPictureBase.getId()==null){
|
sysPictureBaseService.updateByDefault(sysPictureBase.getId(),sysPictureBase.getProductType());
|
sysPictureBaseService.updateProdeuctImg(sysPictureBase.getId(),sysPictureBase.getProductType(),null);
|
}else{
|
if (!sysPictureBase.getId().equals(sysPictureBase.getId())){
|
sysPictureBaseService.updateByDefault(sysPictureBase.getId(),sysPictureBase.getProductType());
|
sysPictureBaseService.updateProdeuctImg(sysPictureBase.getId(),sysPictureBase.getProductType(),sysPictureBase.getId());
|
}
|
}
|
}
|
/* if (file != null) {
|
BufferedImage bufferedImage = null;
|
try {
|
String fileName = file.getOriginalFilename();
|
String[] arr = fileName.split("\\.");
|
String suffixName = arr[arr.length - 1].toLowerCase();
|
|
bufferedImage = ImageIO.read(file.getInputStream());
|
// 宽度
|
int width = bufferedImage.getWidth();
|
sysPictureBase.setWidth(width);
|
// 高度
|
int height = bufferedImage.getHeight();
|
sysPictureBase.setHeight(height);
|
sysPictureBaseService.update(sysPictureBase);
|
String tempUploadDir = localPath + "/product_img/";
|
File dir = new File(tempUploadDir);
|
if (!dir.exists()) {
|
dir.mkdirs();
|
}
|
ImageIO.write(bufferedImage, suffixName, new File(tempUploadDir + sysPictureBase.getId().toString()));
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}*/
|
return Result.ok();
|
}
|
|
@RequestMapping("/getProductImg")
|
public void getProductImg(HttpServletResponse response, Long id) {
|
try {
|
String tempUploadDir = localPath + "/product_img/" + id;
|
File file = new File(tempUploadDir);
|
//读取指定路径下面的文件
|
InputStream in = new FileInputStream(file);
|
|
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
|
//创建存放文件内容的数组
|
byte[] buff = new byte[1024];
|
//所读取的内容使用n来接收
|
int n;
|
//当没有读
|
//取完时,继续读取,循环
|
while ((n = in.read(buff)) != -1) {
|
//将字节数组的数据全部写入到输出流中
|
outputStream.write(buff, 0, n);
|
}
|
//强制将缓存区的数据进行输出
|
outputStream.flush();
|
//关流
|
outputStream.close();
|
in.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@RequestMapping("/getSvgImage")
|
public void getSvgImage(HttpServletResponse response, Long id) {
|
try {
|
SysPictureBase data = sysPictureBaseService.get(id);
|
String svgContent = data.getSvgContent();
|
response.setContentType("image/svg+xml");
|
response.getWriter().write(svgContent);
|
response.getWriter().flush();
|
response.getWriter().close();
|
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@GetMapping("/getDefaultImg")
|
public Result<SysPictureBase> getDefaultImg(Integer productType) {
|
SysPictureBase data = sysPictureBaseService.getDefaultImg(productType);
|
return Result.ok(data);
|
}
|
@DeleteMapping
|
@ApiOperation("删除")
|
@LogOperation("删除")
|
public Result delete(@RequestBody Long[] ids) {
|
//效验数据
|
AssertUtils.isArrayEmpty(ids, "id");
|
sysPictureBaseService.delete(ids);
|
|
return Result.ok();
|
}
|
|
}
|