From afc6ae0c7755a0cc2d9f99a7f10011962341137f Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Tue, 9 Aug 2022 12:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=B3=BB=E7=BB=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../setting/CopyrightController.java | 45 ++++++++++++++++ .../setting/ProtocolController.java | 41 +++++++++++++++ .../controller/setting/StorageController.java | 12 ++--- .../controller/setting/WebsiteController.java | 42 +++++++++++++++ .../setting/ISettingCopyrightService.java | 27 ++++++++++ .../setting/ISettingProtocolService.java | 26 ++++++++++ ...rvice.java => ISettingStorageService.java} | 4 +- .../setting/ISettingWebsiteService.java | 26 ++++++++++ .../impl/SettingCopyrightServiceImpl.java | 52 +++++++++++++++++++ .../impl/SettingProtocolServiceImpl.java | 47 +++++++++++++++++ ...pl.java => SettingStorageServiceImpl.java} | 4 +- .../impl/SettingWebsiteServiceImpl.java | 49 +++++++++++++++++ 12 files changed, 365 insertions(+), 10 deletions(-) create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/controller/setting/CopyrightController.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/controller/setting/ProtocolController.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/controller/setting/WebsiteController.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingCopyrightService.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingProtocolService.java rename server/like-admin/src/main/java/com/hxkj/admin/service/setting/{IStorageService.java => ISettingStorageService.java} (90%) create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingWebsiteService.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingCopyrightServiceImpl.java create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingProtocolServiceImpl.java rename server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/{StorageServiceImpl.java => SettingStorageServiceImpl.java} (97%) create mode 100644 server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingWebsiteServiceImpl.java diff --git a/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/CopyrightController.java b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/CopyrightController.java new file mode 100644 index 00000000..d8734ff1 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/CopyrightController.java @@ -0,0 +1,45 @@ +package com.hxkj.admin.controller.setting; + +import com.hxkj.admin.service.setting.ISettingCopyrightService; +import com.hxkj.common.core.AjaxResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 网站版权配置管理 + */ +@RestController +@RequestMapping("api/setting/copyright") +public class CopyrightController { + + @Resource + ISettingCopyrightService iSettingCopyrightService; + + /** + * 获取网站版权信息 + * + * @author fzr + * @return Object + */ + @GetMapping("/detail") + public Object detail() { + List> list = iSettingCopyrightService.detail(); + return AjaxResult.success(list); + } + + /** + * 保存网站版本信息 + * + * @author fzr + * @return Object + */ + @PostMapping("/save") + public Object save(@RequestBody List> params) { + iSettingCopyrightService.save(params); + return AjaxResult.success(); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/ProtocolController.java b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/ProtocolController.java new file mode 100644 index 00000000..38e40529 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/ProtocolController.java @@ -0,0 +1,41 @@ +package com.hxkj.admin.controller.setting; + +import com.hxkj.admin.service.setting.ISettingProtocolService; +import com.hxkj.common.core.AjaxResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; + +@RestController +@RequestMapping("api/setting/protocol") +public class ProtocolController { + + @Resource + ISettingProtocolService iSettingProtocolService; + + /** + * 获取网站版权信息 + * + * @author fzr + * @return Object + */ + @GetMapping("/detail") + public Object detail() { + Map> detail = iSettingProtocolService.detail(); + return AjaxResult.success(detail); + } + + /** + * 保存网站版本信息 + * + * @author fzr + * @return Object + */ + @PostMapping("/save") + public Object save(@RequestBody Map params) { + iSettingProtocolService.save(params); + return AjaxResult.success(); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/StorageController.java b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/StorageController.java index 2fdfe97b..7349de57 100644 --- a/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/StorageController.java +++ b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/StorageController.java @@ -1,7 +1,7 @@ package com.hxkj.admin.controller.setting; import com.baomidou.mybatisplus.core.toolkit.Assert; -import com.hxkj.admin.service.setting.IStorageService; +import com.hxkj.admin.service.setting.ISettingStorageService; import com.hxkj.common.core.AjaxResult; import org.springframework.web.bind.annotation.*; @@ -14,7 +14,7 @@ import java.util.Map; public class StorageController { @Resource - IStorageService iStorageService; + ISettingStorageService iSettingStorageService; /** * 存储列表 @@ -24,7 +24,7 @@ public class StorageController { */ @GetMapping("/list") public Object list() { - List> list = iStorageService.list(); + List> list = iSettingStorageService.list(); return AjaxResult.success(list); } @@ -36,7 +36,7 @@ public class StorageController { */ @GetMapping("/detail") public Object detail(String alias) { - Map map = iStorageService.detail(alias); + Map map = iSettingStorageService.detail(alias); return AjaxResult.success(map); } @@ -49,7 +49,7 @@ public class StorageController { */ @PostMapping("/edit") public Object edit(@RequestBody Map params) { - iStorageService.edit(params); + iSettingStorageService.edit(params); return AjaxResult.success(); } @@ -66,7 +66,7 @@ public class StorageController { Assert.notNull(params.get("status"), "status参数缺失"); String alias = params.get("alias"); Integer status = Integer.parseInt(params.get("status")); - iStorageService.change(alias, status); + iSettingStorageService.change(alias, status); return AjaxResult.success(); } diff --git a/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/WebsiteController.java b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/WebsiteController.java new file mode 100644 index 00000000..eafa46a0 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/controller/setting/WebsiteController.java @@ -0,0 +1,42 @@ +package com.hxkj.admin.controller.setting; + +import com.hxkj.admin.service.setting.ISettingWebsiteService; +import com.hxkj.common.core.AjaxResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; + +@RestController +@RequestMapping("api/setting/website") +public class WebsiteController { + + @Resource + ISettingWebsiteService iSettingWebsiteService; + + /** + * 获取网站配置信息 + * + * @author fzr + * @return Object + */ + @GetMapping("/detail") + public Object detail() { + Map detail = iSettingWebsiteService.detail(); + return AjaxResult.success(detail); + } + + /** + * 保存网站配置信息 + * + * @author fzr + * @param params 参数 + * @return Object + */ + @PostMapping("/save") + public Object save(@RequestBody Map params) { + iSettingWebsiteService.save(params); + return AjaxResult.success(); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingCopyrightService.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingCopyrightService.java new file mode 100644 index 00000000..b2058bde --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingCopyrightService.java @@ -0,0 +1,27 @@ +package com.hxkj.admin.service.setting; + +import java.util.List; +import java.util.Map; + +/** + * 网站备案服务接口类 + */ +public interface ISettingCopyrightService { + + /** + * 获取网站备案信息 + * + * @author fzr + * @return Map + */ + List> detail(); + + /** + * 保存网站备案信息 + * + * @author fzr + * @param params 参数 + */ + void save(List> params); + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingProtocolService.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingProtocolService.java new file mode 100644 index 00000000..cb99d4b6 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingProtocolService.java @@ -0,0 +1,26 @@ +package com.hxkj.admin.service.setting; + +import java.util.Map; + +/** + * 政策协议服务接口类 + */ +public interface ISettingProtocolService { + + /** + * 获取政策协议信息 + * + * @author fzr + * @return Map + */ + Map> detail(); + + /** + * 保存政策协议信息 + * + * @author fzr + * @param params 参数 + */ + void save(Map params); + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/IStorageService.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingStorageService.java similarity index 90% rename from server/like-admin/src/main/java/com/hxkj/admin/service/setting/IStorageService.java rename to server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingStorageService.java index d1843ae7..0d6f803a 100644 --- a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/IStorageService.java +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingStorageService.java @@ -4,9 +4,9 @@ import java.util.List; import java.util.Map; /** - * 存储配置接口类 + * 存储配置服务接口类 */ -public interface IStorageService { +public interface ISettingStorageService { /** * 存储列表 diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingWebsiteService.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingWebsiteService.java new file mode 100644 index 00000000..c12956ae --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/ISettingWebsiteService.java @@ -0,0 +1,26 @@ +package com.hxkj.admin.service.setting; + +import java.util.Map; + +/** + * 网站信息服务接口类 + */ +public interface ISettingWebsiteService { + + /** + * 获取网站信息 + * + * @author fzr + * @return Map + */ + Map detail(); + + /** + * 保存网站信息 + * + * @author fzr + * @param params 参数 + */ + void save(Map params); + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingCopyrightServiceImpl.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingCopyrightServiceImpl.java new file mode 100644 index 00000000..577cf81a --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingCopyrightServiceImpl.java @@ -0,0 +1,52 @@ +package com.hxkj.admin.service.setting.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.hxkj.admin.service.setting.ISettingCopyrightService; +import com.hxkj.common.utils.ArrayUtil; +import com.hxkj.common.utils.ConfigUtil; +import com.hxkj.common.utils.StringUtil; +import com.hxkj.common.utils.ToolsUtil; +import org.springframework.stereotype.Service; + +import java.util.*; + +/** + * 网站备案服务实现类 + */ +@Service +public class SettingCopyrightServiceImpl implements ISettingCopyrightService { + + /** + * 获取网站备案信息 + * + * @author fzr + * @return List> + */ + @Override + public List> detail() { + String config = ConfigUtil.get("website", "copyright", "[]"); + return ArrayUtil.stringToListAsMapStr(config); + } + + /** + * 保存网站备案信息 + * + * @author fzr + * @param params 参数 + */ + @Override + public void save(List> params) { + List> list = new LinkedList<>(); + for (Map item : params) { + Map map = new LinkedHashMap<>(); + if (StringUtil.isNotEmpty(item.get("name")) || StringUtil.isNotEmpty(item.get("link"))) { + map.put("name", item.get("name")); + map.put("link", item.get("link")); + list.add(map); + } + } + ConfigUtil.set("website", "copyright", JSON.toJSONString(list)); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingProtocolServiceImpl.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingProtocolServiceImpl.java new file mode 100644 index 00000000..326edbb8 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingProtocolServiceImpl.java @@ -0,0 +1,47 @@ +package com.hxkj.admin.service.setting.impl; + +import com.alibaba.fastjson.JSON; +import com.hxkj.admin.service.setting.ISettingProtocolService; +import com.hxkj.common.utils.ConfigUtil; +import com.hxkj.common.utils.ToolsUtil; +import org.springframework.stereotype.Service; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * 政策接口服务实现类 + */ +@Service +public class SettingProtocolServiceImpl implements ISettingProtocolService { + + /** + * 获取政策协议信息 + * + * @author fzr + * @return Map> + */ + @Override + public Map> detail() { + String service = ConfigUtil.get("protocol", "service", "{\"name\":\"\",\"content\":\"\"}"); + String privacy = ConfigUtil.get("protocol", "privacy", "{\"name\":\"\",\"content\":\"\"}"); + + Map> map = new LinkedHashMap<>(); + map.put("service", ToolsUtil.jsonToMap(service)); + map.put("privacy", ToolsUtil.jsonToMap(privacy)); + return map; + } + + /** + * 保存政策协议信息 + * + * @author fzr + * @param params 参数 + */ + @Override + public void save(Map params) { + ConfigUtil.set("protocol","service", JSON.toJSONString(params.get("service"))); + ConfigUtil.set("protocol","privacy", JSON.toJSONString(params.get("privacy"))); + } + +} diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/StorageServiceImpl.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingStorageServiceImpl.java similarity index 97% rename from server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/StorageServiceImpl.java rename to server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingStorageServiceImpl.java index 5c70df42..e98bf11a 100644 --- a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/StorageServiceImpl.java +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingStorageServiceImpl.java @@ -2,7 +2,7 @@ package com.hxkj.admin.service.setting.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Assert; -import com.hxkj.admin.service.setting.IStorageService; +import com.hxkj.admin.service.setting.ISettingStorageService; import com.hxkj.common.utils.ConfigUtil; import org.springframework.stereotype.Service; @@ -12,7 +12,7 @@ import java.util.*; * 存储配置实现类 */ @Service -public class StorageServiceImpl implements IStorageService { +public class SettingStorageServiceImpl implements ISettingStorageService { /** * 存储列表 diff --git a/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingWebsiteServiceImpl.java b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingWebsiteServiceImpl.java new file mode 100644 index 00000000..5bc2c228 --- /dev/null +++ b/server/like-admin/src/main/java/com/hxkj/admin/service/setting/impl/SettingWebsiteServiceImpl.java @@ -0,0 +1,49 @@ +package com.hxkj.admin.service.setting.impl; + +import com.hxkj.admin.service.setting.ISettingWebsiteService; +import com.hxkj.common.utils.ConfigUtil; +import com.hxkj.common.utils.UrlUtil; +import org.springframework.stereotype.Service; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * 网站信息配置服务实现类 + */ +@Service +public class SettingWebsiteServiceImpl implements ISettingWebsiteService { + + /** + * 获取网站信息 + * + * @author fzr + * @return Map + */ + @Override + public Map detail() { + Map config = ConfigUtil.get("website"); + + Map map = new LinkedHashMap<>(); + map.put("name", config.getOrDefault("name", "")); + map.put("logo", UrlUtil.toAbsoluteUrl(config.getOrDefault("logo", ""))); + map.put("favicon", UrlUtil.toAbsoluteUrl(config.getOrDefault("favicon", ""))); + map.put("backdrop", UrlUtil.toAbsoluteUrl(config.getOrDefault("backdrop", ""))); + return map; + } + + /** + * 保存网站信息 + * + * @author fzr + * @param params 参数 + */ + @Override + public void save(Map params) { + ConfigUtil.set("website", "name", params.getOrDefault("name", "")); + ConfigUtil.set("website", "logo", UrlUtil.toRelativeUrl(params.getOrDefault("logo", ""))); + ConfigUtil.set("website", "favicon", UrlUtil.toRelativeUrl(params.getOrDefault("favicon", ""))); + ConfigUtil.set("website", "backdrop", UrlUtil.toRelativeUrl(params.getOrDefault("backdrop", ""))); + } + +}