From eed4e2af4645f1dfc3abc047a86e90ad8fe149b3 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期四, 20 六月 2024 18:04:24 +0800
Subject: [PATCH] fix: 学习端bug

---
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java                |   36 ++++++-
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserPresentRecordService.java         |   16 +++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java             |   48 ++++++++-
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java                    |    7 +
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java                              |   28 +++--
 ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserPresentRecordMapper.xml                  |    4 
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java                |   39 +++++++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserPresentRecord.java                  |   49 +++++++++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserPresentRecordServiceImpl.java |   21 ++++
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java              |    7 +
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserPresentRecordMapper.java            |   16 +++
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/GoodDetailVO.java                            |   12 ++
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java             |    2 
 13 files changed, 254 insertions(+), 31 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
index b3e1213..99da36f 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
@@ -231,6 +231,13 @@
     public static final Integer SEVEN = 7;
 
     /**
+     * 数字10
+     */
+    public static final Integer TEN = 10;
+
+
+
+    /**
      * -1
      */
     public static final Integer BURDEN_ONE = -1;
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
index 48c5d95..e335244 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -164,9 +164,9 @@
     @PostMapping("/addGoods")
     @ApiOperation(value = "添加", tags = {"后台-商品管理"})
     public R addGoods(@RequestBody TGoods dto) {
-        if (dto.getTotal()!=null){
+        if (dto.getTotal() != null) {
             dto.setSurplus(dto.getTotal());
-        }else{
+        } else {
             dto.setSurplus(0);
         }
         goodsService.save(dto);
@@ -184,9 +184,9 @@
     @PostMapping("/updateGoods")
     @ApiOperation(value = "修改", tags = {"后台-商品管理"})
     public R updateGoods(@RequestBody TGoods dto) {
-        if (dto.getTotal()!=null){
+        if (dto.getTotal() != null) {
             dto.setSurplus(dto.getTotal());
-        }else{
+        } else {
             dto.setSurplus(0);
         }
         goodsService.updateById(dto);
@@ -647,7 +647,19 @@
             number += goods.getBasicCount();
         }
         number += orderService.getGoodBuyNumber(goods.getId());
-        return R.ok(new GoodDetailVO(goods, goodsTypes, number));
+        // 剩余兑换数量
+        Integer residueNumber = null;
+        if (null != goods.getTotal()) {
+            // 计算剩余兑换数量
+            List<TOrder> orderList = orderService.lambdaQuery().eq(TOrder::getGoodsId, goodId)
+                    .eq(TOrder::getDisabled, 0).list();
+            Integer item = 0;
+            for (TOrder order : orderList) {
+                item += order.getCount();
+            }
+            residueNumber = goods.getTotal() - item;
+        }
+        return R.ok(new GoodDetailVO(goods, goodsTypes, number, residueNumber));
     }
 
     /**
@@ -678,7 +690,19 @@
             number += goods.getBasicCount();
         }
         number += orderService.getGoodBuyNumber(goods.getId());
-        return R.ok(new GoodDetailVO(goods, goodsTypes, number));
+        // 剩余兑换数量
+        Integer residueNumber = null;
+        if (null != goods.getTotal()) {
+            // 计算剩余兑换数量
+            List<TOrder> orderList = orderService.lambdaQuery().eq(TOrder::getGoodsId, goodId)
+                    .eq(TOrder::getDisabled, 0).list();
+            Integer item = 0;
+            for (TOrder order : orderList) {
+                item += order.getCount();
+            }
+            residueNumber = goods.getTotal() - item;
+        }
+        return R.ok(new GoodDetailVO(goods, goodsTypes, number, residueNumber));
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java
index 7511431..68bc8c1 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java
@@ -103,6 +103,10 @@
     @ApiModelProperty(value = "收货人地址")
     private String consigneeAddress;
 
+    @ApiModelProperty(value = "订单备注")
+    @TableField("remark")
+    private String remark;
+
 
     public Integer getId() {
         return id;
@@ -195,17 +199,17 @@
     @Override
     public String toString() {
         return "TOrder{" +
-        ", id=" + id +
-        ", orderNumber=" + orderNumber +
-        ", userId=" + userId +
-        ", insertTime=" + insertTime +
-        ", goodsId=" + goodsId +
-        ", count=" + count +
-        ", state=" + state +
-        ", express=" + express +
-        ", expressNumber=" + expressNumber +
-        ", expressTime=" + expressTime +
-        ", integral=" + integral +
-        "}";
+                ", id=" + id +
+                ", orderNumber=" + orderNumber +
+                ", userId=" + userId +
+                ", insertTime=" + insertTime +
+                ", goodsId=" + goodsId +
+                ", count=" + count +
+                ", state=" + state +
+                ", express=" + express +
+                ", expressNumber=" + expressNumber +
+                ", expressTime=" + expressTime +
+                ", integral=" + integral +
+                "}";
     }
 }
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
index cfc617e..ca60bf3 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
@@ -239,6 +239,7 @@
         order.setGoodsId(goodId);
         order.setCount(number);
         order.setState(1);
+        order.setRemark(goodExchange.getRemark());
         order.setIntegral(needIntegral);
         order.setConsigneeName(recipient.getRecipient());
         order.setConsigneePhone(recipient.getRecipientPhone());
@@ -255,6 +256,7 @@
         order.setGoodsId(goodId);
         order.setCount(number);
         order.setState(1);
+        order.setRemark(goodExchange.getRemark());
         order.setIntegral(needIntegral);
         order.setConsigneeName(recipient.getRecipient());
         order.setConsigneePhone(recipient.getRecipientPhone());
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/GoodDetailVO.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/GoodDetailVO.java
index e5ca522..2f7212a 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/GoodDetailVO.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/GoodDetailVO.java
@@ -31,12 +31,19 @@
     private List<TGoodsType> goodTypes;
 
     /**
+     * 商品剩余数量
+     */
+    @ApiModelProperty("商品剩余数量")
+    private Integer residueNumber;
+
+    /**
      * 已兑换人数
      */
     @ApiModelProperty("已兑换人数")
     private Integer exchangeNumber;
+
     /**
-     * 已兑换人数
+     * 订单编号
      */
     @ApiModelProperty("订单编号")
     private String orderNumber;
@@ -47,10 +54,11 @@
     @ApiModelProperty("用户默认收货地址(为:null则调用获取收货地址接口)")
     private Recipient recipient;
 
-    public GoodDetailVO(TGoods good, List<TGoodsType> goodTypes, Integer exchangeNumber) {
+    public GoodDetailVO(TGoods good, List<TGoodsType> goodTypes, Integer exchangeNumber, Integer residueNumber) {
         this.good = good;
         this.goodTypes = goodTypes;
         this.exchangeNumber = exchangeNumber;
+        this.residueNumber = residueNumber;
     }
 
     public GoodDetailVO(TGoods good, Recipient recipient) {
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
index d35dab6..93247df 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
@@ -79,6 +79,8 @@
     private IUserStudyRecordService studyRecordService;
     @Resource
     private ManagementClient managementClient;
+    @Resource
+    private ITUserPresentRecordService userPresentRecordService;
 
     @PostMapping("/storyList")
 //    @ApiOperation(value = "配置学习类型选择故事", tags = {"题目管理"})
@@ -755,7 +757,7 @@
         if (null == loginUserStudy) {
             return R.tokenError("登录失效!");
         }
-        List<StudyWeekDTO> result = studyService.weekList(type, quarter,loginUserStudy.getUserid());
+        List<StudyWeekDTO> result = studyService.weekList(type, quarter, loginUserStudy.getUserid());
         return R.ok(result);
     }
 
@@ -788,11 +790,39 @@
             throw new GlobalException("获取在线时间赠送积分信息失败!");
         }
         String integral = sysSet.getIntegral();
+        // 计算时间间隔
+        TUserPresentRecord record = userPresentRecordService.lambdaQuery()
+                .eq(TUserPresentRecord::getUserId, loginStudy.getUserid())
+                .orderByDesc(TUserPresentRecord::getPresentTime)
+                .eq(TUserPresentRecord::getIsDelete, 0).last("limit 1").one();
+        boolean result = true;
         TUser user = userService.lambdaQuery().eq(TUser::getId, loginStudy.getUserid())
                 .eq(TUser::getDisabled, 0).one();
-        boolean update = userService.lambdaUpdate().set(TUser::getIntegral, user.getIntegral() + Integer.parseInt(integral))
-                .eq(TUser::getId, loginStudy.getUserid()).update();
-        return R.ok(update);
+        if (null == record) {
+            // 赠送积分
+            result = userService.lambdaUpdate().set(TUser::getIntegral, user.getIntegral() + Integer.parseInt(integral))
+                    .eq(TUser::getId, loginStudy.getUserid()).update();
+            // 添加赠送积分记录
+            TUserPresentRecord data = new TUserPresentRecord();
+            data.setUserId(loginStudy.getUserid());
+            data.setPresentTime(new Date());
+            data.setIsDelete(0);
+            result = result && userPresentRecordService.save(data);
+        } else {
+            if (System.currentTimeMillis() - record.getPresentTime().getTime() >= 10 * 60) {
+                // 赠送积分
+                result = userService.lambdaUpdate()
+                        .set(TUser::getIntegral, user.getIntegral() + Integer.parseInt(integral))
+                        .eq(TUser::getId, loginStudy.getUserid()).update();
+                // 添加赠送积分记录
+                TUserPresentRecord data = new TUserPresentRecord();
+                data.setUserId(loginStudy.getUserid());
+                data.setPresentTime(new Date());
+                data.setIsDelete(0);
+                result = result && userPresentRecordService.save(data);
+            }
+        }
+        return R.ok(result);
     }
 
     /**
@@ -1105,6 +1135,7 @@
                 .eq(TUserStudyRecord::getWeek, completeStudy.getWeek())
                 .eq(TUserStudyRecord::getDay, completeStudy.getDay())
                 .eq(TUserStudyRecord::getType, 0)
+                .eq(TUserStudyRecord::getStudyType, completeStudy.getType())
                 .eq(TUserStudyRecord::getUserId, userId).list();
         if (list.isEmpty()) {
             obtainedIntegral = 0;
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserPresentRecord.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserPresentRecord.java
new file mode 100644
index 0000000..11b6dc3
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserPresentRecord.java
@@ -0,0 +1,49 @@
+package com.ruoyi.study.domain;
+
+
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户赠送积分记录表
+ * </p>
+ *
+ * @author hjl
+ * @since 2024-06-20
+ */
+@Data
+@TableName("t_user_present_record")
+public class TUserPresentRecord {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    @TableField("user_id")
+    private Integer userId;
+
+    /**
+     * 赠送时间
+     */
+    @ApiModelProperty("赠送时间")
+    @TableField("present_time")
+    private Date presentTime;
+
+    /**
+     * 是否软删除
+     */
+    @ApiModelProperty("是否软删除(0:未删除;1:已删除)")
+    @TableField("is_delete")
+    private Integer isDelete;
+
+}
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java
index ef7e136..785e1dd 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java
@@ -70,6 +70,13 @@
     private Integer type;
 
     /**
+     * 题目类型(1:听音选图;2:看图选音;3:归纳排除;4:有问有答;5:音图相配)
+     */
+    @ApiModelProperty("题目类型(1:听音选图;2:看图选音;3:归纳排除;4:有问有答;5:音图相配)")
+    @TableField("study_type")
+    private Integer studyType;
+
+    /**
      * 自主故事id
      */
     @ApiModelProperty("自主故事id")
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserPresentRecordMapper.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserPresentRecordMapper.java
new file mode 100644
index 0000000..bdce60d
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserPresentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.study.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.study.domain.TUserPresentRecord;
+
+/**
+ * <p>
+ * 用户赠送积分记录表 Mapper 接口
+ * </p>
+ *
+ * @author 无关风月
+ * @since 2024-04-26
+ */
+public interface TUserPresentRecordMapper extends BaseMapper<TUserPresentRecord> {
+
+}
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserPresentRecordService.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserPresentRecordService.java
new file mode 100644
index 0000000..bca8999
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserPresentRecordService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.study.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.study.domain.TUserPresentRecord;
+
+/**
+ * <p>
+ * 用户赠送积分记录表 服务类
+ * </p>
+ *
+ * @author 无关风月
+ * @since 2024-04-26
+ */
+public interface ITUserPresentRecordService extends IService<TUserPresentRecord> {
+
+}
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
index 68186aa..5e15dec 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.exception.GlobalException;
-import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.study.domain.*;
 import com.ruoyi.study.dto.StudyWeekDTO;
 import com.ruoyi.study.mapper.TStudyMapper;
@@ -279,12 +278,35 @@
         for (TStudyInduction data : inductionList) {
             List<String> subjectIds = Arrays.stream(data.getSubject().split(",")).collect(Collectors.toList());
             List<TSubject> subjectLists = new ArrayList<>();
-            for (String id : subjectIds) {
-                if (id.startsWith("-")) {
-                    id = id.replace("-", "");
+            // 第一组题 固定下标为0,1,2的题
+            for (int i = 0; i < Constants.THREE; i++) {
+                String id = subjectIds.get(i);
+                if (!id.startsWith("-")) {
+                    subjectLists.add(subjectService.getById(id));
                 }
-                subjectLists.add(subjectService.getById(id));
             }
+            for (int i = 0; i < Constants.THREE; i++) {
+                String id = subjectIds.get(i);
+                if (id.startsWith("-")) {
+                    id = id.replace("-","");
+                    subjectLists.add(subjectService.getById(id));
+                }
+            }
+            // 第二组题,固定下标为3,4的题
+            for (int i = Constants.THREE; i < Constants.FIVE; i++) {
+                String id = subjectIds.get(i);
+                if (!id.startsWith("-")) {
+                    subjectLists.add(subjectService.getById(id));
+                }
+            }
+            for (int i = Constants.THREE; i < Constants.FIVE; i++) {
+                String id = subjectIds.get(i);
+                if (id.startsWith("-")) {
+                    id = id.replace("-","");
+                    subjectLists.add(subjectService.getById(id));
+                }
+            }
+            subjectLists.add(subjectService.getById(subjectIds.get(subjectIds.size() - 1).replace("-","")));
             subjectList.add(subjectLists);
         }
         return new StudyInductionResultVO(learnStudy, subjectList);
@@ -329,12 +351,12 @@
         QuestionsAnswersSubjectVO oneVO = new QuestionsAnswersSubjectVO();
         TSubject one1 = subjectService.lambdaQuery().eq(TSubject::getId, subject)
                 .eq(TSubject::getDisabled, 0).one();
-        BeanUtils.copyProperties(one1, oneVO);
+        copyProperties(one1, oneVO);
         // 回答题目信息
         QuestionsAnswersSubjectVO twoVO = new QuestionsAnswersSubjectVO();
         TSubject two1 = subjectService.lambdaQuery().eq(TSubject::getId, answerSubject)
                 .eq(TSubject::getDisabled, 0).one();
-        BeanUtils.copyProperties(two1, twoVO);
+        copyProperties(two1, twoVO);
         // 判断第一组题目的问题题目及回答题目,哪个是答案
         if (Constants.ZERO.equals(one.getIsAnswer())) {
             oneVO.setIsQuestion(0);
@@ -347,6 +369,18 @@
         voList.add(twoVO);
     }
 
+    private void copyProperties(TSubject subject, QuestionsAnswersSubjectVO vo) {
+        vo.setId(subject.getId());
+        vo.setName(subject.getName());
+        vo.setEnglish(subject.getEnglish());
+        vo.setType(subject.getType());
+        vo.setState(subject.getState());
+        vo.setImg(subject.getImg());
+        vo.setCorrect(subject.getCorrect());
+        vo.setError(subject.getError());
+        vo.setSort(subject.getSort());
+    }
+
     @Override
     public StudyPairResultVO pictureMateVoice(Integer week, Integer day, List<TStudyPair> pair) {
         if (pair.isEmpty()) {
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserPresentRecordServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserPresentRecordServiceImpl.java
new file mode 100644
index 0000000..989b2f3
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserPresentRecordServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.study.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.study.domain.TUserPresentRecord;
+import com.ruoyi.study.mapper.TUserPresentRecordMapper;
+import com.ruoyi.study.service.ITUserPresentRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户赠送积分记录表 服务实现类
+ * </p>
+ *
+ * @author 无关风月
+ * @since 2024-04-26
+ */
+@Service
+public class TUserPresentRecordServiceImpl extends ServiceImpl<TUserPresentRecordMapper, TUserPresentRecord> implements ITUserPresentRecordService {
+
+
+}
diff --git a/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserPresentRecordMapper.xml b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserPresentRecordMapper.xml
new file mode 100644
index 0000000..18ca6f4
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserPresentRecordMapper.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="com.ruoyi.study.mapper.TUserPresentRecordMapper">
+</mapper>

--
Gitblit v1.7.1