Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

LIVE_YE vor 1 Jahr
Ursprung
Commit
1467c8b8aa

+ 188 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/AjaxResult.java

@@ -0,0 +1,188 @@
+package org.dromara.common.core.domain;
+
+
+
+import org.dromara.common.core.constant.HttpStatus;
+import org.dromara.common.core.utils.StringUtils;
+
+import java.util.HashMap;
+
+/**
+ * 操作消息提醒
+ *
+ * @author ruoyi
+ */
+public class AjaxResult extends HashMap<String, Object>
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 状态码 */
+    public static final String CODE_TAG = "code";
+
+    /** 返回内容 */
+    public static final String MSG_TAG = "msg";
+
+    /** 数据对象 */
+    public static final String DATA_TAG = "data";
+
+    /**
+     * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
+     */
+    public AjaxResult()
+    {
+    }
+
+    /**
+     * 初始化一个新创建的 AjaxResult 对象
+     *
+     * @param code 状态码
+     * @param msg 返回内容
+     */
+    public AjaxResult(int code, String msg)
+    {
+        super.put(CODE_TAG, code);
+        super.put(MSG_TAG, msg);
+    }
+
+    /**
+     * 初始化一个新创建的 AjaxResult 对象
+     *
+     * @param code 状态码
+     * @param msg 返回内容
+     * @param data 数据对象
+     */
+    public AjaxResult(int code, String msg, Object data)
+    {
+        super.put(CODE_TAG, code);
+        super.put(MSG_TAG, msg);
+        if (StringUtils.isNotNull(data))
+        {
+            super.put(DATA_TAG, data);
+        }
+    }
+
+    /**
+     * 返回成功消息
+     *
+     * @return 成功消息
+     */
+    public static AjaxResult success()
+    {
+        return AjaxResult.success("操作成功");
+    }
+
+    /**
+     * 返回成功数据
+     *
+     * @return 成功消息
+     */
+    public static AjaxResult success(Object data)
+    {
+        return AjaxResult.success("操作成功", data);
+    }
+
+    /**
+     * 返回成功消息
+     *
+     * @param msg 返回内容
+     * @return 成功消息
+     */
+    public static AjaxResult success(String msg)
+    {
+        return AjaxResult.success(msg, null);
+    }
+
+    /**
+     * 返回成功消息
+     *
+     * @param msg 返回内容
+     * @param data 数据对象
+     * @return 成功消息
+     */
+    public static AjaxResult success(String msg, Object data)
+    {
+        return new AjaxResult(HttpStatus.SUCCESS, msg, data);
+    }
+
+    /**
+     * 返回警告消息
+     *
+     * @param msg 返回内容
+     * @return 警告消息
+     */
+    public static AjaxResult warn(String msg)
+    {
+        return AjaxResult.warn(msg, null);
+    }
+
+    /**
+     * 返回警告消息
+     *
+     * @param msg 返回内容
+     * @param data 数据对象
+     * @return 警告消息
+     */
+    public static AjaxResult warn(String msg, Object data)
+    {
+        return new AjaxResult(HttpStatus.WARN, msg, data);
+    }
+
+    /**
+     * 返回错误消息
+     *
+     * @return 错误消息
+     */
+    public static AjaxResult error()
+    {
+        return AjaxResult.error("操作失败");
+    }
+
+    /**
+     * 返回错误消息
+     *
+     * @param msg 返回内容
+     * @return 错误消息
+     */
+    public static AjaxResult error(String msg)
+    {
+        return AjaxResult.error(msg, null);
+    }
+
+    /**
+     * 返回错误消息
+     *
+     * @param msg 返回内容
+     * @param data 数据对象
+     * @return 错误消息
+     */
+    public static AjaxResult error(String msg, Object data)
+    {
+        return new AjaxResult(HttpStatus.ERROR, msg, data);
+    }
+
+    /**
+     * 返回错误消息
+     *
+     * @param code 状态码
+     * @param msg 返回内容
+     * @return 错误消息
+     */
+    public static AjaxResult error(int code, String msg)
+    {
+        return new AjaxResult(code, msg, null);
+    }
+
+    /**
+     * 方便链式调用
+     *
+     * @param key 键
+     * @param value 值
+     * @return 数据对象
+     */
+    @Override
+    public AjaxResult put(String key, Object value)
+    {
+        super.put(key, value);
+        return this;
+    }
+}

+ 12 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java

