食堂门店

This commit is contained in:
zt
2025-01-04 14:27:49 +08:00
parent 78fd0a3785
commit 257f7e4f42
22 changed files with 431 additions and 25 deletions

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.api.dish;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.api.dish.dto.DishExcelDto;
import cn.iocoder.yudao.module.system.api.dish.dto.DishesRespDto;
import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.service.dishes.DishesService;
@ -38,4 +39,9 @@ public class DishesApiImpl implements DishesApi {
List<DishesDO> dishesList = dishesService.getDishesList(ids);
return BeanUtils.toBean(dishesList, DishesRespDto.class);
}
@Override
public void exportDish(List<DishExcelDto> dishExcels,Long storeId) {
dishesService.exportDish(dishExcels,storeId);
}
}

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.system.service.dishes;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.api.dish.dto.DishExcelDto;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesSaveReqVO;
@ -70,4 +71,6 @@ public interface DishesService {
List<DishesDO> getTodayDishes();
List<DishesDO> getTodayDishesNew();
void exportDish(List<DishExcelDto> dishExcels, Long storeId);
}

View File

@ -1,11 +1,14 @@
package cn.iocoder.yudao.module.system.service.dishes;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.api.dish.dto.DishExcelDto;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesSaveReqVO;
@ -18,13 +21,16 @@ import cn.iocoder.yudao.module.system.controller.app.dishes.vo.AppUpdateVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesnutrition.DishesNutritionDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesraw.DishesRawDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishestype.DishesTypeDO;
import cn.iocoder.yudao.module.system.dal.mysql.dishes.DishesMapper;
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.system.service.deviceinfo.DeviceInfoService;
import cn.iocoder.yudao.module.system.service.dishesnutrition.DishesNutritionService;
import cn.iocoder.yudao.module.system.service.dishesraw.DishesRawService;
import cn.iocoder.yudao.module.system.service.dishestype.DishesTypeService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.SneakyThrows;
import org.aspectj.weaver.ast.Var;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -62,7 +68,8 @@ public class DishesServiceImpl implements DishesService {
private DeviceInfoService deviceInfoService;
@Resource
private HttpServletRequest httpServletRequest;
@Resource
private DishesTypeService dishesTypeService;
@Override
@SneakyThrows
@ -321,11 +328,51 @@ public class DishesServiceImpl implements DishesService {
}
}
public String getToday(){
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return currentDate.format(formatter);
}
@Override
public void exportDish(List<DishExcelDto> dishExcels, Long storeId) {
for (DishExcelDto vo:dishExcels){
List<DishesDO> dishesDOS = dishesMapper.selectList(Wrappers.<DishesDO>lambdaQuery()
.eq(DishesDO::getCarteenId, storeId)
.eq(DishesDO::getDishesName, vo.getName()));
if(CollectionUtil.isNotEmpty(dishesDOS)){
continue;
}
// 插入
DishesDO dishes = new DishesDO();
dishes.setDishesName(vo.getName());
dishes.setDishesSumPrice(vo.getMoney());
dishes.setDeleted(Boolean.FALSE);
dishes.setCarteenId(storeId);
dishes.setDishesNumber(new BigDecimal("50"));
DishesTypeDO byName = dishesTypeService.getByName(vo.getType(), storeId);
dishes.setDishecType(ObjectUtil.isNotEmpty(byName)?byName.getId().toString():null);
LocalDateTime today = LocalDateTime.now();
int hour = today.getHour();
String time = dishesMapper.getTime(hour);
String dayOfWeekInChinese = getToday();
dishes.setWeekTime(dayOfWeekInChinese);
dishes.setTimeSlot(time);
//计算每g多少钱
BigDecimal dishesSumPrice = vo.getMoney();
BigDecimal dishesNumber = new BigDecimal("50");
BigDecimal div = NumberUtil.div(dishesSumPrice, dishesNumber, 2);
//避免计算出每克价格约 为0
if (div.floatValue() <= 0.00f) {
dishes.setDishesBasePrice(new BigDecimal("0.01"));
} else {
dishes.setDishesBasePrice(div);
}
dishesMapper.insert(dishes);
}
}
}

View File

@ -67,5 +67,5 @@ public interface DishesTypeService {
List<DishesTypeDO> getList();
DishesTypeDO getByName(String name,Long carteenId);
}

View File

@ -44,8 +44,7 @@ public class DishesTypeServiceImpl implements DishesTypeService {
@Resource
private DishesTypeMapper dishesTypeMapper;
@Resource
private DishesService dishesService;
@Override
public Long createDishesType(DishesTypeSaveReqVO createReqVO) {
// 插入
@ -166,4 +165,13 @@ public class DishesTypeServiceImpl implements DishesTypeService {
public List<DishesTypeDO> getList() {
return dishesTypeMapper.selectList();
}
@Override
public DishesTypeDO getByName(String name,Long carteenId) {
LambdaQueryWrapper<DishesTypeDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DishesTypeDO::getDishesTypeName,name);
wrapper.eq(DishesTypeDO::getCarteenId,carteenId);
List<DishesTypeDO> dishesTypeDOS = dishesTypeMapper.selectList(wrapper);
return CollectionUtil.isNotEmpty(dishesTypeDOS)?dishesTypeDOS.get(0):null;
}
}