From 4656172cd5b5a0bd2b19ebef7058d6084abcb609 Mon Sep 17 00:00:00 2001 From: mliu71 Date: Thu, 17 Jul 2025 15:46:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=92=8Cmapper?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/entity/TmCorpusQuestionReport.java | 107 ++++++++ .../TmOdsAinpArrivalTestdriveVoiceInfo.java | 231 ++++++++++++++++++ .../entity/TmOdsImRealtimeMessageCur.java | 170 +++++++++++++ .../controller/AiAnalysisDifyController.java | 22 +- .../mapper/TmCorpusQuestionReportMapper.java | 13 + ...dsAinpArrivalTestdriveVoiceInfoMapper.java | 14 ++ .../TmOdsImRealtimeMessageCurMapper.java | 14 ++ 7 files changed, 567 insertions(+), 4 deletions(-) create mode 100644 ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusQuestionReport.java create mode 100644 ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsAinpArrivalTestdriveVoiceInfo.java create mode 100644 ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsImRealtimeMessageCur.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusQuestionReportMapper.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsAinpArrivalTestdriveVoiceInfoMapper.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsImRealtimeMessageCurMapper.java diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusQuestionReport.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusQuestionReport.java new file mode 100644 index 0000000..aa7f229 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusQuestionReport.java @@ -0,0 +1,107 @@ +package com.volvo.ai.analytic.center.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * 单条语料分析结论表 + */ +@Data +@TableName("tm_corpus_question_report") +public class TmCorpusQuestionReport { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + + /** + * 主类别 + */ + @TableField("main_category") + private String mainCategory; + + /** + * 子类别 + */ + @TableField("sub_category") + private String subCategory; + + /** + * 置信度 + */ + @TableField("'confidence'") + private String confidence; + + /** + * 业务类型 + */ + @TableField("business_type") + private String businessType; + + /** + * 分析结果 + */ + @TableField("analysis_result_json") + private String analysisResultJson; + + + /** + * 删除标识(0-未删除,1-已删除) + */ + @TableField("is_deleted") + private Integer isDeleted; + + /** + * 记录版本号,即乐观锁 + */ + @TableField("versions") + private Integer versions; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 更新人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 创建sql人 + */ + @TableField("create_sqlby") + private String createSqlby; + + /** + * 更新sql人 + */ + @TableField("update_sqlby") + private String updateSqlby; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} \ No newline at end of file diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsAinpArrivalTestdriveVoiceInfo.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsAinpArrivalTestdriveVoiceInfo.java new file mode 100644 index 0000000..25605c6 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsAinpArrivalTestdriveVoiceInfo.java @@ -0,0 +1,231 @@ +package com.volvo.ai.analytic.center.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * @author Lingma (灵码) + * @description 湖仓同步AI铭牌到店试驾语料信息 (tm_ods_ainp_arrival_testdrive_voice_info) + * @date 2025-07-17 + */ +@Data +@TableName("tm_ods_ainp_arrival_testdrive_voice_info") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TmOdsAinpArrivalTestdriveVoiceInfo { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 客流id + */ + @TableField("cust_flow_id") + private Long custFlowId; + + /** + * 商机id + */ + @TableField("biz_opp_id") + private Long bizOppId; + + /** + * 试驾id + */ + @TableField("test_drive_id") + private Long testDriveId; + + /** + * 经销商代码 + */ + @TableField("dealer_code") + private String dealerCode; + + /** + * 线索状态 + */ + @TableField("leads_stat") + private Integer leadsStat; + + /** + * 厅接待意向车型 + */ + @TableField("showroom_reception_intention_veh_model") + private String showroomReceptionIntentionVehModel; + + /** + * 厅接待意向车型燃料类型 + */ + @TableField("showroom_veh_model_fuel_type") + private Integer showroomVehModelFuelType; + + /** + * 商机主意向车型 + */ + @TableField("main_intention_veh_model") + private String mainIntentionVehModel; + + /** + * 商机主意向车型燃料类型 + */ + @TableField("main_intention_veh_model_fuel_type") + private Integer mainIntentionVehModelFuelType; + + /** + * 试驾车型 + */ + @TableField("test_drive_veh_model") + private String testDriveVehModel; + + /** + * 试驾车型燃料类型 + */ + @TableField("test_drive_veh_model_fuel_type") + private Integer testDriveVehModelFuelType; + + /** + * 到店销售顾问id + */ + @TableField("arrival_sales_consultant_id") + private String arrivalSalesConsultantId; + + /** + * 到店销售顾问 + */ + @TableField("arrival_sales_consultant") + private String arrivalSalesConsultant; + + /** + * 到店接待顾问id + */ + @TableField("arrival_reception_consultant_id") + private String arrivalReceptionConsultantId; + + /** + * 到店接待顾问 + */ + @TableField("arrival_reception_consultant") + private String arrivalReceptionConsultant; + + /** + * 试驾销售顾问id + */ + @TableField("test_drive_sales_consultant_id") + private String testDriveSalesConsultantId; + + /** + * 试驾销售顾问 + */ + @TableField("test_drive_sales_consultant") + private String testDriveSalesConsultant; + + /** + * 试驾顾问id + */ + @TableField("test_drive_consultant_id") + private String testDriveConsultantId; + + /** + * 试驾顾问 + */ + @TableField("test_drive_consultant") + private String testDriveConsultant; + + /** + * 试驾开始时间 + */ + @TableField("test_drive_start_time") + private LocalDateTime testDriveStartTime; + + /** + * 试驾结束时间 + */ + @TableField("test_drive_end_time") + private LocalDateTime testDriveEndTime; + + /** + * 录音开始时间 + */ + @TableField("voice_start_time") + private String voiceStartTime; + + /** + * 录音结束时间 + */ + @TableField("voice_end_time") + private String voiceEndTime; + + /** + * 录音时长,单位秒 + */ + @TableField("voice_duration") + private Integer voiceDuration; + + /** + * 语料内容 + */ + @TableField("content") + private String content; + + /** + * 声道标识位 + */ + @TableField("is_mix") + private Byte isMix; + + /** + * 语料类型 + */ + @TableField("content_code") + private Byte contentCode; + + /** + * 分区字段 + */ + @TableField("pday") + private String pday; + + /** + * 创建时间 + */ + @TableField("created_time") + private LocalDateTime createdTime; + + /** + * 创建人 + */ + @TableField("created_by") + private String createdBy; + + /** + * 更新时间 + */ + @TableField("updated_time") + private LocalDateTime updatedTime; + + /** + * 更新人 + */ + @TableField("updated_by") + private String updatedBy; + + /** + * 删除标志位,0:未删除,1:已删除 + */ + @TableField("is_deleted") + private Byte isDeleted; +} diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsImRealtimeMessageCur.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsImRealtimeMessageCur.java new file mode 100644 index 0000000..bc15311 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmOdsImRealtimeMessageCur.java @@ -0,0 +1,170 @@ +package com.volvo.ai.analytic.center.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * @description 湖仓同步实时IM消息表 (tm_ods_im_realtime_message_cur) + * @date 2025-07-17 + */ +@Data +@TableName("tm_ods_im_realtime_message_cur") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TmOdsImRealtimeMessageCur { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 消息唯一标识键 + */ + @TableField("msg_key") + private String msgKey; + + /** + * 会话ID + */ + @TableField("session_id") + private String sessionId; + + /** + * 消息内容 + */ + @TableField("msg_content") + private String msgContent; + + /** + * 消息类型,文本类型:TIMTextElem + */ + @TableField("msg_type") + private String msgType; + + /** + * 消息体 + */ + @TableField("msg_body") + private String msgBody; + + /** + * 客户类型0:用户 1:百度 2:GPT 3:人工 4:唯都Agent + */ + @TableField("customer_type") + private Integer customerType; + + /** + * 云端自定义数据 + */ + @TableField("cloud_custom_data") + private String cloudCustomData; + + /** + * 客服来源 + */ + @TableField("cs_source") + private String csSource; + + /** + * 发送方账号 + */ + @TableField("from_account") + private String fromAccount; + + /** + * 插入时间(原字符串格式转换为datetime) + */ + @TableField("insert_time") + private LocalDateTime insertTime; + + /** + * 会员ID + */ + @TableField("member_id") + private String memberId; + + /** + * 消息标志位 + */ + @TableField("msg_flag_bits") + private Integer msgFlagBits; + + /** + * 消息随机数 + */ + @TableField("msg_random") + private Long msgRandom; + + /** + * 消息序列号 + */ + @TableField("msg_seq") + private String msgSeq; + + /** + * 消息时间戳(毫秒级) + */ + @TableField("msg_timestamp") + private Long msgTimestamp; + + /** + * 第三方平台OpenID + */ + @TableField("open_id") + private String openId; + + /** + * 来源标识 0:公众号,1:app + */ + @TableField("source_type") + private Integer sourceType; + + /** + * 接收方账号 + */ + @TableField("to_account") + private String toAccount; + + /** + * 创建时间 + */ + @TableField("created_time") + private LocalDateTime createdTime; + + /** + * 创建人 + */ + @TableField("created_by") + private String createdBy; + + /** + * 更新时间 + */ + @TableField("updated_time") + private LocalDateTime updatedTime; + + /** + * 更新人 + */ + @TableField("updated_by") + private String updatedBy; + + /** + * 删除标志位,0:未删除,1:已删除 + */ + @TableField("is_deleted") + private Byte isDeleted; +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/AiAnalysisDifyController.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/AiAnalysisDifyController.java index 30eceb0..457e349 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/AiAnalysisDifyController.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/AiAnalysisDifyController.java @@ -1,12 +1,14 @@ package com.volvo.ai.analytic.center.controller; +import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.volvo.ai.analytic.center.dto.req.AnalysisQueryReq; import com.volvo.ai.analytic.center.dto.req.AnalysisReq; +import com.volvo.ai.analytic.center.dto.req.ConsultingRequestDTO; import com.volvo.ai.analytic.center.dto.resp.AnalysisResp; import com.volvo.ai.analytic.center.service.AiAnalysisDifyService; import com.volvo.common.core.util.ResultMsg; @@ -17,10 +19,7 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController() @@ -77,5 +76,20 @@ public class AiAnalysisDifyController { } + + @PostMapping("/corpusQuestion") + @ApiOperation(value = "单条语料分析结论入库") + public AnalysisResp corpusQuestion(@RequestHeader(value = "appKey") String appKey, + @RequestBody ConsultingRequestDTO requestDTO) { + // 打印接收到的参数 + System.out.println("Received appKey: " + appKey); + System.out.println("Received businessType: " + requestDTO.getBusinessType()); + JSONObject jsonObject = JSONObject.parseObject(requestDTO.getText()); + System.out.println("Received text: " + jsonObject.toString()); + + return AnalysisResp .success("ok"); + } + + } diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusQuestionReportMapper.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusQuestionReportMapper.java new file mode 100644 index 0000000..55f7e57 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusQuestionReportMapper.java @@ -0,0 +1,13 @@ +package com.volvo.ai.analytic.center.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.volvo.ai.analytic.center.entity.TmCorpusQuestionReport; +import org.apache.ibatis.annotations.Mapper; + +/** + * 单条语料分析结论 + */ +@Mapper +public interface TmCorpusQuestionReportMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsAinpArrivalTestdriveVoiceInfoMapper.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsAinpArrivalTestdriveVoiceInfoMapper.java new file mode 100644 index 0000000..9f37e70 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsAinpArrivalTestdriveVoiceInfoMapper.java @@ -0,0 +1,14 @@ +package com.volvo.ai.analytic.center.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.volvo.ai.analytic.center.entity.TmOdsAinpArrivalTestdriveVoiceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + * @description 湖仓同步AI铭牌到店试驾语料信息- + * @date 2025-07-17 + */ +@Mapper +public interface TmOdsAinpArrivalTestdriveVoiceInfoMapper extends BaseMapper { +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsImRealtimeMessageCurMapper.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsImRealtimeMessageCurMapper.java new file mode 100644 index 0000000..ed5689f --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmOdsImRealtimeMessageCurMapper.java @@ -0,0 +1,14 @@ +package com.volvo.ai.analytic.center.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.volvo.ai.analytic.center.entity.TmOdsImRealtimeMessageCur; +import org.apache.ibatis.annotations.Mapper; + +/** + * @description 湖仓同步实时IM消息表-Mapper (tm_ods_im_realtime_message_cur) + * @date 2025-07-17 + */ +@Mapper +public interface TmOdsImRealtimeMessageCurMapper extends BaseMapper { +}