package com.thhy.secure.modules.biz.good.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.nacos.api.utils.StringUtils;
|
import com.github.pagehelper.PageInfo;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.common.BasicStatus;
|
import com.thhy.general.config.GlobalConfig;
|
import com.thhy.general.exception.BasicException;
|
import com.thhy.general.utils.ImageUtils;
|
import com.thhy.general.utils.PagingUtils;
|
import com.thhy.secure.modules.biz.good.entity.GoodDto;
|
import com.thhy.secure.modules.biz.good.entity.SecureGood;
|
import com.thhy.secure.modules.biz.good.entity.SecureGoodFile;
|
import com.thhy.secure.modules.biz.good.service.SecureGoodService;
|
import org.redisson.api.RBucket;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.imageio.ImageIO;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.awt.image.BufferedImage;
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.util.List;
|
|
/**
|
* @author zhang_xiao_bo
|
* @since 2023-05-23 14:06:10
|
*/
|
@RestController
|
@RequestMapping("secureGood")
|
public class SecureGoodController {
|
|
|
@Autowired
|
private SecureGoodService secureGoodService;
|
|
@Autowired
|
private RedissonClient redissonClient;
|
|
@Autowired
|
private GlobalConfig globalConfig;
|
|
@RequestMapping("findList")
|
public BasicResult findList(@RequestBody(required = false) GoodDto goodDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<SecureGood> secureGoodList = secureGoodService.findList(goodDto);
|
PageInfo<SecureGood> pageInfo = new PageInfo<>(secureGoodList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("fileList")
|
public BasicResult fileList(@RequestBody(required = false) GoodDto goodDto, HttpServletRequest req){
|
List<SecureGoodFile> goodFileList = secureGoodService.fileList(goodDto);
|
return BasicResult.success(goodFileList);
|
}
|
|
@RequestMapping("addSecureGood")
|
public BasicResult addSecureGood(@RequestBody GoodDto goodDto){
|
secureGoodService.addSecureGood(goodDto);
|
return BasicResult.success();
|
}
|
|
/**
|
@RequestMapping("update")
|
public BasicResult update(@RequestBody SecureGood secureGood){
|
secureGoodService.update(secureGood);
|
return BasicResult.success();
|
}**/
|
|
@RequestMapping("delete")
|
public BasicResult delete(@RequestBody SecureGood secureGood){
|
secureGoodService.delete(secureGood.getId());
|
return BasicResult.success();
|
}
|
|
@RequestMapping("viewcode")
|
public void viewcode(String authcode, HttpServletResponse rsp){
|
RBucket<String> rBucket = redissonClient.getBucket(globalConfig.getFilePreKey()+":authcode:"+authcode);
|
String param = rBucket.getAndDelete();
|
if(StringUtils.isEmpty(param)){
|
throw new BasicException(BasicStatus.TOKEN_IS_NULL);
|
}
|
SecureGood secureGood = JSON.toJavaObject(JSON.parseObject(param),SecureGood.class);
|
BufferedImage bufferedImage = ImageUtils.createQr(secureGood.getId());
|
|
OutputStream outputStream = null;
|
try {
|
outputStream = rsp.getOutputStream();
|
ImageIO.write(bufferedImage,"jpg",outputStream);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
} finally {
|
try {
|
outputStream.close();
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
}
|
}
|