Browse Source

feat(scrm): 增加销售中心用户登录及语音相关功能

- 引入多个新依赖包支持增强功能
- 添加AI配置和语音同质化映射支持
- 实现临时语音模板服务集成
- 增强公司用户相关的服务注入与管理
- 扩展系统配置与云存储服务能力
- 集成HTTP客户端用于外部接口调用
- 新增二维码、JSON处理和文件操作工具类引用
- 添加支付配置DTO和相关实体映射
- 引入音频处理工具支持语音功能开发
- 增加Redis缓存键常量定义
xw 1 tuần trước cách đây
mục cha
commit
8757e232e8

+ 39 - 3
fs-user-app/src/main/java/com/fs/app/controller/store/CompanyUserScrmController.java

@@ -3,38 +3,63 @@ package com.fs.app.controller.store;
 
 import cn.hutool.core.img.ImgUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fs.app.annotation.Login;
 import com.fs.app.controller.AppBaseController;
 import com.fs.app.param.FsBindCompanyUserParam;
 import com.fs.common.config.FSConfig;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.CloudHostUtils;
-import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.sign.Md5Utils;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.domain.CompanyUserCard;
 import com.fs.company.domain.CompanyUserUser;
+import com.fs.company.mapper.CompanyUserMapper;
 import com.fs.company.param.CompanyUserLoginParam;
+import com.fs.company.param.companyUserAddPrintParam;
 import com.fs.company.service.ICompanyUserCardService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.company.service.ICompanyUserUserService;
+import com.fs.config.ai.AiHostProper;
+import com.fs.fastGpt.domain.FastgptChatVoiceHomo;
+import com.fs.fastGpt.mapper.FastgptChatVoiceHomoMapper;
+import com.fs.fastgptApi.util.AudioUtils;
+import com.fs.fastgptApi.vo.AudioVO;
 import com.fs.framework.security.SecurityUtils;
+import com.fs.his.dto.PayConfigDTO;
+import com.fs.sop.domain.QwSopTempVoice;
+import com.fs.sop.service.IQwSopTempVoiceService;
+import com.fs.system.service.ISysConfigService;
+import com.fs.system.oss.CloudStorageService;
+import com.fs.system.oss.OSSFactory;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.FileUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 
 @Api("销售中心")
@@ -42,17 +67,28 @@ import java.util.concurrent.TimeUnit;
 @RequestMapping(value="/store/app/companyUser")
 public class CompanyUserScrmController extends AppBaseController {
 
+    private static final String SOP_TEMP_VOICE_KEY = "sop:temp:voice";
+
     @Autowired
     private FSConfig fsConfig;
     @Autowired
-    RedisCache redisCache;
+    private RedisCache redisCache;
     @Autowired
     private ICompanyUserService companyUserService;
     @Autowired
     private ICompanyUserCardService companyUserCardService;
-
     @Autowired
     private ICompanyUserUserService companyUserUserService;
+    @Autowired
+    private IQwSopTempVoiceService voiceService;
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private CompanyUserMapper companyUserMapper;
+    @Autowired
+    private AiHostProper aiHostProper;
+    @Autowired
+    private FastgptChatVoiceHomoMapper fastgptChatVoiceHomoMapper;
 
     @PostMapping("/login")
     public R Login(@RequestBody CompanyUserLoginParam param, HttpServletRequest request){