ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
New file @@ -0,0 +1,52 @@ package com.ycl.platform.domain.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.time.LocalDateTime; import com.ycl.platform.base.AbsEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 运维点位 * * @author xp * @since 2024-03-05 */ @Data @Accessors(chain = true) @TableName("t_yw_point") @ApiModel(value = "YwPoint对象", description = "运维点位") public class YwPoint extends AbsEntity { private static final long serialVersionUID = 1L; @ApiModelProperty("点位名称") @TableField("point_name") private String pointName; @ApiModelProperty("点位开始时间") @TableField("start_time") private LocalDateTime startTime; @ApiModelProperty("点位结束时间") @TableField("end_time") private LocalDateTime endTime; @ApiModelProperty("运维单位") @TableField("unit_id") private Integer unitId; @ApiModelProperty("运维状态") @TableField("status") private String status; @ApiModelProperty("备注") @TableField("remark") private String remark; } ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
New file @@ -0,0 +1,61 @@ package com.ycl.platform.domain.form; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import com.ycl.platform.base.AbsForm; import com.ycl.platform.domain.entity.YwPoint; import org.springframework.beans.BeanUtils; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; /** * 运维点位表单 * * @author xp * @since 2024-03-05 */ @Data @Accessors(chain = true) @ApiModel(value = "YwPoint表单", description = "运维点位表单") public class YwPointForm extends AbsForm { @NotBlank(message = "点位名称不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("点位名称") private String pointName; @NotNull(message = "点位开始时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("点位开始时间") private LocalDateTime startTime; @NotNull(message = "点位结束时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("点位结束时间") private LocalDateTime endTime; @NotNull(message = "运维单位不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("运维单位") private Integer unitId; @NotBlank(message = "运维状态不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("运维状态") private String status; @NotBlank(message = "备注不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("备注") private String remark; public static YwPoint getEntityByForm(@NonNull YwPointForm form, YwPoint entity) { if(entity == null) { entity = new YwPoint(); } BeanUtils.copyProperties(form, entity); return entity; } } ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java
New file @@ -0,0 +1,24 @@ package com.ycl.platform.domain.query; import java.util.List; import com.ycl.platform.base.AbsQuery; import org.springframework.lang.NonNull; import jakarta.validation.constraints.NotBlank; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 运维点位查询 * * @author xp * @since 2024-03-05 */ @Data @Accessors(chain = true) @ApiModel(value = "YwPoint查询", description = "运维点位查询") public class YwPointQuery extends AbsQuery { } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
New file @@ -0,0 +1,51 @@ package com.ycl.platform.domain.vo; import com.ycl.platform.base.AbsVo; import com.ycl.platform.domain.entity.YwPoint; import java.time.LocalDateTime; import java.util.List; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 运维点位展示 * * @author xp * @since 2024-03-05 */ @Data @Accessors(chain = true) public class YwPointVO extends AbsVo { /** 点位名称 */ private String pointName; /** 点位开始时间 */ private LocalDateTime startTime; /** 点位结束时间 */ private LocalDateTime endTime; /** 运维单位 */ private Integer unitId; /** 运维状态 */ private String status; /** 备注 */ private String remark; public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) { if(vo == null) { vo = new YwPointVO(); } BeanUtils.copyProperties(entity, vo); return vo; } } ycl-server/src/main/java/com/ycl/platform/controller/YwPeopleController.java
@@ -2,6 +2,7 @@ import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.List; @@ -53,6 +54,7 @@ return ywPeopleService.remove(ids); } @PreAuthorize("@ss.hasPermi('unit:people:page')") @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(YwPeopleQuery query) { ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
New file @@ -0,0 +1,77 @@ package com.ycl.platform.controller; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.List; import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotEmpty; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.query.YwPointQuery; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; /** * 运维点位 前端控制器 * * @author xp * @since 2024-03-05 */ @Validated @RequiredArgsConstructor @Api(value = "运维点位", tags = "运维点位管理") @RestController @RequestMapping("/yw-point") public class YwPointController { private final YwPointService ywPointService; @PostMapping @ApiOperation(value = "添加", notes = "添加") public Result add(@RequestBody @Validated(Add.class) YwPointForm form) { return ywPointService.add(form); } @PutMapping @ApiOperation(value = "修改", notes = "修改") public Result update(@RequestBody @Validated(Update.class) YwPointForm form) { return ywPointService.update(form); } @DeleteMapping("/{id}") @ApiOperation(value = "ID删除", notes = "ID删除") public Result removeById(@PathVariable("id") String id) { return ywPointService.removeById(id); } @DeleteMapping("/batch") @ApiOperation(value = "批量删除", notes = "批量删除") public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) { return ywPointService.remove(ids); } @PreAuthorize("@ss.hasPermi('point:page')") @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(YwPointQuery query) { return ywPointService.page(query); } @GetMapping("/{id}") @ApiOperation(value = "详情", notes = "详情") public Result detail(@PathVariable("id") String id) { return ywPointService.detail(id); } @GetMapping("/list") @ApiOperation(value = "列表", notes = "列表") public Result list() { return ywPointService.all(); } } ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
New file @@ -0,0 +1,19 @@ package com.ycl.platform.mapper; import com.ycl.platform.domain.entity.YwPoint; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.domain.form.YwPointForm; import java.util.List; import org.apache.ibatis.annotations.Mapper; /** * 运维点位 Mapper 接口 * * @author xp * @since 2024-03-05 */ @Mapper public interface YwPointMapper extends BaseMapper<YwPoint> { } ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
New file @@ -0,0 +1,65 @@ package com.ycl.platform.service; import com.ycl.platform.domain.entity.YwPoint; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.system.Result; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.query.YwPointQuery; import java.util.List; /** * 运维点位 服务类 * * @author xp * @since 2024-03-05 */ public interface YwPointService extends IService<YwPoint> { /** * 添加 * @param form * @return */ Result add(YwPointForm form); /** * 修改 * @param form * @return */ Result update(YwPointForm form); /** * 批量删除 * @param ids * @return */ Result remove(List<String> ids); /** * id删除 * @param id * @return */ Result removeById(String id); /** * 分页查询 * @param query * @return */ Result page(YwPointQuery query); /** * 根据id查找 * @param id * @return */ Result detail(String id); /** * 列表 * @return */ Result all(); } ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
New file @@ -0,0 +1,145 @@ package com.ycl.platform.service.impl; import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.mapper.YwPointMapper; import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.domain.query.YwPointQuery; import java.util.List; import org.apache.commons.lang3.StringUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.page.PageUtil; import org.springframework.stereotype.Service; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.ArrayList; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.RequiredArgsConstructor; /** * 运维点位 服务实现类 * * @author xp * @since 2024-03-05 */ @Service @RequiredArgsConstructor public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService { private final YwPointMapper ywPointMapper; /** * 添加 * @param form * @return */ @Override public Result add(YwPointForm form) { YwPoint entity = YwPointForm.getEntityByForm(form, null); if(baseMapper.insert(entity) > 0) { return Result.ok("添加成功"); } return Result.error("添加失败"); } /** * 修改 * @param form * @return */ @Override public Result update(YwPointForm form) { YwPoint entity = baseMapper.selectById(form.getId()); // 为空抛IllegalArgumentException,做全局异常处理 Assert.notNull(entity, "记录不存在"); BeanUtils.copyProperties(form, entity); if (baseMapper.updateById(entity) > 0) { return Result.ok("修改成功"); } return Result.error("修改失败"); } /** * 批量删除 * @param ids * @return */ @Override public Result remove(List<String> ids) { if(baseMapper.deleteBatchIds(ids) > 0) { return Result.ok("删除成功"); } return Result.error("删除失败"); } /** * id删除 * @param id * @return */ @Override public Result removeById(String id) { if(baseMapper.deleteById(id) > 0) { return Result.ok("删除成功"); } return Result.error("删除失败"); } /** * 分页查询 * @param query * @return */ @Override public Result page(YwPointQuery query) { IPage<YwPoint> page = new LambdaQueryChainWrapper<>(baseMapper) .orderByDesc(YwPoint::getCreateTime) .page(PageUtil.getPage(query, YwPoint.class)); List<YwPointVO> vos = page.getRecords().stream() .map( entity -> YwPointVO.getVoByEntity(entity, null) ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); } /** * 根据id查找 * @param id * @return */ @Override public Result detail(String id) { YwPoint entity = baseMapper.selectById(id); Assert.notNull(entity, "记录不存在"); YwPointVO vo = YwPointVO.getVoByEntity(entity, null); return Result.ok().data(vo); } /** * 列表 * @return */ @Override public Result all() { List<YwPoint> entities = baseMapper.selectList(null); List<YwPointVO> vos = entities.stream() .map( entity -> YwPointVO.getVoByEntity(entity, null) ) .collect(Collectors.toList()); return Result.ok().data(vos); } } ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
New file @@ -0,0 +1,16 @@ <?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.ycl.platform.mapper.YwPointMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.YwPointVO"> <result column="id" property="id" /> <result column="point_name" property="pointName" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="unit_id" property="unitId" /> <result column="status" property="status" /> <result column="remark" property="remark" /> </resultMap> </mapper>