From 65a2010b427689fb5f7bb6d7969845af145b17a7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 03 一月 2020 16:11:57 +0800 Subject: [PATCH] 优化文件上传目录,删除账户打通 --- fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java | 109 +++++++++++++++++++++++++----------------------------- 1 files changed, 51 insertions(+), 58 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java index 939074c..049e6c9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/help/HelpCenterServiceImpl.java @@ -25,6 +25,7 @@ import com.yeshi.fanli.exception.config.HelpCenterException; import com.yeshi.fanli.service.inter.help.HelpCenterService; import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.db.MongoDBManager; @@ -33,14 +34,12 @@ @Resource private HelpCenterMapper helpCenterMapper; - + @Resource private MongoDBManager mongoDBManager; - + @Resource private AdActivityVersionControlService adActivityVersionControlService; - - @Override public int updateByPrimaryKey(HelpCenter record) { @@ -56,30 +55,30 @@ public HelpCenter selectByPrimaryKey(Long id) { return helpCenterMapper.selectByPrimaryKey(id); } - + @Override public HelpCenter selectByPrimaryKeyCache(Long id) { return selectByPrimaryKey(id); } @Override - public String save(HelpCenter helpCenter, String content, String html) throws HelpCenterException,Exception { + public String save(HelpCenter helpCenter, String content, String html) throws HelpCenterException, Exception { if (StringUtil.isNullOrEmpty(helpCenter.getTitle())) - throw new HelpCenterException(1,"鏍囬涓嶈兘涓虹┖"); - + throw new HelpCenterException(1, "鏍囬涓嶈兘涓虹┖"); + if (helpCenter.getHelpClass() == null || helpCenter.getHelpClass().getId() <= 0) - throw new HelpCenterException(1,"鍒嗙被棰樹笉鑳戒负绌�"); - + throw new HelpCenterException(1, "鍒嗙被棰樹笉鑳戒负绌�"); + Integer state = helpCenter.getState(); if (state == null) { helpCenter.setState(0); } - + Integer weight = helpCenter.getWeight(); if (weight == null) { helpCenter.setWeight(0); } - + helpCenter.setUpdatetime(new Date()); Long id = helpCenter.getId(); if (id == null) { @@ -87,18 +86,18 @@ helpCenterMapper.insert(helpCenter); } else { HelpCenter result = helpCenterMapper.selectByPrimaryKey(id); - if (result == null) - throw new HelpCenterException(1,"姝ょ被鍐呭宸蹭笉瀛樺湪锛岃鍒锋柊"); - + if (result == null) + throw new HelpCenterException(1, "姝ょ被鍐呭宸蹭笉瀛樺湪锛岃鍒锋柊"); + helpCenter.setCreatetime(result.getCreatetime()); helpCenterMapper.updateByPrimaryKey(helpCenter); } - + List<Map<String, Object>> positions = getPosition(html); if (positions != null && positions.size() > 0) { @SuppressWarnings("restriction") sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder(); - + for (int i = 0; i < positions.size(); i++) { Map<String, Object> map = positions.get(i); String base64Img = (String) map.get("base64Img"); @@ -111,7 +110,8 @@ String type = (String) map.get("type"); // 涓婁紶鏂囦欢鐩稿浣嶇疆 - String fileUrl = "helpInfo/" + UUID.randomUUID().toString().replace("-", "") + "." +type; + String fileUrl = FilePathEnum.helpCenterContent + UUID.randomUUID().toString().replace("-", "") + "." + + type; /* 涓婁紶鏂板浘鐗� */ String uploadFilePath = COSManager.getInstance().uploadFileByte(b, fileUrl).getUrl(); @@ -121,8 +121,7 @@ } } } - - + String replaceHtml = replaceIframe(html); Long backId = helpCenter.getId(); HelpInfo helpInfo = new HelpInfo(backId, content, replaceHtml); @@ -157,29 +156,26 @@ indexStart = tm + compareStrLength; indexTypeStart = typetm + compareStrLength; - //System.out.println(indexStart); - //System.out.println(indexTypeStart); - + // System.out.println(indexStart); + // System.out.println(indexTypeStart); + place.put("start", tm + 7); String suffix = content.substring(typetm + 11, tm - 1); place.put("type", suffix); - + String newContent = content.substring(tm + 7, content.length()); - - + char qmark = '"'; int end = newContent.indexOf(qmark); place.put("end", end); String base64Img = newContent.substring(0, end); place.put("base64Img", base64Img); - - - String header = compareStrStart + suffix+ ";" + compareStr +"," +base64Img; + + String header = compareStrStart + suffix + ";" + compareStr + "," + base64Img; place.put("header", header); - - + listMap.add(place); } } @@ -188,50 +184,50 @@ } public String replaceIframe(String html) { - + String result = html; - + // 瀛楃涓叉煡鎵惧垵濮嬩粠0寮�濮嬫煡鎵� int indexStart = 0; // 闇�瑕佸姣旂殑瀛楃涓� String compareStr = "<iframe"; - + int compareStrLength = compareStr.length(); - + while (true) { - + int tm = html.indexOf(compareStr, indexStart); - + if (tm <= 0) { // 鐩村埌娌℃湁鍖归厤缁撴灉涓烘 break; } else { // 璧峰浣嶇疆 indexStart = tm + compareStrLength; - + // 缁撴潫浣嶇疆 String newContent = html.substring(tm, html.length()); int end = newContent.indexOf("</iframe>"); - - // 鏇挎崲鎸囧畾瀛楁 <iframe src=""></iframe> - String replaceStr = html.substring(tm, tm + end + 9); - + + // 鏇挎崲鎸囧畾瀛楁 <iframe src=""></iframe> + String replaceStr = html.substring(tm, tm + end + 9); + char qmark = '"'; // src 璧峰浣嶇疆 int srcindex = replaceStr.indexOf("src=", 0); - + String replaceSrc = replaceStr.substring(srcindex + 5, replaceStr.length()); // src "缁撴潫浣嶇疆 int endsrc = replaceSrc.indexOf(qmark, 0); - - String src = replaceSrc.substring(0, endsrc +1); - + + String src = replaceSrc.substring(0, endsrc + 1); + String voide = "<video src=\"" + src + " controls=\"controls\"> 鎮ㄧ殑娴忚鍣ㄤ笉鏀寔video鏍囩锛岃鏇存柊娴忚鍣�</video>"; - + result = html.replace(replaceStr, voide); } } - + return result; } @@ -245,13 +241,12 @@ return helpCenterMapper.countQuery(key, cid, state); } - @Override - @Cacheable(value = "helpCenterCache",key="'queryIdAndTitle-'+#pageId+'-'+#key+'-'+#cid") + @Cacheable(value = "helpCenterCache", key = "'queryIdAndTitle-'+#pageId+'-'+#key+'-'+#cid") public List<HelpCenter> listValid(long pageId, int pageSize, String key, Long cid) { return helpCenterMapper.listValid(pageId, pageSize, key, cid); } - + @Override public int deleteBatchById(List<String> idList) { return helpCenterMapper.deleteBatchById(idList); @@ -261,18 +256,16 @@ public HelpInfo getHelpInfo(Long id) { return mongoDBManager.getHelpInfo(id); } - + @Override - @Cacheable(value = "helpCenterCache",key="'getHelpInfoCache-'+#id") + @Cacheable(value = "helpCenterCache", key = "'getHelpInfoCache-'+#id") public HelpInfo getHelpInfoCache(Long id) { return getHelpInfo(id); } - - - + @Override - @Transactional(rollbackFor=Exception.class) - public void deleteInfoBatchById(List<String> idList) { + @Transactional(rollbackFor = Exception.class) + public void deleteInfoBatchById(List<String> idList) { if (idList != null) { for (String id : idList) { mongoDBManager.removeHelpInfo(Long.parseLong(id)); -- Gitblit v1.8.0