From e8ae7079c88ab7f1c54bdd25b204cacaad75ed12 Mon Sep 17 00:00:00 2001
From: liyongjie <1318551549@qq.com>
Date: Tue, 23 Apr 2024 10:26:02 +0800
Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 6 +
ruoyi-application/pom.xml | 7 ++
.../main/java/com/ruoyi/RuoYiApplication.java | 2 +
.../controller/business/ClazzController.java | 116 ++++++++++++++++++
ruoyi-basic/pom.xml | 1 +
ruoyi-basic/ruoyi-business/pom.xml | 27 ++++
.../java/com/ruoyi/business/domain/Clazz.java | 82 +++++++++++++
.../business/domain/req/ClazzEditReq.java | 37 ++++++
.../business/domain/req/ClazzQueryReq.java | 41 +++++++
.../business/domain/req/ClazzSaveReq.java | 44 +++++++
.../ruoyi/business/mapper/ClazzMapper.java | 15 +++
.../ruoyi/business/service/ClazzService.java | 23 ++++
.../service/impl/ClazzServiceImpl.java | 48 ++++++++
.../resources/mapper/business/ClazzMapper.xml | 21 ++++
14 files changed, 470 insertions(+)
create mode 100644 ruoyi-application/src/main/java/com/ruoyi/web/controller/business/ClazzController.java
create mode 100644 ruoyi-basic/ruoyi-business/pom.xml
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/Clazz.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzEditReq.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzQueryReq.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzSaveReq.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/ClazzMapper.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/ClazzService.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/ClazzServiceImpl.java
create mode 100644 ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/ClazzMapper.xml
diff --git a/pom.xml b/pom.xml
index a407a1d..ebfb916 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,6 +177,12 @@
${ruoyi.version}
+
+
+ com.ruoyi
+ ruoyi-business
+ ${ruoyi.version}
+
diff --git a/ruoyi-application/pom.xml b/ruoyi-application/pom.xml
index 8e1a3ed..7078668 100644
--- a/ruoyi-application/pom.xml
+++ b/ruoyi-application/pom.xml
@@ -76,10 +76,17 @@
ruoyi-generator
+
org.springframework.boot
spring-boot-starter-test
+
+
+
+ com.ruoyi
+ ruoyi-business
+
diff --git a/ruoyi-application/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-application/src/main/java/com/ruoyi/RuoYiApplication.java
index bc47b1e..46a8706 100644
--- a/ruoyi-application/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-application/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.annotation.*;
/**
* 启动程序
@@ -11,6 +12,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
* @author ruoyi
*/
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@MapperScan("com.ruoyi.*.mapper")
public class RuoYiApplication {
public static void main (String[] args) {
SpringApplication.run(RuoYiApplication.class, args);
diff --git a/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/ClazzController.java b/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/ClazzController.java
new file mode 100644
index 0000000..360cafd
--- /dev/null
+++ b/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/ClazzController.java
@@ -0,0 +1,116 @@
+package com.ruoyi.web.controller.business;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.*;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.*;
+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.Result;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.business.domain.Clazz;
+import com.ruoyi.business.domain.req.ClazzQueryReq;
+import com.ruoyi.business.domain.req.ClazzSaveReq;
+import com.ruoyi.business.domain.req.ClazzEditReq;
+import com.ruoyi.business.service.ClazzService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 班级Controller
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Api(tags = "班级")
+@RestController
+@RequestMapping("/business/clazz")
+public class ClazzController extends BaseController {
+
+ /**
+ * 注入班级Service接口
+ */
+ @Autowired
+ private ClazzService clazzService;
+
+ /**
+ * 查询班级列表
+ */
+ @ApiOperation("获取班级列表")
+ @PreAuthorize("@ss.hasPermi('business:clazz:list')")
+ @GetMapping("/list")
+ public Result> list(ClazzQueryReq clazzQueryReq) {
+ startPage();
+ List list = clazzService.list(Clazz.queryBuild(clazzQueryReq));
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出班级列表
+ */
+ @ApiOperation("导出班级列表")
+ @PreAuthorize("@ss.hasPermi('business:clazz:export')")
+ @Log(title = "班级", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, Clazz clazz) {
+ List list = clazzService.list(clazz);
+ ExcelUtil util = new ExcelUtil(Clazz.class);
+ util.exportExcel(response, list, "班级数据");
+ }
+
+ /**
+ * 获取班级详细信息
+ */
+ @ApiOperation("获取班级详细信息")
+ @PreAuthorize("@ss.hasPermi('business:clazz:query')")
+ @GetMapping(value = "/{clazzId}")
+ @ApiImplicitParam(name = "clazzId", value = "clazzId", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
+ public Result getInfo(@PathVariable("clazzId") Long clazzId) {
+ return Result.success(clazzService.getById(clazzId));
+ }
+
+ /**
+ * 新增班级
+ */
+ @PreAuthorize("@ss.hasPermi('business:clazz:add')")
+ @Log(title = "班级", businessType = BusinessType.INSERT)
+ @PostMapping
+ @ApiOperation("新增班级")
+ public Result add(@RequestBody ClazzSaveReq clazzSaveReq) {
+ return toAjax(clazzService.save(Clazz.saveBuild(clazzSaveReq)));
+ }
+
+ /**
+ * 修改班级
+ */
+ @PreAuthorize("@ss.hasPermi('business:clazz:edit')")
+ @Log(title = "班级", businessType = BusinessType.UPDATE)
+ @PutMapping("/{clazzId}")
+ @ApiOperation("修改班级")
+ public Result edit(@PathVariable Long clazzId, @RequestBody ClazzEditReq clazzEditReq) {
+ return toAjax(clazzService.updateById(Clazz.editBuild(clazzId,clazzEditReq)));
+ }
+
+ /**
+ * 删除班级
+ */
+ @PreAuthorize("@ss.hasPermi('business:clazz:remove')")
+ @Log(title = "班级", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{clazzIds}")
+ @ApiOperation("删除班级")
+ @ApiImplicitParam(name = "clazzId", value = "clazzId", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
+ public Result remove(@PathVariable List clazzIds) {
+ return toAjax(clazzService.removeBatchByIds(clazzIds));
+ }
+}
diff --git a/ruoyi-basic/pom.xml b/ruoyi-basic/pom.xml
index 3660df6..d871584 100644
--- a/ruoyi-basic/pom.xml
+++ b/ruoyi-basic/pom.xml
@@ -16,6 +16,7 @@
ruoyi-framework
ruoyi-system
ruoyi-common
+ ruoyi-business
diff --git a/ruoyi-basic/ruoyi-business/pom.xml b/ruoyi-basic/ruoyi-business/pom.xml
new file mode 100644
index 0000000..7f62ead
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.muyu
+ ruoyi-basic
+ 3.8.6
+
+
+ com.ruoyi
+ ruoyi-business
+
+
+ business业务模块
+
+
+
+
+
+
+ com.muyu
+ ruoyi-common
+
+
+
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/Clazz.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/Clazz.java
new file mode 100644
index 0000000..59d258d
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/Clazz.java
@@ -0,0 +1,82 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.business.domain.req.ClazzQueryReq;
+import com.ruoyi.business.domain.req.ClazzSaveReq;
+import com.ruoyi.business.domain.req.ClazzEditReq;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 班级对象 t_clazz
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("t_clazz")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "Clazz", description = "班级")
+public class Clazz extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 班级ID */
+ @TableId(value = "clazz_id",type = IdType.AUTO)
+ @ApiModelProperty(name = "班级ID", value = "班级ID")
+ private Long clazzId;
+
+ /** 班级名称 */
+ @Excel(name = "班级名称")
+ @ApiModelProperty(name = "班级名称", value = "班级名称")
+ private String clazzName;
+
+ /** 状态 */
+ @Excel(name = "状态")
+ @ApiModelProperty(name = "状态", value = "状态")
+ private String status;
+
+ /**
+ * 查询构造器
+ */
+ public static Clazz queryBuild( ClazzQueryReq clazzQueryReq){
+ return Clazz.builder()
+ .clazzId(clazzQueryReq.getClazzId())
+ .clazzName(clazzQueryReq.getClazzName())
+ .status(clazzQueryReq.getStatus())
+ .build();
+ }
+
+ /**
+ * 添加构造器
+ */
+ public static Clazz saveBuild(ClazzSaveReq clazzSaveReq){
+ return Clazz.builder()
+ .clazzName(clazzSaveReq.getClazzName())
+ .status(clazzSaveReq.getStatus())
+ .build();
+ }
+
+ /**
+ * 修改构造器
+ */
+ public static Clazz editBuild(Long clazzId, ClazzEditReq clazzEditReq){
+ return Clazz.builder()
+ .clazzId(clazzId)
+ .clazzName(clazzEditReq.getClazzName())
+ .status(clazzEditReq.getStatus())
+ .build();
+ }
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzEditReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzEditReq.java
new file mode 100644
index 0000000..949dc00
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzEditReq.java
@@ -0,0 +1,37 @@
+package com.ruoyi.business.domain.req;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 班级对象 t_clazz
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "ClazzEditReq", description = "班级")
+public class ClazzEditReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 班级名称 */
+ @ApiModelProperty(name = "班级名称", value = "班级名称")
+ private String clazzName;
+
+ /** 状态 */
+ @ApiModelProperty(name = "状态", value = "状态")
+ private String status;
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzQueryReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzQueryReq.java
new file mode 100644
index 0000000..6b4e910
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzQueryReq.java
@@ -0,0 +1,41 @@
+package com.ruoyi.business.domain.req;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 班级对象 t_clazz
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "ClazzQueryReq", description = "班级")
+public class ClazzQueryReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 班级ID */
+ @TableId(value = "clazzId",type = IdType.AUTO)
+ @ApiModelProperty(name = "班级ID", value = "班级ID")
+ private Long clazzId;
+
+ /** 班级名称 */
+ @ApiModelProperty(name = "班级名称", value = "班级名称")
+ private String clazzName;
+
+ /** 状态 */
+ @ApiModelProperty(name = "状态", value = "状态")
+ private String status;
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzSaveReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzSaveReq.java
new file mode 100644
index 0000000..482acb6
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/ClazzSaveReq.java
@@ -0,0 +1,44 @@
+package com.ruoyi.business.domain.req;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 班级对象 t_clazz
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "ClazzSaveReq", description = "班级")
+public class ClazzSaveReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 班级ID */
+
+ @ApiModelProperty(name = "班级ID", value = "班级ID")
+ private Long clazzId;
+
+ /** 班级名称 */
+
+ @ApiModelProperty(name = "班级名称", value = "班级名称")
+ private String clazzName;
+
+ /** 状态 */
+
+ @ApiModelProperty(name = "状态", value = "状态")
+ private String status;
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/ClazzMapper.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/ClazzMapper.java
new file mode 100644
index 0000000..b090776
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/ClazzMapper.java
@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.*;
+import com.ruoyi.business.domain.*;
+import org.springframework.stereotype.*;
+
+/**
+ * 班级Mapper接口
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+public interface ClazzMapper extends BaseMapper {
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/ClazzService.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/ClazzService.java
new file mode 100644
index 0000000..248284e
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/ClazzService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.business.service;
+
+import com.baomidou.mybatisplus.extension.service.*;
+import com.ruoyi.business.domain.*;
+
+import java.util.*;
+
+/**
+ * 班级Service接口
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+public interface ClazzService extends IService {
+ /**
+ * 查询班级列表
+ *
+ * @param clazz 班级
+ * @return 班级集合
+ */
+ public List list(Clazz clazz);
+
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/ClazzServiceImpl.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/ClazzServiceImpl.java
new file mode 100644
index 0000000..7aa8372
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/ClazzServiceImpl.java
@@ -0,0 +1,48 @@
+package com.ruoyi.business.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.*;
+import com.baomidou.mybatisplus.extension.service.impl.*;
+import com.ruoyi.business.domain.*;
+import com.ruoyi.business.mapper.*;
+import com.ruoyi.business.service.*;
+import com.ruoyi.common.utils.*;
+import lombok.extern.slf4j.*;
+import org.springframework.stereotype.*;
+
+import java.util.*;
+
+/**
+ * 班级Service业务层处理
+ *
+ * @author muyu
+ * @date 2024-04-22
+ */
+@Slf4j
+@Service
+public class ClazzServiceImpl extends ServiceImpl implements ClazzService {
+
+ /**
+ * 查询班级列表
+ *
+ * @param clazz 班级
+ * @return 班级
+ */
+ @Override
+ public List list(Clazz clazz) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+
+ if (ObjUtils.notNull(clazz.getClazzId())) {
+ queryWrapper.eq(Clazz::getClazzId, clazz.getClazzId());
+ }
+
+ if (ObjUtils.notNull(clazz.getClazzName())) {
+ queryWrapper.like(Clazz::getClazzName, clazz.getClazzName());
+ }
+
+ if (ObjUtils.notNull(clazz.getStatus())) {
+ queryWrapper.eq(Clazz::getStatus, clazz.getStatus());
+ }
+
+ return list(queryWrapper);
+ }
+}
diff --git a/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/ClazzMapper.xml b/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/ClazzMapper.xml
new file mode 100644
index 0000000..d22c03f
--- /dev/null
+++ b/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/ClazzMapper.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select clazz_id, clazz_name, status, create_by, create_time, update_by, update_time, remark from t_clazz
+
+