mingfu 1 месяц назад
Родитель
Сommit
2c4db8830c

+ 44 - 0
back-ui/src/api/learn/learnCultureKnowledge.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询文化知识点关系列表
+export function listLearnCultureKnowledge(query) {
+  return request({
+    url: '/learn/learnCultureKnowledge/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询文化知识点关系详细
+export function getLearnCultureKnowledge(id) {
+  return request({
+    url: '/learn/learnCultureKnowledge/' + id,
+    method: 'get'
+  })
+}
+
+// 新增文化知识点关系
+export function addLearnCultureKnowledge(data) {
+  return request({
+    url: '/learn/learnCultureKnowledge',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改文化知识点关系
+export function updateLearnCultureKnowledge(data) {
+  return request({
+    url: '/learn/learnCultureKnowledge',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除文化知识点关系
+export function delLearnCultureKnowledge(id) {
+  return request({
+    url: '/learn/learnCultureKnowledge/' + id,
+    method: 'delete'
+  })
+}

+ 332 - 0
back-ui/src/views/learn/learnCultureKnowledge/index.vue

@@ -0,0 +1,332 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="年度" prop="year">
+        <el-input
+          v-model="queryParams.year"
+          placeholder="请输入年度"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="院校id" prop="universityId">
+        <el-input
+          v-model="queryParams.universityId"
+          placeholder="请输入院校id"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="专业科目" prop="subjects">
+        <el-input
+          v-model="queryParams.subjects"
+          placeholder="请输入专业科目"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="适用省份" prop="locations">
+        <el-input
+          v-model="queryParams.locations"
+          placeholder="请输入适用省份"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="适用考生类型" prop="examineeTypes">
+        <el-input
+          v-model="queryParams.examineeTypes"
+          placeholder="请输入适用考生类型"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="总分" prop="score">
+        <el-input
+          v-model="queryParams.score"
+          placeholder="请输入总分"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="时长" prop="time">
+        <el-input
+          v-model="queryParams.time"
+          placeholder="请输入时长"
+          clearable
+          @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="Plus"
+          @click="handleAdd"
+          v-hasPermi="['learn:learnCultureKnowledge:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="Edit"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['learn:learnCultureKnowledge:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="Delete"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['learn:learnCultureKnowledge:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="Download"
+          @click="handleExport"
+          v-hasPermi="['learn:learnCultureKnowledge:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="learnCultureKnowledgeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="年度" align="center" prop="year" />
+      <el-table-column label="院校id" align="center" prop="universityId" />
+      <el-table-column label="专业科目" align="center" prop="subjects" />
+      <el-table-column label="题型分布" align="center" prop="questionTypes" />
+      <el-table-column label="知识点列表" align="center" prop="knowledges" />
+      <el-table-column label="适用省份" align="center" prop="locations" />
+      <el-table-column label="适用考生类型" align="center" prop="examineeTypes" />
+      <el-table-column label="总分" align="center" prop="score" />
+      <el-table-column label="时长" align="center" prop="time" />
+      <el-table-column label="仿真模拟卷要求" align="center" prop="conditions" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template #default="scope">
+          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['learn:learnCultureKnowledge:edit']">修改</el-button>
+          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['learn:learnCultureKnowledge:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改文化知识点关系对话框 -->
+    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+      <el-form ref="learnCultureKnowledgeRef" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="年度" prop="year">
+          <el-input v-model="form.year" placeholder="请输入年度" />
+        </el-form-item>
+        <el-form-item label="院校id" prop="universityId">
+          <el-input v-model="form.universityId" placeholder="请输入院校id" />
+        </el-form-item>
+        <el-form-item label="专业科目" prop="subjects">
+          <el-input v-model="form.subjects" placeholder="请输入专业科目" />
+        </el-form-item>
+        <el-form-item label="题型分布" prop="questionTypes">
+          <el-input v-model="form.questionTypes" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="知识点列表" prop="knowledges">
+          <el-input v-model="form.knowledges" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="适用省份" prop="locations">
+          <el-input v-model="form.locations" placeholder="请输入适用省份" />
+        </el-form-item>
+        <el-form-item label="适用考生类型" prop="examineeTypes">
+          <el-input v-model="form.examineeTypes" placeholder="请输入适用考生类型" />
+        </el-form-item>
+        <el-form-item label="总分" prop="score">
+          <el-input v-model="form.score" placeholder="请输入总分" />
+        </el-form-item>
+        <el-form-item label="时长" prop="time">
+          <el-input v-model="form.time" placeholder="请输入时长" />
+        </el-form-item>
+        <el-form-item label="仿真模拟卷要求" prop="conditions">
+          <el-input v-model="form.conditions" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup name="LearnCultureKnowledge">
+import { listLearnCultureKnowledge, getLearnCultureKnowledge, delLearnCultureKnowledge, addLearnCultureKnowledge, updateLearnCultureKnowledge } from "@/api/learn/learnCultureKnowledge"
+
+const { proxy } = getCurrentInstance()
+
+const learnCultureKnowledgeList = ref([])
+const open = ref(false)
+const loading = ref(true)
+const showSearch = ref(true)
+const ids = ref([])
+const single = ref(true)
+const multiple = ref(true)
+const total = ref(0)
+const title = ref("")
+
+const data = reactive({
+  form: {},
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    year: null,
+    universityId: null,
+    subjects: null,
+    questionTypes: null,
+    knowledges: null,
+    locations: null,
+    examineeTypes: null,
+    score: null,
+    time: null,
+    conditions: null
+  },
+  rules: {
+    year: [
+      { required: true, message: "年度不能为空", trigger: "blur" }
+    ],
+  }
+})
+
+const { queryParams, form, rules } = toRefs(data)
+
+/** 查询文化知识点关系列表 */
+function getList() {
+  loading.value = true
+  listLearnCultureKnowledge(queryParams.value).then(response => {
+    learnCultureKnowledgeList.value = response.rows
+    total.value = response.total
+    loading.value = false
+  })
+}
+
+// 取消按钮
+function cancel() {
+  open.value = false
+  reset()
+}
+
+// 表单重置
+function reset() {
+  form.value = {
+    id: null,
+    year: null,
+    universityId: null,
+    subjects: null,
+    questionTypes: null,
+    knowledges: null,
+    locations: null,
+    examineeTypes: null,
+    score: null,
+    time: null,
+    conditions: null
+  }
+  proxy.resetForm("learnCultureKnowledgeRef")
+}
+
+/** 搜索按钮操作 */
+function handleQuery() {
+  queryParams.value.pageNum = 1
+  getList()
+}
+
+/** 重置按钮操作 */
+function resetQuery() {
+  proxy.resetForm("queryRef")
+  handleQuery()
+}
+
+// 多选框选中数据
+function handleSelectionChange(selection) {
+  ids.value = selection.map(item => item.id)
+  single.value = selection.length != 1
+  multiple.value = !selection.length
+}
+
+/** 新增按钮操作 */
+function handleAdd() {
+  reset()
+  open.value = true
+  title.value = "添加文化知识点关系"
+}
+
+/** 修改按钮操作 */
+function handleUpdate(row) {
+  reset()
+  const _id = row.id || ids.value
+  getLearnCultureKnowledge(_id).then(response => {
+    form.value = response.data
+    open.value = true
+    title.value = "修改文化知识点关系"
+  })
+}
+
+/** 提交按钮 */
+function submitForm() {
+  proxy.$refs["learnCultureKnowledgeRef"].validate(valid => {
+    if (valid) {
+      if (form.value.id != null) {
+        updateLearnCultureKnowledge(form.value).then(response => {
+          proxy.$modal.msgSuccess("修改成功")
+          open.value = false
+          getList()
+        })
+      } else {
+        addLearnCultureKnowledge(form.value).then(response => {
+          proxy.$modal.msgSuccess("新增成功")
+          open.value = false
+          getList()
+        })
+      }
+    }
+  })
+}
+
+/** 删除按钮操作 */
+function handleDelete(row) {
+  const _ids = row.id || ids.value
+  proxy.$modal.confirm('是否确认删除文化知识点关系编号为"' + _ids + '"的数据项?').then(function() {
+    return delLearnCultureKnowledge(_ids)
+  }).then(() => {
+    getList()
+    proxy.$modal.msgSuccess("删除成功")
+  }).catch(() => {})
+}
+
+/** 导出按钮操作 */
+function handleExport() {
+  proxy.download('learn/learnCultureKnowledge/export', {
+    ...queryParams.value
+  }, `learnCultureKnowledge_${new Date().getTime()}.xlsx`)
+}
+
+getList()
+</script>

+ 104 - 0
ie-admin/src/main/java/com/ruoyi/web/controller/learn/LearnCultureKnowledgeController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.learn;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.learn.domain.LearnCultureKnowledge;
+import com.ruoyi.learn.service.ILearnCultureKnowledgeService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 文化知识点关系Controller
+ * 
+ * @author ruoyi
+ * @date 2025-12-02
+ */
+@RestController
+@RequestMapping("/learn/learnCultureKnowledge")
+public class LearnCultureKnowledgeController extends BaseController
+{
+    @Autowired
+    private ILearnCultureKnowledgeService learnCultureKnowledgeService;
+
+    /**
+     * 查询文化知识点关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(LearnCultureKnowledge learnCultureKnowledge)
+    {
+        startPage();
+        List<LearnCultureKnowledge> list = learnCultureKnowledgeService.selectLearnCultureKnowledgeList(learnCultureKnowledge);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出文化知识点关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:export')")
+    @Log(title = "文化知识点关系", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, LearnCultureKnowledge learnCultureKnowledge)
+    {
+        List<LearnCultureKnowledge> list = learnCultureKnowledgeService.selectLearnCultureKnowledgeList(learnCultureKnowledge);
+        ExcelUtil<LearnCultureKnowledge> util = new ExcelUtil<LearnCultureKnowledge>(LearnCultureKnowledge.class);
+        util.exportExcel(response, list, "文化知识点关系数据");
+    }
+
+    /**
+     * 获取文化知识点关系详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(learnCultureKnowledgeService.selectLearnCultureKnowledgeById(id));
+    }
+
+    /**
+     * 新增文化知识点关系
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:add')")
+    @Log(title = "文化知识点关系", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody LearnCultureKnowledge learnCultureKnowledge)
+    {
+        return toAjax(learnCultureKnowledgeService.insertLearnCultureKnowledge(learnCultureKnowledge));
+    }
+
+    /**
+     * 修改文化知识点关系
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:edit')")
+    @Log(title = "文化知识点关系", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody LearnCultureKnowledge learnCultureKnowledge)
+    {
+        return toAjax(learnCultureKnowledgeService.updateLearnCultureKnowledge(learnCultureKnowledge));
+    }
+
+    /**
+     * 删除文化知识点关系
+     */
+    @PreAuthorize("@ss.hasPermi('learn:learnCultureKnowledge:remove')")
+    @Log(title = "文化知识点关系", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(learnCultureKnowledgeService.deleteLearnCultureKnowledgeByIds(ids));
+    }
+}

+ 187 - 0
ie-system/src/main/java/com/ruoyi/learn/domain/LearnCultureKnowledge.java

@@ -0,0 +1,187 @@
+package com.ruoyi.learn.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 文化知识点关系对象 learn_culture_knowledge
+ * 
+ * @author ruoyi
+ * @date 2025-12-02
+ */
+public class LearnCultureKnowledge extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 年度 */
+    @Excel(name = "年度")
+    private Integer year;
+
+    /** 院校id */
+    @Excel(name = "院校id")
+    private Long universityId;
+
+    /** 专业科目 */
+    @Excel(name = "专业科目")
+    private String subjects;
+
+    /** 题型分布 */
+    @Excel(name = "题型分布")
+    private String questionTypes;
+
+    /** 知识点列表 */
+    @Excel(name = "知识点列表")
+    private String knowledges;
+
+    /** 适用省份 */
+    @Excel(name = "适用省份")
+    private String locations;
+
+    /** 适用考生类型 */
+    @Excel(name = "适用考生类型")
+    private String examineeTypes;
+
+    /** 总分 */
+    @Excel(name = "总分")
+    private Integer score;
+
+    /** 时长 */
+    @Excel(name = "时长")
+    private Long time;
+
+    /** 仿真模拟卷要求 */
+    @Excel(name = "仿真模拟卷要求")
+    private String conditions;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public void setYear(Integer year) 
+    {
+        this.year = year;
+    }
+
+    public Integer getYear() 
+    {
+        return year;
+    }
+
+    public void setUniversityId(Long universityId) 
+    {
+        this.universityId = universityId;
+    }
+
+    public Long getUniversityId() 
+    {
+        return universityId;
+    }
+
+    public void setSubjects(String subjects) 
+    {
+        this.subjects = subjects;
+    }
+
+    public String getSubjects() 
+    {
+        return subjects;
+    }
+
+    public void setQuestionTypes(String questionTypes) 
+    {
+        this.questionTypes = questionTypes;
+    }
+
+    public String getQuestionTypes() 
+    {
+        return questionTypes;
+    }
+
+    public void setKnowledges(String knowledges) 
+    {
+        this.knowledges = knowledges;
+    }
+
+    public String getKnowledges() 
+    {
+        return knowledges;
+    }
+
+    public void setLocations(String locations) 
+    {
+        this.locations = locations;
+    }
+
+    public String getLocations() 
+    {
+        return locations;
+    }
+
+    public void setExamineeTypes(String examineeTypes) 
+    {
+        this.examineeTypes = examineeTypes;
+    }
+
+    public String getExamineeTypes() 
+    {
+        return examineeTypes;
+    }
+
+    public void setScore(Integer score) 
+    {
+        this.score = score;
+    }
+
+    public Integer getScore() 
+    {
+        return score;
+    }
+
+    public void setTime(Long time) 
+    {
+        this.time = time;
+    }
+
+    public Long getTime() 
+    {
+        return time;
+    }
+
+    public void setConditions(String conditions) 
+    {
+        this.conditions = conditions;
+    }
+
+    public String getConditions() 
+    {
+        return conditions;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("year", getYear())
+            .append("universityId", getUniversityId())
+            .append("subjects", getSubjects())
+            .append("questionTypes", getQuestionTypes())
+            .append("knowledges", getKnowledges())
+            .append("locations", getLocations())
+            .append("examineeTypes", getExamineeTypes())
+            .append("score", getScore())
+            .append("time", getTime())
+            .append("conditions", getConditions())
+            .toString();
+    }
+}

+ 61 - 0
ie-system/src/main/java/com/ruoyi/learn/mapper/LearnCultureKnowledgeMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.learn.mapper;
+
+import java.util.List;
+import com.ruoyi.learn.domain.LearnCultureKnowledge;
+
+/**
+ * 文化知识点关系Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-12-02
+ */
+public interface LearnCultureKnowledgeMapper 
+{
+    /**
+     * 查询文化知识点关系
+     * 
+     * @param id 文化知识点关系主键
+     * @return 文化知识点关系
+     */
+    public LearnCultureKnowledge selectLearnCultureKnowledgeById(Long id);
+
+    /**
+     * 查询文化知识点关系列表
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 文化知识点关系集合
+     */
+    public List<LearnCultureKnowledge> selectLearnCultureKnowledgeList(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 新增文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    public int insertLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 修改文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    public int updateLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 删除文化知识点关系
+     * 
+     * @param id 文化知识点关系主键
+     * @return 结果
+     */
+    public int deleteLearnCultureKnowledgeById(Long id);
+
+    /**
+     * 批量删除文化知识点关系
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteLearnCultureKnowledgeByIds(Long[] ids);
+}

+ 61 - 0
ie-system/src/main/java/com/ruoyi/learn/service/ILearnCultureKnowledgeService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.learn.service;
+
+import java.util.List;
+import com.ruoyi.learn.domain.LearnCultureKnowledge;
+
+/**
+ * 文化知识点关系Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-12-02
+ */
+public interface ILearnCultureKnowledgeService 
+{
+    /**
+     * 查询文化知识点关系
+     * 
+     * @param id 文化知识点关系主键
+     * @return 文化知识点关系
+     */
+    public LearnCultureKnowledge selectLearnCultureKnowledgeById(Long id);
+
+    /**
+     * 查询文化知识点关系列表
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 文化知识点关系集合
+     */
+    public List<LearnCultureKnowledge> selectLearnCultureKnowledgeList(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 新增文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    public int insertLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 修改文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    public int updateLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge);
+
+    /**
+     * 批量删除文化知识点关系
+     * 
+     * @param ids 需要删除的文化知识点关系主键集合
+     * @return 结果
+     */
+    public int deleteLearnCultureKnowledgeByIds(Long[] ids);
+
+    /**
+     * 删除文化知识点关系信息
+     * 
+     * @param id 文化知识点关系主键
+     * @return 结果
+     */
+    public int deleteLearnCultureKnowledgeById(Long id);
+}

+ 93 - 0
ie-system/src/main/java/com/ruoyi/learn/service/impl/LearnCultureKnowledgeServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.learn.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.learn.mapper.LearnCultureKnowledgeMapper;
+import com.ruoyi.learn.domain.LearnCultureKnowledge;
+import com.ruoyi.learn.service.ILearnCultureKnowledgeService;
+
+/**
+ * 文化知识点关系Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-12-02
+ */
+@Service
+public class LearnCultureKnowledgeServiceImpl implements ILearnCultureKnowledgeService 
+{
+    @Autowired
+    private LearnCultureKnowledgeMapper learnCultureKnowledgeMapper;
+
+    /**
+     * 查询文化知识点关系
+     * 
+     * @param id 文化知识点关系主键
+     * @return 文化知识点关系
+     */
+    @Override
+    public LearnCultureKnowledge selectLearnCultureKnowledgeById(Long id)
+    {
+        return learnCultureKnowledgeMapper.selectLearnCultureKnowledgeById(id);
+    }
+
+    /**
+     * 查询文化知识点关系列表
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 文化知识点关系
+     */
+    @Override
+    public List<LearnCultureKnowledge> selectLearnCultureKnowledgeList(LearnCultureKnowledge learnCultureKnowledge)
+    {
+        return learnCultureKnowledgeMapper.selectLearnCultureKnowledgeList(learnCultureKnowledge);
+    }
+
+    /**
+     * 新增文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    @Override
+    public int insertLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge)
+    {
+        return learnCultureKnowledgeMapper.insertLearnCultureKnowledge(learnCultureKnowledge);
+    }
+
+    /**
+     * 修改文化知识点关系
+     * 
+     * @param learnCultureKnowledge 文化知识点关系
+     * @return 结果
+     */
+    @Override
+    public int updateLearnCultureKnowledge(LearnCultureKnowledge learnCultureKnowledge)
+    {
+        return learnCultureKnowledgeMapper.updateLearnCultureKnowledge(learnCultureKnowledge);
+    }
+
+    /**
+     * 批量删除文化知识点关系
+     * 
+     * @param ids 需要删除的文化知识点关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLearnCultureKnowledgeByIds(Long[] ids)
+    {
+        return learnCultureKnowledgeMapper.deleteLearnCultureKnowledgeByIds(ids);
+    }
+
+    /**
+     * 删除文化知识点关系信息
+     * 
+     * @param id 文化知识点关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLearnCultureKnowledgeById(Long id)
+    {
+        return learnCultureKnowledgeMapper.deleteLearnCultureKnowledgeById(id);
+    }
+}

+ 101 - 0
ie-system/src/main/resources/mapper/learn/LearnCultureKnowledgeMapper.xml

@@ -0,0 +1,101 @@
+<?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.learn.mapper.LearnCultureKnowledgeMapper">
+    
+    <resultMap type="LearnCultureKnowledge" id="LearnCultureKnowledgeResult">
+        <result property="id"    column="id"    />
+        <result property="year"    column="year"    />
+        <result property="universityId"    column="university_id"    />
+        <result property="subjects"    column="subjects"    />
+        <result property="questionTypes"    column="question_types"    />
+        <result property="knowledges"    column="knowledges"    />
+        <result property="locations"    column="locations"    />
+        <result property="examineeTypes"    column="examinee_types"    />
+        <result property="score"    column="score"    />
+        <result property="time"    column="time"    />
+        <result property="conditions"    column="conditions"    />
+    </resultMap>
+
+    <sql id="selectLearnCultureKnowledgeVo">
+        select id, year, university_id, subjects, question_types, knowledges, locations, examinee_types, score, time, conditions from learn_culture_knowledge
+    </sql>
+
+    <select id="selectLearnCultureKnowledgeList" parameterType="LearnCultureKnowledge" resultMap="LearnCultureKnowledgeResult">
+        <include refid="selectLearnCultureKnowledgeVo"/>
+        <where>  
+            <if test="year != null "> and year = #{year}</if>
+            <if test="universityId != null "> and university_id = #{universityId}</if>
+            <if test="subjects != null  and subjects != ''"> and subjects = #{subjects}</if>
+            <if test="questionTypes != null  and questionTypes != ''"> and question_types = #{questionTypes}</if>
+            <if test="knowledges != null  and knowledges != ''"> and knowledges = #{knowledges}</if>
+            <if test="locations != null  and locations != ''"> and locations = #{locations}</if>
+            <if test="examineeTypes != null  and examineeTypes != ''"> and examinee_types = #{examineeTypes}</if>
+            <if test="score != null "> and score = #{score}</if>
+            <if test="time != null "> and time = #{time}</if>
+            <if test="conditions != null  and conditions != ''"> and conditions = #{conditions}</if>
+        </where>
+    </select>
+    
+    <select id="selectLearnCultureKnowledgeById" parameterType="Long" resultMap="LearnCultureKnowledgeResult">
+        <include refid="selectLearnCultureKnowledgeVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertLearnCultureKnowledge" parameterType="LearnCultureKnowledge" useGeneratedKeys="true" keyProperty="id">
+        insert into learn_culture_knowledge
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="year != null">year,</if>
+            <if test="universityId != null">university_id,</if>
+            <if test="subjects != null">subjects,</if>
+            <if test="questionTypes != null">question_types,</if>
+            <if test="knowledges != null">knowledges,</if>
+            <if test="locations != null">locations,</if>
+            <if test="examineeTypes != null">examinee_types,</if>
+            <if test="score != null">score,</if>
+            <if test="time != null">time,</if>
+            <if test="conditions != null">conditions,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="year != null">#{year},</if>
+            <if test="universityId != null">#{universityId},</if>
+            <if test="subjects != null">#{subjects},</if>
+            <if test="questionTypes != null">#{questionTypes},</if>
+            <if test="knowledges != null">#{knowledges},</if>
+            <if test="locations != null">#{locations},</if>
+            <if test="examineeTypes != null">#{examineeTypes},</if>
+            <if test="score != null">#{score},</if>
+            <if test="time != null">#{time},</if>
+            <if test="conditions != null">#{conditions},</if>
+         </trim>
+    </insert>
+
+    <update id="updateLearnCultureKnowledge" parameterType="LearnCultureKnowledge">
+        update learn_culture_knowledge
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="year != null">year = #{year},</if>
+            <if test="universityId != null">university_id = #{universityId},</if>
+            <if test="subjects != null">subjects = #{subjects},</if>
+            <if test="questionTypes != null">question_types = #{questionTypes},</if>
+            <if test="knowledges != null">knowledges = #{knowledges},</if>
+            <if test="locations != null">locations = #{locations},</if>
+            <if test="examineeTypes != null">examinee_types = #{examineeTypes},</if>
+            <if test="score != null">score = #{score},</if>
+            <if test="time != null">time = #{time},</if>
+            <if test="conditions != null">conditions = #{conditions},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteLearnCultureKnowledgeById" parameterType="Long">
+        delete from learn_culture_knowledge where id = #{id}
+    </delete>
+
+    <delete id="deleteLearnCultureKnowledgeByIds" parameterType="String">
+        delete from learn_culture_knowledge where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>