@ -0,0 +1,27 @@
|
||||
package com.stdiet.custom.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class SysIngredentFile {
|
||||
|
||||
Long id;
|
||||
|
||||
Long igdId;
|
||||
|
||||
String fileUrl;
|
||||
|
||||
String fileName;
|
||||
|
||||
Integer delFlag;
|
||||
|
||||
String createBy;
|
||||
|
||||
Date createTime;
|
||||
|
||||
String updateBy;
|
||||
|
||||
Date updateTime;
|
||||
}
|
@ -6,6 +6,7 @@ import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 食材对象 sys_ingredient
|
||||
@ -15,8 +16,6 @@ import java.util.Date;
|
||||
*/
|
||||
@Data
|
||||
public class SysIngredient {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ -107,4 +106,11 @@ public class SysIngredient {
|
||||
|
||||
private Long[] notRecIds;
|
||||
|
||||
/**
|
||||
* 食材信息
|
||||
*/
|
||||
private String info;
|
||||
|
||||
private List<SysIngredentFile> imgList;
|
||||
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
package com.stdiet.custom.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.stdiet.custom.domain.SysIngredentFile;
|
||||
import com.stdiet.custom.domain.SysIngredient;
|
||||
import com.stdiet.custom.domain.SysIngredientNotRec;
|
||||
import com.stdiet.custom.domain.SysIngredientRec;
|
||||
@ -80,4 +82,6 @@ public interface SysIngredientMapper
|
||||
* @return
|
||||
*/
|
||||
public SysIngredient selectSysIngredientByName(@Param("name") String name);
|
||||
|
||||
int batchInsertIngredientImage(List<SysIngredentFile> list);
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
package com.stdiet.custom.service.impl;
|
||||
|
||||
import com.stdiet.common.utils.DateUtils;
|
||||
import com.stdiet.common.utils.SecurityUtils;
|
||||
import com.stdiet.common.utils.StringUtils;
|
||||
import com.stdiet.custom.domain.SysIngredentFile;
|
||||
import com.stdiet.custom.domain.SysIngredient;
|
||||
import com.stdiet.custom.domain.SysIngredientNotRec;
|
||||
import com.stdiet.custom.domain.SysIngredientRec;
|
||||
@ -60,24 +62,35 @@ public class SysIngredientServiceImpl implements ISysIngredientService {
|
||||
insertRecommand(sysIngredient);
|
||||
//
|
||||
insertNotRecommand(sysIngredient);
|
||||
//
|
||||
if (StringUtils.isNotNull(sysIngredient.getImgList())) {
|
||||
List<SysIngredentFile> fileList = sysIngredient.getImgList();
|
||||
for (SysIngredentFile file : fileList) {
|
||||
file.setId(sysIngredient.getId());
|
||||
file.setCreateBy(SecurityUtils.getUsername());
|
||||
file.setCreateTime(DateUtils.getNowDate());
|
||||
}
|
||||
sysIngredientMapper.batchInsertIngredientImage(fileList);
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增推荐标签
|
||||
*
|
||||
* @param ingredient
|
||||
*/
|
||||
public void insertRecommand(SysIngredient ingredient) {
|
||||
Long[] recIds = ingredient.getRecIds();
|
||||
if(StringUtils.isNotNull(recIds)) {
|
||||
if (StringUtils.isNotNull(recIds)) {
|
||||
List<SysIngredientRec> list = new ArrayList<SysIngredientRec>();
|
||||
for(Long recId: recIds) {
|
||||
for (Long recId : recIds) {
|
||||
SysIngredientRec rec = new SysIngredientRec();
|
||||
rec.setIngredientId(ingredient.getId());
|
||||
rec.setRecommandId(recId);
|
||||
list.add(rec);
|
||||
}
|
||||
if(list.size() > 0) {
|
||||
if (list.size() > 0) {
|
||||
sysIngredientMapper.batchIngredientRec(list);
|
||||
}
|
||||
}
|
||||
@ -85,19 +98,20 @@ public class SysIngredientServiceImpl implements ISysIngredientService {
|
||||
|
||||
/**
|
||||
* 新增不推荐标签
|
||||
*
|
||||
* @param ingredient
|
||||
*/
|
||||
public void insertNotRecommand(SysIngredient ingredient) {
|
||||
Long[] notRecIds = ingredient.getNotRecIds();
|
||||
if(StringUtils.isNotNull(notRecIds)) {
|
||||
if (StringUtils.isNotNull(notRecIds)) {
|
||||
List<SysIngredientNotRec> list = new ArrayList<SysIngredientNotRec>();
|
||||
for(Long recId: notRecIds) {
|
||||
for (Long recId : notRecIds) {
|
||||
SysIngredientNotRec notRec = new SysIngredientNotRec();
|
||||
notRec.setIngredientId(ingredient.getId());
|
||||
notRec.setRecommandId(recId);
|
||||
list.add(notRec);
|
||||
}
|
||||
if(list.size() > 0) {
|
||||
if (list.size() > 0) {
|
||||
sysIngredientMapper.batchIngredientNotRec(list);
|
||||
}
|
||||
}
|
||||
@ -148,11 +162,12 @@ public class SysIngredientServiceImpl implements ISysIngredientService {
|
||||
|
||||
/**
|
||||
* 根据食材名称查询食材信息
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public SysIngredient selectSysIngredientByName(String name){
|
||||
public SysIngredient selectSysIngredientByName(String name) {
|
||||
return sysIngredientMapper.selectSysIngredientByName(name);
|
||||
}
|
||||
}
|
@ -37,6 +37,7 @@
|
||||
where del_flag = 0
|
||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
||||
<if test="phone != null and phone != ''"> and phone like concat('%', #{phone}, '%')</if>
|
||||
<if test="fansChannel != null "> and fans_channel = #{fansChannel}</if>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
|
@ -5,21 +5,23 @@
|
||||
<mapper namespace="com.stdiet.custom.mapper.SysIngredientMapper">
|
||||
|
||||
<resultMap type="SysIngredient" id="SysIngredientResult">
|
||||
<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="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="rec" column="rec" />
|
||||
<result property="notRec" column="not_rec" />
|
||||
<result property="reviewStatus" column="review_status" />
|
||||
<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="remark" column="remark"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="rec" column="rec"/>
|
||||
<result property="notRec" column="not_rec"/>
|
||||
<result property="reviewStatus" column="review_status"/>
|
||||
<result property="info" column="info"/>
|
||||
<association property="imgList" column="id" select="selectIngredentFileById"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSysIngredientVo">
|
||||
@ -43,44 +45,44 @@
|
||||
<sql id="selectSysIngredientByPhyVo">
|
||||
SELECT * FROM sys_ingredient igd
|
||||
RIGHT JOIN(
|
||||
SELECT * FROM(
|
||||
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_rec
|
||||
<where>
|
||||
<if test="recIds != null">
|
||||
physical_signs_id in
|
||||
<foreach collection="recIds" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
) recId
|
||||
LEFT JOIN (
|
||||
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') rec FROM(
|
||||
SELECT physical_signs_id as id, ingredient_id
|
||||
FROM sys_ingredient_rec
|
||||
) rec JOIN sys_physical_signs phy USING(id)
|
||||
GROUP BY id
|
||||
) recM USING(id)
|
||||
INNER JOIN (
|
||||
SELECT * FROM(
|
||||
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_not_rec
|
||||
<where>
|
||||
<if test="notRecIds != null">
|
||||
physical_signs_id in
|
||||
<foreach collection="notRecIds" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
) notRecId
|
||||
LEFT JOIN (
|
||||
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') not_rec FROM(
|
||||
SELECT physical_signs_id as id, ingredient_id
|
||||
FROM sys_ingredient_not_rec
|
||||
) notRec JOIN sys_physical_signs phy USING(id)
|
||||
GROUP BY id
|
||||
) notRecM USING(id)
|
||||
) notRecT USING(id)
|
||||
SELECT * FROM(
|
||||
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_rec
|
||||
<where>
|
||||
<if test="recIds != null">
|
||||
physical_signs_id in
|
||||
<foreach collection="recIds" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
) recId
|
||||
LEFT JOIN (
|
||||
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') rec FROM(
|
||||
SELECT physical_signs_id as id, ingredient_id
|
||||
FROM sys_ingredient_rec
|
||||
) rec JOIN sys_physical_signs phy USING(id)
|
||||
GROUP BY id
|
||||
) recM USING(id)
|
||||
INNER JOIN (
|
||||
SELECT * FROM(
|
||||
SELECT DISTINCT(ingredient_id) as id FROM sys_ingredient_not_rec
|
||||
<where>
|
||||
<if test="notRecIds != null">
|
||||
physical_signs_id in
|
||||
<foreach collection="notRecIds" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
) notRecId
|
||||
LEFT JOIN (
|
||||
SELECT ingredient_id as id, GROUP_CONCAT(name SEPARATOR ',') not_rec FROM(
|
||||
SELECT physical_signs_id as id, ingredient_id
|
||||
FROM sys_ingredient_not_rec
|
||||
) notRec JOIN sys_physical_signs phy USING(id)
|
||||
GROUP BY id
|
||||
) notRecM USING(id)
|
||||
) notRecT USING(id)
|
||||
) recT USING(id)
|
||||
</sql>
|
||||
|
||||
@ -97,10 +99,10 @@
|
||||
</otherwise>
|
||||
</choose>
|
||||
<where>
|
||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
||||
<if test="type != null and type != ''"> and type = #{type}</if>
|
||||
<if test="area != null and area != ''"> and area = #{area}</if>
|
||||
<if test="reviewStatus != null and reviewStatus != ''"> and review_status = #{reviewStatus}</if>
|
||||
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
|
||||
<if test="type != null and type != ''">and type = #{type}</if>
|
||||
<if test="area != null and area != ''">and area = #{area}</if>
|
||||
<if test="reviewStatus != null and reviewStatus != ''">and review_status = #{reviewStatus}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@ -124,6 +126,7 @@
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="reviewStatus != null">review_status,</if>
|
||||
<if test="info != null">info,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">#{name},</if>
|
||||
@ -138,17 +141,18 @@
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="reviewStatus != null">#{reviewStatus},</if>
|
||||
<if test="info != null">#{info},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<insert id="batchIngredientRec" >
|
||||
<insert id="batchIngredientRec">
|
||||
insert into sys_ingredient_rec(ingredient_id, physical_signs_id) values
|
||||
<foreach collection="list" separator="," item="item" index="index">
|
||||
(#{item.ingredientId},#{item.recommandId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="batchIngredientNotRec" >
|
||||
<insert id="batchIngredientNotRec">
|
||||
insert into sys_ingredient_not_rec(ingredient_id, physical_signs_id) values
|
||||
<foreach collection="list" separator="," item="item" index="index">
|
||||
(#{item.ingredientId},#{item.notRecommandId})
|
||||
@ -192,6 +196,7 @@
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="reviewStatus != null">review_status = #{reviewStatus},</if>
|
||||
<if test="info != null">info = #{info},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
@ -213,4 +218,28 @@
|
||||
where name = #{name} limit 1
|
||||
</select>
|
||||
|
||||
<!-- 添加食材图片-->
|
||||
<insert id="batchInsertIngredientImage">
|
||||
insert into sys_ingredient_file(igd_id, file_url, file_name, create_by, create_time, update_by, update_time )
|
||||
values
|
||||
<foreach collection="list" separator="," item="item" index="index">
|
||||
(#{item.ingredientId},#{item.fileUrl},#{item.fileName},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<resultMap id="SysIngredentFileResult" type="SysIngredentFile">
|
||||
<result property="id" column="id"/>
|
||||
<result property="fileName" column="file_name"/>
|
||||
<result property="fileUrl" column="file_url"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 查找图片-->
|
||||
<select id="selectIngredentFileById" parameterType="Long" resultMap="SysIngredentFileResult">
|
||||
select id, file_url, file_name from sys_ingredent_file where igd_id = #{id} and del_flag = 0
|
||||
</select>
|
||||
|
||||
<!-- 删除图片记录-->
|
||||
<update id="deleteIngredentFileById" parameterType="Long">
|
||||
update sys_ingredent_file set del_flag=1 where id=#{id}
|
||||
</update>
|
||||
</mapper>
|
Reference in New Issue
Block a user