diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInvite.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInvite.java
new file mode 100644
index 0000000..3432587
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInvite.java
@@ -0,0 +1,15 @@
+package com.ruoyi.system.domain;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+public class SysUserInvite extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    private Long codeId;
+
+    private String code;
+
+    private Long userId;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInviteMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInviteMapper.java
new file mode 100644
index 0000000..b0239ca
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInviteMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.SysUserInvite;
+
+public interface SysUserInviteMapper {
+    SysUserInvite selectInviteByUserId(Long userId);
+    SysUserInvite selectInviteByCode(String code);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserInviteService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserInviteService.java
new file mode 100644
index 0000000..d5b04f4
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserInviteService.java
@@ -0,0 +1,8 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.SysUserInvite;
+
+public interface ISysUserInviteService {
+    SysUserInvite getInviteCode(Long userId);
+    SysUserInvite getUserByInviteCode(String code);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserInviteServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserInviteServiceImpl.java
new file mode 100644
index 0000000..e499a5a
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserInviteServiceImpl.java
@@ -0,0 +1,23 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.domain.SysUserInvite;
+import com.ruoyi.system.mapper.SysUserInviteMapper;
+import com.ruoyi.system.service.ISysUserInviteService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysUserInviteServiceImpl implements ISysUserInviteService {
+    @Autowired
+    private SysUserInviteMapper inviteMapper;
+
+    @Override
+    public SysUserInvite getInviteCode(Long userId) {
+        return inviteMapper.selectInviteByUserId(userId);
+    }
+
+    @Override
+    public SysUserInvite getUserByInviteCode(String code) {
+        return inviteMapper.selectInviteByCode(code);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserInviteMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserInviteMapper.xml
new file mode 100644
index 0000000..82da470
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserInviteMapper.xml
@@ -0,0 +1,21 @@
+<?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="com.ruoyi.system.mapper.SysUserInviteMapper">
+    <resultMap id="SysUserInviteMap" type="com.ruoyi.system.domain.SysUserInvite">
+        <id property="codeId" column="code_id"/>
+        <result property="code" column="code"/>
+        <result property="userId" column="user_id"/>
+    </resultMap>
+
+    <select id="selectInviteByUserId" resultMap="SysUserInviteMap">
+        select code_id, code, user_id
+        from invite_codes
+        where user_id = #{userId}
+    </select>
+
+    <select id="selectInviteByCode" resultMap="SysUserInviteMap">
+        select code_id, code, user_id
+        from invite_codes
+        where code = #{code}
+    </select>
+</mapper>
\ No newline at end of file
