liyong
2026-07-02 784f2aa43bf07122474628cd8165e6d404fb42a3
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
package cn.iocoder.yudao.module.mdm.service.unit;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mdm.controller.admin.unit.vo.MdmUnitMeasurePageReqVO;
import cn.iocoder.yudao.module.mdm.controller.admin.unit.vo.MdmUnitMeasureSaveReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.unit.MdmUnitMeasureDO;
import jakarta.validation.Valid;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
/**
 * MDM è®¡é‡å•位 Service æŽ¥å£
 *
 * @author èŠ‹é“æºç 
 */
public interface MdmUnitMeasureService {
    /**
     * åˆ›å»ºè®¡é‡å•位
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long createUnitMeasure(@Valid MdmUnitMeasureSaveReqVO createReqVO);
    /**
     * æ›´æ–°è®¡é‡å•位
     *
     * @param updateReqVO æ›´æ–°ä¿¡æ¯
     */
    void updateUnitMeasure(@Valid MdmUnitMeasureSaveReqVO updateReqVO);
    /**
     * æ›´æ–°è®¡é‡å•位状态
     *
     * @param id     ç¼–号
     * @param status çŠ¶æ€
     */
    void updateUnitMeasureStatus(Long id, Integer status);
    /**
     * åˆ é™¤è®¡é‡å•位
     *
     * @param id ç¼–号
     */
    void deleteUnitMeasure(Long id);
    /**
     * èŽ·å¾—è®¡é‡å•ä½
     *
     * @param id ç¼–号
     * @return è®¡é‡å•位
     */
    MdmUnitMeasureDO getUnitMeasure(Long id);
    /**
     * æ ¡éªŒè®¡é‡å•位存在
     *
     * @param id ç¼–号
     * @return è®¡é‡å•位
     */
    MdmUnitMeasureDO validateUnitMeasureExists(Long id);
    /**
     * èŽ·å¾—è®¡é‡å•ä½åˆ†é¡µ
     *
     * @param pageReqVO åˆ†é¡µæŸ¥è¯¢
     * @return è®¡é‡å•位分页
     */
    PageResult<MdmUnitMeasureDO> getUnitMeasurePage(MdmUnitMeasurePageReqVO pageReqVO);
    /**
     * èŽ·å¾—è®¡é‡å•ä½åˆ—è¡¨
     *
     * @param ids ç¼–号数组
     * @return è®¡é‡å•位列表
     */
    List<MdmUnitMeasureDO> getUnitMeasureList(Collection<Long> ids);
    /**
     * èŽ·å¾—è®¡é‡å•ä½ Map
     *
     * @param ids ç¼–号数组
     * @return è®¡é‡å•位 Map
     */
    default Map<Long, MdmUnitMeasureDO> getUnitMeasureMap(Collection<Long> ids) {
        return convertMap(getUnitMeasureList(ids), MdmUnitMeasureDO::getId);
    }
    /**
     * æ ¹æ®ç¼–码获取计量单位
     *
     * @param code å•位编码
     * @return è®¡é‡å•位
     */
    MdmUnitMeasureDO getUnitMeasureByCode(String code);
}