From 8757ffc6df8789ea3d319141f3524a5e2f149af5 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Wed, 20 Aug 2025 10:03:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xskh/mapper/XskhRewardRecordMapper.java | 15 + .../impl/XskhRewardRecordServiceImpl.java | 41 +- .../mapper/xskh/XskhRewardRecordMapper.xml | 30 + web/src/api/xskh/rewardRecord/rewardRecord.ts | 29 +- .../xskh/classTeacherRewardRecord/index.vue | 676 +++++++++++++++++ .../views/xskh/studentRewardRecord/index.vue | 684 ++++++++++++++++++ 6 files changed, 1469 insertions(+), 6 deletions(-) create mode 100644 web/src/views/xskh/classTeacherRewardRecord/index.vue create mode 100644 web/src/views/xskh/studentRewardRecord/index.vue diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardRecordMapper.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardRecordMapper.java index 1c9fccf8..73f8822c 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardRecordMapper.java +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardRecordMapper.java @@ -1,7 +1,10 @@ package org.dromara.xskh.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.xskh.domain.XskhRewardRecord; +import org.dromara.xskh.domain.bo.XskhRewardRecordBo; import org.dromara.xskh.domain.vo.XskhRewardRecordVo; import org.dromara.xskh.domain.vo.XskhStudentOptionVo; @@ -22,4 +25,16 @@ public interface XskhRewardRecordMapper extends BaseMapperPlus selectStudentOptions(String keyword); + + /** + * 查询班主任班级的奖励记录列表(班主任专用) + * + * @param page 分页参数 + * @param bo 查询条件 + * @param classTeacherId 班主任ID + * @return 分页查询结果 + */ + Page selectClassTeacherVoPage(@Param("page") Page page, + @Param("bo") XskhRewardRecordBo bo, + @Param("classTeacherId") Long classTeacherId); } diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardRecordServiceImpl.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardRecordServiceImpl.java index 9ab05330..1ba1c2b1 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardRecordServiceImpl.java +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardRecordServiceImpl.java @@ -10,6 +10,7 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.satoken.utils.LoginHelper; import org.springframework.stereotype.Service; import org.dromara.xskh.domain.bo.XskhRewardRecordBo; import org.dromara.xskh.domain.vo.XskhRewardRecordVo; @@ -172,8 +173,36 @@ public class XskhRewardRecordServiceImpl implements IXskhRewardRecordService { */ @Override public TableDataInfo queryMyPageList(XskhRewardRecordBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - // TODO: 添加当前登录学生ID的查询条件 + // 获取当前登录用户的学生ID + Long currentUserId = LoginHelper.getUserId(); + + // 构建查询条件,强制只查询当前学生的记录 + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + + // 通过当前登录用户ID查询对应的学生记录 + lqw.eq(XskhRewardRecord::getStudentId, currentUserId); + + // 可选的其他查询条件(保持原有的查询逻辑,但学生ID已固定) + lqw.like(StringUtils.isNotBlank(bo.getStudentNo()), XskhRewardRecord::getStudentNo, bo.getStudentNo()); + lqw.like(StringUtils.isNotBlank(bo.getStudentName()), XskhRewardRecord::getStudentName, bo.getStudentName()); + lqw.eq(bo.getCollegeId() != null, XskhRewardRecord::getCollegeId, bo.getCollegeId()); + lqw.like(StringUtils.isNotBlank(bo.getCollegeName()), XskhRewardRecord::getCollegeName, bo.getCollegeName()); + lqw.eq(bo.getMajorId() != null, XskhRewardRecord::getMajorId, bo.getMajorId()); + lqw.like(StringUtils.isNotBlank(bo.getMajorName()), XskhRewardRecord::getMajorName, bo.getMajorName()); + lqw.eq(bo.getClassId() != null, XskhRewardRecord::getClassId, bo.getClassId()); + lqw.like(StringUtils.isNotBlank(bo.getClassName()), XskhRewardRecord::getClassName, bo.getClassName()); + lqw.eq(bo.getRewardTypeId() != null, XskhRewardRecord::getRewardTypeId, bo.getRewardTypeId()); + lqw.like(StringUtils.isNotBlank(bo.getRewardTypeName()), XskhRewardRecord::getRewardTypeName, + bo.getRewardTypeName()); + lqw.eq(bo.getRewardDate() != null, XskhRewardRecord::getRewardDate, bo.getRewardDate()); + lqw.like(StringUtils.isNotBlank(bo.getRewardContent()), XskhRewardRecord::getRewardContent, + bo.getRewardContent()); + lqw.eq(bo.getScoreAddition() != null, XskhRewardRecord::getScoreAddition, bo.getScoreAddition()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), XskhRewardRecord::getStatus, bo.getStatus()); + + // 按创建时间倒序排列 + lqw.orderByDesc(XskhRewardRecord::getCreateTime); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -187,9 +216,11 @@ public class XskhRewardRecordServiceImpl implements IXskhRewardRecordService { */ @Override public TableDataInfo queryClassTeacherPageList(XskhRewardRecordBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - // TODO: 添加班主任班级的查询条件 - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + // 获取当前登录用户ID(班主任ID) + Long currentUserId = LoginHelper.getUserId(); + + // 调用mapper中的专用查询方法 + Page result = baseMapper.selectClassTeacherVoPage(pageQuery.build(), bo, currentUserId); return TableDataInfo.build(result); } } diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/xskh/XskhRewardRecordMapper.xml b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/xskh/XskhRewardRecordMapper.xml index 84602385..3c685661 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/xskh/XskhRewardRecordMapper.xml +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/xskh/XskhRewardRecordMapper.xml @@ -101,4 +101,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 50 + + diff --git a/web/src/api/xskh/rewardRecord/rewardRecord.ts b/web/src/api/xskh/rewardRecord/rewardRecord.ts index 006eafad..4a89cb27 100644 --- a/web/src/api/xskh/rewardRecord/rewardRecord.ts +++ b/web/src/api/xskh/rewardRecord/rewardRecord.ts @@ -1,6 +1,7 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { XskhRewardRecordVo, XskhRewardRecordBo, XskhRewardRecordQuery, XskhRewardRecordForm } from './types'; +import { TableDataInfo, R } from '@/api/types'; +import { XskhRewardRecordVo, XskhRewardRecordBo, XskhRewardRecordQuery, XskhRewardRecordForm, XskhStudentOptionVO } from './types'; /** * 查询学生奖励记录列表 @@ -90,3 +91,29 @@ export function getStudentOptions(keyword?: string): AxiosPromise> { + return request({ + url: '/rewardRecord/rewardRecord/my', + method: 'get', + params: query + }); +} + +/** + * 查询班主任班级的奖励记录列表(班主任专用) + * @param query + * @returns + */ +export function listClassTeacherRewardRecords(query: XskhRewardRecordQuery): AxiosPromise> { + return request({ + url: '/rewardRecord/rewardRecord/classTeacherList', + method: 'get', + params: query + }); +} diff --git a/web/src/views/xskh/classTeacherRewardRecord/index.vue b/web/src/views/xskh/classTeacherRewardRecord/index.vue new file mode 100644 index 00000000..aa710726 --- /dev/null +++ b/web/src/views/xskh/classTeacherRewardRecord/index.vue @@ -0,0 +1,676 @@ + + + + + diff --git a/web/src/views/xskh/studentRewardRecord/index.vue b/web/src/views/xskh/studentRewardRecord/index.vue new file mode 100644 index 00000000..61a8b9f6 --- /dev/null +++ b/web/src/views/xskh/studentRewardRecord/index.vue @@ -0,0 +1,684 @@ + + + + +