请求方法改为post
This commit is contained in:
@@ -123,3 +123,6 @@ hikari:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,18 +11,9 @@ public class AudioManagementConstants {
|
||||
/**
|
||||
* 同步状态 - 服务中(默认值)
|
||||
*/
|
||||
public static final String SYNC_STATUS_IN_SERVICE = "服务中";
|
||||
|
||||
/**
|
||||
* 同步状态 - 未同步
|
||||
*/
|
||||
public static final String SYNC_STATUS_NOT_SYNCED = "未同步";
|
||||
|
||||
/**
|
||||
* 同步状态 - 已同步
|
||||
*/
|
||||
public static final String SYNC_STATUS_SYNCED = "已同步";
|
||||
|
||||
public static final String SERVICE_STATUS_IN_SERVICE = "服务中";
|
||||
public static final String SERVICE_STATUS_SERVICE_FINISH = "服务结束";
|
||||
|
||||
/**
|
||||
* 私有构造函数,防止实例化
|
||||
*/
|
||||
|
||||
@@ -1752,7 +1752,7 @@ public class AudioFileController {
|
||||
// 3. 根据sales_name和sales_phone去audio_management表查找sync_status='服务中'的记录
|
||||
LambdaQueryWrapper<AudioManagement> audioQuery = new LambdaQueryWrapper<>();
|
||||
audioQuery.eq(AudioManagement::getSalesPhone, salesPhone)
|
||||
.eq(AudioManagement::getSyncStatus, "服务中")
|
||||
.eq(AudioManagement::getServiceStatus, "服务中")
|
||||
.orderByDesc(AudioManagement::getCreateTime); // 按创建时间倒序
|
||||
|
||||
List<AudioManagement> audioList = serviceManager.getAudioManagementService().list(audioQuery);
|
||||
@@ -1804,7 +1804,7 @@ public class AudioFileController {
|
||||
newAudio.setTenantId(deviceManagement.getTenantId()); // 租户id
|
||||
newAudio.setDealershipName(deviceManagement.getDealershipName());
|
||||
newAudio.setDealershipId(deviceManagement.getDealershipId());
|
||||
newAudio.setSyncStatus("服务中");
|
||||
newAudio.setServiceStatus("服务中");
|
||||
newAudio.setCreateTime(TimeZoneUtils.now());
|
||||
newAudio.setUpdateTime(TimeZoneUtils.now());
|
||||
|
||||
|
||||
@@ -20,11 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import java.io.InputStream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -179,8 +177,8 @@ public class AudioManagementController {
|
||||
audioManagement.setUploadTime(LocalDateTime.now());
|
||||
|
||||
// 设置同步状态默认值
|
||||
if (audioManagement.getSyncStatus() == null || audioManagement.getSyncStatus().trim().isEmpty()) {
|
||||
audioManagement.setSyncStatus(AudioManagementConstants.SYNC_STATUS_IN_SERVICE);
|
||||
if (audioManagement.getServiceStatus() == null || audioManagement.getServiceStatus().trim().isEmpty()) {
|
||||
audioManagement.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_IN_SERVICE);
|
||||
}
|
||||
|
||||
// 保存录音记录到数据库
|
||||
@@ -310,7 +308,7 @@ public class AudioManagementController {
|
||||
@Parameter(description = "所属销售姓名(模糊查询)") @RequestParam(required = false) String salesName,
|
||||
@Parameter(description = "所属门店ID") @RequestParam(required = false) String dealershipId,
|
||||
@Parameter(description = "意向级别") @RequestParam(required = false) String intentionLevel,
|
||||
@Parameter(description = "同步状态") @RequestParam(required = false) String syncStatus,
|
||||
@Parameter(description = "服务状态") @RequestParam(required = false) String serviceStatus ,
|
||||
@Parameter(description = "销售人员电话(模糊查询)") @RequestParam(required = false) String salesPhone) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
@@ -339,8 +337,8 @@ public class AudioManagementController {
|
||||
if (salesPhone != null && !salesPhone.trim().isEmpty()) {
|
||||
queryWrapper.like(AudioManagement::getSalesPhone, salesPhone);
|
||||
}
|
||||
if (syncStatus != null && !syncStatus.trim().isEmpty()) {
|
||||
queryWrapper.eq(AudioManagement::getSyncStatus, syncStatus);
|
||||
if (serviceStatus != null && !serviceStatus.trim().isEmpty()) { //AudioManagementConstants.SERVICE_STATUS_SERVICE_FINISH
|
||||
queryWrapper.eq(AudioManagement::getServiceStatus, serviceStatus);
|
||||
}
|
||||
|
||||
// 按创建时间倒序排列
|
||||
|
||||
@@ -425,7 +425,7 @@ public class CustomerManagementController {
|
||||
audio.setRemarks(customer.getRemark());
|
||||
audio.setInfoCarddescription(customer.getInfoCard());
|
||||
audio.setCompanyType(customer.getCustomerSource());
|
||||
audio.setSyncStatus(AudioManagementConstants.SYNC_STATUS_IN_SERVICE);
|
||||
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_IN_SERVICE);
|
||||
return audio;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,8 +108,8 @@ public class AudioManagement implements Serializable {
|
||||
private String uploadStatus;
|
||||
|
||||
@Schema(description = "同步状态")
|
||||
@TableField("sync_status")
|
||||
private String syncStatus;
|
||||
@TableField("service_status")
|
||||
private String serviceStatus;
|
||||
|
||||
@Schema(description = "是否合并(0否1是)")
|
||||
@TableField("is_merged")
|
||||
|
||||
@@ -89,4 +89,8 @@ public class KnowledgeBase implements Serializable {
|
||||
@Schema(description = "备注")
|
||||
@TableField("remark")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "租户id")
|
||||
@TableField("tenant_id")
|
||||
private String tenantId;
|
||||
}
|
||||
|
||||
@@ -6,11 +6,8 @@ import com.rj.service.IAudioManagementService;
|
||||
import com.rj.service.IFileUploadService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@@ -51,7 +48,7 @@ public class AudioFileUploadExample {
|
||||
audio.setProjectName("汽车销售项目");
|
||||
audio.setDuration(new java.math.BigDecimal("5.5"));
|
||||
audio.setIntentionLevel("高意向");
|
||||
audio.setSyncStatus(AudioManagementConstants.SYNC_STATUS_IN_SERVICE);
|
||||
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_IN_SERVICE);
|
||||
audio.setCreateTime(LocalDateTime.now());
|
||||
audio.setUpdateTime(LocalDateTime.now());
|
||||
|
||||
|
||||
@@ -5,8 +5,6 @@ import com.rj.controller.AudioManagementController;
|
||||
import com.rj.entity.AudioManagement;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -193,7 +191,7 @@ public class AudioMockInsertDataScheduler {
|
||||
audio.setProjectName(project[1]);
|
||||
audio.setScriptModel(pick(SCRIPT_MODELS));
|
||||
audio.setUploadStatus(pick(UPLOAD_STATUS));
|
||||
audio.setSyncStatus(AudioManagementConstants.SYNC_STATUS_IN_SERVICE);
|
||||
audio.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_IN_SERVICE);
|
||||
audio.setIsMerged(random.nextBoolean());
|
||||
audio.setRemarks(buildRemarks(project[1], dealer[1], audio.getCustomerName()));
|
||||
audio.setCompanyType(pick(COMPANY_TYPES));
|
||||
|
||||
@@ -118,7 +118,7 @@ public class SoundRecordingUploadServiceImpl implements ISoundRecordingUploadSer
|
||||
audioManagement.setAudioFileExtension(fileExtension);
|
||||
audioManagement.setUploadTime(LocalDateTime.now());
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus(AudioManagementConstants.SYNC_STATUS_IN_SERVICE);
|
||||
audioManagement.setServiceStatus(AudioManagementConstants.SERVICE_STATUS_IN_SERVICE);
|
||||
audioManagement.setIsMerged(chunkInfo.isLastChunk && chunkInfo.totalChunks > 1);
|
||||
|
||||
// 如果有自定义编号,可以存储到备注中
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
虚拟人:
|
||||
在汽车销售场景中, 客户人设是: XXXXX( 比如: 二次购车置换场景 + 职场精英男性) ,请帮我总结出他最可能问到的50个问题。 包括售前售中售后等场景
|
||||
|
||||
|
||||
1, 结合 “竞品对比型潜客 + 科技发烧友男性” 人设,问题将聚焦智能科技配置、核心技术参数、竞品差异点三大核心,同时覆盖售前选型、售中购车、售后保障全流程,突出 “技术较真”“横向对比”“体验优先” 的特点,以下是 40 个高频问题
|
||||
2,结合 “老客户转介绍潜客 + 企业主商务接待” 的核心人设,问题将围绕商务实用性、品牌信任背书、成本效益、服务保障、定制化需求五大核心维度展开,既体现转介绍带来的信任基础,也紧扣企业主的商务场景痛点(如接待体面、用车效率、长期成本等),以下是 30 个高频问题
|
||||
3,结合 “家庭多人共同选车 + 二胎家庭宝爸” 的核心人设,问题将围绕空间实用性、儿童安全保障、家庭出行适配、购车成本、后期养车便利性五大核心,覆盖售前选型、售中购车、售后保障全流程,兼顾宝爸对家人(尤其是两个孩子)的需求考量,以下是 40 个高频问题
|
||||
4,结合 “金融方案咨询与对比型 + 创业初期个体户” 人设,核心围绕资金灵活性、成本可控性、政策适配性、实用性价比展开,覆盖售前选型、金融方案、购车流程、后期养车全场景,突出个体户 “精打细算、现金流优先、兼顾经营需求” 的特点,以下是 50
|
||||
5,结合 “二次购车置换 + 职场精英男性” 人设,核心围绕置换流程效率、车型升级价值、商务场景适配、成本可控性、服务专业性展开,覆盖售前选型、置换对接、金融方案、售后保障全场景,突出精英男性 “注重效率、追求品质、理性决策、兼顾商务与实用” 的特点,以下是 50 个高频问题:
|
||||
6,结合 “低预算高要求 + 女性议价型” 人设,核心围绕性价比极致追求、女性用车痛点、议价空间挖掘、全流程成本控制展开,覆盖售前选型、议价谈判、购车流程、售后保障全场景,突出女性 “细节敏感、实用优先、精打细算、注重安全感” 的特点,以下是 50 个高频问题:
|
||||
7,结合 “社区地推陌生触达 + 时尚独立女性” 人设,核心围绕低门槛了解、颜值与实用性兼顾、决策成本可控、服务便捷性展开,覆盖售前初认知、车型适配、购车权益、售后保障全场景,突出时尚独立女性 “注重颜值、追求便捷、理性务实、关注细节” 的特点,以下是 50 个高频问题
|
||||
|
||||
|
||||
|
||||
陪练主表包括的字段:
|
||||
id(uuid)主键, 租户id,陪练标题,陪练的场景,参与人姓名, 参与人电话, 日期,创建时间
|
||||
|
||||
陪练子表包括的字段:
|
||||
id(uuid)主键,父id(uuid), 租户id,题目,题目答案 ,创建时间
|
||||
|
||||
@@ -41,7 +41,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("奥迪A6L项目");
|
||||
audioManagement.setScriptModel("标准话术");
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(false);
|
||||
audioManagement.setRemarks("测试录音备注");
|
||||
audioManagement.setCompanyType("4S店");
|
||||
@@ -79,7 +79,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("宝马5系项目");
|
||||
audioManagement.setScriptModel("高级话术");
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(false);
|
||||
audioManagement.setRemarks("查询测试录音备注");
|
||||
audioManagement.setCompanyType("4S店");
|
||||
@@ -122,7 +122,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("奔驰E级项目");
|
||||
audioManagement.setScriptModel("基础话术");
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(false);
|
||||
audioManagement.setRemarks("手机号查询测试备注");
|
||||
audioManagement.setCompanyType("4S店");
|
||||
@@ -179,7 +179,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("雷克萨斯ES项目");
|
||||
audioManagement.setScriptModel("专业话术");
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(false);
|
||||
audioManagement.setRemarks("更新测试录音备注");
|
||||
audioManagement.setCompanyType("4S店");
|
||||
@@ -228,7 +228,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("沃尔沃S90项目");
|
||||
audioManagement.setScriptModel("标准话术");
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(false);
|
||||
audioManagement.setRemarks("删除测试录音备注");
|
||||
audioManagement.setCompanyType("4S店");
|
||||
@@ -273,7 +273,7 @@ class AudioManagementServiceTest {
|
||||
audioManagement.setProjectName("项目" + i);
|
||||
audioManagement.setScriptModel(getRandomScriptModel());
|
||||
audioManagement.setUploadStatus("已上传");
|
||||
audioManagement.setSyncStatus("已同步");
|
||||
audioManagement.setServiceStatus("已同步");
|
||||
audioManagement.setIsMerged(i % 3 == 0); // 每3条数据合并一次
|
||||
audioManagement.setRemarks("批量测试录音备注_" + i);
|
||||
audioManagement.setCompanyType("4S店");
|
||||
|
||||
Reference in New Issue
Block a user