小程序添加kcal

This commit is contained in:
qjq
2024-06-18 17:56:32 +08:00
parent f62c43c5a1
commit 2c3371be88
5 changed files with 30 additions and 22 deletions

View File

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.system.controller.admin.dishes.vo;
import cn.iocoder.yudao.module.system.controller.admin.dishesraw.vo.DishesRawSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesnutrition.DishesNutritionDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesraw.DishesRawDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
@ -73,4 +72,7 @@ public class DishesRespVO {
private List<DishesNutritionDO> dishesNutritionList;
@Schema(description = "菜品原材料", example = "1")
private List<DishesRawDO> dishesRawList;
@Schema(description = "菜品kcal")
private String kcal;
}

View File

@ -1,31 +1,26 @@
package cn.iocoder.yudao.module.system.controller.app.dishes;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
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.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
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;
import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.service.dishes.DishesService;
import cn.iocoder.yudao.module.system.service.dishesnutrition.DishesNutritionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 菜品管理")
@ -36,6 +31,8 @@ public class DishesAppController {
@Resource
private DishesService dishesService;
@Resource
private DishesNutritionService dishesNutritionService;
// @PostMapping("/create")
// @Operation(summary = "创建菜品管理")
@ -75,7 +72,9 @@ public class DishesAppController {
// @PreAuthorize("@ss.hasPermission('t:dishes:query')")
public CommonResult<PageResult<DishesRespVO>> getDishesPage(@Valid DishesPageReqVO pageReqVO) {
PageResult<DishesDO> pageResult = dishesService.getDishesPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DishesRespVO.class));
PageResult<DishesRespVO> bean = BeanUtils.toBean(pageResult, DishesRespVO.class);
bean.getList().forEach(f-> f.setKcal(dishesNutritionService.getDishesNutritionKcal(f.getId())));
return success(bean);
}
// @GetMapping("/export-excel")

View File

@ -1,15 +1,12 @@
package cn.iocoder.yudao.module.system.dal.dataobject.dishes;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.math.BigDecimal;
/**
* 菜品管理 DO

View File

@ -62,4 +62,5 @@ public interface DishesNutritionService {
* @return
*/
List<DishesNutritionDO>getDishesNutritionList(DishesNutritionPageReqVO pageReqV);
String getDishesNutritionKcal(Long dishesId);
}

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.system.service.dishesnutrition;
import cn.hutool.core.util.NumberUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
@ -106,7 +107,15 @@ public class DishesNutritionServiceImpl implements DishesNutritionService {
}
@Override
public String getDishesNutritionKcal(Long dishesId) {
DishesNutritionDO dis = dishesNutritionMapper.selectOne(new LambdaQueryWrapperX<DishesNutritionDO>()
.likeIfPresent(DishesNutritionDO::getNutritionName, "能量")
.eqIfPresent(DishesNutritionDO::getDishesId,dishesId)
.last("LIMIT 1"));
String nutritionNumber = dis.getNutritionNumber();
return NumberUtil.div(nutritionNumber, "4.184", 0).toString();
}
/**
* @Description: 计算营养百分比
* 计算100克的占比