From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java | 130 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 128 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java index c46029a..0cd2828 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java @@ -1,27 +1,37 @@ package com.yeshi.fanli.controller.admin; +import java.io.InputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.UUID; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.springframework.cache.ehcache.EhCacheCacheManager; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.tencentcloud.COSManager; +import com.yeshi.fanli.dto.system.ListConfig; import com.yeshi.fanli.entity.AppVersionInfo; +import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.common.Config; import com.yeshi.fanli.entity.system.ConfigCategory; import com.yeshi.fanli.entity.system.ConfigCategory.ConfigCategoryEnum; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.service.inter.config.AppVersionService; import com.yeshi.fanli.service.inter.config.ConfigCategoryService; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.StringUtil; import net.sf.json.JSONObject; @@ -145,6 +155,15 @@ } } + + @RequestMapping(value = "getArticleHot") + public void getArticleHot(AcceptData acceptData, PrintWriter out) { + JSONObject data = new JSONObject(); + data.put("list", configService.get(ConfigKeyEnum.articleHotWords.getKey())); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** * 鐗堟湰鍙蜂俊鎭� * @@ -221,14 +240,15 @@ return; } - List<Config> list = new ArrayList<>(); + List<ConfigCategory> list = new ArrayList<>(); List<ConfigCategory> listCategory = configCategoryService.listByType(categoryEnum); if (listCategory != null) { for (ConfigCategory category: listCategory) { Config config = configService.getConfigBykeyNoCache(category.getKeyEnum().getKey()); if (config != null) { - list.add(config); + category.setConfig(config); + list.add(category); } } } @@ -241,5 +261,111 @@ e.printStackTrace(); } } + + + /** + * 淇濆瓨淇℃伅 + * @param callback + * @param listConfig + * @param out + */ + @RequestMapping(value = "saveConfig") + public void saveConfig(String callback, ListConfig listConfig, PrintWriter out) { + try { + if (listConfig == null || listConfig.getConfig() == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈帴鏀跺埌淇濆瓨鐨勪俊鎭�")); + return; + } + + configService.update(listConfig.getConfig()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鏌ヨ鍝佺墝鑳屾櫙鍥剧墖 + * @param callback + * @param type + * @param out + */ + @RequestMapping(value = "getBrandBgImg") + public void getBrandBgImg(String callback, String type, PrintWriter out) { + try { + Config config = configService.getConfigBykeyNoCache(ConfigKeyEnum.brandBackgroundPicture.getKey()); + + JSONObject data = new JSONObject(); + if (config == null || StringUtil.isNullOrEmpty(config.getValue())) { + data.put("pic", ""); + } else { + data.put("pic", config.getValue()); + } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 淇敼鍝佺墝鑳屾櫙鍥剧墖 + * @param callback + * @param listConfig + * @param out + */ + @RequestMapping(value = "changeBrandBgImg") + public void changeBrandBgImg(String callback, HttpServletRequest request, Long id, PrintWriter out) { + try { + MultipartFile file = null; + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; + file = fileRequest.getFile("file"); + } + + if (file == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼犲浘鐗囨枃浠�")); + return; + } + + Config config = configService.getConfigBykeyNoCache(ConfigKeyEnum.brandBackgroundPicture.getKey()); + if (config == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍝佺墝瀵硅薄涓嶅瓨鍦�")); + return; + } + + String oldpic = config.getValue(); + + + // 鏂囦欢瑙f瀽 + InputStream inputStream = file.getInputStream(); + String contentType = file.getContentType(); + String type = contentType.substring(contentType.indexOf("/") + 1); + // 鏂囦欢璺緞 + String filePath= FilePathEnum.brand.getPath() +UUID.randomUUID().toString().replace("-", "") + "." + type; + // 鎵ц涓婁紶 + String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); + if (StringUtil.isNullOrEmpty(fileLink)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏂囦欢涓婁紶澶辫触")); + return; + } + + config.setValue(fileLink); + configService.update(config); + + if(!Constant.IS_TEST) { + if (oldpic != null && oldpic.trim().length() > 0) { + COSManager.getInstance().deleteFile(oldpic); + } + } + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼澶辫触")); + e.printStackTrace(); + } + } + } -- Gitblit v1.8.0