feat:app预约时间列表

This commit is contained in:
dzc committed 2025-04-22 10:02:29 +08:00
1 parent 7fbb8bc636
commit 2825dd8782
5 files changed
+89 -15

No files matched your search

+3 -3
View File
@@ -372,9 +372,9 @@ DROP TABLE IF EXISTS hard_appt;
CREATE TABLE hard_appt
(
id bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
title bigint NOT NULL COMMENT '标题',
start_time datetime DEFAULT NULL COMMENT '开始时间',
end_time datetime DEFAULT NULL COMMENT '结束时间',
title varchar(64) NOT NULL COMMENT '标题',
start_time time DEFAULT NULL COMMENT '开始时间',
end_time time DEFAULT NULL COMMENT '结束时间',
sort int DEFAULT 0 NOT NULL COMMENT '排序',
status varchar(32) NOT NULL COMMENT '状态',
remark varchar(256) DEFAULT NULL COMMENT '备注',
@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
import java.time.LocalTime;
/**
* 设备预约管理
@@ -31,19 +32,19 @@ public class HardApptEntity extends Model<HardApptEntity> {
* 标题
*/
@Schema(description = "标题")
private Long title;
private String title;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private LocalDateTime startTime;
private LocalTime startTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private LocalDateTime endTime;
private LocalTime endTime;
/**
* 排序
@@ -2,9 +2,11 @@ package com.bsd.pjcloud.hard.controller;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.hard.api.entity.HardApptEntity;
@@ -37,21 +39,24 @@ public class HardApptController {
/* ************************************* start app start ************************************* */
@Operation(summary = "小程序列表", description = "小程序列表")
@Operation(summary = "app预约时间列表", description = "app预约时间列表")
@GetMapping("/app/list")
public R<List<HardApptEntity>> appList() {
return R.ok(hardApptService.list(new LambdaQueryWrapper<HardApptEntity>().orderByDesc(HardApptEntity::getSort)));
List<HardApptEntity> list = hardApptService.list(new LambdaQueryWrapper<HardApptEntity>()
.eq(HardApptEntity::getStatus, YesNoEnum.YES.getCode())
.orderByDesc(HardApptEntity::getSort)
);
return R.ok(list);
}
/* ************************************* end app end ************************************* */
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('hard_hardAppt_view')")
public R getHardApptPage(@ParameterObject Page page, @ParameterObject HardApptEntity hardAppt) {
LambdaQueryWrapper<HardApptEntity> wrapper = Wrappers.lambdaQuery();
public R getHardApptPage(@ParameterObject Page page, @ParameterObject HardApptEntity dto) {
LambdaQueryWrapper<HardApptEntity> wrapper = new LambdaQueryWrapper<HardApptEntity>()
.like(ObjectUtil.isNotEmpty(dto.getTitle()), HardApptEntity::getTitle, dto.getTitle());
return R.ok(hardApptService.page(page, wrapper));
}
@@ -67,7 +72,7 @@ public class HardApptController {
@PostMapping
@PreAuthorize("@pms.hasPermission('hard_hardAppt_add')")
public R save(@RequestBody HardApptEntity hardAppt) {
return R.ok(hardApptService.save(hardAppt));
return R.ok(hardApptService.create(hardAppt));
}
@Operation(summary = "修改设备预约管理", description = "修改设备预约管理")
@@ -75,7 +80,7 @@ public class HardApptController {
@PutMapping
@PreAuthorize("@pms.hasPermission('hard_hardAppt_edit')")
public R updateById(@RequestBody HardApptEntity hardAppt) {
return R.ok(hardApptService.updateById(hardAppt));
return R.ok(hardApptService.edit(hardAppt));
}
@Operation(summary = "通过id删除设备预约管理", description = "通过id删除设备预约管理")
@@ -83,7 +88,8 @@ public class HardApptController {
@DeleteMapping
@PreAuthorize("@pms.hasPermission('hard_hardAppt_del')")
public R removeById(@RequestBody Long[] ids) {
return R.ok(hardApptService.removeBatchByIds(CollUtil.toList(ids)));
hardApptService.delByIds(CollUtil.toList(ids));
return R.ok();
}
@ResponseExcel
@@ -3,6 +3,22 @@ package com.bsd.pjcloud.hard.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.hard.api.entity.HardApptEntity;
import java.util.ArrayList;
public interface HardApptService extends IService<HardApptEntity> {
/**
* 新增
*/
Long create(HardApptEntity hardAppt);
/**
* 修改
*/
Long edit(HardApptEntity hardAppt);
/**
* 删除
*/
void delByIds(ArrayList<Long> list);
}
@@ -1,5 +1,7 @@
package com.bsd.pjcloud.hard.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.hard.api.entity.HardApptEntity;
import com.bsd.pjcloud.hard.mapper.HardApptMapper;
@@ -9,6 +11,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.ArrayList;
/**
* 设备预约管理
*/
@@ -17,4 +21,51 @@ import org.springframework.validation.annotation.Validated;
@RequiredArgsConstructor
@Service
public class HardApptServiceImpl extends ServiceImpl<HardApptMapper, HardApptEntity> implements HardApptService {
/**
* 新增
*/
@Override
public Long create(HardApptEntity dto) {
// title不能重复
if (existTitle(dto.getTitle(), null)) {
throw new RuntimeException("标题不能重复");
}
baseMapper.insert(dto);
return 0L;
}
/**
* 修改
*/
@Override
public Long edit(HardApptEntity dto) {
// title不能重复
if (existTitle(dto.getTitle(), dto.getId())) {
throw new RuntimeException("标题不能重复");
}
baseMapper.updateById(dto);
return dto.getId();
}
/**
* 删除
*/
@Override
public void delByIds(ArrayList<Long> list) {
if (ObjectUtil.isEmpty(list)) return;
baseMapper.deleteBatchIds(list);
}
private boolean existTitle(String title, Long id) {
Long count = baseMapper.selectCount(new LambdaQueryWrapper<HardApptEntity>()
.eq(ObjectUtil.isNotEmpty(title), HardApptEntity::getTitle, title)
.ne(ObjectUtil.isNotEmpty(id), HardApptEntity::getId, id)
);
if (ObjectUtil.isNotEmpty(id)) {
return count >= 1;
}
return count > 0;
}
}