From 9cee1093f422b5f683ff74f3ca52515edff952da Mon Sep 17 00:00:00 2001 From: Chopper Date: Fri, 17 Sep 2021 14:47:25 +0800 Subject: [PATCH] =?UTF-8?q?IM=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lili/controller/common/IMController.java | 49 +++++++++++++++++++ .../java/cn/lili/common/enums/ResultCode.java | 2 + .../system/entity/enums/SettingEnum.java | 6 +-- .../setting/SettingManagerController.java | 36 +++++++------- 4 files changed, 73 insertions(+), 20 deletions(-) create mode 100644 common-api/src/main/java/cn/lili/controller/common/IMController.java diff --git a/common-api/src/main/java/cn/lili/controller/common/IMController.java b/common-api/src/main/java/cn/lili/controller/common/IMController.java new file mode 100644 index 00000000..1f89b937 --- /dev/null +++ b/common-api/src/main/java/cn/lili/controller/common/IMController.java @@ -0,0 +1,49 @@ +package cn.lili.controller.common; + + +import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ResultCode; +import cn.lili.common.enums.ResultUtil; +import cn.lili.common.exception.ServiceException; +import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.system.entity.dos.Setting; +import cn.lili.modules.system.entity.dto.ImSetting; +import cn.lili.modules.system.entity.enums.SettingEnum; +import cn.lili.modules.system.service.SettingService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * IM控制器 + * + * @author Chopper + * @version v1.0 + * 2021-09-16 15:32 + */ +@RestController +@RequestMapping("/common/IM") +@Api(tags = "IM 中心") +public class IMController { + + @Autowired + private SettingService settingService; + + @ApiOperation(value = "获取店铺列表分页") + @GetMapping + public ResultMessage getUrl() { + String imUrl; + try { + Setting imSettingVal = settingService.get(SettingEnum.IM_SETTING.name()); + ImSetting imSetting = JSONUtil.toBean(imSettingVal.getSettingValue(), ImSetting.class); + imUrl = imSetting.getHttpUrl() + "?tenant_id=" + imSetting.getTenantId()+"&merchant_euid="; + } catch (Exception e) { + throw new ServiceException(ResultCode.PLATFORM_NOT_SUPPORTED_IM); + } + return ResultUtil.data(imUrl); + } + +} diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index c44fc68c..0b95a6f4 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -37,6 +37,8 @@ public enum ResultCode { LIMIT_ERROR(1003, "访问过于频繁,请稍后再试"), ILLEGAL_REQUEST_ERROR(1004, "非法请求,请重新刷新页面操作"), IMAGE_FILE_EXT_ERROR(1005, "不支持图片格式"), + PLATFORM_NOT_SUPPORTED_IM(1006, "平台未开启IM"), + STORE_NOT_SUPPORTED_IM(1007, "店铺未开启IM"), /** * 分类 */ diff --git a/framework/src/main/java/cn/lili/modules/system/entity/enums/SettingEnum.java b/framework/src/main/java/cn/lili/modules/system/entity/enums/SettingEnum.java index 8e511b96..ec6b1e23 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/enums/SettingEnum.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/enums/SettingEnum.java @@ -31,6 +31,8 @@ public enum SettingEnum { EXPERIENCE_SETTING, //秒杀活动设置 SECKILL_SETTING, + //IM 配置 + IM_SETTING, //微信 联合登陆设置 WECHAT_CONNECT, @@ -42,7 +44,5 @@ public enum SettingEnum { //支付宝支付设置 ALIPAY_PAYMENT, //微信支付设置 - WECHAT_PAYMENT, - //IM 配置 - IM; + WECHAT_PAYMENT; } diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java index 7255c165..5d3aa8e1 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java @@ -63,6 +63,23 @@ public class SettingManagerController { return ResultUtil.success(); } + + @DemoSite + @ApiOperation(value = "查看配置") + @GetMapping(value = "/get/{key}") + @ApiImplicitParam(name = "key", value = "配置key", paramType = "path" + , allowableValues = "BASE_SETTING,EMAIL_SETTING,GOODS_SETTING,KUAIDI_SETTING,ORDER_SETTING,OSS_SETTING,POINT_SETTING," + + "WECHAT_PC_CONNECT,WECHAT_WAP_CONNECT,WECHAT_APP_CONNECT,WECHAT_MP_CONNECT," + + "QQ_WEB_CONNECT,QQ_APP_CONNECT," + + "QQ_WEB_CONNECT,QQ_APP_CONNECT,WEIBO_CONNECT,ALIPAY_CONNECT," + + "PAYMENT_SUPPORT,ALIPAY_PAYMENT,WECHAT_PAYMENT,SECKILL_SETTING,EXPERIENCE_SETTING,IM" + ) + public ResultMessage settingGet(@PathVariable String key) { + return createSetting(key); + } + + + /** * 对配置进行过滤 * @@ -83,21 +100,6 @@ public class SettingManagerController { return configValue; } - - @DemoSite - @ApiOperation(value = "查看配置") - @GetMapping(value = "/get/{key}") - @ApiImplicitParam(name = "key", value = "配置key", paramType = "path" - , allowableValues = "BASE_SETTING,EMAIL_SETTING,GOODS_SETTING,KUAIDI_SETTING,ORDER_SETTING,OSS_SETTING,POINT_SETTING," + - "WECHAT_PC_CONNECT,WECHAT_WAP_CONNECT,WECHAT_APP_CONNECT,WECHAT_MP_CONNECT," + - "QQ_WEB_CONNECT,QQ_APP_CONNECT," + - "QQ_WEB_CONNECT,QQ_APP_CONNECT,WEIBO_CONNECT,ALIPAY_CONNECT," + - "PAYMENT_SUPPORT,ALIPAY_PAYMENT,WECHAT_PAYMENT,SECKILL_SETTING,EXPERIENCE_SETTING,IM" - ) - public ResultMessage settingGet(@PathVariable String key) { - return createSetting(key); - } - /** * 获取表单 * 这里主要包含一个配置对象为空,导致转换异常问题的处理,解决配置项增加减少,带来的系统异常,无法直接配置 @@ -179,9 +181,9 @@ public class SettingManagerController { return setting == null ? ResultUtil.data(new ExperienceSetting()) : ResultUtil.data(JSONUtil.toBean(setting.getSettingValue(), ExperienceSetting.class)); - case IM: + case IM_SETTING: return setting == null ? - ResultUtil.data(new ExperienceSetting()) : + ResultUtil.data(new ImSetting()) : ResultUtil.data(JSONUtil.toBean(setting.getSettingValue(), ImSetting.class)); default: throw new ServiceException(ResultCode.SETTING_NOT_TO_SET);