Merge remote-tracking branch 'origin/master' into dev_20250409_difyResult

# Conflicts:
#	ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/enums/BusinessTypeEnum.java
#	ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/controller/AiDifyResultController.java
#	ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/utils/ConstantStr.java
This commit is contained in:
zren25
2025-04-25 11:27:45 +08:00
38 changed files with 1332 additions and 46 deletions

View File

@@ -0,0 +1,11 @@
package com.volvo.ai.analytic.center.constant;
public class ClaimVerificationConstant {
public static final String ID = "id";
public static final String EXTENSION = "extension";
public static final String TYPE = "type";
public static final String UPLOAD_FILE_ID = "upload_file_id";
public static final String TRANSFER_METHOD = "transfer_method";
public static final String LOCAL_FILE = "local_file";
}

View File

@@ -5,4 +5,6 @@ public class Constant {
public static final String CHANNEL_DCC = "Channel_Dcc";
public static final String DISPLAY_STATUS = "FINISHED";
public static final String INTELLIGENT_CUSTOMER_4IN1 = "INTELLIGENT_CUSTOMER_4IN1";
}

View File

@@ -0,0 +1,36 @@
package com.volvo.ai.analytic.center.dto.req;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ClaimVerificationFileDTO {
@NotBlank(message = "售后ID不能为空")
private String newBieAfterSalesId;
@NotBlank(message = "业务类型不能为空, 99001文件分析99002审计报告")
private String businessType;
//文件类型 dtc诊断报告
private String fileType;
//obs文件路径集合
private List<String> fileObsPath;
//DTC报告
private JSONObject dtcReport;
//环检报告
private JSONObject preCheckReport;
//诊断报告
private JSONObject diagnosticReport;
}

View File

@@ -0,0 +1,32 @@
package com.volvo.ai.analytic.center.dto.req;
import lombok.Data;
/**
*
* @ClassName: FourRequestDTO
* @author: renzhen
* @Description: 四合一请求参数
* @date: 2025-04-02 10:36
*/
@Data
public class FourInOneRequestDTO {
// 语料唯一Id
private String workOrderId;
//【语料内容】不可为空"
private String workOrderContent;
// 消息来源
private String workOrderSource;
// 关联语料内容
private String relationCorpusContent;
private String aiAnalysisRequestId;
}

View File

@@ -0,0 +1,22 @@
package com.volvo.ai.analytic.center.dto.resp;
import lombok.Data;
/**
* @ClassName ComplainDTO
* @Description 四合一 投诉
* @Author renzhen
* @Date 2025-04-02 11:20
* @Version 1.0
**/
@Data
public class ComplainDTO {
private String orderType;
private String complainType;
private String complainTitle;
private String problemDescription;
private String contactTelephone;
private String contactName;
private String contactSex;
}

View File

@@ -0,0 +1,20 @@
package com.volvo.ai.analytic.center.dto.resp;
import lombok.Data;
/**
* @ClassName ComplainDTO
* @Description 四合一 咨询
* @Author renzhen
* @Date 2025-04-02 11:20
* @Version 1.0
**/
@Data
public class ConsultDTO {
private String orderType;
private String problemDescription;
private String contactTelephone;
private String contactName;
private String contactSex;
}

View File

@@ -0,0 +1,29 @@
package com.volvo.ai.analytic.center.dto.resp;
import lombok.Data;
/**
*
* @ClassName: FourRequestDTO
* @author: renzhen
* @Description: 四合一请求参数
* @date: 2025-04-02 10:36
*/
@Data
public class FourInOneResponseDTO {
// 语料唯一Id
private String workOrderId;
//投诉
private ComplainDTO complain;
// 咨询
private ConsultDTO consult;
private String aiAnalysisRequestId;
}

View File

@@ -0,0 +1,99 @@
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.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("tt_ai_analytic_business_config")
public class AiAnalyticBusinessConfig {
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 业务线标识A业务/B业务/C业务
*/
@TableField(value = "business_line")
private String businessLine;
/**
* 检核方式 AI检核 : 9911 人工复核: 9912
*/
@TableField(value = "verification_method")
private String verificationMethod;
/**
* 配置类型FileDescriptionAnalysisRequirementReportRequirementsReportTemplateAnalysisRules
*/
@TableField(value = "config_type")
private String configType;
/**
* 配置内容
*/
@TableField(value = "config_data")
private String configData;
/**
* 配置版本
*/
@TableField(value = "config_version")
private Integer configVersion;
/**
* 文件配置分类
*/
@TableField(value = "file_config_category")
private String fileConfigCategory;
/**
* 删除标识0-未删除1-已删除)
*/
@TableField(value = "is_deleted")
private Integer isDeleted;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
/**
* 创建人
*/
@TableField(value = "create_by")
private String createBy;
/**
* 更新人
*/
@TableField(value = "update_by")
private String updateBy;
/**
* 乐观锁
*/
@TableField(value = "versions")
private Integer versions;
}