@@ -12,6 +12,8 @@ import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import static java.util.Objects.isNull;
+
 /**
  * 字符串工具类
  *
@@ -21,6 +23,16 @@ import java.util.stream.Collectors;
 public class StringUtils extends org.apache.commons.lang3.StringUtils {
 
     public static final String SEPARATOR = ",";
+    /**
+     * * 判断一个对象是否非空
+     *
+     * @param object Object
+     * @return true:非空 false:空
+     */
+    public static boolean isNotNull(Object object)
+    {
+        return !isNull(object);
+    }
 
     /**
      * 获取参数不为空值

+ 63 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/common/AppletController.java

@@ -0,0 +1,63 @@
+package org.dromara.system.controller.common;
+
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.AjaxResult;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.FormalTeacherClass;
+import org.dromara.system.service.common.IAppletService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**小程序公共接口
+ * @Author: tjf
+ * @Date: 2023/5/25 11:46
+ * @Describe:
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/applet")
+public class AppletController extends BaseController {
+
+    private final IAppletService appletService;
+
+    /**
+     * 准备下课
+     */
+    @PostMapping("/xiaKe")
+    public R<Void> xiake( @RequestBody FormalTeacherClass formalTeacherClass)
+    {
+     return    appletService.xiake(formalTeacherClass);
+    }
+
+    /**
+     * 小程序首页数据
+     * 共多少班级
+     * 已放学 未放学
+     */
+    @PostMapping("/index")
+    public AjaxResult index(@RequestBody FormalTeacherClass formalTeacherClass)
+    {
+        return  appletService.index(formalTeacherClass);
+    }
+
+    /**
+     */
+    @PostMapping("/indexList")
+    public AjaxResult indexList(@RequestBody FormalTeacherClass formalTeacherClass)
+    {
+        return  appletService.indexList(formalTeacherClass);
+    }
+
+    /**
+     *首页统计
+     */
+    @GetMapping("/pc/statistics")
+    public AjaxResult pcStatistics()
+    {
+        return  appletService.pcStatistics();
+    }
+
+}

+ 3 - 3
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/record/RecordLeaveController.java

