From 2c434f8c90740a45685184323d198a554d698c3c Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Tue, 23 Aug 2022 14:56:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9F=AD=E4=BF=A1=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/setting/SmsController.java | 50 ++++++-- .../service/setting/ISettingSmsService.java | 29 +++++ .../setting/impl/SettingSmsServiceImpl.java | 113 ++++++++++++++++++ .../impl/SettingStorageServiceImpl.java | 7 +- 4 files changed, 189 insertions(+), 10 deletions(-) diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SmsController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SmsController.java index 10f7b297..ef46ecc1 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SmsController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SmsController.java @@ -1,7 +1,13 @@ package com.mdd.admin.controller.setting; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.mdd.admin.config.aop.Log; +import com.mdd.admin.service.setting.ISettingSmsService; +import com.mdd.common.core.AjaxResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * 短信设置管理 @@ -10,16 +16,46 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("api/setting/sms") public class SmsController { + @Resource + ISettingSmsService iSettingSmsService; + + /** + * 短信引擎列表 + * + * @author fzr + * @return Object + */ + @GetMapping("/list") public Object list() { - return null; + List> list = iSettingSmsService.list(); + return AjaxResult.success(list); } - public Object detail() { - return null; + /** + * 短信引擎详情 + * + * @author fzr + * @param alias 别名 + * @return Object + */ + @GetMapping("/detail") + public Object detail(String alias) { + Map map = iSettingSmsService.detail(alias); + return AjaxResult.success(map); } - public Object save() { - return null; + /** + * 短信引擎保存 + * + * @author fzr + * @param params 参数 + * @return Object + */ + @Log(title = "短信引擎保存") + @PostMapping("/save") + public Object save(@RequestBody Map params) { + iSettingSmsService.save(params); + return AjaxResult.success(); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/setting/ISettingSmsService.java b/server/like-admin/src/main/java/com/mdd/admin/service/setting/ISettingSmsService.java index abfc4979..b017c534 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/setting/ISettingSmsService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/setting/ISettingSmsService.java @@ -1,7 +1,36 @@ package com.mdd.admin.service.setting; +import java.util.List; +import java.util.Map; + /** * 短信配置接口类 */ public interface ISettingSmsService { + + /** + * 短信引擎列表 + * + * @author fzr + * @return List> + */ + List> list(); + + /** + * 短信引擎详情 + * + * @author fzr + * @param alias 别名 + * @return Map + */ + Map detail(String alias); + + /** + * 短信引擎保存 + * + * @author fzr + * @param params 参数 + */ + void save(Map params); + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingSmsServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingSmsServiceImpl.java index 65f8e1ca..836c9859 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingSmsServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingSmsServiceImpl.java @@ -1,11 +1,124 @@ package com.mdd.admin.service.setting.impl; +import com.alibaba.fastjson.JSON; import com.mdd.admin.service.setting.ISettingSmsService; +import com.mdd.common.utils.ConfigUtil; +import com.mdd.common.utils.StringUtil; import org.springframework.stereotype.Service; +import java.util.*; + /** * 短信配置服务实现类 */ @Service public class SettingSmsServiceImpl implements ISettingSmsService { + + /** + * 短信引擎列表 + * + * @author fzr + * @return List> + */ + @Override + public List> list() { + String engine = ConfigUtil.get("sms", "default", "aliyun"); + List> list = new LinkedList<>(); + + Map aliyun = new LinkedHashMap<>(); + aliyun.put("name", "阿里云短信"); + aliyun.put("alias", "aliyun"); + aliyun.put("status", engine.equals("aliyun") ? 1 : 0); + list.add(aliyun); + + Map tencent = new LinkedHashMap<>(); + tencent.put("name", "腾讯云短信"); + tencent.put("alias", "tencent"); + tencent.put("status", engine.equals("tencent") ? 1 : 0); + list.add(tencent); + + Map huawei = new LinkedHashMap<>(); + huawei.put("name", "华为云短信"); + huawei.put("alias", "huawei"); + huawei.put("status", engine.equals("huawei") ? 1 : 0); + list.add(huawei); + + return list; + } + + /** + * 短信引擎详情 + * + * @author fzr + * @param alias 别名 + * @return Map + */ + @Override + public Map detail(String alias) { + String engine = ConfigUtil.get("sms", "default", "local"); + Map config = ConfigUtil.getMap("sms", alias); + config = StringUtil.isNotNull(config) ? config : Collections.emptyMap(); + + Map map = new LinkedHashMap<>(); + map.put("name", config.getOrDefault("name", "")); + map.put("status", engine.equals(alias) ? 1 : 0); + map.put("alias", alias); + map.put("sign", config.getOrDefault("sign", "")); + + switch (alias) { + case "aliyun": + map.put("appKey", config.getOrDefault("appKey", "")); + map.put("secretKey", config.getOrDefault("secretKey", "")); + break; + case "tencent": + map.put("appId", config.getOrDefault("appId", "")); + map.put("secretId", config.getOrDefault("secretId", "")); + map.put("secretKey", config.getOrDefault("secretKey", "")); + break; + case "huawei": + break; + } + + return map; + } + + /** + * 短信引擎保存 + * + * @author fzr + * @param params 参数 + */ + @Override + public void save(Map params) { + Map map = new LinkedHashMap<>(); + + switch (params.get("alias")) { + case "aliyun": + map.put("name", "阿里云短信"); + map.put("alias", "aliyun"); + map.put("sign", params.getOrDefault("sign", "")); + map.put("appKey", params.getOrDefault("appKey", "")); + map.put("secretKey", params.getOrDefault("secretKey", "")); + break; + case "tencent": + System.out.println("来了吗"); + map.put("name", "腾讯云短信"); + map.put("alias", "aliyun"); + map.put("sign", params.getOrDefault("sign", "")); + map.put("appId", params.getOrDefault("appId", "")); + map.put("secretId", params.getOrDefault("secretId", "")); + map.put("secretKey", params.getOrDefault("secretKey", "")); + break; + } + + ConfigUtil.set("sms", params.get("alias"), JSON.toJSONString(map)); + + String engine = ConfigUtil.get("sms", "default", ""); + if (Integer.parseInt(params.get("status")) == 1) { + ConfigUtil.set("sms", "default", params.get("alias")); + } else if (engine.equals(params.get("alias")) && Integer.parseInt(params.get("status")) == 0) { + ConfigUtil.set("sms", "default", ""); + } + } + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingStorageServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingStorageServiceImpl.java index 953f83d3..e0f01879 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingStorageServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/setting/impl/SettingStorageServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.mdd.admin.service.setting.ISettingStorageService; import com.mdd.common.utils.ConfigUtil; +import com.mdd.common.utils.StringUtil; import org.springframework.stereotype.Service; import java.util.*; @@ -67,6 +68,7 @@ public class SettingStorageServiceImpl implements ISettingStorageService { public Map detail(String alias) { String engine = ConfigUtil.get("storage", "default", "local"); Map config = ConfigUtil.getMap("storage", alias); + config = StringUtil.isNotNull(config) ? config : Collections.emptyMap(); Map map = new LinkedHashMap<>(); map.put("name", config.getOrDefault("name", "")); @@ -96,8 +98,7 @@ public class SettingStorageServiceImpl implements ISettingStorageService { Assert.notNull(params.get("alias"), "alias参数缺失"); Assert.notNull(params.get("status"), "status参数缺失"); Map map = new LinkedHashMap<>(); - System.out.println("斤斤计较"); - System.out.println(params); + map.put("name", "本地存储"); if (!params.get("alias").equals("local")) { map.put("bucket", params.getOrDefault("bucket", "")); @@ -124,7 +125,7 @@ public class SettingStorageServiceImpl implements ISettingStorageService { if (Integer.parseInt(params.get("status")) == 1) { ConfigUtil.set("storage", "default", params.get("alias")); } else if (engine.equals(params.get("alias")) && Integer.parseInt(params.get("status")) == 0) { - ConfigUtil.set("storage", "default", params.get("")); + ConfigUtil.set("storage", "default", ""); } }