package com.fdkankan.scene.controller; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.UUID; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.fdkankan.common.constant.SceneInfoReqType; import com.fdkankan.common.util.ESAPIUtil; import com.fdkankan.common.util.FdfsUtil; import com.fdkankan.scene.annotation.CheckToken; import com.fdkankan.scene.annotation.InitEditInfo; import com.fdkankan.scene.annotation.VrLog; import com.fdkankan.scene.bean.ResultData; import com.fdkankan.scene.httpclient.CustomHttpClient; import com.fdkankan.scene.service.*; import com.fdkankan.scene.vo.SceneCheckKeyParamVO; import com.fdkankan.scene.vo.SceneInfoParamVO; import com.fdkankan.scene.vo.SceneInfoVO; import org.owasp.esapi.ESAPI; import org.owasp.esapi.errors.ValidationException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.websocket.server.PathParam; import java.io.File; import java.io.IOException; import java.util.Map; /** *

* 场景表 前端控制器 *

* * @author dengsixing * @since 2021-12-23 */ @RestController @RequestMapping("/service/scene") public class SceneController extends BaseController{ @Autowired private SceneService sceneService; @Autowired private SceneEditInfoService sceneEditInfoService; @Autowired private FdfsUtil fdfsUtil; @Autowired private SystemSecretService systemSecretService; @Resource private FYunFileService fYunFileService; /** *

获取场景详情 *

* @author dengsixing * @date 2022/8/1 * @param param * @return com.fdkankan.scene.vo.SceneInfoVO **/ @InitEditInfo @VrLog @CheckToken @GetMapping(value = "/getInfo") public ResultData getInfo(@Validated SceneInfoParamVO param) throws Exception{ param.setReqType(SceneInfoReqType.VIEW.code()); // param.setSubgroup(this.getSubgroup()); // ESAPI.encoder().encodeForHTML(JSON.toJSONString(param)); // ESAPI.encoder().encodeForHTMLAttribute(JSON.toJSONString(param)); // ESAPI.encoder().encodeForJavaScript(JSON.toJSONString(param)); // ESAPI.encoder().encodeForHTML(JSON.toJSONString(param)); // ESAPI.encoder().encodeForCSS(JSON.toJSONString(param)); // ESAPI.encoder().encodeForURL(JSON.toJSONString(param)); response.setHeader("Set-Cookie","cookiename=cookievalue; path=/; Domain=domainvaule; Max-age=seconds; HttpOnly"); SceneInfoVO sceneInfo = sceneEditInfoService.getSceneInfo(param.getNum(), param.getSubgroup(), param.getUpTimeKey(), (byte)1); return ResultData.ok(sceneInfo); } // @GetMapping("/file") // public ResponseEntity outFileByKey(String key, HttpServletResponse response) throws IOException { // return sceneService.outFileByKey(key, response); // } @GetMapping("/file") public void outFileByKey2(String key, HttpServletResponse response) throws IOException { sceneService.outFileByKey2(key, null, null, response); } @GetMapping(value = "/ping") public ResultData ping(){ return ResultData.ok(); } @PostMapping(value = "/check/key") public ResultData checkKey(@RequestBody @Validated SceneCheckKeyParamVO param) throws Exception { param.setSubgroup(this.getSubgroup()); param.setUpTimeKey(this.getUpTime()); return sceneEditInfoService.checkKey(param); } // @PostMapping("testUploadFile") // public ResultData testUploadFile(String path){ // Map stringStringMap = fdfsUtil.uploadFile(path); // return ResultData.ok(stringStringMap); // } @GetMapping("/test") public ResultData test() throws ValidationException { // String s = ESAPIUtil.validFilePath("D:\\test"); fYunFileService.uploadFile("111", 0, "123456", "123456".getBytes(), "123123.txt"); // ESAPIUtil.getRealPath(); // String s = ESAPIUtil.validFilePath(); return ResultData.ok(); } }