This commit is contained in:
seesaw
2024-10-13 17:31:34 +08:00
parent bc87292829
commit 382ab2c3b0
10 changed files with 54 additions and 3 deletions

View File

@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -56,4 +57,7 @@ public class DishesPageReqVO extends PageParam {
private String weekTime; private String weekTime;
private String timeSlot; private String timeSlot;
private List<String> weekTimes;
} }

View File

@ -23,4 +23,6 @@ public class DishesTypePageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
private List<String> ids;
} }

View File

@ -76,7 +76,7 @@ public class DishesAppController {
@Operation(summary = "获得菜品管理分页") @Operation(summary = "获得菜品管理分页")
// @PreAuthorize("@ss.hasPermission('t:dishes:query')") // @PreAuthorize("@ss.hasPermission('t:dishes:query')")
public CommonResult<PageResult<DishesRespVO>> getDishesPage(@Valid DishesPageReqVO pageReqVO) { public CommonResult<PageResult<DishesRespVO>> getDishesPage(@Valid DishesPageReqVO pageReqVO) {
PageResult<DishesDO> pageResult = dishesService.getDishesPage(pageReqVO); PageResult<DishesDO> pageResult = dishesService.getDishesPageApp(pageReqVO);
PageResult<DishesRespVO> bean = BeanUtils.toBean(pageResult, DishesRespVO.class); PageResult<DishesRespVO> bean = BeanUtils.toBean(pageResult, DishesRespVO.class);
bean.getList().forEach(f-> f.setKcal(dishesNutritionService.getDishesNutritionKcal(f.getId()))); bean.getList().forEach(f-> f.setKcal(dishesNutritionService.getDishesNutritionKcal(f.getId())));
return success(bean); return success(bean);

View File

@ -75,7 +75,7 @@ public class DishesTypeAppController {
// @PreAuthorize("@ss.hasPermission('t:dishes-type:query')") // @PreAuthorize("@ss.hasPermission('t:dishes-type:query')")
public CommonResult<PageResult<DishesTypeRespVO>> getDishesTypePage(@Valid DishesTypePageReqVO pageReqVO) { public CommonResult<PageResult<DishesTypeRespVO>> getDishesTypePage(@Valid DishesTypePageReqVO pageReqVO) {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
PageResult<DishesTypeDO> pageResult = dishesTypeService.getDishesTypePage(pageReqVO); PageResult<DishesTypeDO> pageResult = dishesTypeService.getDishesTypePageApp(pageReqVO);
return success(BeanUtils.toBean(pageResult, DishesTypeRespVO.class)); return success(BeanUtils.toBean(pageResult, DishesTypeRespVO.class));
} }

View File

@ -30,6 +30,7 @@ public interface DishesMapper extends BaseMapperX<DishesDO> {
.eqIfPresent(DishesDO::getDishesVipWeighPrice, reqVO.getDishesVipWeighPrice()) .eqIfPresent(DishesDO::getDishesVipWeighPrice, reqVO.getDishesVipWeighPrice())
.eqIfPresent(DishesDO::getDishecCook, reqVO.getDishecCook()) .eqIfPresent(DishesDO::getDishecCook, reqVO.getDishecCook())
.eqIfPresent(DishesDO::getDishecType, reqVO.getDishecType()) .eqIfPresent(DishesDO::getDishecType, reqVO.getDishecType())
.inIfPresent(DishesDO::getWeekTime, reqVO.getWeekTimes())
.betweenIfPresent(DishesDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(DishesDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DishesDO::getId)); .orderByDesc(DishesDO::getId));
} }

View File

@ -24,6 +24,7 @@ public interface DishesTypeMapper extends BaseMapperX<DishesTypeDO> {
default PageResult<DishesTypeDO> selectPage(DishesTypePageReqVO reqVO) { default PageResult<DishesTypeDO> selectPage(DishesTypePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DishesTypeDO>() return selectPage(reqVO, new LambdaQueryWrapperX<DishesTypeDO>()
.inIfPresent(DishesTypeDO::getId, reqVO.getIds())
.likeIfPresent(DishesTypeDO::getDishesTypeName, reqVO.getDishesTypeName()) .likeIfPresent(DishesTypeDO::getDishesTypeName, reqVO.getDishesTypeName())
.eqIfPresent(DishesTypeDO::getCarteenId,reqVO.getCarteenId()) .eqIfPresent(DishesTypeDO::getCarteenId,reqVO.getCarteenId())
.betweenIfPresent(DishesTypeDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(DishesTypeDO::getCreateTime, reqVO.getCreateTime())

View File

@ -63,6 +63,8 @@ public interface DishesService {
*/ */
PageResult<DishesDO> getDishesPage(DishesPageReqVO pageReqVO); PageResult<DishesDO> getDishesPage(DishesPageReqVO pageReqVO);
PageResult<DishesDO> getDishesPageApp(DishesPageReqVO pageReqVO);
Map<Long,String> getDishName(List<Long> ids); Map<Long,String> getDishName(List<Long> ids);
List<DishesDO> getTodayDishes(); List<DishesDO> getTodayDishes();

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.service.dishes;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@ -67,6 +68,18 @@ public class DishesServiceImpl implements DishesService {
// 插入 // 插入
DishesDO dishes = BeanUtils.toBean(createReqVO, DishesDO.class); DishesDO dishes = BeanUtils.toBean(createReqVO, DishesDO.class);
dishes.setDeleted(Boolean.FALSE); dishes.setDeleted(Boolean.FALSE);
LocalDateTime today = LocalDateTime.now();
int hour = today.getHour();
String time = dishesMapper.getTime(hour);
String dayOfWeekInChinese = today.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE);
if(StrUtil.isBlank(createReqVO.getWeekTime())){
dishes.setWeekTime(dayOfWeekInChinese);
}
if(StrUtil.isBlank(createReqVO.getTimeSlot())){
dishes.setTimeSlot(time);
}
//计算每g多少钱 //计算每g多少钱
BigDecimal dishesSumPrice = createReqVO.getDishesSumPrice(); BigDecimal dishesSumPrice = createReqVO.getDishesSumPrice();
BigDecimal dishesNumber = createReqVO.getDishesNumber(); BigDecimal dishesNumber = createReqVO.getDishesNumber();
@ -220,6 +233,18 @@ public class DishesServiceImpl implements DishesService {
return dishesMapper.selectPage(pageReqVO); return dishesMapper.selectPage(pageReqVO);
} }
@Override
public PageResult<DishesDO> getDishesPageApp(DishesPageReqVO pageReqVO) {
LocalDateTime today = LocalDateTime.now();
String dayOfWeekInChinese = today.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE);
ArrayList<String> week = new ArrayList<>();
week.add(dayOfWeekInChinese);
week.add("整周");
pageReqVO.setWeekTimes(week);
return dishesMapper.selectPage(pageReqVO);
}
@Override @Override
public Map<Long, String> getDishName(List<Long> ids) { public Map<Long, String> getDishName(List<Long> ids) {
List<DishesDO> dishesDOS = dishesMapper.selectList(Wrappers.<DishesDO>lambdaQuery().in(DishesDO::getId, ids)); List<DishesDO> dishesDOS = dishesMapper.selectList(Wrappers.<DishesDO>lambdaQuery().in(DishesDO::getId, ids));

View File

@ -54,6 +54,9 @@ public interface DishesTypeService {
* @return 菜品分类分页 * @return 菜品分类分页
*/ */
PageResult<DishesTypeDO> getDishesTypePage(DishesTypePageReqVO pageReqVO); PageResult<DishesTypeDO> getDishesTypePage(DishesTypePageReqVO pageReqVO);
PageResult<DishesTypeDO> getDishesTypePageApp(DishesTypePageReqVO pageReqVO);
/** /**
* @Description: 通过门店编号 获得菜品分类以及菜品名称 * @Description: 通过门店编号 获得菜品分类以及菜品名称
* @Author: qjq * @Author: qjq

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.system.service.dishestype; package cn.iocoder.yudao.module.system.service.dishestype;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@ -8,12 +9,14 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypeListRespVO; import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypeListRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypeSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.dishestype.vo.DishesTypeSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishestype.DishesTypeDO; import cn.iocoder.yudao.module.system.dal.dataobject.dishestype.DishesTypeDO;
import cn.iocoder.yudao.module.system.dal.dataobject.orderdetail.OrderDetail; import cn.iocoder.yudao.module.system.dal.dataobject.orderdetail.OrderDetail;
import cn.iocoder.yudao.module.system.dal.mysql.dishes.DishesMapper; import cn.iocoder.yudao.module.system.dal.mysql.dishes.DishesMapper;
import cn.iocoder.yudao.module.system.dal.mysql.dishestype.DishesTypeMapper; import cn.iocoder.yudao.module.system.dal.mysql.dishestype.DishesTypeMapper;
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants; import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.system.enums.TimePeriodEnum; import cn.iocoder.yudao.module.system.enums.TimePeriodEnum;
import cn.iocoder.yudao.module.system.service.dishes.DishesService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -41,7 +44,7 @@ public class DishesTypeServiceImpl implements DishesTypeService {
@Resource @Resource
private DishesTypeMapper dishesTypeMapper; private DishesTypeMapper dishesTypeMapper;
@Resource @Resource
private DishesMapper dishesMapper; private DishesService dishesService;
@Override @Override
public Long createDishesType(DishesTypeSaveReqVO createReqVO) { public Long createDishesType(DishesTypeSaveReqVO createReqVO) {
// 插入 // 插入
@ -85,6 +88,16 @@ public class DishesTypeServiceImpl implements DishesTypeService {
return dishesTypeMapper.selectPage(pageReqVO); return dishesTypeMapper.selectPage(pageReqVO);
} }
@Override
public PageResult<DishesTypeDO> getDishesTypePageApp(DishesTypePageReqVO pageReqVO) {
List<DishesDO> todayDishes = dishesService.getTodayDishes();
if(CollectionUtil.isNotEmpty(todayDishes)){
List<String> ids = todayDishes.stream().map(DishesDO::getDishecType).collect(Collectors.toList());
pageReqVO.setIds(ids);
}
return dishesTypeMapper.selectPage(pageReqVO);
}
/** /**
* @param carteenId * @param carteenId
* @param startTime * @param startTime