营养信息-增删改查

This commit is contained in:
sxu 2025-04-17 14:34:13 +08:00
parent deac8fc77b
commit c4c8e3f7bd
7 changed files with 28 additions and 153 deletions

View File

@ -88,7 +88,7 @@ public class MenuNutritionController extends BaseController {
//@RequiresPermissions("menu:nutrition:add")
@SysLog(title = "食材营养基础信息", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增食材营养基础信息")
@PostMapping("/add")
public AjaxResult add(@RequestBody MenuNutritionDTO menuNutrition) {
public AjaxResult add(@RequestBody MenuNutrition menuNutrition) {
try {
return toAjax(menuNutritionService.insertMenuNutrition(menuNutrition));
} catch (Exception e) {
@ -104,7 +104,7 @@ public class MenuNutritionController extends BaseController {
//@RequiresPermissions("menu:nutrition:edit")
@SysLog(title = "食材营养基础信息", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改食材营养基础信息")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody MenuNutritionDTO menuNutrition) {
public AjaxResult edit(@RequestBody MenuNutrition menuNutrition) {
try {
return toAjax(menuNutritionService.updateMenuNutrition(menuNutrition));
} catch (Exception e) {

View File

@ -512,10 +512,4 @@ public class MenuNutrition extends BaseEntity {
@ApiModelProperty(value = "乐观锁")
private Long revision;
@ApiModelProperty("更新时间")
private LocalDateTime uptime;
@ApiModelProperty("创建人")
private String crby;
}

View File

@ -215,8 +215,6 @@ public class MenuNutritionDTO {
private Double polydatin;
@ApiModelProperty("备注/原产地")
private String originPlace;
@ApiModelProperty("删除标识(1删除,2正常)")
private Integer delFlag;
private Integer current;

View File

@ -44,7 +44,7 @@ public interface MenuNutritionMapper {
* @param menuNutrition 食材营养基础信息
* @return 结果
*/
public int updateMenuNutrition(MenuNutritionDTO menuNutrition);
public int updateMenuNutrition(MenuNutrition menuNutrition);
/**
* 删除食材营养基础信息
@ -67,14 +67,5 @@ public interface MenuNutritionMapper {
* @param menuNutrition 实体
* @return 食材营养基础信息
*/
MenuNutrition getOne(MenuNutritionDTO menuNutrition);
int delSuitDishesBatch(MenuNutritionDTO menuNutritionDTO);
int insertMenuSuitDishes(List<MenuSuitDishes> suitDishesList);
int delDishesEffect(MenuNutritionDTO menuNutritionDTO);
int insertMenuDishesEffect(List<MenuDishesEffectRelation> effectIdsList);
MenuNutrition queryIfExistMenuNutrition(MenuNutrition menuNutrition);
}

View File

@ -33,7 +33,7 @@ public interface IMenuNutritionService {
* @param menuNutrition 食材营养基础信息
* @return 结果
*/
public int insertMenuNutrition(MenuNutritionDTO menuNutrition);
public int insertMenuNutrition(MenuNutrition menuNutrition);
/**
* 修改食材营养基础信息
@ -41,7 +41,7 @@ public interface IMenuNutritionService {
* @param menuNutrition 食材营养基础信息
* @return 结果
*/
public int updateMenuNutrition(MenuNutritionDTO menuNutrition);
public int updateMenuNutrition(MenuNutrition menuNutrition);
/**
* 批量删除食材营养基础信息

View File

@ -4,6 +4,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.menu.domain.MenuDishesEffectRelation;
@ -18,6 +19,7 @@ import com.bonus.common.houqin.i18n.I18n;
import com.bonus.common.houqin.utils.LeBeanUtil;
import com.bonus.common.houqin.utils.id.Id;
import com.bonus.common.security.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -31,6 +33,7 @@ import com.bonus.canteen.core.menu.domain.MenuNutrition;
* @date 2025-04-03
*/
@Service
@Slf4j
public class MenuNutritionServiceImpl implements IMenuNutritionService {
@Autowired
private MenuNutritionMapper menuNutritionMapper;
@ -61,102 +64,37 @@ public class MenuNutritionServiceImpl implements IMenuNutritionService {
/**
* 新增食材营养基础信息
*
* @param menuNutritionDTO 食材营
* @param menuNutrition 食材营
* 养基础信息
* @return 结果
*/
@Override
public int insertMenuNutrition(MenuNutritionDTO menuNutritionDTO) {
try {
MenuNutrition menuNutrition = this.menuNutritionMapper.getOne(menuNutritionDTO);
String username = SecurityUtils.getUsername();
List effectIdList;
if (ObjectUtils.isNotEmpty(menuNutrition)) {
if (!DelFlagEnum.DEL_TRUE.key().equals(menuNutrition.getDelFlag())) {
throw new ServiceException(I18n.getMessage("营养信息已存在", new Object[0]));
}
//菜品功效关联
BnsUtils.copyProperties(menuNutritionDTO, menuNutrition);
List<Long> suitIdList = menuNutritionDTO.getSuitablePopulationList();
menuNutritionMapper.delSuitDishesBatch(menuNutritionDTO);
if (CollUtil.isNotEmpty(suitIdList)) {
this.insertSuitDishesBatch(suitIdList, menuNutritionDTO.getNutritionId(), username);
}
//事宜人群
effectIdList = menuNutritionDTO.getEffectList();
menuNutritionMapper.delDishesEffect(menuNutritionDTO);
if (CollUtil.isNotEmpty(effectIdList)) {
this.insertEffectBatch(effectIdList, menuNutritionDTO.getNutritionId(), username);
}
menuNutrition.setUptime(LocalDateTime.now());
menuNutrition.setDelFlag(DelFlagEnum.DEL_FALSE.key());
return menuNutritionMapper.updateMenuNutrition(menuNutritionDTO);
}else{
if(menuNutrition == null){
menuNutrition = new MenuNutrition();
}
Long nutritionId = Id.next();
menuNutrition.setNutritionId(Id.next());
menuNutrition.setCrby(username);
menuNutrition.setId(nutritionId);
BnsUtils.copyProperties(menuNutritionDTO, menuNutrition);
return menuNutritionMapper.insertMenuNutrition(menuNutrition);
}
} catch (Exception e) {
throw new ServiceException(e.toString());
public int insertMenuNutrition(MenuNutrition menuNutrition) {
MenuNutrition existMenuNutrition = menuNutritionMapper.queryIfExistMenuNutrition(menuNutrition);
if (Objects.nonNull(existMenuNutrition)) {
throw new ServiceException("应用编码或名称重复");
}
}
private void insertEffectBatch(List<Long> effectIdList, Long nutritionId, String username) {
List<MenuDishesEffectRelation> effectIdsList = new ArrayList<>();
Iterator var5 = effectIdList.iterator();
while(var5.hasNext()) {
Long effectId = (Long)var5.next();
MenuDishesEffectRelation menuDishesEffectRelation = new MenuDishesEffectRelation();
menuDishesEffectRelation.setDishesId(nutritionId);
menuDishesEffectRelation.setEffectId(effectId);
menuDishesEffectRelation.setCrby(username);
effectIdsList.add(menuDishesEffectRelation);
}
this.menuNutritionMapper.insertMenuDishesEffect(effectIdsList);
}
private void insertSuitDishesBatch(List<Long> suitIdList, Long nutritionId, String username) {
List<MenuSuitDishes> suitDishesList = new ArrayList<>();
Iterator var5 = suitIdList.iterator();
while(var5.hasNext()) {
Long suitId = (Long)var5.next();
MenuSuitDishes suitDishes = new MenuSuitDishes();
suitDishes.setDishesId(nutritionId);
suitDishes.setSuitId(suitId);
suitDishes.setCrby(username);
suitDishesList.add(suitDishes);
}
this.menuNutritionMapper.insertMenuSuitDishes(suitDishesList);
menuNutrition.setNutritionId(Id.next());
menuNutrition.setCreateBy(SecurityUtils.getUsername());
menuNutrition.setCreateTime(DateUtils.getNowDate());
return menuNutritionMapper.insertMenuNutrition(menuNutrition);
}
/**
* 修改食材营养基础信息
*
* @param menuNutritionDTO 食材营养基础信息
* @param menuNutrition 食材营养基础信息
* @return 结果
*/
@Override
public int updateMenuNutrition(MenuNutritionDTO menuNutritionDTO) {
public int updateMenuNutrition(MenuNutrition menuNutrition) {
try {
MenuNutrition menuNutrition = this.menuNutritionMapper.getOne(menuNutritionDTO);
if(menuNutrition == null){
throw new ServiceException(I18n.getMessage("营养信息不存在", new Object[0]));
}
return menuNutritionMapper.updateMenuNutrition(menuNutritionDTO);
menuNutrition.setUpdateBy(SecurityUtils.getUsername());
menuNutrition.setUpdateTime(DateUtils.getNowDate());
return menuNutritionMapper.updateMenuNutrition(menuNutrition);
} catch (Exception e) {
throw new ServiceException(e.toString());
log.error("更新营养数据出错, ", e.getMessage());
throw new ServiceException("更新营养数据出错");
}
}

View File

@ -37,7 +37,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="vitaminC" column="vitamin_c" />
<result property="vitaminD" column="vitamin_d" />
<result property="vitaminE" column="vitamin_e" />
<result property="delFlag" column="del_flag" />
<result property="choline" column="choline" />
<result property="biotin" column="biotin" />
<result property="pantothenicAcid" column="pantothenic_acid" />
@ -115,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
weight, price, color, category_id, big_type, little_type, label, processing_method,
processing_time, recommended_combination, combination_not_recommended, edible, water,
calories, protein, fat, carbohydrate, dietary_fiber, cholesterol, ash, vitamin_a, carotene,
thiamine, riboflavin, niacin, vitamin_c, vitamin_d, vitamin_e, del_flag, choline, biotin,
thiamine, riboflavin, niacin, vitamin_c, vitamin_d, vitamin_e, choline, biotin,
pantothenic_acid, guanine, adenine, hypoxanthine, xanthine, purine, glycemic_index, total_phytosterol_content,
cereal_sterol, camelia_sterol, sterol, cereal_steranol, rapesanol, rapeseed_steranol, lutein_zeaxanthin,
quercetin, myricetin, luteolin, kaem_pferol, apigenin, isoflavone, daidzein, genistein, glycitein,
@ -178,7 +177,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="vitaminC != null">vitamin_c,</if>
<if test="vitaminD != null">vitamin_d,</if>
<if test="vitaminE != null">vitamin_e,</if>
<if test="delFlag != null">del_flag,</if>
<if test="choline != null">choline,</if>
<if test="biotin != null">biotin,</if>
<if test="pantothenicAcid != null">pantothenic_acid,</if>
@ -283,7 +281,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="vitaminC != null">#{vitaminC},</if>
<if test="vitaminD != null">#{vitaminD},</if>
<if test="vitaminE != null">#{vitaminE},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="choline != null">#{choline},</if>
<if test="biotin != null">#{biotin},</if>
<if test="pantothenicAcid != null">#{pantothenicAcid},</if>
@ -365,7 +362,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="bigType != null and bigType != ''">big_type = #{bigType},</if>
<if test="littleType != null and littleType != ''">little_type = #{littleType},</if>
<if test="processingTime != null">processing_time = #{processingTime},</if>
<if test="edible != null">edible = #{edible},</if>
<if test="water != null">water = #{water},</if>
<if test="calories != null">calories = #{calories},</if>
@ -384,7 +380,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="vitaminC != null">vitamin_c = #{vitaminC},</if>
<if test="vitaminD != null">vitamin_d = #{vitaminD},</if>
<if test="vitaminE != null">vitamin_e = #{vitaminE},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="choline != null">choline = #{choline},</if>
<if test="biotin != null">biotin = #{biotin},</if>
<if test="pantothenicAcid != null">pantothenic_acid = #{pantothenicAcid},</if>
@ -459,57 +454,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<update id="deleteMenuNutritionByIds" parameterType="String">
update menu_nutrition set del_flag = '1' where id in
delete from menu_nutrition where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="getOne" resultMap="MenuNutritionResult" parameterType="com.bonus.canteen.core.menu.dto.MenuNutritionDTO">
<select id="queryIfExistMenuNutrition" resultMap="MenuNutritionResult" parameterType="com.bonus.canteen.core.menu.domain.MenuNutrition">
select *
from menu_nutrition
where nutrition_code = #{nutritionCode} or nutrition_name = #{nutritionName}
limit 1
</select>
<delete id="delSuitDishesBatch" parameterType="com.bonus.canteen.core.menu.dto.MenuNutritionDTO">
delete from menu_suit_dishes where dishesId = #{nutritionId}
</delete>
<insert id="insertMenuSuitDishes" parameterType="com.bonus.canteen.core.menu.domain.MenuSuitDishes">
insert into menu_suit_dishes
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="dishesId != null">dishes_id,</if>
<if test="suitDishesId != null">suit_id,</if>
<if test="crby != null ">crby,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="dishesId != null">#{dishesId},</if>
<if test="suit_id != null">#{suitId},</if>
<if test="crby != null ">#{crby},</if>
</trim>
</insert>
<delete id="delDishesEffect" parameterType="com.bonus.canteen.core.menu.dto.MenuNutritionDTO">
delete from menu_dishes_effect_relation where dishesId = #{nutritionId}
</delete>
<insert id="insertMenuDishesEffect" parameterType="com.bonus.canteen.core.menu.domain.MenuSuitDishes">
insert into menu_dishes_effect
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="dishesId != null">dishes_id,</if>
<if test="effectId != null">effect_id,</if>
<if test="crby != null ">crby,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="dishesId != null">#{dishesId},</if>
<if test="effectId != null">#{effectId},</if>
<if test="crby != null ">#{crby},</if>
</trim>
</insert>
</mapper>