串联功能

This commit is contained in:
huangdeliang
2021-02-27 16:57:45 +08:00
parent df485e55d0
commit 1d7b7cd259
16 changed files with 388 additions and 451 deletions

View File

@ -28,6 +28,11 @@ public class SysRecipesPlan {
private Long cusId;
/**
* 对外的用户id
*/
private String outId;
//客户ID
// private Long customerId;

View File

@ -88,9 +88,9 @@ public interface SysRecipesPlanMapper
*/
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
List<SysRecipesPlan> selectPlanListByOutId(String outId);
Long getCusIdByOutId(String outId);
List<SysRecipesPlanListInfo> selectRecipesPlanListInfo(String outId);
List<SysRecipesPlan> selectPlanListByCusId(Long cusId);
}

View File

@ -91,10 +91,26 @@ public interface ISysRecipesPlanService
*/
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
List<SysRecipesPlan> selectPlanListByOutId(String outId);
/**
* 通过outId查询cusId
* @param outId
* @return
*/
Long getCusIdByOutId(String outId);
/**
* 通过outId查询食谱计划简要
* @param outId
* @return
*/
List<SysRecipesPlanListInfo> selectRecipesPlanListInfo(String outId);
/**
* 通过客户id查询食谱计划
* @param cusId
* @return
*/
List<SysRecipesPlan> selectPlanListByCusId(Long cusId);
}

View File

@ -293,11 +293,6 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
}
@Override
public List<SysRecipesPlan> selectPlanListByOutId(String outId) {
return sysRecipesPlanMapper.selectPlanListByOutId(outId);
}
@Override
public Long getCusIdByOutId(String outId) {
return sysRecipesPlanMapper.getCusIdByOutId(outId);
@ -308,4 +303,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return sysRecipesPlanMapper.selectRecipesPlanListInfo(outId);
}
@Override
public List<SysRecipesPlan> selectPlanListByCusId(Long cusId) {
return sysRecipesPlanMapper.selectPlanListByCusId(cusId);
}
}

View File

@ -54,6 +54,7 @@ public class SysRecipesServiceImpl implements ISysRecipesService {
SysRecipesPlan sysRecipesPlan = new SysRecipesPlan();
sysRecipesPlan.setId(sysRecipes.getPlanId());
sysRecipesPlan.setRecipesId(sysRecipes.getId());
sysRecipesPlan.setReviewStatus(1);
sysRecipesPlanMapper.updateSysRecipesPlan(sysRecipesPlan);
}

View File

