From 99a638749745017c3c889c0a5ef3754c0132ccf3 Mon Sep 17 00:00:00 2001 From: liyongjie <1318551549@qq.com> Date: Wed, 24 Apr 2024 10:13:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/TeamInfoController.java | 112 ++++++++++++++++++ .../com/ruoyi/business/domain/TeamInfo.java | 90 ++++++++++++++ .../business/domain/req/TeamInfoEditReq.java | 41 +++++++ .../business/domain/req/TeamInfoQueryReq.java | 33 ++++++ .../business/domain/req/TeamInfoSaveReq.java | 49 ++++++++ .../ruoyi/business/mapper/TeamInfoMapper.java | 24 ++++ .../business/service/TeamInfoService.java | 22 ++++ .../service/impl/TeamInfoServiceImpl.java | 45 +++++++ .../mapper/business/TeamInfoMapper.xml | 48 ++++++++ 9 files changed, 464 insertions(+) create mode 100644 ruoyi-application/src/main/java/com/ruoyi/web/controller/business/TeamInfoController.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/TeamInfo.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoEditReq.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoQueryReq.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoSaveReq.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TeamInfoMapper.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/TeamInfoService.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TeamInfoServiceImpl.java create mode 100644 ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/TeamInfoMapper.xml diff --git a/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/TeamInfoController.java b/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/TeamInfoController.java new file mode 100644 index 0000000..396254c --- /dev/null +++ b/ruoyi-application/src/main/java/com/ruoyi/web/controller/business/TeamInfoController.java @@ -0,0 +1,112 @@ +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.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.TeamInfo; +import com.ruoyi.business.domain.req.TeamInfoQueryReq; +import com.ruoyi.business.domain.req.TeamInfoSaveReq; +import com.ruoyi.business.domain.req.TeamInfoEditReq; +import com.ruoyi.business.service.TeamInfoService; +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("/business/team") +public class TeamInfoController extends BaseController { + + @Autowired + private TeamInfoService teamInfoService; + + /** + * 查询小组列表 + */ + @ApiOperation("获取小组列表") + @PreAuthorize("@ss.hasPermi('business:team:list')") + @GetMapping("/list") + public Result> list(TeamInfoQueryReq teamInfoQueryReq) { + startPage(); + List list = teamInfoService.list(TeamInfo.queryBuild(teamInfoQueryReq)); + return getDataTable(list); + } + + /** + * 导出小组列表 + */ + @ApiOperation("导出小组列表") + @PreAuthorize("@ss.hasPermi('business:team:export')") + @Log(title = "小组", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TeamInfo teamInfo) { + List list = teamInfoService.list(teamInfo); + ExcelUtil util = new ExcelUtil(TeamInfo.class); + util.exportExcel(response, list, "小组数据"); + } + + /** + * 获取小组详细信息 + */ + @ApiOperation("获取小组详细信息") + @PreAuthorize("@ss.hasPermi('business:team:query')") + @GetMapping(value = "/{teamId}") + @ApiImplicitParam(name = "teamId", value = "teamId", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) + public Result getInfo(@PathVariable("teamId") Long teamId) { + return Result.success(teamInfoService.getById(teamId)); + } + + /** + * 新增小组 + */ + @PreAuthorize("@ss.hasPermi('business:team:add')") + @Log(title = "小组", businessType = BusinessType.INSERT) + @PostMapping + @ApiOperation("新增小组") + public Result add(@RequestBody TeamInfoSaveReq teamInfoSaveReq) { + return toAjax(teamInfoService.save(TeamInfo.saveBuild(teamInfoSaveReq))); + } + + /** + * 修改小组 + */ + @PreAuthorize("@ss.hasPermi('business:team:edit')") + @Log(title = "小组", businessType = BusinessType.UPDATE) + @PutMapping("/{teamId}") + @ApiOperation("修改小组") + public Result edit(@PathVariable Long teamId, @RequestBody TeamInfoEditReq teamInfoEditReq) { + return toAjax(teamInfoService.updateById(TeamInfo.editBuild(teamId,teamInfoEditReq))); + } + + /** + * 删除小组 + */ + @PreAuthorize("@ss.hasPermi('business:team:remove')") + @Log(title = "小组", businessType = BusinessType.DELETE) + @DeleteMapping("/{teamIds}") + @ApiOperation("删除小组") + @ApiImplicitParam(name = "teamId", value = "teamId", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") + public Result remove(@PathVariable List teamIds) { + return toAjax(teamInfoService.removeBatchByIds(teamIds)); + } +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/TeamInfo.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/TeamInfo.java new file mode 100644 index 0000000..5bb1481 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/TeamInfo.java @@ -0,0 +1,90 @@ +package com.ruoyi.business.domain; + +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.business.domain.req.TeamInfoQueryReq; +import com.ruoyi.business.domain.req.TeamInfoSaveReq; +import com.ruoyi.business.domain.req.TeamInfoEditReq; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 小组对象 team_info + * + * @author ruoyi + * @date 2024-04-23 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("team_info") +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "TeamInfo", description = "小组") +public class TeamInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 小组ID */ + @Excel(name = "小组ID") + @TableId(value = "team_id",type = IdType.AUTO) + @ApiModelProperty(name = "小组ID", value = "小组ID") + private Long teamId; + + /** 小组名称 */ + @Excel(name = "小组名称") + @ApiModelProperty(name = "小组名称", value = "小组名称") + private String teamName; + + /** 状态 */ + @Excel(name = "状态") + @ApiModelProperty(name = "状态", value = "状态") + private String status; + + /** 班级 */ + @ApiModelProperty(name = "班级", value = "班级") + private Long clazzId; + + /** 班级名称 */ + @Excel(name = "班级") + @TableField(exist = false) + private String clazzName; + + /** + * 查询构造器 + */ + public static TeamInfo queryBuild( TeamInfoQueryReq teamInfoQueryReq){ + return TeamInfo.builder() + .teamName(teamInfoQueryReq.getTeamName()) + .build(); + } + + /** + * 添加构造器 + */ + public static TeamInfo saveBuild(TeamInfoSaveReq teamInfoSaveReq){ + return TeamInfo.builder() + .teamName(teamInfoSaveReq.getTeamName()) + .status(teamInfoSaveReq.getStatus()) + .clazzId(teamInfoSaveReq.getClazzId()) + .build(); + } + + /** + * 修改构造器 + */ + public static TeamInfo editBuild(Long teamId, TeamInfoEditReq teamInfoEditReq){ + return TeamInfo.builder() + .teamId(teamId) + .teamName(teamInfoEditReq.getTeamName()) + .status(teamInfoEditReq.getStatus()) + .clazzId(teamInfoEditReq.getClazzId()) + .build(); + } + +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoEditReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoEditReq.java new file mode 100644 index 0000000..bd9af72 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoEditReq.java @@ -0,0 +1,41 @@ +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; + +/** + * 小组对象 team_info + * + * @author ruoyi + * @date 2024-04-23 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "TeamInfoEditReq", description = "小组") +public class TeamInfoEditReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 小组名称 */ + @ApiModelProperty(name = "小组名称", value = "小组名称") + private String teamName; + + /** 状态 */ + @ApiModelProperty(name = "状态", value = "状态") + private String status; + + /** 班级 */ + @ApiModelProperty(name = "班级", value = "班级") + private Long clazzId; + +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoQueryReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoQueryReq.java new file mode 100644 index 0000000..2e12b39 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoQueryReq.java @@ -0,0 +1,33 @@ +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; + +/** + * 小组对象 team_info + * + * @author ruoyi + * @date 2024-04-23 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "TeamInfoQueryReq", description = "小组") +public class TeamInfoQueryReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 小组名称 */ + @ApiModelProperty(name = "小组名称", value = "小组名称") + private String teamName; + +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoSaveReq.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoSaveReq.java new file mode 100644 index 0000000..3da84df --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/domain/req/TeamInfoSaveReq.java @@ -0,0 +1,49 @@ +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; + +/** + * 小组对象 team_info + * + * @author ruoyi + * @date 2024-04-23 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "TeamInfoSaveReq", description = "小组") +public class TeamInfoSaveReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 小组ID */ + + @ApiModelProperty(name = "小组ID", value = "小组ID") + private Long teamId; + + /** 小组名称 */ + + @ApiModelProperty(name = "小组名称", value = "小组名称") + private String teamName; + + /** 状态 */ + + @ApiModelProperty(name = "状态", value = "状态") + private String status; + + /** 班级 */ + + @ApiModelProperty(name = "班级", value = "班级") + private Long clazzId; + +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TeamInfoMapper.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TeamInfoMapper.java new file mode 100644 index 0000000..4af4a27 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TeamInfoMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.business.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.*; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.business.domain.TeamInfo; + +/** + * 小组Mapper接口 + * + * @author ruoyi + * @date 2024-04-23 + */ +public interface TeamInfoMapper extends BaseMapper { + + /** + * 查询小组列表 + * + * @param queryWrapper 查询条件 + * @return 小组集合 + */ + List selectTeamList(LambdaQueryWrapper queryWrapper); +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/TeamInfoService.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/TeamInfoService.java new file mode 100644 index 0000000..51e49d1 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/TeamInfoService.java @@ -0,0 +1,22 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TeamInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 小组Service接口 + * + * @author ruoyi + * @date 2024-04-23 + */ +public interface TeamInfoService extends IService { + /** + * 查询小组列表 + * + * @param teamInfo 小组 + * @return 小组集合 + */ + public List list(TeamInfo teamInfo); + +} diff --git a/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TeamInfoServiceImpl.java b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TeamInfoServiceImpl.java new file mode 100644 index 0000000..48b393f --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TeamInfoServiceImpl.java @@ -0,0 +1,45 @@ +package com.ruoyi.business.service.impl; + +import java.util.List; + +import com.ruoyi.common.utils.ObjUtils; +import com.ruoyi.common.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.*; +import org.springframework.stereotype.Service; +import com.ruoyi.business.mapper.TeamInfoMapper; +import com.ruoyi.business.domain.TeamInfo; +import com.ruoyi.business.service.TeamInfoService; +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 TeamInfoServiceImpl extends ServiceImpl implements TeamInfoService { + + @Autowired + private TeamInfoMapper teamInfoMapper; + + /** + * 查询小组列表 + * + * @param teamInfo 小组 + * @return 小组 + */ + @Override + public List list(TeamInfo teamInfo) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + if (ObjUtils.notNull(teamInfo.getTeamName())){ + queryWrapper.like(TeamInfo::getTeamName, teamInfo.getTeamName()); + } + + return teamInfoMapper.selectTeamList(queryWrapper); + } +} diff --git a/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/TeamInfoMapper.xml b/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/TeamInfoMapper.xml new file mode 100644 index 0000000..d4def49 --- /dev/null +++ b/ruoyi-basic/ruoyi-business/src/main/resources/mapper/business/TeamInfoMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + t.team_id, + t.team_name, + t.status, + c.clazz_name, + t.create_by, + t.create_time, + t.update_by, + t.update_time, + t.remark + from + team_info t + left join t_clazz c on c.clazz_id = t.clazz_id + + + +