From ca5d751375dc73203fc542fc7c548f97910c43eb Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 23 Oct 2025 10:43:05 +0800
Subject: [PATCH] feat(ai): 新增产品解锁和依赖关系功能模块

---
 src/main/java/cc/mrbird/febs/ai/mapper/AiMemberProductUnlockMapper.java            |    7 +++
 src/main/java/cc/mrbird/febs/ai/entity/AiMemberProductUnlock.java                  |   15 +++++++
 src/main/java/cc/mrbird/febs/ai/mapper/AiProductDependencyMapper.java              |    7 +++
 src/main/java/cc/mrbird/febs/ai/service/AiProductDependencyService.java            |    7 +++
 src/main/java/cc/mrbird/febs/ai/entity/AiProductDependency.java                    |   15 +++++++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberProductUnlockServiceImpl.java |   15 +++++++
 src/main/resources/mapper/modules/AiProductDependencyMapper.xml                    |    4 ++
 src/main/resources/mapper/modules/AiMemberProductUnlockMapper.xml                  |    4 ++
 src/main/java/cc/mrbird/febs/ai/service/AiMemberProductUnlockService.java          |    7 +++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiProductDependencyServiceImpl.java   |   15 +++++++
 10 files changed, 96 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/entity/AiMemberProductUnlock.java b/src/main/java/cc/mrbird/febs/ai/entity/AiMemberProductUnlock.java
new file mode 100644
index 0000000..d451266
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/entity/AiMemberProductUnlock.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.ai.entity;
+
+import cc.mrbird.febs.common.entity.AiBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ai_member_product_unlock")
+public class AiMemberProductUnlock extends AiBaseEntity {
+
+    private String memberId;           // 用户ID
+    private String companyId;           // 公司ID
+    private String productId;        // 产品ID
+    private Integer unlockScore;   // 解锁分数
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/entity/AiProductDependency.java b/src/main/java/cc/mrbird/febs/ai/entity/AiProductDependency.java
new file mode 100644
index 0000000..c76303b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/entity/AiProductDependency.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.ai.entity;
+
+import cc.mrbird.febs.common.entity.AiBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ai_product_dependency")
+public class AiProductDependency  extends AiBaseEntity {
+
+    private String companyId;           // 公司ID
+    private String prerequisiteProductId;  // 前置产品ID
+    private String targetProductId;        // 目标产品ID
+    private Integer requiredScore;          //解锁分数
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberProductUnlockMapper.java b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberProductUnlockMapper.java
new file mode 100644
index 0000000..9a5b072
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberProductUnlockMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.ai.mapper;
+
+import cc.mrbird.febs.ai.entity.AiMemberProductUnlock;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface AiMemberProductUnlockMapper extends BaseMapper<AiMemberProductUnlock> {
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/mapper/AiProductDependencyMapper.java b/src/main/java/cc/mrbird/febs/ai/mapper/AiProductDependencyMapper.java
new file mode 100644
index 0000000..de9f811
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/mapper/AiProductDependencyMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.ai.mapper;
+
+import cc.mrbird.febs.ai.entity.AiProductDependency;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface AiProductDependencyMapper extends BaseMapper<AiProductDependency> {
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberProductUnlockService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberProductUnlockService.java
new file mode 100644
index 0000000..d2c90ce
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberProductUnlockService.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.ai.service;
+
+import cc.mrbird.febs.ai.entity.AiMemberProductUnlock;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface AiMemberProductUnlockService extends IService<AiMemberProductUnlock> {
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductDependencyService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductDependencyService.java
new file mode 100644
index 0000000..cf78cae
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductDependencyService.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.ai.service;
+
+import cc.mrbird.febs.ai.entity.AiProductDependency;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface AiProductDependencyService extends IService<AiProductDependency> {
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberProductUnlockServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberProductUnlockServiceImpl.java
new file mode 100644
index 0000000..aa270b6
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberProductUnlockServiceImpl.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.ai.service.impl;
+
+import cc.mrbird.febs.ai.entity.AiMemberProductUnlock;
+import cc.mrbird.febs.ai.mapper.AiMemberProductUnlockMapper;
+import cc.mrbird.febs.ai.service.AiMemberProductUnlockService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class AiMemberProductUnlockServiceImpl extends ServiceImpl<AiMemberProductUnlockMapper, AiMemberProductUnlock> implements AiMemberProductUnlockService {
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductDependencyServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductDependencyServiceImpl.java
new file mode 100644
index 0000000..ac8c4a5
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductDependencyServiceImpl.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.ai.service.impl;
+
+import cc.mrbird.febs.ai.entity.AiProductDependency;
+import cc.mrbird.febs.ai.mapper.AiProductDependencyMapper;
+import cc.mrbird.febs.ai.service.AiProductDependencyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class AiProductDependencyServiceImpl extends ServiceImpl<AiProductDependencyMapper, AiProductDependency> implements AiProductDependencyService {
+}
diff --git a/src/main/resources/mapper/modules/AiMemberProductUnlockMapper.xml b/src/main/resources/mapper/modules/AiMemberProductUnlockMapper.xml
new file mode 100644
index 0000000..a9e7125
--- /dev/null
+++ b/src/main/resources/mapper/modules/AiMemberProductUnlockMapper.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cc.mrbird.febs.ai.mapper.AiMemberProductUnlockMapper">
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/AiProductDependencyMapper.xml b/src/main/resources/mapper/modules/AiProductDependencyMapper.xml
new file mode 100644
index 0000000..833b28e
--- /dev/null
+++ b/src/main/resources/mapper/modules/AiProductDependencyMapper.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cc.mrbird.febs.ai.mapper.AiProductDependencyMapper">
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1