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 | 204 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 199 insertions(+), 5 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 709e298..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,22 +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; @@ -34,6 +49,10 @@ @Resource private EhCacheCacheManager ehCacheCacheManager; + @Resource + private ConfigCategoryService configCategoryService; + + /** * 鏌ヨ鍒楄〃 - 鏂板悗鍙� * @@ -52,7 +71,22 @@ pageIndex = 1; } + List<AppVersionInfo> versionList = appVersionService.getAppVersionInfoListByPlatform("android"); + Map<Integer, String> androidMapName = new HashMap<>(); + for (AppVersionInfo version : versionList) + androidMapName.put(version.getVersionCode(), version.getVersion()); + + versionList = appVersionService.getAppVersionInfoListByPlatform("ios"); + Map<Integer, String> iosMapName = new HashMap<>(); + for (AppVersionInfo version : versionList) + iosMapName.put(version.getVersionCode(), version.getVersion()); + List<Config> list = configService.listObjects(key, pageIndex); + + for (Config config : list) { + config.setMinAndroidVersion(androidMapName.get(config.getMinAndroidVersionCode())); + config.setMinIosVersion(iosMapName.get(config.getMinIosVersionCode())); + } if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏇村鏁版嵁")); @@ -121,17 +155,23 @@ } } + + @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)); + } + + /** - * 鏌ヨ鍒楄〃 - 鏂板悗鍙� + * 鐗堟湰鍙蜂俊鎭� * * @param callback - * @param key - * 鏌ヨ璇� 鍚嶇О - * @param pageIndex * @param out */ @RequestMapping(value = "getVersionList") - public void getVersionList(String callback, String key, Integer pageIndex, PrintWriter out) { + public void getVersionList(String callback, PrintWriter out) { try { AppVersionInfo appVersionInfo = new AppVersionInfo(); @@ -155,10 +195,20 @@ List<AppVersionInfo> listAndroid = new ArrayList<AppVersionInfo>(); listAndroid.add(appVersionInfo); listAndroid.addAll(list2); + //灏忕▼搴忕増鏈� + List<AppVersionInfo> list3 = appVersionService + .getAppVersionInfoListByPlatform(AppVersionInfo.PLATFORM_XCX); + if (list3 == null) { + list3 = new ArrayList<AppVersionInfo>(); + } + List<AppVersionInfo> listWxmp = new ArrayList<AppVersionInfo>(); + listWxmp.add(appVersionInfo); + listWxmp.addAll(list3); JSONObject data = new JSONObject(); data.put("android", listAndroid); data.put("ios", listIOS); + data.put("wxmp", listWxmp); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); @@ -173,5 +223,149 @@ ehCacheCacheManager.getCacheManager().clearAll(); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("")); } + + + /** + * 鏍规嵁鍒嗙被鏌ヨ + * @param callback + * @param type + * @param out + */ + @RequestMapping(value = "getByCategory") + public void getByCategory(String callback, String type, PrintWriter out) { + try { + ConfigCategoryEnum categoryEnum = configCategoryService.getCategoryEnum(type); + if (categoryEnum == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐗堟湰鏌ヨ澶辫触")); + return; + } + + 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) { + category.setConfig(config); + list.add(category); + } + } + } + JSONObject data = new JSONObject(); + data.put("list", list); + 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 = "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