package com.thhy.staff.modules.biz.dorm.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.PagingUtils;
|
import com.thhy.staff.modules.biz.dorm.entity.Dorm;
|
import com.thhy.staff.modules.biz.dorm.entity.DormDto;
|
import com.thhy.staff.modules.biz.dorm.entity.DormListVo;
|
import com.thhy.staff.modules.biz.dorm.service.DormService;
|
import com.thhy.general.utils.ImageUtils;
|
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-04-03 12:49:45
|
*/
|
@RestController
|
@RequestMapping("dorm")
|
public class DormController {
|
|
|
@Autowired
|
private DormService dormService;
|
|
@Autowired
|
private RedissonClient redissonClient;
|
|
@Autowired
|
private GlobalConfig globalConfig;
|
|
@RequestMapping("findList")
|
public BasicResult findList(@RequestBody(required = false) DormDto dormDto,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<DormListVo> dormList = dormService.findList(dormDto);
|
PageInfo<DormListVo> pageInfo = new PageInfo<>(dormList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("addDorm")
|
public BasicResult addDorm(@RequestBody DormDto dormDto){
|
dormService.addDorm(dormDto);
|
return BasicResult.success();
|
}
|
|
@RequestMapping("getDormInfo")
|
public BasicResult getDormInfo(@RequestBody(required = false) Dorm dorm,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
DormDto dormDto = dormService.getDormInfo(dorm);
|
return BasicResult.success(dormDto);
|
}
|
|
@RequestMapping("findUserList")
|
public BasicResult findUserList(@RequestBody(required = false) DormDto dormDto,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<DormListVo> dormList = dormService.findList(dormDto);
|
PageInfo<DormListVo> pageInfo = new PageInfo<>(dormList);
|
return BasicResult.success(pageInfo);
|
}
|
|
|
/**
|
@RequestMapping("update")
|
public BasicResult update(@RequestBody Dorm dorm){
|
dormService.update(dorm);
|
return BasicResult.success();
|
}**/
|
|
@RequestMapping("delete")
|
public BasicResult delete(@RequestBody Dorm dorm){
|
dormService.delete(dorm.getDormId());
|
return BasicResult.success();
|
}
|
|
@RequestMapping("viewcode")
|
public void viewcode(String authcode, HttpServletResponse rsp){
|
/*dormService.delete(dorm.getDormId());*/
|
RBucket<String> rBucket = redissonClient.getBucket(globalConfig.getFilePreKey()+":authcode:"+authcode);
|
String param = rBucket.getAndDelete();
|
if(StringUtils.isEmpty(param)){
|
throw new BasicException(BasicStatus.TOKEN_IS_NULL);
|
}
|
Dorm dorm = JSON.toJavaObject(JSON.parseObject(param),Dorm.class);
|
BufferedImage bufferedImage = ImageUtils.createQr(dorm.getDormId());
|
|
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);
|
}
|
}
|
}
|
}
|