dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java
@@ -25,13 +25,13 @@ /** * 景区运行数据 * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/sc/sceneryOperationData") @RequestMapping("/demo/sceneryOperationData") public class RsSceneryOperationDataController extends BaseController { private final IRsSceneryOperationDataService rsSceneryOperationDataService; @@ -39,7 +39,7 @@ /** * 查询景区运行数据列表 */ @SaCheckPermission("rs:sceneryOperationData:list") @SaCheckPermission("demo:sceneryOperationData:list") @GetMapping("/list") public TableDataInfo<RsSceneryOperationDataVo> list(RsSceneryOperationDataBo bo, PageQuery pageQuery) { return rsSceneryOperationDataService.queryPageList(bo, pageQuery); @@ -48,7 +48,7 @@ /** * 导出景区运行数据列表 */ @SaCheckPermission("rs:sceneryOperationData:export") @SaCheckPermission("demo:sceneryOperationData:export") @Log(title = "景区运行数据", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(RsSceneryOperationDataBo bo, HttpServletResponse response) { @@ -61,17 +61,17 @@ * * @param id 主键 */ @SaCheckPermission("rs:sceneryOperationData:query") @SaCheckPermission("demo:sceneryOperationData:query") @GetMapping("/{id}") public R<RsSceneryOperationDataVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @PathVariable String id) { return R.ok(rsSceneryOperationDataService.queryById(id)); } /** * 新增景区运行数据 */ @SaCheckPermission("system:sceneryOperationData:add") @SaCheckPermission("demo:sceneryOperationData:add") @Log(title = "景区运行数据", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -82,7 +82,7 @@ /** * 修改景区运行数据 */ @SaCheckPermission("system:sceneryOperationData:edit") @SaCheckPermission("demo:sceneryOperationData:edit") @Log(title = "景区运行数据", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -95,11 +95,11 @@ * * @param ids 主键串 */ @SaCheckPermission("system:sceneryOperationData:remove") @SaCheckPermission("demo:sceneryOperationData:remove") @Log(title = "景区运行数据", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { @PathVariable String[] ids) { return toAjax(rsSceneryOperationDataService.deleteWithValidByIds(List.of(ids), true)); } } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsSceneryOperationData.java
@@ -6,17 +6,17 @@ import lombok.EqualsAndHashCode; import java.io.Serial; import java.util.Date; /** * 景区运行数据对象 rs_scenery_operation_data * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ @Data //@EqualsAndHashCode(callSuper = true) @TableName("rs_scenery_operation_data") public class RsSceneryOperationData { public class RsSceneryOperationData { @Serial private static final long serialVersionUID = 1L; @@ -25,17 +25,27 @@ * id */ @TableId(value = "id") private Long id; private String id; /** * 周期年 * 景区id */ private Long periodYear; private String sceneryInfoId; /** * 周期月 * 景区名称 */ private Long periodMonth; private String sceneryInfoName; /** * 年度/月度 1年度 2月度 */ private Long period; /** * 周期 */ private String periodDate; /** * 车流量 @@ -77,10 +87,6 @@ */ private Long status; /** * 景区id */ private Long scId; private Date createTime; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsSceneryOperationDataBo.java
@@ -12,8 +12,8 @@ /** * 景区运行数据业务对象 rs_scenery_operation_data * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ @Data @EqualsAndHashCode(callSuper = true) @@ -23,20 +23,32 @@ /** * id */ @NotNull(message = "id不能为空", groups = { EditGroup.class }) private Long id; @NotBlank(message = "id不能为空", groups = { EditGroup.class }) private String id; /** * 周期年 * 景区id */ @NotNull(message = "周期年不能为空", groups = { AddGroup.class, EditGroup.class }) private Long periodYear; @NotBlank(message = "景区id不能为空", groups = { AddGroup.class, EditGroup.class }) private String sceneryInfoId; /** * 周期月 * 景区名称 */ @NotNull(message = "周期月不能为空", groups = { AddGroup.class, EditGroup.class }) private Long periodMonth; @NotBlank(message = "景区名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String sceneryInfoName; /** * 年度/月度 1年度 2月度 */ @NotNull(message = "年度/月度 1年度 2月度不能为空", groups = { AddGroup.class, EditGroup.class }) private Long period; /** * 周期 */ @NotBlank(message = "周期不能为空", groups = { AddGroup.class, EditGroup.class }) private String periodDate; /** * 车流量 @@ -85,12 +97,6 @@ */ @NotNull(message = "状态 1启用 0未启用不能为空", groups = { AddGroup.class, EditGroup.class }) private Long status; /** * 景区id */ @NotNull(message = "景区id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long scId; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsSceneryOperationDataVo.java
@@ -17,8 +17,8 @@ /** * 景区运行数据视图对象 rs_scenery_operation_data * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ @Data @ExcelIgnoreUnannotated @@ -32,19 +32,31 @@ * id */ @ExcelProperty(value = "id") private Long id; private String id; /** * 周期年 * 景区id */ @ExcelProperty(value = "周期年") private Long periodYear; @ExcelProperty(value = "景区id") private String sceneryInfoId; /** * 周期月 * 景区名称 */ @ExcelProperty(value = "周期月") private Long periodMonth; @ExcelProperty(value = "景区名称") private String sceneryInfoName; /** * 年度/月度 1年度 2月度 */ @ExcelProperty(value = "年度/月度 1年度 2月度") private Long period; /** * 周期 */ @ExcelProperty(value = "周期") private String periodDate; /** * 车流量 @@ -95,10 +107,10 @@ private Long status; /** * 景区id * 创建时间 */ @ExcelProperty(value = "景区id") private Long scId; @ExcelProperty(value = "创建时间") private Date createTime; } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsSceneryOperationDataMapper.java
@@ -7,8 +7,8 @@ /** * 景区运行数据Mapper接口 * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ public interface RsSceneryOperationDataMapper extends BaseMapperPlus<RsSceneryOperationData, RsSceneryOperationDataVo> { dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsSceneryOperationDataService.java
@@ -12,15 +12,15 @@ /** * 景区运行数据Service接口 * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ public interface IRsSceneryOperationDataService { /** * 查询景区运行数据 */ RsSceneryOperationDataVo queryById(Long id); RsSceneryOperationDataVo queryById(String id); /** * 查询景区运行数据列表 @@ -45,5 +45,5 @@ /** * 校验并批量删除景区运行数据信息 */ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); } dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java
@@ -1,29 +1,31 @@ package org.dromara.demo.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.demo.domain.RsSceneryOperationData; import org.dromara.demo.domain.bo.RsSceneryOperationDataBo; import org.dromara.demo.domain.vo.RsSceneryOperationDataVo; import org.dromara.demo.domain.RsSceneryOperationData; import org.dromara.demo.mapper.RsSceneryOperationDataMapper; import org.dromara.demo.service.IRsSceneryOperationDataService; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Collection; /** * 景区运行数据Service业务层处理 * * @author Lion Li * @date 2024-02-27 * @author gonghl * @date 2024-03-05 */ @RequiredArgsConstructor @Service @@ -35,7 +37,7 @@ * 查询景区运行数据 */ @Override public RsSceneryOperationDataVo queryById(Long id){ public RsSceneryOperationDataVo queryById(String id){ return baseMapper.selectVoById(id); } @@ -61,17 +63,10 @@ private LambdaQueryWrapper<RsSceneryOperationData> buildQueryWrapper(RsSceneryOperationDataBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<RsSceneryOperationData> lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getPeriodYear() != null, RsSceneryOperationData::getPeriodYear, bo.getPeriodYear()); lqw.eq(bo.getPeriodMonth() != null, RsSceneryOperationData::getPeriodMonth, bo.getPeriodMonth()); lqw.eq(bo.getCarFlowNum() != null, RsSceneryOperationData::getCarFlowNum, bo.getCarFlowNum()); lqw.eq(bo.getPersonFlowNum() != null, RsSceneryOperationData::getPersonFlowNum, bo.getPersonFlowNum()); lqw.eq(bo.getVisitorSubNum() != null, RsSceneryOperationData::getVisitorSubNum, bo.getVisitorSubNum()); lqw.eq(bo.getEnterGardenNum() != null, RsSceneryOperationData::getEnterGardenNum, bo.getEnterGardenNum()); lqw.eq(bo.getOnPolice() != null, RsSceneryOperationData::getOnPolice, bo.getOnPolice()); lqw.eq(bo.getOnPaddyWagon() != null, RsSceneryOperationData::getOnPaddyWagon, bo.getOnPaddyWagon()); lqw.eq(bo.getStandbyPolice() != null, RsSceneryOperationData::getStandbyPolice, bo.getStandbyPolice()); lqw.like(StringUtils.isNotBlank(bo.getSceneryInfoName()), RsSceneryOperationData::getSceneryInfoName, bo.getSceneryInfoName()); lqw.eq(StringUtils.isNotBlank(bo.getPeriodDate()), RsSceneryOperationData::getPeriodDate, bo.getPeriodDate()); lqw.eq(bo.getStatus() != null, RsSceneryOperationData::getStatus, bo.getStatus()); lqw.eq(bo.getScId() != null, RsSceneryOperationData::getScId, bo.getScId()); lqw.orderByDesc(RsSceneryOperationData::getCreateTime); return lqw; } @@ -86,6 +81,12 @@ if (flag) { bo.setId(add.getId()); } // 启用新数据将其余同类型数据改为禁用 if (bo.getStatus().equals(1L)) { LambdaUpdateWrapper<RsSceneryOperationData> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.ne(RsSceneryOperationData::getId, bo.getId()).eq(RsSceneryOperationData::getSceneryInfoId, bo.getSceneryInfoId()).set(RsSceneryOperationData::getStatus, 2); baseMapper.update(updateWrapper); } return flag; } @@ -95,7 +96,12 @@ @Override public Boolean updateByBo(RsSceneryOperationDataBo bo) { RsSceneryOperationData update = MapstructUtils.convert(bo, RsSceneryOperationData.class); validEntityBeforeSave(update); // 启用新数据将其余同类型数据改为禁用 if (bo.getStatus().equals(1L)) { LambdaUpdateWrapper<RsSceneryOperationData> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.ne(RsSceneryOperationData::getId, bo.getId()).eq(RsSceneryOperationData::getSceneryInfoId, bo.getSceneryInfoId()).set(RsSceneryOperationData::getStatus, 2); baseMapper.update(updateWrapper); } return baseMapper.updateById(update) > 0; } @@ -103,14 +109,14 @@ * 保存前的数据校验 */ private void validEntityBeforeSave(RsSceneryOperationData entity){ //TODO 做一些数据校验,如唯一约束 entity.setCreateTime(new Date()); } /** * 批量删除景区运行数据 */ @Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsSceneryOperationDataMapper.xml
New file @@ -0,0 +1,7 @@ <?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="org.dromara.demo.mapper.RsSceneryOperationDataMapper"> </mapper>