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 && sysPictureBase.getProductType()!=20) { 
 | 
            sysPictureBaseService.updateByDefault(sysPictureBase.getId(), sysPictureBase.getProductType()); 
 | 
            sysPictureBaseService.updateProdeuctImg(sysPictureBase.getId(), sysPictureBase.getProductType(), null); 
 | 
        } 
 | 
        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) { 
 | 
        sysPictureBaseService.getSvgImage(response,id); 
 | 
    } 
 | 
  
 | 
    @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(); 
 | 
    } 
 | 
  
 | 
} 
 |