package com.doumee.cloud.web; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.UtilService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; import java.io.*; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/5/8 18:25 */ @Api(tags = "99、帮助业务") @Trace(exclude = true) @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/util") @Slf4j public class UtilApi extends BaseController { @Autowired private UtilService utilService; @Autowired private SystemDictDataBiz systemDictDataBiz; @ApiOperation(value = "查询字典值数据", notes = "小程序端") @GetMapping("/getSystemDictData") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "String", name = "label", value = "数据字典值", required = true), @ApiImplicitParam(paramType = "query", dataType = "String", name = "dictCode", value = "系统字典值", required = true) }) public ApiResponse getSystemDictData(@RequestParam String dictCode, @RequestParam String label) { return ApiResponse.success("生成成功",systemDictDataBiz.queryByCode(dictCode,label)); } @ApiOperation(value = "获取分享小程序二维码(base64格式,img标签src指定)", notes = "小程序端") @GetMapping("/generate") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "bookingsId", value = "会议主键", required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "userId", value = "用户主键", required = true) }) public ApiResponse generate(@RequestParam Integer bookingsId,@RequestParam Integer userId) { return ApiResponse.success("生成成功",utilService.generate(bookingsId,userId)); } @ApiOperation(value = "获取分享小程序二维码(图片流,img标签src指定)", notes = "小程序端") @GetMapping("/generateImg") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "bookingsId", value = "会议主键", required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "userId", value = "用户主键", required = true) }) public void generateImg(@RequestParam Integer bookingsId, @RequestParam Integer userId, HttpServletResponse response) { try{ response.setHeader("Cache-Control", "no-store, no-cache"); response.setContentType("image/jpeg"); InputStream inputStream = utilService.generateImgStream(bookingsId,userId); ImageIO.write(ImageIO.read(inputStream),"png",response.getOutputStream()); }catch (Exception e){ e.printStackTrace(); } } }