|
|
@ -22,6 +22,7 @@ import com.zdxt.common.util.http.HttpUtils; |
|
|
import com.zdxt.common.zdxtFile.AttFileRespDTO; |
|
|
import com.zdxt.common.zdxtFile.AttFileRespDTO; |
|
|
import com.zdxt.common.zdxtFile.FilePreviewUtilBean; |
|
|
import com.zdxt.common.zdxtFile.FilePreviewUtilBean; |
|
|
import com.zdxt.common.zdxtFile.ZdxtFileCommon; |
|
|
import com.zdxt.common.zdxtFile.ZdxtFileCommon; |
|
|
|
|
|
import com.zdxt.knowledge.domain.LocalFileMultipartFile; |
|
|
import com.zdxt.knowledge.domain.SceneImportDataModel; |
|
|
import com.zdxt.knowledge.domain.SceneImportDataModel; |
|
|
import com.zdxt.knowledge.domain.SceneManage; |
|
|
import com.zdxt.knowledge.domain.SceneManage; |
|
|
import com.zdxt.knowledge.mapper.SceneManageMapper; |
|
|
import com.zdxt.knowledge.mapper.SceneManageMapper; |
|
|
@ -30,6 +31,7 @@ import com.zdxt.knowledge.utils.ExcelUtil; |
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
import org.apache.commons.fileupload.FileItem; |
|
|
import org.apache.commons.fileupload.FileItem; |
|
|
import org.apache.commons.fileupload.disk.DiskFileItemFactory; |
|
|
import org.apache.commons.fileupload.disk.DiskFileItemFactory; |
|
|
|
|
|
import org.apache.commons.io.FileUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.core.io.Resource; |
|
|
import org.springframework.core.io.Resource; |
|
|
@ -114,11 +116,7 @@ public class SceneManageServiceImpl implements ISceneManageService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void generateQRCode(SceneManage sceneManage, HttpServletResponse response) throws Exception { |
|
|
public ZDResponse generateQRCode(SceneManage sceneManage) throws Exception { |
|
|
response.setContentType("image/gif"); |
|
|
|
|
|
response.setHeader("Pragma", "No-cache"); |
|
|
|
|
|
response.setHeader("Cache-Control", "no-cache"); |
|
|
|
|
|
response.setDateHeader("Expires", 0); |
|
|
|
|
|
|
|
|
|
|
|
String accessToken = getAccessToken(); |
|
|
String accessToken = getAccessToken(); |
|
|
String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; |
|
|
String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; |
|
|
@ -129,22 +127,28 @@ public class SceneManageServiceImpl implements ISceneManageService { |
|
|
paramJson.set("check_path", false); |
|
|
paramJson.set("check_path", false); |
|
|
paramJson.set("width", 280); |
|
|
paramJson.set("width", 280); |
|
|
//scene数据不能中文
|
|
|
//scene数据不能中文
|
|
|
paramJson.set("scene", "4f5d2f4dd813443e83f399e743adec50"); |
|
|
paramJson.set("scene", sceneManage.getGuid()); |
|
|
//设置小程序码版本
|
|
|
//设置小程序码版本
|
|
|
//paramJson.set("env_version","release"); 默认正式
|
|
|
//paramJson.set("env_version","release"); 默认正式
|
|
|
//paramJson.set("env_version", "trial"); //体验版
|
|
|
//paramJson.set("env_version", "trial"); //体验版
|
|
|
paramJson.set("env_version", "develop"); //开发版
|
|
|
paramJson.set("env_version", "develop"); //开发版
|
|
|
|
|
|
|
|
|
InputStream inputStream = HttpUtils.postInputStream(url, paramJson); |
|
|
InputStream inputStream = HttpUtils.postInputStream(url, paramJson); |
|
|
//将流写出到response
|
|
|
|
|
|
IoUtil.copy(inputStream, response.getOutputStream()); |
|
|
|
|
|
//存入本地数据库
|
|
|
//存入本地数据库
|
|
|
File file = File.createTempFile("temp", ".png"); |
|
|
File file = File.createTempFile("temp", ".png"); |
|
|
FileOutputStream outputStream = new FileOutputStream(file); |
|
|
FileUtils.copyInputStreamToFile(inputStream,file); |
|
|
IoUtil.copy(inputStream, outputStream); |
|
|
MultipartFile multipartFile = new LocalFileMultipartFile(file); |
|
|
MultipartFile multipartFile = toMultipartFile(file.getName(),file); |
|
|
String uploadPath = fileUploadApi.upload(multipartFile); |
|
|
zdxtFileCommonApi.insertZdxtFile(multipartFile, sceneManage.getGuid() + "", fileUploadApi.upload(multipartFile)); |
|
|
zdxtFileCommonApi.deleteZdxtFileByIds(sceneManage.getGuid() + "0000"); |
|
|
|
|
|
zdxtFileCommonApi.insertZdxtFile(multipartFile, sceneManage.getGuid() + "0000", uploadPath); |
|
|
|
|
|
sceneManage.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
sceneManage.setUrl(uploadPath); |
|
|
|
|
|
int result = sceneManageMapper.updateSceneManage(sceneManage); |
|
|
file.deleteOnExit(); |
|
|
file.deleteOnExit(); |
|
|
|
|
|
if (result>0) { |
|
|
|
|
|
return ZDResponse.success("生成二维码成功"); |
|
|
|
|
|
} |
|
|
|
|
|
return ZDResponse.error("生成二维码失败"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public String getAccessToken() { |
|
|
public String getAccessToken() { |
|
|
@ -156,21 +160,21 @@ public class SceneManageServiceImpl implements ISceneManageService { |
|
|
return jsonObject.get("access_token").toString(); |
|
|
return jsonObject.get("access_token").toString(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static MultipartFile toMultipartFile(String fieldName, File file) throws Exception { |
|
|
// public static MultipartFile toMultipartFile(String fieldName, File file) throws Exception {
|
|
|
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); |
|
|
// DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
|
|
|
String contentType = new MimetypesFileTypeMap().getContentType(file); |
|
|
// String contentType = new MimetypesFileTypeMap().getContentType(file);
|
|
|
FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, file.getName()); |
|
|
// FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, file.getName());
|
|
|
try ( |
|
|
// try (
|
|
|
InputStream inputStream = new ByteArrayInputStream(FileCopyUtils.copyToByteArray(file)); |
|
|
// InputStream inputStream = new ByteArrayInputStream(FileCopyUtils.copyToByteArray(file));
|
|
|
OutputStream outputStream = fileItem.getOutputStream() |
|
|
// OutputStream outputStream = fileItem.getOutputStream()
|
|
|
) { |
|
|
// ) {
|
|
|
FileCopyUtils.copy(inputStream, outputStream); |
|
|
// FileCopyUtils.copy(inputStream, outputStream);
|
|
|
} catch (Exception e) { |
|
|
// } catch (Exception e) {
|
|
|
throw e; |
|
|
// throw e;
|
|
|
} |
|
|
// }
|
|
|
MultipartFile multipartFile = new CommonsMultipartFile(fileItem); |
|
|
// MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
|
|
|
return multipartFile; |
|
|
// return multipartFile;
|
|
|
} |
|
|
// }
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 新增【请填写功能名称】 |
|
|
* 新增【请填写功能名称】 |
|
|
|