This commit is contained in:
zjf committed 2025-08-14 15:09:52 +08:00
1 parent 72e23fbdbe
commit 687906f16c
6 files changed
+105 -6

No files matched your search

@@ -124,4 +124,20 @@ public class BoxesInfoEntity extends Model<BoxesInfoEntity> {
@Schema(description="部门id")
private Long deptId;
/**
* 获取餐桌类型
* @return 餐桌类型
*/
public Integer getTableType() {
return tableType;
}
/**
* 设置餐桌类型
* @param tableType 餐桌类型
*/
public void setTableType(Integer tableType) {
this.tableType = tableType;
}
}
@@ -185,4 +185,18 @@ public class CanteenOnlineSpuEntity extends Model<CanteenOnlineSpuEntity> {
@Schema(description="关联每日菜谱id")
private Long linkSpuId;
/**
* 菜品类型 1-常驻菜品 2-每日菜品
*/
@Schema(description="菜品类型 1-常驻菜品 2-每日菜品")
@TableField(exist = false)
private Integer dishType;
/**
* 菜品类型名称
*/
@Schema(description="菜品类型名称")
@TableField(exist = false)
private String dishTypeName;
}
@@ -54,6 +54,12 @@ public class AppBoxesInfoVO {
*/
private Integer tableType;
/**
* 餐桌类型名称
*/
@Schema(description="餐桌类型名称")
private String tableTypeName;
/**
* 商户id
*/
@@ -164,14 +164,45 @@ public class BoxesInfoController {
wrapper.eq(StrUtil.isNotBlank(boxesInfo.getName()), BoxesInfoEntity::getName, boxesInfo.getName());
wrapper.eq(ObjectUtil.isNotEmpty(boxesInfo.getStatus()), BoxesInfoEntity::getStatus, boxesInfo.getStatus());
wrapper.eq(ObjectUtil.isNotEmpty(boxesInfo.getTableType()), BoxesInfoEntity::getTableType, boxesInfo.getTableType());
Page pageResult = boxesInfo.selectPage(page, wrapper);
// 使用service的分页方法
Page<BoxesInfoEntity> pageResult = boxesInfoService.page(page, wrapper);
List<AppBoxesInfoVO> appInfoRespVOS = new ArrayList<>();
pageResult.getRecords().forEach(x -> {
AppBoxesInfoVO appBoxesInfoVO = com.bsd.pjcloud.common.core.util.BeanUtils.toBean(x, AppBoxesInfoVO.class);
// 转换餐桌类型
Integer tableType = x.getTableType();
if (tableType != null) {
switch (tableType) {
case 1:
appBoxesInfoVO.setTableTypeName("小桌(2-4人)");
break;
case 2:
appBoxesInfoVO.setTableTypeName("中桌(4-6人)");
break;
case 3:
appBoxesInfoVO.setTableTypeName("大桌(6-8人)");
break;
case 4:
appBoxesInfoVO.setTableTypeName("包间(8人以上)");
break;
default:
appBoxesInfoVO.setTableTypeName("未知类型");
break;
}
}
appInfoRespVOS.add(appBoxesInfoVO);
});
pageResult.setRecords(appInfoRespVOS);
return R.ok(pageResult);
// 创建新的Page对象,避免类型转换问题
Page<AppBoxesInfoVO> resultPage = new Page<>();
resultPage.setCurrent(pageResult.getCurrent());
resultPage.setSize(pageResult.getSize());
resultPage.setTotal(pageResult.getTotal());
resultPage.setRecords(appInfoRespVOS);
return R.ok(resultPage);
}
@PostMapping("/createBooking")
@@ -50,15 +50,30 @@ public class CanteenOnlineSpuController {
*
* @param page 分页对象
* @param canteenOnlineSpu 在线点餐spu
* @param dishType 菜品类型筛选:1-常驻菜品(linkSpuId为空),2-每日菜品(linkSpuId不为空)
* @return
*/
@Operation(summary = "分页查询", description = "分页查询")
@Operation(summary = "分页查询", description = "分页查询,支持按菜品类型筛选:1-常驻菜品,2-每日菜品")
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('canteen_canteenOnlineSpu_view')")
public R getCanteenOnlineSpuPage(@ParameterObject Page page, @ParameterObject CanteenOnlineSpuEntity canteenOnlineSpu) {
public R getCanteenOnlineSpuPage(@ParameterObject Page page,
@ParameterObject CanteenOnlineSpuEntity canteenOnlineSpu,
@RequestParam(value = "dishType", required = false) Integer dishType) {
LambdaQueryWrapper<CanteenOnlineSpuEntity> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotBlank(canteenOnlineSpu.getName()), CanteenOnlineSpuEntity::getName, canteenOnlineSpu.getName());
wrapper.eq(Objects.nonNull(canteenOnlineSpu.getCategoryId()), CanteenOnlineSpuEntity::getCategoryId, canteenOnlineSpu.getCategoryId());
// 根据菜品类型筛选
if (Objects.nonNull(dishType)) {
if (dishType == 1) {
// 1-常驻菜品:linkSpuId为空
wrapper.isNull(CanteenOnlineSpuEntity::getLinkSpuId);
} else if (dishType == 2) {
// 2-每日菜品:linkSpuId不为空
wrapper.isNotNull(CanteenOnlineSpuEntity::getLinkSpuId);
}
}
return R.ok(canteenOnlineSpuService.pageScope(page, wrapper));
}
@@ -32,6 +32,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.Objects;
import cn.hutool.core.collection.CollUtil;
/**
* 在线点餐spu
@@ -167,6 +168,22 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl<CanteenOnlineSpuMap
@Override
public Object pageScope(Page page, LambdaQueryWrapper<CanteenOnlineSpuEntity> wrapper) {
return baseMapper.selectPageByScope(page, wrapper, DataScope.of());
Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
List<CanteenOnlineSpuEntity> records = pageData.getRecords();
if (CollUtil.isNotEmpty(records)) {
// 为每条记录添加菜品类型标识
records.forEach(record -> {
if (record.getLinkSpuId() == null) {
record.setDishTypeName("常驻菜品");
record.setDishType(1);
} else {
record.setDishTypeName("每日菜品");
record.setDishType(2);
}
});
}
return pageData;
}
}