班级小组管理 可以删除查看

master
liuyunhu 2024-04-23 22:41:53 +08:00
parent 2bad149758
commit 2f3679298c
14 changed files with 420 additions and 9 deletions

View File

@ -7,9 +7,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.custom.domain.SysClass;
import com.ruoyi.custom.domain.req.SysClassEditReq;
import com.ruoyi.custom.domain.req.SysClassQueryReq;
import com.ruoyi.custom.domain.req.SysClassSaveReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassEditReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassQueryReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassSaveReq;
import com.ruoyi.custom.service.SysClassService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@ -0,0 +1,106 @@
package com.ruoyi.web.controller.custom;
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.common.utils.poi.ExcelUtil;
import com.ruoyi.custom.domain.SysGroup;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupEditReq;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupQueryReq;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupSaveReq;
import com.ruoyi.custom.service.SysGroupService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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
*
* @author ruoyi
* @date 2024-04-23
*/
@Api(tags = "小组管理")
@RestController
@RequestMapping("/custom/group")
public class SysGroupController extends BaseController {
@Autowired
private SysGroupService sysGroupService;
/**
*
*/
@ApiOperation("获取小组管理列表")
@PreAuthorize("@ss.hasPermi('custom:group:list')")
@GetMapping("/list")
public Result<List<SysGroup>> list(SysGroupQueryReq sysGroupQueryReq) {
// startPage();
List<SysGroup> list = sysGroupService.list(SysGroup.queryBuild(sysGroupQueryReq));
return Result.success(list);
}
/**
*
*/
@ApiOperation("导出小组管理列表")
@PreAuthorize("@ss.hasPermi('custom:group:export')")
@Log(title = "小组管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SysGroup sysGroup) {
List<SysGroup> list = sysGroupService.list(sysGroup);
ExcelUtil<SysGroup> util = new ExcelUtil<SysGroup>(SysGroup.class);
util.exportExcel(response, list, "小组管理数据");
}
/**
*
*/
@ApiOperation("获取小组管理详细信息")
@PreAuthorize("@ss.hasPermi('custom:group:query')")
@GetMapping(value = "/{groupId}")
@ApiImplicitParam(name = "groupId", value = "groupId", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<SysGroup> getInfo(@PathVariable("groupId") Long groupId) {
return Result.success(sysGroupService.getById(groupId));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('custom:group:add')")
@Log(title = "小组管理", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增小组管理")
public Result<String> add(@RequestBody SysGroupSaveReq sysGroupSaveReq) {
return toAjax(sysGroupService.save(SysGroup.saveBuild(sysGroupSaveReq)));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('custom:group:edit')")
@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)))
;
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('custom:group:remove')")
@Log(title = "小组管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{groupIds}")
@ApiOperation("删除小组管理")
@ApiImplicitParam(name = "groupId", value = "groupId", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
public Result<String> remove(@PathVariable List<Long> groupIds) {
return toAjax(sysGroupService.removeBatchByIds(groupIds));
}
}

View File

@ -5,9 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.custom.domain.req.SysClassEditReq;
import com.ruoyi.custom.domain.req.SysClassQueryReq;
import com.ruoyi.custom.domain.req.SysClassSaveReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassEditReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassQueryReq;
import com.ruoyi.custom.domain.req.sysclass.SysClassSaveReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;

View File

@ -0,0 +1,86 @@
package com.ruoyi.custom.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupEditReq;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupQueryReq;
import com.ruoyi.custom.domain.req.sysgroup.SysGroupSaveReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 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;
/**
* ID
*/
@Excel(name = "班级ID")
@ApiModelProperty(name = "班级ID", value = "班级ID", required = true)
private Long classId;
/**
*
*/
@Excel(name = "小组名称")
@ApiModelProperty(name = "小组名称", value = "小组名称", required = true)
private String groupName;
/**
*
*/
public static SysGroup queryBuild(SysGroupQueryReq sysGroupQueryReq) {
return SysGroup.builder()
.classId(sysGroupQueryReq.getClassId())
.build();
}
/**
*
*/
public static SysGroup saveBuild(SysGroupSaveReq sysGroupSaveReq) {
return SysGroup.builder()
.classId(sysGroupSaveReq.getClassId())
.groupName(sysGroupSaveReq.getGroupName())
.build();
}
/**
*
*/
public static SysGroup editBuild(Long groupId, SysGroupEditReq sysGroupEditReq) {
return SysGroup.builder()
.groupId(groupId)
.groupName(sysGroupEditReq.getGroupName())
.build();
}
}

View File

@ -1,4 +1,4 @@
package com.ruoyi.custom.domain.req;
package com.ruoyi.custom.domain.req.sysclass;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;

View File

@ -1,4 +1,4 @@
package com.ruoyi.custom.domain.req;
package com.ruoyi.custom.domain.req.sysclass;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;

View File

@ -1,4 +1,4 @@
package com.ruoyi.custom.domain.req;
package com.ruoyi.custom.domain.req.sysclass;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;

View File

@ -0,0 +1,33 @@
package com.ruoyi.custom.domain.req.sysgroup;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 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 = "小组名称", required = true)
private String groupName;
}

View File

@ -0,0 +1,33 @@
package com.ruoyi.custom.domain.req.sysgroup;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 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;
/**
* ID
*/
@ApiModelProperty(name = "班级ID", value = "班级ID")
private Long classId;
}

View File

@ -0,0 +1,47 @@
package com.ruoyi.custom.domain.req.sysgroup;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 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;
/**
* ID
*/
@ApiModelProperty(name = "班级ID", value = "班级ID", required = true)
private Long classId;
/**
*
*/
@ApiModelProperty(name = "小组名称", value = "小组名称", required = true)
private String groupName;
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,27 @@
<?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.custom.mapper.SysGroupMapper">
<resultMap type="com.ruoyi.custom.domain.SysGroup" id="SysGroupResult">
<result property="groupId" column="group_id"/>
<result property="classId" column="class_id"/>
<result property="groupName" column="group_name"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectSysGroupVo">
select group_id,
class_id,
group_name,
create_by,
create_time,
update_by,
update_time
from sys_group
</sql>
</mapper>