小程序添加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; 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.dishesnutrition.DishesNutritionDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesraw.DishesRawDO; import cn.iocoder.yudao.module.system.dal.dataobject.dishesraw.DishesRawDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
@ -73,4 +72,7 @@ public class DishesRespVO {
private List<DishesNutritionDO> dishesNutritionList; private List<DishesNutritionDO> dishesNutritionList;
@Schema(description = "菜品原材料", example = "1") @Schema(description = "菜品原材料", example = "1")
private List<DishesRawDO> dishesRawList; 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; package cn.iocoder.yudao.module.system.controller.app.dishes;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; 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.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 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.DishesPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dishes.vo.DishesRespVO; 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.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.service.dishes.DishesService; 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.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; 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.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; 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.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 菜品管理") @Tag(name = "管理后台 - 菜品管理")
@ -36,6 +31,8 @@ public class DishesAppController {
@Resource @Resource
private DishesService dishesService; private DishesService dishesService;
@Resource
private DishesNutritionService dishesNutritionService;
// @PostMapping("/create") // @PostMapping("/create")
// @Operation(summary = "创建菜品管理") // @Operation(summary = "创建菜品管理")
@ -75,7 +72,9 @@ public class DishesAppController {
// @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.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") // @GetMapping("/export-excel")

View File

@ -1,15 +1,12 @@
package cn.iocoder.yudao.module.system.dal.dataobject.dishes; 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 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 * 菜品管理 DO

View File

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

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.system.service.dishesnutrition; 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.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; 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: 计算营养百分比 * @Description: 计算营养百分比
* 计算100克的占比 * 计算100克的占比