@@ -40,7 +40,7 @@ public class RecordLeaveController extends BaseController {
     /**
      * 查询请假记录信息列表
      */
-    @SaCheckPermission("record:record:list")
+    @SaCheckPermission("system:leave:list")
     @GetMapping("/list")
     public TableDataInfo<RecordLeaveVo> list(RecordLeaveBo bo, PageQuery pageQuery) {
         return recordLeaveService.queryPageList(bo, pageQuery);
@@ -72,7 +72,7 @@ public class RecordLeaveController extends BaseController {
     /**
      * 新增请假记录信息
      */
-    @SaCheckPermission("record:record:add")
+    @SaCheckPermission("system:leave:add")
     @Log(title = "请假记录信息", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -96,7 +96,7 @@ public class RecordLeaveController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("record:record:remove")
+    @SaCheckPermission("system:leave:remove")
     @Log(title = "请假记录信息", businessType = BusinessType.DELETE)
     @GetMapping("/delete/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")

+ 7 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/FormalTeacherClass.java

@@ -67,5 +67,12 @@ public class FormalTeacherClass extends BaseEntity {
      */
     private String teacherName;
 
+    /**
+     * 准备放学1,延迟放学 2
+     */
+    private String type;
 
+    public String getType() {
+        return type;
+    }
 }

+ 2 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/record/RecordLeave.java

@@ -26,8 +26,8 @@ public class RecordLeave extends BaseEntity {
     /**
      *
      */
-    @TableId(value = "id")
-    private Long id;
+    @TableId(value = "record_id")
+    private Long recordId;
 
     /**
      * 类型 1:临时请假 2:事假

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/record/bo/RecordLeaveBo.java

@@ -27,7 +27,7 @@ public class RecordLeaveBo extends BaseEntity {
      *
      */
     //@NotNull(message = "不能为空", groups = { EditGroup.class })
-    private Long id;
+    private Long recordId;
 
     /**
      * 类型 1:临时请假 2:事假

+ 1 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/record/vo/RecordLeaveVo.java

@@ -28,8 +28,7 @@ public class RecordLeaveVo implements Serializable {
     /**
      *
      */
-    @ExcelProperty(value = "")
-    private Long id;
+    private Long recordId;
 
     /**
      * 类型 1:临时请假 2:事假

+ 4 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/notice/XiaoyuanNoticeMapper.java

@@ -10,6 +10,8 @@ import org.dromara.system.domain.notice.XiaoyuanNotice;
 import org.dromara.system.domain.notice.bo.XiaoyuanNoticeBo;
 import org.dromara.system.domain.notice.vo.XiaoyuanNoticeVo;
 
+import java.util.List;
+
 
 /**
  * 校园新闻Mapper接口
@@ -19,4 +21,6 @@ import org.dromara.system.domain.notice.vo.XiaoyuanNoticeVo;
  */
 public interface XiaoyuanNoticeMapper extends BaseMapperPlus<XiaoyuanNotice, XiaoyuanNoticeVo> {
     Page<XiaoyuanNoticeVo> selectXiaoyuanNoticeByMyCollect(@Param("page") Page<XiaoyuanNotice> page, @Param(Constants.WRAPPER) Wrapper<XiaoyuanNoticeBo> queryWrapper);
+
+    public List<XiaoyuanNoticeVo> selectXiaoyuanNoticeMyList(XiaoyuanNotice xiaoyuanNotice);
 }

+ 18 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/common/IAppletService.java

@@ -0,0 +1,18 @@
+package org.dromara.system.service.common;
+
+import org.dromara.common.core.domain.AjaxResult;
+import org.dromara.common.core.domain.R;
+import org.dromara.system.domain.FormalTeacherClass;
+
+/**
+ * @Author: tjf
+ * @Date: 2023/8/21 10:21
+ * @Describe:
+ */
+public interface IAppletService {
+    public R<Void> xiake(FormalTeacherClass formalTeacherClass);
+    public AjaxResult index(FormalTeacherClass formalTeacherClass);
+    public AjaxResult indexList(FormalTeacherClass formalTeacherClass);
+
+    AjaxResult pcStatistics();
+}

+ 306 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/common/AppletServiceImpl.java

@@ -0,0 +1,306 @@
+package org.dromara.system.service.impl.common;
+
+import com.google.api.client.util.SecurityUtils;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.AjaxResult;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.dto.RoleDTO;
+import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.core.utils.DateUtils;
+import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.system.domain.*;
+import org.dromara.system.domain.notice.XiaoyuanNotice;
+import org.dromara.system.domain.notice.vo.XiaoyuanNoticeVo;
+import org.dromara.system.domain.vo.CourseChangeVo;
+import org.dromara.system.domain.vo.RegisterParentsStudentVo;
+import org.dromara.system.domain.vo.RegisterTeacherVo;
+import org.dromara.system.domain.xiake.XiakeConfig;
+import org.dromara.system.domain.xiake.bo.XiakeConfigBo;
+import org.dromara.system.mapper.CourseChangeMapper;
+import org.dromara.system.mapper.FormalTeacherClassMapper;
+import org.dromara.system.mapper.RegisterParentsStudentMapper;
+import org.dromara.system.mapper.RegisterTeacherMapper;
+import org.dromara.system.mapper.notice.XiaoyuanNoticeMapper;
+import org.dromara.system.mapper.xiake.XiakeConfigMapper;
+import org.dromara.system.service.common.IAppletService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Author: tjf
+ * @Date: 2023/8/21 10:22
+ * @Describe:
+ */
+@RequiredArgsConstructor
+@Service
+public class AppletServiceImpl implements IAppletService {
+
+
+    private final XiakeConfigMapper xiakeConfigMapper;
+
+    private final RegisterParentsStudentMapper registerParentsStudentMapper;
+
+
+    private final CourseChangeMapper courseChangeMapper;
+
+
+    private final FormalTeacherClassMapper formalTeacherClassMapper;
+
+
+    private final RegisterTeacherMapper registerTeacherMapper;
+
+    @Autowired
+    private XiaoyuanNoticeMapper xiaoyuanNoticeMapper;
+    @Override
+    public R<Void> xiake(FormalTeacherClass formalTeacherClass) {
+        String key = formalTeacherClass.getSchoolId() + ":" + formalTeacherClass.getClassId();
+        //key = 学校id:班级id
+        //Redis根据key键,查询对应的值
+        String value = RedisUtils.getCacheObject(key);
+        if ("2".equals(formalTeacherClass.getType())) {
+            if (value.contains("time")) {
+                return R.fail("未准备放学,请勿点击延迟放学");
+            } else {
+                //延迟放学
+                String[] split = value.split(":");
+                //下课时间
+                String xiakeTime = split[1];
+                //获取参数中默认下课时间
+                XiakeConfigBo config = new XiakeConfigBo();
+                config.setConfigKey(formalTeacherClass.getClassId()+":2");
+                XiakeConfig retConfig = xiakeConfigMapper.selectConfig(config);
+                //延迟下课的默认值
+                String configValue = retConfig.getConfigValue();
+                SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date date = null;
+                try {
+                    date = sdf.parse(xiakeTime);
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(date);
+                    calendar.add(Calendar.MINUTE, Integer.parseInt(configValue));
+                    RedisUtils.setCacheObject(key, value);
+                    return R.ok("延迟放学成功");
+                } catch (ParseException e) {
+                    return R.fail("延迟放学失败");
+                }
+            }
+        }
+        if ("1".equals(formalTeacherClass.getType())) {
+            if (!value.contains("time")) {
+                return R.fail("请勿重复点击");
+            }
+            //value = 班级名称:放学时间
+            //获取当前时间
+            Calendar nowTime = Calendar.getInstance();
+            //获取参数中默认下课时间
+            XiakeConfigBo config = new XiakeConfigBo();
+            config.setConfigKey(formalTeacherClass.getClassId()+":1");
+            XiakeConfig retConfig = xiakeConfigMapper.selectConfig(config);
+            String configValue = retConfig.getConfigValue();
+            nowTime.add(Calendar.MINUTE, Integer.parseInt(configValue));
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            value = value.replace("time", sdf.format(nowTime.getTime()));
+            RedisUtils.setCacheObject(key, value);
+        }
+        return R.ok();
+    }
+
+
+
+    @Override
+    public AjaxResult index(FormalTeacherClass formalTeacherClass) {
+        Map<String, Object> map = new HashMap<>(3);
+        map.put("all", 0);
+        Collection<String> keys = RedisUtils.keys(formalTeacherClass.getSchoolId() + "*");
+        if (keys != null && keys.size() > 0) {
+            map.put("all", keys.size());
+            map.put("n", 0);
+            map.put("y", 0);
+            int n = 0;
+            for (String key : keys) {
+                //Redis根据key键,查询对应的值
+                String value = RedisUtils.getCacheObject(key);
+                //value = 班级名称:放学时间
+                //判断有多少放学时间是time,占位符
+                String[] split = value.split(":");
+                String time = split[1];
+                if ("time".equals(time)) {
+                    n = n + 1;
+                }
+            }
+            if (n > 0) {
+                map.put("n", n);
+                int y = keys.size() - n;
+                map.put("y", Math.max(y, 0));
+            }
+        }
+        return AjaxResult.success(map);
+    }
+
+    @Override
+    public AjaxResult indexList(FormalTeacherClass formalTeacherClass) {
+        List<Map<String, Object>> list = new ArrayList<>();
+        Collection<String> keys = RedisUtils.keys(formalTeacherClass.getSchoolId() + "*");
+        if (keys != null && keys.size() > 0) {
+            for (String key : keys) {
+                String value = RedisUtils.getCacheObject(key);
+                //value = 班级名称:放学时间
+                String[] split = value.split(":");
+                Map<String, Object> map = new HashMap<>();
+                map.put("className", split[0]);
+                map.put("time", split[1]);
+                list.add(map);
+            }
+        }
+        return  AjaxResult.success(list);
+    }
+
+    @Override
+    public AjaxResult pcStatistics() {
+        Map<String, Object> map = new HashMap<>();
+        //获取当前月第一天
+        String monthFirst = DateUtils.timeMonthFirst();
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        List<RoleDTO> roles = loginUser.getRoles();
+        boolean blt = false;
+        boolean bls = false;
+        for (RoleDTO role : roles) {
+            if ("teacher".equals(role.getRoleKey())) {
+                blt = true;
+            }
+            if ("school".equals(role.getRoleKey())) {
+                bls = true;
+            }
+        }
+        //账号
+        int tzhysh = 0;
+        int tzhwsh = 0;
+        //调课
+        int ttkysh = 0;
+        int ttkwsh = 0;
+        Map<String,Object> map1 = new HashMap<>();
+        Map<String,Object> map2 = new HashMap<>();
+        Map<String,Object> map3 = new HashMap<>();
+
+        //计算本人
+        XiaoyuanNotice xiaoyuanNotice = new XiaoyuanNotice();
+        xiaoyuanNotice.setSenderId(String.valueOf(loginUser.getUserId()));
+        List<XiaoyuanNoticeVo> xiaoyuanNoticeList = xiaoyuanNoticeMapper.selectXiaoyuanNoticeMyList(xiaoyuanNotice);
+        int xwsl = 0;
+        if(xiaoyuanNoticeList!=null && xiaoyuanNoticeList.size()>0){
+            xwsl = xiaoyuanNoticeList.size();
+        }
+        map.put("xwsl",xwsl);
+
+        map1.put("zhysh",tzhysh);
+        map1.put("zhwsh",tzhwsh);
+        map.put("byzhsh",map1);
+        map2.put("tkysh",ttkysh);
+        map2.put("tkwsh",ttkwsh);
+        map.put("bytksh",map2);
+
+        //老师
+        if(blt){
+            //获取老师所属班级
+            FormalTeacherClass formalTeacherClass = new FormalTeacherClass();
+            formalTeacherClass.setTeacherId(loginUser.getUserId());
+            List<FormalTeacherClass> formalTeacherClasses = formalTeacherClassMapper.selectFormalTeacherClassList(formalTeacherClass);
+            List<Long> classIds = formalTeacherClasses.stream().map(FormalTeacherClass::getClassId).collect(Collectors.toList());
+            //查询本月家长的审核数据
+            List<RegisterParentsStudentVo> registerParentsStudentList = registerParentsStudentMapper.selectRegisterParentsStudentListByTime(monthFirst,classIds);
+            if(registerParentsStudentList!=null && registerParentsStudentList.size()>0){
+                for (RegisterParentsStudentVo registerParentsStudent : registerParentsStudentList) {
+                    if("1".equals(registerParentsStudent.getIsPass())){
+                        tzhwsh++;
+                    }else{
+                        tzhysh++;
+                    }
+                }
+            }
+            //查询本月调课审核
+            List<CourseChangeVo> courseChangeList = courseChangeMapper.selectCourseChangeListByTime(monthFirst,loginUser.getUserId(),0L);
+            if(courseChangeList!=null && courseChangeList.size()>0){
+                for (CourseChangeVo courseChange : courseChangeList) {
+                    if("1".equals(courseChange.getIsPass())){
+                        ttkwsh++;
+                    }else{
+                        ttkysh++;
+                    }
+                }
+            }
+            map1.put("zhysh",tzhysh);
+            map1.put("zhwsh",tzhwsh);
+            map.put("byzhsh",map1);
+            map2.put("tkysh",ttkysh);
+            map2.put("tkwsh",ttkwsh);
+            map.put("bytksh",map2);
+
+        }
+
+
+        //学校
+        //账号
+        int szhysh = 0;
+        int szhwsh = 0;
+        //调课
+        int stkysh = 0;
+        int stkwsh = 0;
+        if(bls){
+            //查询本月老师的审核数据
+            List<RegisterTeacherVo> registerTeacherList = registerTeacherMapper.selectRegisterTeacherListByTime(monthFirst,loginUser.getDeptId());
+            if(registerTeacherList!=null && registerTeacherList.size()>0){
+                for (RegisterTeacherVo registerTeacher : registerTeacherList) {
+                    if("1".equals(registerTeacher.getIsPass())){
+                        szhysh++;
+                    }else{
+                        szhwsh++;
+                    }
+                }
+            }
+            //查询本月学校的调课审核
+            List<CourseChangeVo> courseChangeList = courseChangeMapper.selectCourseChangeListByTime(monthFirst,0L,loginUser.getDeptId());
+            if(courseChangeList!=null && courseChangeList.size()>0){
+                for (CourseChangeVo courseChange : courseChangeList) {
+                    if("1".equals(courseChange.getIsPass())){
+                        stkysh++;
+                    }else{
+                        stkwsh++;
+                    }
+                }
+            }
+
+            map1.put("zhysh",szhysh);
+            map1.put("zhwsh",szhwsh);
+            map.put("byzhsh",map1);
+            map2.put("tkysh",stkysh);
+            map2.put("tkwsh",stkwsh);
+            map.put("bytksh",map2);
+        }
+        //两个都有
+
+        if(blt && bls){
+
+            //账号
+            int zzhysh = tzhysh + szhysh;
+            int zzhwsh = tzhwsh + szhwsh;
+            //调课
+            int ztkysh =  stkysh;
+            int ztkwsh =  stkwsh;
+
+            map1.put("zhysh",zzhysh);
+            map1.put("zhwsh",zzhwsh);
+            map.put("byzhsh",map1);
+            map2.put("tkysh",ztkysh);
+            map2.put("tkwsh",ztkwsh);
+            map.put("bytksh",map2);
+
+        }
+        return AjaxResult.success(map);
+    }
+}

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/record/RecordLeaveServiceImpl.java

@@ -142,7 +142,7 @@ public class RecordLeaveServiceImpl implements IRecordLeaveService {
         validEntityBeforeSave(add);
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
-            bo.setId(add.getId());
+            bo.setRecordId(add.getRecordId());
         }
         return flag;
     }

+ 4 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/notice/XiaoyuanNoticeMapper.xml

@@ -32,4 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectXiaoyuanNoticeVo"/>
         ${ew.getCustomSqlSegment}
     </select>
+    <select id="selectXiaoyuanNoticeMyList" resultMap="XiaoyuanNoticeResult">
+        <include refid="selectXiaoyuanNoticeVo"/>
+        where sender_id = #{senderId} order by create_time DESC
+    </select>
 </mapper>