4-23-小组

master
31353 2024-04-23 21:14:24 +08:00
parent 25a622a882
commit ff0047d609
18 changed files with 490 additions and 55 deletions

View File

@ -1,31 +1,36 @@
package com.ruoyi.web.controller.school; package com.ruoyi.web.controller.school;
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.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.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.school.domain.SysClass; import com.ruoyi.school.domain.SysClass;
import com.ruoyi.school.domain.req.SysClassEditReq;
import com.ruoyi.school.domain.req.SysClassQueryReq; import com.ruoyi.school.domain.req.SysClassQueryReq;
import com.ruoyi.school.domain.req.SysClassSaveReq; import com.ruoyi.school.domain.req.SysClassSaveReq;
import com.ruoyi.school.domain.req.SysClassEditReq;
import com.ruoyi.school.service.SysClassService; import com.ruoyi.school.service.SysClassService;
import io.swagger.annotations.Api; import com.ruoyi.common.utils.poi.ExcelUtil;
import io.swagger.annotations.ApiImplicitParam; import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Api(tags = "班级管理") @Api(tags = "班级管理")
@RestController @RestController
@ -46,6 +51,14 @@ public class SysClassController extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
/**
*
*/
@GetMapping("/findUnconditional")
public Result findUnconditional(){
return getDataTable(sysClassService.list());
}
/** /**
* *
*/ */

View File

@ -0,0 +1,83 @@
package com.ruoyi.web.controller.school;
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.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.school.domain.SysGroup;
import com.ruoyi.school.domain.req.SysGroupQueryReq;
import com.ruoyi.school.domain.req.SysGroupSaveReq;
import com.ruoyi.school.domain.req.SysGroupEditReq;
import com.ruoyi.school.service.SysGroupService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author ruoyi
* @date 2024-04-23
*/
@Api(tags = "小组管理")
@RestController
@RequestMapping("/group/group")
public class SysGroupController extends BaseController {
@Autowired
private SysGroupService sysGroupService;
/**
*
*/
@ApiOperation("获取小组管理列表")
@GetMapping("/list")
public Result<TableDataInfo<SysGroup>> list(SysGroupQueryReq sysGroupQueryReq) {
startPage();
List<SysGroup> list = sysGroupService.list(sysGroupQueryReq);
return getDataTable(list);
}
/**
*
*/
@PostMapping("/saveGroup")
public Result<String> add(@RequestBody SysGroupSaveReq sysGroupSaveReq) {
return toAjax(sysGroupService.save(SysGroup.saveBuild(sysGroupSaveReq)));
}
/**
*
*/
@Log(title = "小组管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{groupIds}")
@ApiOperation("删除小组管理")
public Result<String> remove(@PathVariable List<Long> groupIds) {
return toAjax(sysGroupService.removeBatchByIds(groupIds));
}
/**
*
*/
@Log(title = "小组管理", businessType = BusinessType.UPDATE)
@PutMapping("/{groupId}")
@ApiOperation("修改小组管理")
public Result<String> edit(@PathVariable Long groupId, @RequestBody SysGroupEditReq sysGroupEditReq) {
return toAjax(sysGroupService.updateById(SysGroup.editBuild(groupId,sysGroupEditReq)));
}
}

View File

