Kaynağa Gözat

学院增删改查

pans 8 ay önce
ebeveyn
işleme
cca7c19439
15 değiştirilmiş dosya ile 787 ekleme ve 2 silme
  1. 18 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CollegeController.java
  2. 132 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/MajorController.java
  3. 76 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/Major.java
  4. 34 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/enums/MajorEnum.java
  5. 38 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/MajorMapper.java
  6. 54 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/MajorMapper.xml
  7. 41 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorAddParam.java
  8. 51 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorEditParam.java
  9. 35 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorIdParam.java
  10. 49 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorPageParam.java
  11. 1 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CollegeService.java
  12. 84 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/MajorService.java
  13. 16 2
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CollegeServiceImpl.java
  14. 97 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/MajorServiceImpl.java
  15. 61 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/vo/major/MajorVo.java

+ 18 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/CollegeController.java

@@ -35,6 +35,7 @@ import vip.xiaonuo.disk.service.CollegeService;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
+import java.util.List;
 
 /**
  * college控制器
@@ -123,4 +124,21 @@ public class CollegeController {
         return CommonResult.data(collegeService.detail(collegeIdParam));
     }
 
+
+    /**
+     * 获取college分页
+     *
+     * @author pans
+     * @date  2025/06/26 09:09
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取college分页")
+    @GetMapping("/disk/college/select")
+    public CommonResult<List<College>> select(CollegePageParam collegePageParam) {
+        return CommonResult.data(collegeService.select(collegePageParam));
+    }
+
+
+
+
 }

+ 132 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/MajorController.java

@@ -0,0 +1,132 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.disk.param.MajorAddParam;
+import vip.xiaonuo.disk.param.MajorEditParam;
+import vip.xiaonuo.disk.param.MajorIdParam;
+import vip.xiaonuo.disk.param.MajorPageParam;
+import vip.xiaonuo.disk.service.MajorService;
+import vip.xiaonuo.disk.vo.major.MajorVo;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * major控制器
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ */
+@Api(tags = "major控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class MajorController {
+
+    @Resource
+    private MajorService majorService;
+
+    /**
+     * 获取major分页
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取major分页")
+    @GetMapping("/disk/major/page")
+    public CommonResult<Page<MajorVo>> page(MajorPageParam majorPageParam) {
+        return CommonResult.data(majorService.page(majorPageParam));
+    }
+
+    /**
+     * 添加major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("添加major")
+    @CommonLog("添加major")
+    @PostMapping("/disk/major/add")
+    public CommonResult<String> add(@RequestBody @Valid MajorAddParam majorAddParam) {
+        majorService.add(majorAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("编辑major")
+    @CommonLog("编辑major")
+    @PostMapping("/disk/major/edit")
+    public CommonResult<String> edit(@RequestBody @Valid MajorEditParam majorEditParam) {
+        majorService.edit(majorEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    @ApiOperationSupport(order = 4)
+    @ApiOperation("删除major")
+    @CommonLog("删除major")
+    @PostMapping("/disk/major/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   CommonValidList<MajorIdParam> majorIdParamList) {
+        majorService.delete(majorIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取major详情
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取major详情")
+    @GetMapping("/disk/major/detail")
+    public CommonResult<MajorVo> detail(@Valid MajorIdParam majorIdParam) {
+        return CommonResult.data(majorService.detail(majorIdParam));
+    }
+
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取major详情")
+    @GetMapping("/disk/major/select")
+    public CommonResult<List<MajorVo>> select(@RequestParam(value = "collegeId",required = true) Integer collegeId) {
+        return CommonResult.data(majorService.select(collegeId));
+    }
+
+}

+ 76 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/Major.java

@@ -0,0 +1,76 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.util.Date;
+
+/**
+ * major实体
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+@Setter
+@TableName("major")
+public class Major extends CommonEntity {
+
+    /** ID */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** 院系名称 */
+    @ApiModelProperty(value = "院系名称", position = 2)
+    private String majorName;
+
+    /** 院系编码 */
+    @ApiModelProperty(value = "院系编码", position = 3)
+    private String majorCode;
+
+    /** 学院id */
+    @ApiModelProperty(value = "学院id", position = 4)
+    private String collegeId;
+
+    /** 删除标志 0未删除  1已删除 */
+    @ApiModelProperty(value = "删除标志 0未删除  1已删除", position = 5)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间", position = 6)
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @ApiModelProperty(value = "创建人", position = 7)
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 修改时间 */
+    @ApiModelProperty(value = "修改时间", position = 8)
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 修改人 */
+    @ApiModelProperty(value = "修改人", position = 9)
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/enums/MajorEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.enums;
+
+import lombok.Getter;
+
+/**
+ * major枚举
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+public enum MajorEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    MajorEnum(String value) {
+        this.value = value;
+    }
+}

+ 38 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/MajorMapper.java

@@ -0,0 +1,38 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import vip.xiaonuo.disk.domain.Major;
+import vip.xiaonuo.disk.param.MajorPageParam;
+import vip.xiaonuo.disk.vo.major.MajorVo;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+/**
+ * majorMapper接口
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+public interface MajorMapper extends BaseMapper<Major> {
+    Page<MajorVo> selectMajorList(@Param("page") Page<Object> objectPage, @Param("majorPageParam") MajorPageParam majorPageParam);
+
+    MajorVo detail(@NotNull(message = "id不能为空") Integer id);
+
+    List<MajorVo> select(Integer collegeId);
+}

+ 54 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/MajorMapper.xml

@@ -0,0 +1,54 @@
+<?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="vip.xiaonuo.disk.mapper.MajorMapper">
+    <select id="selectMajorList" resultType="vip.xiaonuo.disk.vo.major.MajorVo">
+        SELECT
+            a.id,
+            a.major_name majorName,
+            a.major_code majorCode,
+            a.college_id collegeId,
+            b.college_name collegeName,
+            a.create_time createTime,
+            a.create_user createUser
+        FROM
+            major a
+        LEFT JOIN college b ON a.college_id = b.id
+       <where>
+        <if test="majorPageParam.searchKey!=null">
+            a.major_name like concat('%',#{majorPageParam.searchKey},'%')
+        </if>
+       </where>
+       order by a.create_time desc
+    </select>
+
+
+    <select id="detail" resultType="vip.xiaonuo.disk.vo.major.MajorVo">
+        SELECT
+            a.id,
+            a.major_name majorName,
+            a.major_code majorCode,
+            a.college_id collegeId,
+            b.college_name collegeName,
+            a.create_time createTime,
+            a.create_user createUser
+        FROM
+            major a
+                LEFT JOIN college b ON a.college_id = b.id
+        where  a.id=#{id}
+    </select>
+
+    <select id="select" resultType="vip.xiaonuo.disk.vo.major.MajorVo">
+        SELECT
+            a.id,
+            a.major_name majorName,
+            a.major_code majorCode,
+            a.college_id collegeId,
+            b.college_name collegeName,
+            a.create_time createTime,
+            a.create_user createUser
+        FROM
+            major a
+                LEFT JOIN college b ON a.college_id = b.id
+        where  a.college_id=#{collegeId}
+    </select>
+</mapper>

+ 41 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorAddParam.java

@@ -0,0 +1,41 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * major添加参数
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+@Setter
+public class MajorAddParam {
+
+    /** 院系名称 */
+    @ApiModelProperty(value = "院系名称", position = 2)
+    private String majorName;
+
+    /** 院系编码 */
+    @ApiModelProperty(value = "院系编码", position = 3)
+    private String majorCode;
+
+    /** 学院id */
+    @ApiModelProperty(value = "学院id", position = 4)
+    private String collegeId;
+
+}

