From 0b973ab796edf6b53f5d005468d54a18a95ced33 Mon Sep 17 00:00:00 2001 From: huangdeliang <huangdeliang@skieer.com> Date: Fri, 21 May 2021 11:56:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A3=9F=E8=B0=B1=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=AF=A6=E6=83=85=E5=85=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/WechatAppletController.java | 4 +- .../custom/mapper/SysRecipesMapper.java | 4 + .../custom/service/ISysRecipesService.java | 4 + .../service/impl/SysRecipesServiceImpl.java | 10 +++ .../mapper/custom/SysRecipesMapper.xml | 80 ++++++++++++++++--- 5 files changed, 91 insertions(+), 11 deletions(-) diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index 9b11f3091..d30ca7002 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -550,12 +550,12 @@ public class WechatAppletController extends BaseController { @GetMapping("/getRecipesDetail") public AjaxResult getRecipesDetail(@RequestParam Long menuId) { - return AjaxResult.success(iSysRecipesService.selectDishesByMenuId(menuId)); + return AjaxResult.success(iSysRecipesService.selectDishesByMenuIdShow(menuId)); } @GetMapping("/getPlanDetail") public AjaxResult getPlanDetail(@RequestParam Long planId) { - return AjaxResult.success(iSysRecipesService.selectSysRecipesByRecipesId(planId)); + return AjaxResult.success(iSysRecipesService.selectSysRecipesByRecipesIdShow(planId)); } @GetMapping("/authServer") diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java index 5f184f629..534a39ae5 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java @@ -20,6 +20,8 @@ public interface SysRecipesMapper { public List<SysRecipes> selectSysRecipesByRecipesId(Long id); + public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id); + public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily); public int addDishes(SysRecipesDailyDishes sysRecipesDaily); @@ -29,4 +31,6 @@ public interface SysRecipesMapper { public int deleteMenu(Long id); public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id); + + public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java index 1d30b460b..b60da272a 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java @@ -13,8 +13,12 @@ public interface ISysRecipesService { public List<SysRecipes> selectSysRecipesByRecipesId(Long id); + public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id); + public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id); + public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id); + public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily); public int addDishes(SysRecipesDailyDishes sysRecipesDaily); diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java index 5ee6ef763..e11568e7a 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java @@ -67,11 +67,21 @@ public class SysRecipesServiceImpl implements ISysRecipesService { return sysRecipesMapper.selectSysRecipesByRecipesId(id); } + @Override + public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id) { + return sysRecipesMapper.selectSysRecipesByRecipesIdShow(id); + } + @Override public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id) { return sysRecipesMapper.selectDishesByMenuId(id); } + @Override + public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id) { + return sysRecipesMapper.selectDishesByMenuIdShow(id); + } + @Override public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDailyDishes) { return sysRecipesMapper.updateDishesDetail(sysRecipesDailyDishes); diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml index 72e771e3c..ad69948f1 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml @@ -18,7 +18,7 @@ <resultMap id="SysDishesResult" type="SysRecipesDailyDishes"> <result property="dishesId" column="dishes_id"/> <result property="menuId" column="menu_id"/> - <result property="id" column="id" /> + <result property="id" column="id"/> <result property="name" column="name"/> <result property="type" column="type"/> <result property="methods" column="methods"/> @@ -39,13 +39,13 @@ <result property="area" column="area"/> <result property="rec" column="rec"/> <result property="notRec" column="not_rec"/> - <result property="cusWeight" column="cus_weight" /> - <result property="cusUnit" column="cus_unit" /> - <result property="weight" column="weight" /> + <result property="cusWeight" column="cus_weight"/> + <result property="cusUnit" column="cus_unit"/> + <result property="weight" column="weight"/> </resultMap> <select id="selectSysRecipesByRecipesId" parameterType="Long" resultMap="SysRecipesResult"> - SELECT * FROM sys_customer_daily_menu WHERE recipes_id = #{id} + SELECT id, num_day, create_by, create_time, update_by, update_time, review_status FROM sys_customer_daily_menu WHERE recipes_id = #{id} </select> <select id="selectDishesByMenuId" parameterType="Long" resultMap="SysDishesResult"> @@ -86,7 +86,9 @@ <if test="menuId != null">menu_id = #{menuId},</if> <if test="dishesId != null">dishes_id = #{dishesId},</if> <if test="type != null">type = #{type},</if> - <if test="detail != null">detail = #{detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},</if> + <if test="detail != null">detail = + #{detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler}, + </if> <if test="remark != null">remark = #{remark},</if> </trim> where id = #{id} @@ -106,7 +108,9 @@ <if test="menuId != null">#{menuId},</if> <if test="dishesId != null">#{dishesId},</if> <if test="type != null">#{type},</if> - <if test="detail != null">#{detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},</if> + <if test="detail != null"> + #{detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler}, + </if> <if test="remark != null">#{remark},</if> </trim> </insert> @@ -125,7 +129,7 @@ <select id="getNumDayByCusId" parameterType="Long" resultType="Integer"> select count(*) from sys_customer_daily_menu where cus_id = #{id} </select> - + <!-- 新增食谱 --> <insert id="addRecipes" parameterType="SysRecipes" useGeneratedKeys="true" keyProperty="id"> insert into sys_customer_menu @@ -149,8 +153,66 @@ <insert id="bashAddDishes" useGeneratedKeys="true" keyProperty="id"> insert into sys_customer_menu_dishes (menu_id, type, dishes_id, remark, detail) values <foreach collection="list" separator="," item="item" index="index"> - (#{item.menuId}, #{item.type}, #{item.dishesId}, #{item.remark}, #{item.detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler}) + (#{item.menuId}, #{item.type}, #{item.dishesId}, #{item.remark}, + #{item.detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler}) </foreach> </insert> + <!-- 展示用食谱查找精简 --> + <resultMap type="SysRecipesDaily" id="SysRecipesResultShow"> + <result property="id" column="id"/> + <result property="numDay" column="num_day"/> + <result property="reviewStatus" column="review_status"/> + <association property="dishes" column="id" select="selectDishesByMenuIdShow"/> + </resultMap> + + <resultMap type="SysRecipesDailyDishes" id="SysDishesResultShow"> + <result property="dishesId" column="dishes_id"/> + <result property="menuId" column="menu_id"/> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="type" column="type"/> + <result property="methods" column="methods"/> + <result property="remark" column="remark"/> + <result property="isMain" column="is_main"/> + <result property="detail" column="detail" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler" + javaType="com.stdiet.custom.domain.SysDishesIngredient"/> + <association property="igdList" column="dishes_id" select="selectIngredientsByDishesIdShow"/> + </resultMap> + + <resultMap type="SysDishesIngredient" id="SysIgdsResultShow"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="type" column="type"/> + <result property="proteinRatio" column="protein_ratio"/> + <result property="fatRatio" column="fat_ratio"/> + <result property="carbonRatio" column="carbon_ratio"/> + <result property="area" column="area"/> + <result property="cusWeight" column="cus_weight"/> + <result property="cusUnit" column="cus_unit"/> + <result property="weight" column="weight"/> + </resultMap> + + <select id="selectSysRecipesByRecipesIdShow" parameterType="Long" resultMap="SysRecipesResultShow"> + SELECT id, num_day, review_status FROM sys_customer_daily_menu WHERE recipes_id = #{id} + </select> + + <select id="selectDishesByMenuIdShow" parameterType="Long" resultMap="SysDishesResultShow"> + SELECT * FROM (SELECT id, menu_id, dishes_id, type, detail, remark FROM sys_customer_menu_dishes WHERE menu_id = #{id}) AS menu + LEFT JOIN sys_dishes ON menu.dishes_id = sys_dishes.id + </select> + + <select id="selectIngredientsByDishesIdShow" parameterType="Long" resultMap="SysIgdsResultShow"> + SELECT * FROM( + SELECT ingredient_id AS id, ingredient_weight AS weight, cus_weight, cus_unit, remark + FROM sys_dishes_ingredient + WHERE dishes_id = #{id} + ) dishes + LEFT JOIN ( + SELECT id, name, type, protein_ratio, fat_ratio, carbon_ratio, area + FROM sys_ingredient igd + ) ing USING(id) + </select> + + </mapper> \ No newline at end of file