@ -3,24 +3,23 @@ package com.ruoyi.school.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.school.domain.req.SysClassEditReq;
import com.ruoyi.school.domain.req.SysClassQueryReq;
import com.ruoyi.school.domain.req.SysClassSaveReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.school.domain.req.SysClassQueryReq;
import com.ruoyi.school.domain.req.SysClassSaveReq;
import com.ruoyi.school.domain.req.SysClassEditReq;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* sys_class * sys_class
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -0,0 +1,96 @@
package com.ruoyi.school.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.school.domain.req.SysGroupQueryReq;
import com.ruoyi.school.domain.req.SysGroupSaveReq;
import com.ruoyi.school.domain.req.SysGroupEditReq;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* sys_group
*
* @author ruoyi
* @date 2024-04-23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_group")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "SysGroup", description = "小组管理")
public class SysGroup extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 小组ID */
@TableId(value = "group_id",type = IdType.AUTO)
@ApiModelProperty(name = "小组ID", value = "小组ID")
private Long groupId;
/** 小组名称 */
@Excel(name = "小组名称")
@ApiModelProperty(name = "小组名称", value = "小组名称")
private String groupName;
/** 小组人数 */
@Excel(name = "小组人数")
@ApiModelProperty(name = "小组人数", value = "小组人数")
private Long groupPeople;
/** 小组人员 */
@Excel(name = "小组人员")
@ApiModelProperty(name = "小组人员", value = "小组人员")
private String groupPersonnel;
/** 班级ID */
@Excel(name = "班级ID")
@ApiModelProperty(name = "班级ID", value = "班级ID")
private Long classId;
/**
*
*/
public static SysGroup queryBuild( SysGroupQueryReq sysGroupQueryReq){
return SysGroup.builder()
.groupName(sysGroupQueryReq.getGroupName())
.groupPeople(sysGroupQueryReq.getGroupPeople())
.classId(sysGroupQueryReq.getClassId())
.build();
}
/**
*
*/
public static SysGroup saveBuild(SysGroupSaveReq sysGroupSaveReq){
return SysGroup.builder()
.groupName(sysGroupSaveReq.getGroupName())
.groupPeople(sysGroupSaveReq.getGroupPeople())
.groupPersonnel(sysGroupSaveReq.getGroupPersonnel())
.classId(sysGroupSaveReq.getClassId())
.build();
}
/**
*
*/
public static SysGroup editBuild(Long groupId, SysGroupEditReq sysGroupEditReq){
return SysGroup.builder()
.groupId(groupId)
.groupName(sysGroupEditReq.getGroupName())
.groupPeople(sysGroupEditReq.getGroupPeople())
.groupPersonnel(sysGroupEditReq.getGroupPersonnel())
.classId(sysGroupEditReq.getClassId())
.build();
}
}

View File

@ -1,18 +1,21 @@
package com.ruoyi.school.domain.req; package com.ruoyi.school.domain.req;
import com.ruoyi.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* sys_class * sys_class
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -1,18 +1,21 @@
package com.ruoyi.school.domain.req; package com.ruoyi.school.domain.req;
import com.ruoyi.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* sys_class * sys_class
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -1,18 +1,21 @@
package com.ruoyi.school.domain.req; package com.ruoyi.school.domain.req;
import com.ruoyi.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* sys_class * sys_class
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -0,0 +1,45 @@
package com.ruoyi.school.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;
/**
* sys_group
*
* @author ruoyi
* @date 2024-04-23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "SysGroupEditReq", description = "小组管理")
public class SysGroupEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 小组名称 */
@ApiModelProperty(name = "小组名称", value = "小组名称")
private String groupName;
/** 小组人数 */
@ApiModelProperty(name = "小组人数", value = "小组人数")
private Long groupPeople;
/** 小组人员 */
@ApiModelProperty(name = "小组人员", value = "小组人员")
private String groupPersonnel;
/** 班级ID */
@ApiModelProperty(name = "班级ID", value = "班级ID")
private Long classId;
}

View File

@ -0,0 +1,41 @@
package com.ruoyi.school.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;
/**
* sys_group
*
* @author ruoyi
* @date 2024-04-23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "SysGroupQueryReq", description = "小组管理")
public class SysGroupQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 小组名称 */
@ApiModelProperty(name = "小组名称", value = "小组名称")
private String groupName;
/** 小组人数 */
@ApiModelProperty(name = "小组人数", value = "小组人数")
private Long groupPeople;
/** 班级ID */
@ApiModelProperty(name = "班级ID", value = "班级ID")
private Long classId;
}

View File

@ -0,0 +1,54 @@
package com.ruoyi.school.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;
/**
* sys_group
*
* @author ruoyi
* @date 2024-04-23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "SysGroupSaveReq", description = "小组管理")
public class SysGroupSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 小组ID */
@ApiModelProperty(name = "小组ID", value = "小组ID")
private Long groupId;
/** 小组名称 */
@ApiModelProperty(name = "小组名称", value = "小组名称")
private String groupName;
/** 小组人数 */
@ApiModelProperty(name = "小组人数", value = "小组人数")
private Long groupPeople;
/** 小组人员 */
@ApiModelProperty(name = "小组人员", value = "小组人员")
private String groupPersonnel;
/** 班级ID */
@ApiModelProperty(name = "班级ID", value = "班级ID")
private Long classId;
}

