Forráskód Böngészése

update 微信客服修改

wks 1 éve
szülő
commit
f77f3b53bf

+ 2 - 0
src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java

@@ -39,6 +39,8 @@ public enum SwitchConfig {
     APP_UNDEVELOPED("appUndeveloped", "app未开发完功能隐藏"),
 
     CT_DISCOUNT_01("ctDiscountFlag", "诚泰自动调整折扣"),
+
+    CUSTOMER("customer", "客服功能")
     ;
 
 

+ 21 - 4
src/main/java/com/ydtech/modules/admin/controller/SysQyWeChatController.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.constants.SwitchConfig;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysQyWeChat;
 import com.ydtech.modules.admin.service.*;
@@ -33,6 +34,10 @@ public class SysQyWeChatController {
 
     private final SysWechatCustomerBusinessService sysWechatCustomerBusinessService;
 
+    private final WechatCustomerService wechatCustomerService;
+
+    private final SysSwitchConfigService switchConfigService;
+
     @ApiOperation(value = "配置宣传图/客服")
     @PostMapping(value = "/save/picture")
     public HttpResult<SysQyWeChat> save(@RequestBody SysQyWeChat sysQyWeChat) {
@@ -43,7 +48,7 @@ public class SysQyWeChatController {
         if (serviceOne != null) {
             sysQyWeChat.setId(serviceOne.getId());
             save = sysQyWeChatService.updateById(sysQyWeChat);
-        }else{
+        } else {
             save = sysQyWeChatService.save(sysQyWeChat);
         }
         AssertionUtils.isSucceed(save, "添加失败");
@@ -80,8 +85,20 @@ public class SysQyWeChatController {
     public HttpResult<String> findWechatCustomerLink() throws WxErrorException {
         String userId = BaseController.getUser().getId();
         SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, userId));
-        String link = sysWechatCustomerBusinessService.getWeChatCustomer(user);
-        return HttpResult.ok(link);
+        if (switchConfigService.isEnabled(SwitchConfig.CUSTOMER.getCode())) {
+            String link = sysWechatCustomerBusinessService.getWeChatCustomer(user);
+            return HttpResult.ok(link);
+        }
+        SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper<SysQyWeChat>().eq(SysQyWeChat::getUserId, user.getLeaderId()));
+        if (sysQyWeChat == null) {
+            List<SysQyWeChat> list = sysQyWeChatService.list();
+            sysQyWeChat = list.get(new Random().nextInt(list.size()));
+        }
+        String s = wechatCustomerService.addContactWay(sysQyWeChat.getOpenKfId());
+        if (StringUtils.isNotEmpty(s)) {
+            String url = s + "&scene_param=" + userId;
+            return HttpResult.ok(url);
+        }
+        return HttpResult.ok(sysQyWeChat.getSupportStaffUrl());
     }
-
 }