|
@@ -0,0 +1,106 @@
|
|
|
|
|
+package cn.iocoder.yudao.module.system.service.biz;
|
|
|
|
|
+
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlyBuildFloorOrderFoodPageReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlyBuildFloorOrderFoodRespVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlyBuildFloorOrderFoodSaveReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.biz.BuildDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.biz.BuildFloorDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyBuildFloorOrderFoodDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.biz.BuildFloorMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.biz.BuildMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.biz.ElderlyBuildFloorOrderFoodMapper;
|
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
+
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
|
+
|
|
|
|
|
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
|
|
+import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ELDERLY_BUILD_FLOOR_ORDER_FOOD_NOT_EXISTS;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 楼层报餐 Service 实现类
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author 系统管理员
|
|
|
|
|
+ */
|
|
|
|
|
+@Service
|
|
|
|
|
+public class ElderlyBuildFloorOrderFoodServiceImpl implements ElderlyBuildFloorOrderFoodService {
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private ElderlyBuildFloorOrderFoodMapper elderlyBuildFloorOrderFoodMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private BuildMapper buildMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private BuildFloorMapper buildFloorMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Long createElderlyBuildFloorOrderFood(ElderlyBuildFloorOrderFoodSaveReqVO createReqVO) {
|
|
|
|
|
+ // 插入
|
|
|
|
|
+ ElderlyBuildFloorOrderFoodDO orderFood = BeanUtils.toBean(createReqVO, ElderlyBuildFloorOrderFoodDO.class);
|
|
|
|
|
+ // 楼栋、楼层名称联动填充
|
|
|
|
|
+ fillBuildFloorName(orderFood);
|
|
|
|
|
+ elderlyBuildFloorOrderFoodMapper.insert(orderFood);
|
|
|
|
|
+ return orderFood.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void updateElderlyBuildFloorOrderFood(ElderlyBuildFloorOrderFoodSaveReqVO updateReqVO) {
|
|
|
|
|
+ // 校验存在
|
|
|
|
|
+ validateElderlyBuildFloorOrderFoodExists(updateReqVO.getId());
|
|
|
|
|
+ // 更新
|
|
|
|
|
+ ElderlyBuildFloorOrderFoodDO updateObj = BeanUtils.toBean(updateReqVO, ElderlyBuildFloorOrderFoodDO.class);
|
|
|
|
|
+ // 楼栋、楼层名称联动更新
|
|
|
|
|
+ fillBuildFloorName(updateObj);
|
|
|
|
|
+ elderlyBuildFloorOrderFoodMapper.updateById(updateObj);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void deleteElderlyBuildFloorOrderFood(Long id) {
|
|
|
|
|
+ // 校验存在
|
|
|
|
|
+ validateElderlyBuildFloorOrderFoodExists(id);
|
|
|
|
|
+ // 删除
|
|
|
|
|
+ elderlyBuildFloorOrderFoodMapper.deleteById(id);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public ElderlyBuildFloorOrderFoodRespVO getElderlyBuildFloorOrderFood(Long id) {
|
|
|
|
|
+ ElderlyBuildFloorOrderFoodDO orderFood = elderlyBuildFloorOrderFoodMapper.selectById(id);
|
|
|
|
|
+ return BeanUtils.toBean(orderFood, ElderlyBuildFloorOrderFoodRespVO.class);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public PageResult<ElderlyBuildFloorOrderFoodRespVO> getElderlyBuildFloorOrderFoodPage(ElderlyBuildFloorOrderFoodPageReqVO pageReqVO) {
|
|
|
|
|
+ PageResult<ElderlyBuildFloorOrderFoodDO> pageResult = elderlyBuildFloorOrderFoodMapper.selectPage(pageReqVO);
|
|
|
|
|
+ return new PageResult<>(BeanUtils.toBean(pageResult.getList(), ElderlyBuildFloorOrderFoodRespVO.class), pageResult.getTotal());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void validateElderlyBuildFloorOrderFoodExists(Long id) {
|
|
|
|
|
+ if (elderlyBuildFloorOrderFoodMapper.selectById(id) == null) {
|
|
|
|
|
+ throw exception(ELDERLY_BUILD_FLOOR_ORDER_FOOD_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 创建/更新时,根据楼栋 id、楼层 id 联动填充对应的名称
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param orderFood 楼层报餐
|
|
|
|
|
+ */
|
|
|
|
|
+ private void fillBuildFloorName(ElderlyBuildFloorOrderFoodDO orderFood) {
|
|
|
|
|
+ if (orderFood.getBuildId() != null && !StringUtils.hasText(orderFood.getBuildName())) {
|
|
|
|
|
+ BuildDO build = buildMapper.selectById(orderFood.getBuildId());
|
|
|
|
|
+ if (build != null) {
|
|
|
|
|
+ orderFood.setBuildName(build.getBuildName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (orderFood.getFloorId() != null && !StringUtils.hasText(orderFood.getFloorName())) {
|
|
|
|
|
+ BuildFloorDO floor = buildFloorMapper.selectById(orderFood.getFloorId());
|
|
|
|
|
+ if (floor != null) {
|
|
|
|
|
+ orderFood.setFloorName(floor.getFloorName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|