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