View File

@ -1,6 +1,6 @@
package com.ruoyi.school.mapper; package com.ruoyi.school.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.school.domain.SysClass; import com.ruoyi.school.domain.SysClass;
@ -8,7 +8,7 @@ import com.ruoyi.school.domain.SysClass;
* Mapper * Mapper
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
public interface SysClassMapper extends BaseMapper<SysClass> { public interface SysClassMapper extends BaseMapper<SysClass> {

View File

@ -0,0 +1,15 @@
package com.ruoyi.school.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.school.domain.SysGroup;
/**
* Mapper
*
* @author ruoyi
* @date 2024-04-23
*/
public interface SysGroupMapper extends BaseMapper<SysGroup> {
}

View File

@ -1,16 +1,14 @@
package com.ruoyi.school.service; package com.ruoyi.school.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.SysClass;
import java.util.List; import java.util.List;
import com.ruoyi.school.domain.SysClass;
import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* Service * Service
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
public interface SysClassService extends IService<SysClass> { public interface SysClassService extends IService<SysClass> {
/** /**

View File

@ -0,0 +1,23 @@
package com.ruoyi.school.service;
import java.util.List;
import com.ruoyi.school.domain.SysGroup;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.req.SysGroupQueryReq;
/**
* Service
*
* @author ruoyi
* @date 2024-04-23
*/
public interface SysGroupService extends IService<SysGroup> {
/**
*
*
* @param sysGroupQueryReq
* @return
*/
public List<SysGroup> list(SysGroupQueryReq sysGroupQueryReq);
}

View File

@ -1,22 +1,22 @@
package com.ruoyi.school.service.impl; package com.ruoyi.school.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.school.domain.SysClass;
import com.ruoyi.school.mapper.SysClassMapper;
import com.ruoyi.school.service.SysClassService;
import com.ruoyi.common.utils.ObjUtils;
import com.ruoyi.common.utils.ObjUtils;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.school.mapper.SysClassMapper;
import java.util.List; import com.ruoyi.school.domain.SysClass;
import com.ruoyi.school.service.SysClassService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
/** /**
* Service * Service
* *
* @author ruoyi * @author ruoyi
* @date 2024-04-22 * @date 2024-04-23
*/ */
@Slf4j @Slf4j
@Service @Service

View File

@ -0,0 +1,41 @@
package com.ruoyi.school.service.impl;
import java.util.List;
import com.ruoyi.common.utils.ObjUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.school.domain.req.SysGroupQueryReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.ruoyi.school.mapper.SysGroupMapper;
import com.ruoyi.school.domain.SysGroup;
import com.ruoyi.school.service.SysGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
/**
* Service
*
* @author ruoyi
* @date 2024-04-23
*/
@Slf4j
@Service
public class SysGroupServiceImpl extends ServiceImpl<SysGroupMapper, SysGroup> implements SysGroupService {
/**
*
*
* @param sysGroupQueryReq
* @return
*/
@Override
public List<SysGroup> list(SysGroupQueryReq sysGroupQueryReq) {
LambdaQueryWrapper<SysGroup> queryWrapper = new LambdaQueryWrapper<>();
if (ObjUtils.notNull(sysGroupQueryReq.getClassId())){
queryWrapper.eq(SysGroup::getClassId, sysGroupQueryReq.getClassId());
}
return list(queryWrapper);
}
}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.school.mapper.SysClassMapper"> <mapper namespace="com.ruoyi.school.mapper.SysClassMapper">
<resultMap type="com.ruoyi.school.domain.SysClass" id="SysClassResult"> <resultMap type="com.ruoyi.school.domain.SysClass" id="SysClassResult">

View File

@ -0,0 +1,18 @@
<?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.school.mapper.SysGroupMapper">
<resultMap type="com.ruoyi.school.domain.SysGroup" id="SysGroupResult">
<result property="groupId" column="group_id" />
<result property="groupName" column="group_name" />
<result property="groupPeople" column="group_people" />
<result property="groupPersonnel" column="group_personnel" />
<result property="classId" column="class_id" />
</resultMap>
<sql id="selectSysGroupVo">
select group_id, group_name, group_people, group_personnel, class_id from sys_group
</sql>
</mapper>