+ 51 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorEditParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * major编辑参数
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+@Setter
+public class MajorEditParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", required = true, position = 1)
+    @NotNull(message = "id不能为空")
+    private Integer id;
+
+    /** 院系名称 */
+    @ApiModelProperty(value = "院系名称", position = 2)
+    private String majorName;
+
+    /** 院系编码 */
+    @ApiModelProperty(value = "院系编码", position = 3)
+    private String majorCode;
+
+    /** 学院id */
+    @ApiModelProperty(value = "学院id", position = 4)
+    private String collegeId;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * majorId参数
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+@Setter
+public class MajorIdParam {
+
+    /** ID */
+    @ApiModelProperty(value = "ID", required = true)
+    @NotNull(message = "id不能为空")
+    private Integer id;
+}

+ 49 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/param/MajorPageParam.java

@@ -0,0 +1,49 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * major查询参数
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Getter
+@Setter
+public class MajorPageParam {
+
+    /** 当前页 */
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @ApiModelProperty(value = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @ApiModelProperty(value = "关键词")
+    private String searchKey;
+
+}

+ 1 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/CollegeService.java

@@ -78,4 +78,5 @@ public interface CollegeService extends IService<College> {
      **/
     College queryEntity(Integer id);
 
+    List<College> select(CollegePageParam collegePageParam);
 }

+ 84 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/MajorService.java

@@ -0,0 +1,84 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.disk.domain.Major;
+import vip.xiaonuo.disk.param.MajorAddParam;
+import vip.xiaonuo.disk.param.MajorEditParam;
+import vip.xiaonuo.disk.param.MajorIdParam;
+import vip.xiaonuo.disk.param.MajorPageParam;
+import vip.xiaonuo.disk.vo.major.MajorVo;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * majorService接口
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+public interface MajorService extends IService<Major> {
+
+    /**
+     * 获取major分页
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    Page<MajorVo> page(MajorPageParam majorPageParam);
+
+    /**
+     * 添加major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    void add(MajorAddParam majorAddParam);
+
+    /**
+     * 编辑major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    void edit(MajorEditParam majorEditParam);
+
+    /**
+     * 删除major
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    void delete(List<MajorIdParam> majorIdParamList);
+
+    /**
+     * 获取major详情
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     */
+    MajorVo detail(MajorIdParam majorIdParam);
+
+    /**
+     * 获取major详情
+     *
+     * @author pans
+     * @date  2025/06/26 10:41
+     **/
+    Major queryEntity(Integer id);
+
+    List<MajorVo> select(@Valid Integer collegeId);
+}

+ 16 - 2
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/CollegeServiceImpl.java

@@ -19,6 +19,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
@@ -42,8 +43,8 @@ import java.util.List;
  **/
 @Service
 public class CollegeServiceImpl extends ServiceImpl<CollegeMapper, College> implements CollegeService {
-
-
+   @Autowired
+   private CollegeMapper collegeMapper;
     @Override
     public Page<College> page(CollegePageParam collegePageParam) {
         QueryWrapper<College> queryWrapper = new QueryWrapper<>();
@@ -97,4 +98,17 @@ public class CollegeServiceImpl extends ServiceImpl<CollegeMapper, College> impl
         return college;
     }
 
+    @Override
+    public List<College> select(CollegePageParam collegePageParam) {
+        QueryWrapper<College> queryWrapper = new QueryWrapper<>();
+        if(ObjectUtil.isAllNotEmpty(collegePageParam.getSortField(), collegePageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(collegePageParam.getSortOrder());
+            queryWrapper.orderBy(true, collegePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(collegePageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(College::getId);
+        }
+        return collegeMapper.selectList(queryWrapper);
+    }
+
 }

+ 97 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/MajorServiceImpl.java

@@ -0,0 +1,97 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.disk.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.disk.domain.Major;
+import vip.xiaonuo.disk.mapper.MajorMapper;
+import vip.xiaonuo.disk.param.MajorAddParam;
+import vip.xiaonuo.disk.param.MajorEditParam;
+import vip.xiaonuo.disk.param.MajorIdParam;
+import vip.xiaonuo.disk.param.MajorPageParam;
+import vip.xiaonuo.disk.service.MajorService;
+import vip.xiaonuo.disk.vo.major.MajorVo;
+
+import java.util.List;
+
+/**
+ * majorService接口实现类
+ *
+ * @author pans
+ * @date  2025/06/26 10:41
+ **/
+@Service
+public class MajorServiceImpl extends ServiceImpl<MajorMapper, Major> implements MajorService {
+    @Autowired
+    private MajorMapper majorMapper;
+
+    @Override
+    public Page<MajorVo> page(MajorPageParam majorPageParam) {
+        Page<MajorVo> page= majorMapper.selectMajorList(CommonPageRequest.defaultPage(),majorPageParam);
+        return page;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(MajorAddParam majorAddParam) {
+        Major major = BeanUtil.toBean(majorAddParam, Major.class);
+        this.save(major);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(MajorEditParam majorEditParam) {
+        Major major = this.queryEntity(majorEditParam.getId());
+        BeanUtil.copyProperties(majorEditParam, major);
+        this.updateById(major);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<MajorIdParam> majorIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(majorIdParamList, MajorIdParam::getId));
+    }
+
+    @Override
+    public MajorVo detail(MajorIdParam majorIdParam) {
+        return majorMapper.detail(majorIdParam.getId());
+
+
+
+    }
+
+    @Override
+    public Major queryEntity(Integer id) {
+        Major major = this.getById(id);
+        if(ObjectUtil.isEmpty(major)) {
+            throw new CommonException("major不存在,id值为:{}", id);
+        }
+        return major;
+    }
+
+    @Override
+    public List<MajorVo> select(Integer collegeId) {
+        return majorMapper.select(collegeId);
+    }
+
+}

+ 61 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/vo/major/MajorVo.java

@@ -0,0 +1,61 @@
+package vip.xiaonuo.disk.vo.major;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class MajorVo extends CommonEntity {
+
+    /** ID */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "ID", position = 1)
+    private Integer id;
+
+    /** 院系名称 */
+    @ApiModelProperty(value = "院系名称", position = 2)
+    private String majorName;
+
+    /** 院系编码 */
+    @ApiModelProperty(value = "院系编码", position = 3)
+    private String majorCode;
+
+    /** 学院id */
+    @ApiModelProperty(value = "学院id", position = 4)
+    private String collegeId;
+
+    /** 删除标志 0未删除  1已删除 */
+    @ApiModelProperty(value = "删除标志 0未删除  1已删除", position = 5)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间", position = 6)
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @ApiModelProperty(value = "创建人", position = 7)
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 修改时间 */
+    @ApiModelProperty(value = "修改时间", position = 8)
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 修改人 */
+    @ApiModelProperty(value = "修改人", position = 9)
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+
+    /** 院系 */
+    private String collegeName;
+
+}