package cn.iocoder.yudao.module.mdm.api.item; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemCreateReqDTO; import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO; import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemUpdateReqDTO; import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemPageReqVO; import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemSaveReqVO; import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemDO; import cn.iocoder.yudao.module.mdm.dal.mysql.item.MdmItemMapper; import cn.iocoder.yudao.module.mdm.service.item.MdmItemService; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Collection; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** * MDM 物料 API 实现类 * * @author 芋道源码 */ @RestController @RequestMapping(MdmItemApi.PREFIX) @Validated public class MdmItemApiImpl implements MdmItemApi { @Resource private MdmItemService itemService; @Resource private MdmItemMapper itemMapper; @Override public CommonResult createItem(MdmItemCreateReqDTO createReqDTO) { MdmItemSaveReqVO saveReqVO = BeanUtils.toBean(createReqDTO, MdmItemSaveReqVO.class); // 设置默认状态 if (saveReqVO.getStatus() == null) { saveReqVO.setStatus(0); } return success(itemService.createItem(saveReqVO)); } @Override public CommonResult updateItem(MdmItemUpdateReqDTO updateReqDTO) { MdmItemSaveReqVO saveReqVO = BeanUtils.toBean(updateReqDTO, MdmItemSaveReqVO.class); itemService.updateItem(saveReqVO); return success(true); } @Override public CommonResult getItem(Long id) { MdmItemDO item = itemService.getItem(id); return success(BeanUtils.toBean(item, MdmItemRespDTO.class)); } @Override public CommonResult> getItemList(Collection ids) { List list = itemService.getItemList(ids); return success(BeanUtils.toBean(list, MdmItemRespDTO.class)); } @Override public CommonResult> getItemPage(Integer itemType, Integer status, Integer pageNo, Integer pageSize) { MdmItemPageReqVO pageReqVO = new MdmItemPageReqVO(); pageReqVO.setItemType(itemType); pageReqVO.setStatus(status); pageReqVO.setPageNo(pageNo); pageReqVO.setPageSize(pageSize); PageResult pageResult = itemService.getItemPage(pageReqVO); return success(BeanUtils.toBean(pageResult, MdmItemRespDTO.class)); } @Override public CommonResult> getItemListByStatus(Integer status) { MdmItemPageReqVO pageReqVO = new MdmItemPageReqVO(); pageReqVO.setStatus(status); pageReqVO.setPageNo(1); pageReqVO.setPageSize(Integer.MAX_VALUE); PageResult pageResult = itemService.getItemPage(pageReqVO); return success(BeanUtils.toBean(pageResult.getList(), MdmItemRespDTO.class)); } @Override public CommonResult validateItemExists(Long id) { MdmItemDO item = itemService.validateItemExists(id); return success(BeanUtils.toBean(item, MdmItemRespDTO.class)); } @Override public CommonResult validateItemExistsAndEnable(Long id) { MdmItemDO item = itemService.validateItemExistsAndEnable(id); return success(BeanUtils.toBean(item, MdmItemRespDTO.class)); } @Override public CommonResult getItemByCode(String code) { MdmItemDO item = itemService.getItemByCode(code); return success(BeanUtils.toBean(item, MdmItemRespDTO.class)); } @Override public CommonResult getItemByBarCode(String barCode) { MdmItemDO item = itemMapper.selectByBarCode(barCode); return success(BeanUtils.toBean(item, MdmItemRespDTO.class)); } @Override public CommonResult getItemCountByCategoryId(Long categoryId) { return success(itemService.getItemCountByCategoryId(categoryId)); } @Override public CommonResult getItemCountByUnitMeasureId(Long unitMeasureId) { return success(itemService.getItemCountByUnitMeasureId(unitMeasureId)); } @Override public CommonResult updateItemStatus(Long id, Integer status) { itemService.updateItemStatus(id, status); return success(true); } }