!255 优化食谱计划详情全查询

Merge pull request !255 from 德仔/develop
This commit is contained in:
德仔 2021-05-21 11:58:02 +08:00 committed by Gitee
commit fdf44c3624
5 changed files with 102 additions and 13 deletions

View File

@ -488,8 +488,17 @@ public class WechatAppletController extends BaseController {
} }
@GetMapping("/getRecipesPlans") @GetMapping("/getRecipesPlans")
public AjaxResult getRecipesPlans(@RequestParam String customerId) { public AjaxResult getRecipesPlans(@RequestParam String customerId, @RequestParam String openid) {
Long cusId = StringUtils.isNotEmpty(customerId) ? Long.parseLong(AesUtils.decrypt(customerId)) : 0L; Long cusId = 0L;
if (StringUtils.isNull(customerId)) {
SysWxUserInfo wxUserInfo = sysWxUserInfoService.selectSysWxUserInfoById(openid);
cusId = StringUtils.isNotNull(wxUserInfo) ? wxUserInfo.getCusId() : 0L;
} else {
cusId = StringUtils.isNotEmpty(customerId) ? Long.parseLong(AesUtils.decrypt(customerId)) : 0L;
}
if (cusId == 0L) {
return AjaxResult.error(5000, "需要手机号进一步匹配");
}
List<SysRecipesPlanListInfo> plans = sysRecipesPlanService.selectRecipesPlanListInfoByCusId(cusId); List<SysRecipesPlanListInfo> plans = sysRecipesPlanService.selectRecipesPlanListInfoByCusId(cusId);
@ -541,12 +550,12 @@ public class WechatAppletController extends BaseController {
@GetMapping("/getRecipesDetail") @GetMapping("/getRecipesDetail")
public AjaxResult getRecipesDetail(@RequestParam Long menuId) { public AjaxResult getRecipesDetail(@RequestParam Long menuId) {
return AjaxResult.success(iSysRecipesService.selectDishesByMenuId(menuId)); return AjaxResult.success(iSysRecipesService.selectDishesByMenuIdShow(menuId));
} }
@GetMapping("/getPlanDetail") @GetMapping("/getPlanDetail")
public AjaxResult getPlanDetail(@RequestParam Long planId) { public AjaxResult getPlanDetail(@RequestParam Long planId) {
return AjaxResult.success(iSysRecipesService.selectSysRecipesByRecipesId(planId)); return AjaxResult.success(iSysRecipesService.selectSysRecipesByRecipesIdShow(planId));
} }
@GetMapping("/authServer") @GetMapping("/authServer")

View File

@ -20,6 +20,8 @@ public interface SysRecipesMapper {
public List<SysRecipes> selectSysRecipesByRecipesId(Long id); public List<SysRecipes> selectSysRecipesByRecipesId(Long id);
public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id);
public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily); public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily);
public int addDishes(SysRecipesDailyDishes sysRecipesDaily); public int addDishes(SysRecipesDailyDishes sysRecipesDaily);
@ -29,4 +31,6 @@ public interface SysRecipesMapper {
public int deleteMenu(Long id); public int deleteMenu(Long id);
public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id); public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id);
public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id);
} }

View File

@ -13,8 +13,12 @@ public interface ISysRecipesService {
public List<SysRecipes> selectSysRecipesByRecipesId(Long id); public List<SysRecipes> selectSysRecipesByRecipesId(Long id);
public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id);
public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id); public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id);
public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id);
public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily); public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDaily);
public int addDishes(SysRecipesDailyDishes sysRecipesDaily); public int addDishes(SysRecipesDailyDishes sysRecipesDaily);

View File

@ -67,11 +67,21 @@ public class SysRecipesServiceImpl implements ISysRecipesService {
return sysRecipesMapper.selectSysRecipesByRecipesId(id); return sysRecipesMapper.selectSysRecipesByRecipesId(id);
} }
@Override
public List<SysRecipes> selectSysRecipesByRecipesIdShow(Long id) {
return sysRecipesMapper.selectSysRecipesByRecipesIdShow(id);
}
@Override @Override
public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id) { public List<SysRecipesDailyDishes> selectDishesByMenuId(Long id) {
return sysRecipesMapper.selectDishesByMenuId(id); return sysRecipesMapper.selectDishesByMenuId(id);
} }
@Override
public List<SysRecipesDailyDishes> selectDishesByMenuIdShow(Long id) {
return sysRecipesMapper.selectDishesByMenuIdShow(id);
}
@Override @Override
public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDailyDishes) { public int updateDishesDetail(SysRecipesDailyDishes sysRecipesDailyDishes) {
return sysRecipesMapper.updateDishesDetail(sysRecipesDailyDishes); return sysRecipesMapper.updateDishesDetail(sysRecipesDailyDishes);

View File

@ -18,7 +18,7 @@
<resultMap id="SysDishesResult" type="SysRecipesDailyDishes"> <resultMap id="SysDishesResult" type="SysRecipesDailyDishes">
<result property="dishesId" column="dishes_id"/> <result property="dishesId" column="dishes_id"/>
<result property="menuId" column="menu_id"/> <result property="menuId" column="menu_id"/>
<result property="id" column="id" /> <result property="id" column="id"/>
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="type" column="type"/> <result property="type" column="type"/>
<result property="methods" column="methods"/> <result property="methods" column="methods"/>
@ -39,13 +39,13 @@
<result property="area" column="area"/> <result property="area" column="area"/>
<result property="rec" column="rec"/> <result property="rec" column="rec"/>
<result property="notRec" column="not_rec"/> <result property="notRec" column="not_rec"/>
<result property="cusWeight" column="cus_weight" /> <result property="cusWeight" column="cus_weight"/>
<result property="cusUnit" column="cus_unit" /> <result property="cusUnit" column="cus_unit"/>
<result property="weight" column="weight" /> <result property="weight" column="weight"/>
</resultMap> </resultMap>
<select id="selectSysRecipesByRecipesId" parameterType="Long" resultMap="SysRecipesResult"> <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>
<select id="selectDishesByMenuId" parameterType="Long" resultMap="SysDishesResult"> <select id="selectDishesByMenuId" parameterType="Long" resultMap="SysDishesResult">
@ -86,7 +86,9 @@
<if test="menuId != null">menu_id = #{menuId},</if> <if test="menuId != null">menu_id = #{menuId},</if>
<if test="dishesId != null">dishes_id = #{dishesId},</if> <if test="dishesId != null">dishes_id = #{dishesId},</if>
<if test="type != null">type = #{type},</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> <if test="remark != null">remark = #{remark},</if>
</trim> </trim>
where id = #{id} where id = #{id}
@ -106,7 +108,9 @@
<if test="menuId != null">#{menuId},</if> <if test="menuId != null">#{menuId},</if>
<if test="dishesId != null">#{dishesId},</if> <if test="dishesId != null">#{dishesId},</if>
<if test="type != null">#{type},</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> <if test="remark != null">#{remark},</if>
</trim> </trim>
</insert> </insert>
@ -149,8 +153,66 @@
<insert id="bashAddDishes" useGeneratedKeys="true" keyProperty="id"> <insert id="bashAddDishes" useGeneratedKeys="true" keyProperty="id">
insert into sys_customer_menu_dishes (menu_id, type, dishes_id, remark, detail) values insert into sys_customer_menu_dishes (menu_id, type, dishes_id, remark, detail) values
<foreach collection="list" separator="," item="item" index="index"> <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> </foreach>
</insert> </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> </mapper>