@ -5,52 +5,53 @@
<mapper namespace="com.stdiet.custom.mapper.SysRecipesPlanMapper">
<resultMap type="SysRecipesPlan" id="SysRecipesPlanResult">
<result property="id" column="id" />
<result property="orderId" column="order_id" />
<result property="startDate" column="start_date" />
<result property="endDate" column="end_date" />
<result property="startNumDay" column="start_num_day" />
<result property="endNumDay" column="end_num_day" />
<result property="recipesId" column="recipes_id" />
<result property="sendFlag" column="send_flag" />
<result property="sendTime" column="send_time" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
<result property="cusId" column="cus_id" />
<result property="id" column="id"/>
<result property="orderId" column="order_id"/>
<result property="startDate" column="start_date"/>
<result property="endDate" column="end_date"/>
<result property="startNumDay" column="start_num_day"/>
<result property="endNumDay" column="end_num_day"/>
<result property="recipesId" column="recipes_id"/>
<result property="sendFlag" column="send_flag"/>
<result property="sendTime" column="send_time"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
<result property="cusId" column="cus_id"/>
<result property="outId" column="out_id"/>
<!-- 非持久化字段 -->
<!-- <result property="customerId" column="cus_id"></result>&lt;!&ndash; 客户ID &ndash;&gt;-->
<result property="customer" column="customer" /><!-- 客户姓名 -->
<result property="phone" column="phone" />
<result property="reviewStatus" column="review_status" />
<result property="orderStartDate" column="order_start_date" />
<result property="orderEndDate" column="order_end_date" />
<result property="nutritionistId" column="nutritionist_id" />
<result property="nutritionist" column="nutritionist" />
<result property="nutritionistAssisId" column="nutritionist_assis_id" />
<result property="nutritionistAssis" column="nutritionist_assis" />
<!-- <result property="customerId" column="cus_id"></result>&lt;!&ndash; 客户ID &ndash;&gt;-->
<result property="customer" column="customer"/><!-- 客户姓名 -->
<result property="phone" column="phone"/>
<result property="reviewStatus" column="review_status"/>
<result property="orderStartDate" column="order_start_date"/>
<result property="orderEndDate" column="order_end_date"/>
<result property="nutritionistId" column="nutritionist_id"/>
<result property="nutritionist" column="nutritionist"/>
<result property="nutritionistAssisId" column="nutritionist_assis_id"/>
<result property="nutritionistAssis" column="nutritionist_assis"/>
</resultMap>
<sql id="selectSysRecipesPlanVo">
select id, order_id, cus_id, start_date, end_date, start_num_day, end_num_day, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag, review_status from sys_recipes_plan
</sql>
<select id="selectSysRecipesPlanList" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
<include refid="selectSysRecipesPlanVo"/> where del_flag = 0
<if test="orderId != null "> and order_id = #{orderId}</if>
<if test="cusId != null "> and cus_id = #{cusId}</if>
<if test="startDate != null "> and start_date = #{startDate}</if>
<if test="endDate != null "> and end_date = #{endDate}</if>
<if test="startNumDay != null "> and start_num_day = #{startNumDay}</if>
<if test="endNumDay != null "> and end_num_day = #{endNumDay}</if>
<if test="recipesId != null "> and recipes_id = #{recipesId}</if>
<if test="sendFlag != null "> and send_flag = #{sendFlag}</if>
<if test="sendTime != null "> and send_time = #{sendTime}</if>
<if test="reviewStatus != null "> and review_status = #{reviewStatus}</if>
<include refid="selectSysRecipesPlanVo"/>
where del_flag = 0
<if test="orderId != null ">and order_id = #{orderId}</if>
<if test="cusId != null ">and cus_id = #{cusId}</if>
<if test="startDate != null ">and start_date = #{startDate}</if>
<if test="endDate != null ">and end_date = #{endDate}</if>
<if test="startNumDay != null ">and start_num_day = #{startNumDay}</if>
<if test="endNumDay != null ">and end_num_day = #{endNumDay}</if>
<if test="recipesId != null ">and recipes_id = #{recipesId}</if>
<if test="sendFlag != null ">and send_flag = #{sendFlag}</if>
<if test="sendTime != null ">and send_time = #{sendTime}</if>
<if test="reviewStatus != null ">and review_status = #{reviewStatus}</if>
</select>
<select id="selectSysRecipesPlanById" parameterType="Long" resultMap="SysRecipesPlanResult">
@ -134,37 +135,45 @@
INSERT INTO sys_recipes_plan
(order_id, cus_id, start_date, end_date, start_num_day, end_num_day, send_flag, send_time, recipes_id)
VALUES
<foreach collection ="list" item="plan" separator =",">
(#{plan.orderId}, #{plan.cusId}, #{plan.startDate}, #{plan.endDate}, #{plan.startNumDay}, #{plan.endNumDay}, #{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId})
</foreach >
<foreach collection="list" item="plan" separator=",">
(#{plan.orderId}, #{plan.cusId}, #{plan.startDate}, #{plan.endDate}, #{plan.startNumDay}, #{plan.endNumDay},
#{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId})
</foreach>
</insert>
<!-- 根据订单ID删除对应食谱计划 -->
<update id="delRecipesPlanByOrderId" parameterType="String">
delete from sys_recipes_plan where order_id in
<foreach item="orderId" collection="array" open="(" separator="," close=")">
delete from sys_recipes_plan where order_id in
<foreach item="orderId" collection="array" open="(" separator="," close=")">
#{orderId}
</foreach>
</foreach>
</update>
<!-- 食谱计划、订单表联查 -->
<select id="selectPlanListByCondition" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
SELECT srp.id,srp.order_id,srp.recipes_id,srp.start_num_day,srp.end_num_day,srp.cus_id,sc.phone,
SELECT srp.id,srp.order_id,srp.recipes_id,srp.start_num_day,srp.end_num_day,srp.cus_id,sc.phone,
su_nutritionist.nick_name nutritionist,su_nutritionist_assis.nick_name AS nutritionist_assis,
srp.start_date,srp.end_date,srp.send_flag,srp.send_time, sc.name as customer
FROM sys_recipes_plan srp
LEFT JOIN sys_order sr ON sr.order_id = srp.order_id
LEFT JOIN sys_customer sc ON sc.id = srp.cus_id
LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = sr.nutritionist_id AND su_nutritionist.del_flag = 0
LEFT JOIN sys_user su_nutritionist_assis ON su_nutritionist_assis.user_id = sr.nutri_assis_id AND su_nutritionist_assis.del_flag = 0
WHERE srp.del_flag = 0 and sr.del_flag = 0
<if test="orderId != null">AND srp.order_id = #{orderId}</if>
srp.start_date,srp.end_date,srp.send_flag,srp.send_time, sc.name as customer, srp.review_status
FROM sys_recipes_plan srp
LEFT JOIN sys_order sr ON sr.order_id = srp.order_id
LEFT JOIN sys_customer sc ON sc.id = srp.cus_id
LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = sr.nutritionist_id AND su_nutritionist.del_flag
= 0
LEFT JOIN sys_user su_nutritionist_assis ON su_nutritionist_assis.user_id = sr.nutri_assis_id AND
su_nutritionist_assis.del_flag = 0
WHERE srp.del_flag = 0 and sr.del_flag = 0
<if test="orderId != null">AND srp.order_id = #{orderId}</if>
<if test="sendFlag != null">AND srp.send_flag = #{sendFlag}</if>
<if test="customer != null and customer != ''">AND (sc.name like concat('%',#{customer},'%') OR sc.phone like concat('%',#{customer},'%'))</if>
<if test="nutritionistId != null">AND su_nutritionist.user_id = #{nutritionistId}</if>
<if test="nutritionistAssisId != null">AND su_nutritionist_assis.user_id = #{nutritionistAssisId}</if>
<if test="startDate != null and endDate != null ">AND srp.start_date BETWEEN date_format(#{startDate},'%y%m%d') AND date_format(#{endDate},'%y%m%d') </if>
ORDER BY srp.order_id DESC,srp.id ASC
<if test="customer != null and customer != ''">AND (sc.name like concat('%',#{customer},'%') OR sc.phone like
concat('%',#{customer},'%'))
</if>
<if test="nutritionistId != null">AND su_nutritionist.user_id = #{nutritionistId}</if>
<if test="nutritionistAssisId != null">AND su_nutritionist_assis.user_id = #{nutritionistAssisId}</if>
<if test="reviewStatus != null">AND srp.review_status = #{reviewStatus}</if>
<if test="startDate != null and endDate != null ">AND srp.start_date BETWEEN date_format(#{startDate},'%y%m%d')
AND date_format(#{endDate},'%y%m%d')
</if>
ORDER BY srp.order_id DESC,srp.id ASC
</select>
<!-- 食谱计划、订单表联查 -->
<!--<select id="selectPlanListByCondition" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
@ -186,17 +195,17 @@
<!-- 根据订单ID查询食谱计划 -->
<select id="selectPlanListByOrderId" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
SELECT srp.id,srp.order_id,sr.customer,sr.phone, srp.start_date,srp.end_date,srp.send_flag,srp.send_time
FROM sys_recipes_plan srp
LEFT JOIN sys_order sr ON sr.order_id = srp.order_id
WHERE srp.del_flag = 0 AND sr.del_flag = 0 AND srp.order_id = #{orderId}
<if test="sendFlag != null">AND srp.send_flag = #{sendFlag}</if>
ORDER BY srp.id ASC
SELECT srp.id,srp.order_id,sr.customer,sr.phone, srp.start_date,srp.end_date,srp.send_flag,srp.send_time
FROM sys_recipes_plan srp
LEFT JOIN sys_order sr ON sr.order_id = srp.order_id
WHERE srp.del_flag = 0 AND sr.del_flag = 0 AND srp.order_id = #{orderId}
<if test="sendFlag != null">AND srp.send_flag = #{sendFlag}</if>
ORDER BY srp.id ASC
</select>
<!-- 根据outId查询食谱计划-->
<select id="selectPlanListByOutId" parameterType="String" resultMap="SysRecipesPlanResult">
select cus_id, recipes_id, start_num_day, end_num_day from sys_recipes_plan where out_id=#{outId} order by create_time desc
<!-- 根据cusId查询食谱计划-->
<select id="selectPlanListByCusId" parameterType="Long" resultMap="SysRecipesPlanResult">
select id, out_id, start_date, end_date, start_num_day, end_num_day, recipes_id, review_status from sys_recipes_plan where cus_id=#{cusId} order by create_time desc
</select>
<select id="getCusIdByOutId" parameterType="String" resultType="Long">
@ -204,14 +213,15 @@
</select>
<resultMap id="SysRecipesPlanListInfoResult" type="SysRecipesPlanListInfo">
<result property="id" column="id" />
<result property="startDate" column="start_date" />
<result property="endDate" column="end_date" />
<result property="startNumDay" column="start_num_day" />
<result property="endNumDay" column="end_num_day" />
<result property="id" column="id"/>
<result property="startDate" column="start_date"/>
<result property="endDate" column="end_date"/>
<result property="startNumDay" column="start_num_day"/>
<result property="endNumDay" column="end_num_day"/>
<association property="menus" column="recipes_id" select="selectMenuIds"/>
</resultMap>
<!-- 通过outId查询食谱计划简要-->
<select id="selectRecipesPlanListInfo" resultMap="SysRecipesPlanListInfoResult">
select id, start_date, end_date, start_num_day, end_num_day, recipes_id from sys_recipes_plan where out_id=#{outId}
</select>