View File

@@ -0,0 +1,70 @@
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.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("tt_ai_analytic_warranty_audit")
public class AiAnalyticWarrantyAudit {
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 配置版本
*/
@TableField(value = "audit_count")
private Integer auditCount;
@TableField(value = "new_bie_after_sales_id")
private String newBieAfterSalesId;
/**
* 删除标识0-未删除1-已删除)
*/
@TableField(value = "is_deleted")
private Integer isDeleted;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
/**
* 创建人
*/
@TableField(value = "create_by")
private String createBy;
/**
* 更新人
*/
@TableField(value = "update_by")
private String updateBy;
/**
* 乐观锁
*/
@TableField(value = "versions")
private Integer versions;
}

View File

@@ -0,0 +1,66 @@
package com.volvo.ai.analytic.center.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("tc_intelligent_customer")
public class TcIntelligentCustomer {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
// 咨询类【201】/投诉类【202】/投诉类型【203】
@TableField("intelligent_customer_type")
private String intelligentCustomerType;
@TableField("type_one")
private String typeOne;
@TableField("type_two")
private String typeTwo; // JSON 字符串
@TableField("type_three")
private String typeThree;
@TableField("is_deleted")
@TableLogic
private Integer isDeleted;
@TableField("versions")
@Version
private Integer versions;
/**
* 创建者
*/
@TableField("create_by")
private String createBy;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
* 更新者
*/
@TableField("update_by")
private String updateBy;
/**
* 更新时间
*/
@TableField("update_time")
private Date updateTime;
}

View File

@@ -8,9 +8,18 @@ public enum BusinessTypeEnum {
COMMUNITYTARGET("CommunityTarget", "社区舆情分析"),
SMART_ASSISTANT("SMART_ASSISTANT", "智能助手-DCC"),
SMART_ASSISTANT_QIWEI("SMART_ASSISTANT_QIWEI", "智能助手-企微"),
INTELLIGENT_CUSTOMER("INTELLIGENT_CUSTOMER_4IN1", "智能客服-4合一")
INTELLIGENT_CUSTOMER("INTELLIGENT_CUSTOMER_4IN1", "智能客服-4合一"),
;
//索赔检核
CLAIM_VERIFICATION("CLAIM_VERIFICATION", "索赔检核流程"),
CLAIM_VERIFICATION_FILE_ANALYSIS("99001", "索赔检核文件分析"),
CLAIM_VERIFICATION_AUDIT("99002", "索赔检核审计报告"),
CLAIM_VERIFICATION_DTC("DTC", "DTC报告"),
CLAIM_VERIFICATION_DIAGNOSTIC("DIAGNOSTIC", "诊断报告"),
//索赔检核配置类型
AUDITRULES("AuditRules", "审计规则配置")
;
private String code;
private String message;

View File

@@ -0,0 +1,59 @@
package com.volvo.ai.analytic.center.enums;
import lombok.Getter;
@Getter
public enum ClaimVerificationFileTypeEnums {
//image
jpg("jpg", "image"),
jpeg("jpeg", "image"),
png("png", "image"),
gif("gif", "image"),
webp("webp", "image"),
svg("svg", "image"),
//document
txt("txt", "document"),
md("md", "document"),
markdown("markdown", "document"),
pdf("pdf", "document"),
html("html", "document"),
xlsx("xlsx", "document"),
xls("xls", "document"),
docx("docx", "document"),
csv("csv", "document"),
eml("eml", "document"),
msg("msg", "document"),
pptx("pptx", "document"),
ppt("ppt", "document"),
xml("xml", "document"),
epub("epub", "document"),
;
private String code;
private String message;
public static String getMessageByCode(String code) {
for (ClaimVerificationFileTypeEnums enums : ClaimVerificationFileTypeEnums.values()) {
if (enums.getCode().equals(code)) {
return enums.getMessage();
}
}
return null;
}
public static ClaimVerificationFileTypeEnums getByCode(String code) {
for (ClaimVerificationFileTypeEnums enums : ClaimVerificationFileTypeEnums.values()) {
if (enums.getCode().equals(code)) {
return enums;
}
}
return null;
}
ClaimVerificationFileTypeEnums(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,19 @@
package com.volvo.ai.analytic.center.enums;
import lombok.Getter;
@Getter
public enum IntelligentCustomerTypeEnum {
CONSULT("201", "咨询类"),
COMPLAIN("202", "投诉类"),
CONSULT_TYPE("203", "投诉类型")
;
private String code;
private String message;
IntelligentCustomerTypeEnum(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,23 @@
package com.volvo.ai.analytic.center.enums;
public enum StatusEnums {
success(200, "分析完成"),
error(500, "系统异常,请稍后重试"),
;
private Integer code;
private String message;
StatusEnums(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return this.code;
}
public String getMessage() {
return this.message;
}
}