2026-07-02 8a7af3c27dca7eb50898995d5f64547beccc9e24
Merge remote-tracking branch 'origin/dev_business' into dev_business
已添加2个文件
已修改10个文件
407 ■■■■■ 文件已修改
docs/mdm_item_aux_unit_warehouse.md 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/sql/mdm_migration_05_item_aux_unit_warehouse.sql 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/sql/mdm_schema.sql 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemCreateReqDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemRespDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemUpdateReqDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemRespVO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemSaveReqVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/dataobject/item/MdmItemDO.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/MemberUserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/mdm_item_aux_unit_warehouse.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,158 @@
# ç‰©æ–™ä¸»æ•°æ®æ–°å¢žè¾…单位与默认仓库字段
## æ¶‰åŠé¡µé¢
- ç‰©æ–™ä¸»æ•°æ®æ–°å¢ž/编辑页面
- ç‰©æ–™ä¸»æ•°æ®åˆ—表页面
- ç‰©æ–™è¯¦æƒ…页面
## API
| æ–¹æ³• | è·¯å¾„ | è¯´æ˜Ž |
|------|------|------|
| POST | /mdm/item/create | åˆ›å»ºç‰©æ–™ï¼ˆæ–°å¢žè¾…单位、仓库字段) |
| PUT | /mdm/item/update | æ›´æ–°ç‰©æ–™ï¼ˆæ–°å¢žè¾…单位、仓库字段) |
| GET | /mdm/item/get | èŽ·å–ç‰©æ–™è¯¦æƒ…ï¼ˆæ–°å¢žè¾…å•ä½åç§°ã€ä»“åº“åç§°ï¼‰ |
| GET | /mdm/item/page | èŽ·å–ç‰©æ–™åˆ†é¡µï¼ˆæ–°å¢žè¾…å•ä½åç§°ã€ä»“åº“åç§°ï¼‰ |
**请求参数(新增字段):**
| å‚æ•° | ç±»åž‹ | å¿…å¡« | è¯´æ˜Ž |
|------|------|------|------|
| unitMeasureId2 | Long | å¦ | è¾…单位1编号,关联计量单位表 |
| unitMeasureRate1 | BigDecimal | å¦ | è¾…单位1换算比率(主单位与辅单位1的换算比率,如1ç®±=12个,则比率为12) |
| unitMeasureId3 | Long | å¦ | è¾…单位2编号,关联计量单位表 |
| unitMeasureRate2 | BigDecimal | å¦ | è¾…单位2换算比率 |
| warehouseId | Long | å¦ | é»˜è®¤ä»“库编号,关联仓库表 |
| warehouseCode | String | å¦ | é»˜è®¤ä»“库编码 |
**响应(新增字段):**
| å‚æ•° | ç±»åž‹ | è¯´æ˜Ž |
|------|------|------|
| unitMeasureId2 | Long | è¾…单位1编号 |
| unitMeasureName2 | String | è¾…单位1名称 |
| unitMeasureRate1 | BigDecimal | è¾…单位1换算比率 |
| unitMeasureId3 | Long | è¾…单位2编号 |
| unitMeasureName3 | String | è¾…单位2名称 |
| unitMeasureRate2 | BigDecimal | è¾…单位2换算比率 |
| warehouseId | Long | é»˜è®¤ä»“库编号 |
| warehouseCode | String | é»˜è®¤ä»“库编码 |
| warehouseName | String | é»˜è®¤ä»“库名称 |
## å‰ç«¯ä¿®æ”¹ç‚¹
### 1. æ–°å¢ž/编辑表单 - æ·»åŠ è¾…å•ä½å’Œä»“åº“å­—æ®µ
```html
<!-- è¾…单位1 -->
<el-form-item label="辅单位1" prop="unitMeasureId2">
  <el-select v-model="form.unitMeasureId2" placeholder="请选择辅单位1" clearable>
    <el-option
      v-for="item in unitMeasureList"
      :key="item.id"
      :label="item.name"
      :value="item.id"
    />
  </el-select>
</el-form-item>
<el-form-item label="辅单位1换算比率" prop="unitMeasureRate1">
  <el-input-number v-model="form.unitMeasureRate1" :precision="6" :min="0" placeholder="请输入换算比率" />
</el-form-item>
<!-- è¾…单位2 -->
<el-form-item label="辅单位2" prop="unitMeasureId3">
  <el-select v-model="form.unitMeasureId3" placeholder="请选择辅单位2" clearable>
    <el-option
      v-for="item in unitMeasureList"
      :key="item.id"
      :label="item.name"
      :value="item.id"
    />
  </el-select>
</el-form-item>
<el-form-item label="辅单位2换算比率" prop="unitMeasureRate2">
  <el-input-number v-model="form.unitMeasureRate2" :precision="6" :min="0" placeholder="请输入换算比率" />
</el-form-item>
<!-- é»˜è®¤ä»“库 -->
<el-form-item label="默认仓库" prop="warehouseId">
  <el-select v-model="form.warehouseId" placeholder="请选择默认仓库" clearable
             @change="handleWarehouseChange">
    <el-option
      v-for="item in warehouseList"
      :key="item.id"
      :label="item.name"
      :value="item.id"
    />
  </el-select>
</el-form-item>
```
### 2. data æ•°æ®
```js
data() {
  return {
    // ... åŽŸæœ‰æ•°æ®
    form: {
      // ... åŽŸæœ‰å­—æ®µ
      unitMeasureId2: undefined,
      unitMeasureRate1: undefined,
      unitMeasureId3: undefined,
      unitMeasureRate2: undefined,
      warehouseId: undefined,
      warehouseCode: undefined,
    },
    warehouseList: [],  // ä»“库下拉列表
  }
}
```
### 3. åˆ—表表格 - æ·»åŠ åˆ—
```html
<el-table-column label="辅单位1" align="center" prop="unitMeasureName2" />
<el-table-column label="辅单位1换算比率" align="center" prop="unitMeasureRate1" width="140" />
<el-table-column label="辅单位2" align="center" prop="unitMeasureName3" />
<el-table-column label="辅单位2换算比率" align="center" prop="unitMeasureRate2" width="140" />
<el-table-column label="默认仓库" align="center" prop="warehouseName" />
```
### 4. æ–¹æ³•
```js
// ä»“库选择变更时,同步设置仓库编码
handleWarehouseChange(warehouseId) {
  const warehouse = this.warehouseList.find(w => w.id === warehouseId);
  this.form.warehouseCode = warehouse ? warehouse.code : undefined;
},
// æ‰“开新增/编辑弹窗时,加载仓库下拉列表
async openForm(id) {
  // ... åŽŸæœ‰é€»è¾‘
  this.warehouseList = await getWarehouseSimpleList();
  // ...
}
```
### 5. API æŽ¥å£è°ƒç”¨
```js
// éœ€è¦å¼•入仓库 API
import { getWarehouseSimpleList } from '@/api/mdm/warehouse';
// æˆ–在物料 API æ–‡ä»¶ä¸­æ–°å¢žä»“库简单列表接口
// api/mdm/warehouse.js
export function getWarehouseSimpleList() {
  return request({ url: '/mdm/warehouse/simple-list', method: 'get' });
}
```
## æ³¨æ„äº‹é¡¹
- è¾…单位1和辅单位2均关联计量单位表(mdm_unit_measure),下拉选项与主单位共用同一数据源
- æ¢ç®—比率为 BigDecimal(24,6),前端使用 `el-input-number` ç»„件时需设置 `:precision="6"` ä¿æŒç²¾åº¦ä¸€è‡´
- é»˜è®¤ä»“库编码(warehouseCode)为冗余字段,选择仓库后自动填充,无需用户手动输入
- è¾…单位和默认仓库均为非必填字段
- åˆ—表页如字段较多,可考虑将辅单位信息折叠展示或仅在详情页显示
docs/sql/mdm_migration_05_item_aux_unit_warehouse.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
-- =====================================================
-- mdm_item è¡¨æ–°å¢žå­—段:辅单位、默认仓库
-- æ‰§è¡Œæ—¶é—´ï¼š2026-07-01
-- =====================================================
ALTER TABLE `mdm_item`
    ADD COLUMN `unit_measure_id2` bigint DEFAULT NULL COMMENT '辅单位1编号' AFTER `unit_measure_id`,
    ADD COLUMN `unit_measure_rate1` decimal(24,6) DEFAULT NULL COMMENT '辅单位1换算比率' AFTER `unit_measure_id2`,
    ADD COLUMN `unit_measure_id3` bigint DEFAULT NULL COMMENT '辅单位2编号' AFTER `unit_measure_rate1`,
    ADD COLUMN `unit_measure_rate2` decimal(24,6) DEFAULT NULL COMMENT '辅单位2换算比率' AFTER `unit_measure_id3`,
    ADD COLUMN `warehouse_id` bigint DEFAULT NULL COMMENT '默认仓库编号' AFTER `unit_measure_rate2`,
    ADD COLUMN `warehouse_code` varchar(50) DEFAULT NULL COMMENT '默认仓库编码' AFTER `warehouse_id`;
docs/sql/mdm_schema.sql
@@ -80,6 +80,12 @@
    `specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
    `category_id` bigint DEFAULT NULL COMMENT '物料分类编号',
    `unit_measure_id` bigint DEFAULT NULL COMMENT '计量单位编号',
    `unit_measure_id2` bigint DEFAULT NULL COMMENT '辅单位1编号',
    `unit_measure_rate1` decimal(24,6) DEFAULT NULL COMMENT '辅单位1换算比率',
    `unit_measure_id3` bigint DEFAULT NULL COMMENT '辅单位2编号',
    `unit_measure_rate2` decimal(24,6) DEFAULT NULL COMMENT '辅单位2换算比率',
    `warehouse_id` bigint DEFAULT NULL COMMENT '默认仓库编号',
    `warehouse_code` varchar(50) DEFAULT NULL COMMENT '默认仓库编码',
    `item_type` tinyint NOT NULL DEFAULT 1 COMMENT '物料类型(1:物料 2:产品 3:半成品)',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `purchase_price` decimal(24,2) DEFAULT NULL COMMENT '采购价',
yudao-module-infra/pom.xml
@@ -7,6 +7,18 @@
        <artifactId>yudao</artifactId>
        <version>${revision}</version>
    </parent>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>9</source>
                    <target>9</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>yudao-module-infra</artifactId>
    <packaging>jar</packaging>
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemCreateReqDTO.java
@@ -27,6 +27,24 @@
    @Schema(description = "计量单位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long unitMeasureId;
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
    @Schema(description = "品牌编号", example = "1")
    private Long brandId;
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemRespDTO.java
@@ -30,6 +30,24 @@
    @Schema(description = "计量单位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long unitMeasureId;
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
    @Schema(description = "品牌编号", example = "1")
    private Long brandId;
yudao-module-mdm-api/src/main/java/cn/iocoder/yudao/module/mdm/api/item/dto/MdmItemUpdateReqDTO.java
@@ -30,6 +30,24 @@
    @Schema(description = "计量单位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long unitMeasureId;
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
    @Schema(description = "品牌编号", example = "1")
    private Long brandId;
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
@@ -9,8 +9,10 @@
import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemStatusUpdateReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemDO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.unit.MdmUnitMeasureDO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.warehouse.MdmWarehouseDO;
import cn.iocoder.yudao.module.mdm.service.item.MdmItemService;
import cn.iocoder.yudao.module.mdm.service.unit.MdmUnitMeasureService;
import cn.iocoder.yudao.module.mdm.service.warehouse.MdmWarehouseService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -20,8 +22,8 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@@ -37,6 +39,9 @@
    @Resource
    private MdmUnitMeasureService unitMeasureService;
    @Resource
    private MdmWarehouseService warehouseService;
    @PostMapping("/create")
    @Operation(summary = "创建物料")
@@ -76,7 +81,11 @@
    @PreAuthorize("@ss.hasPermission('mdm:item:query')")
    public CommonResult<MdmItemRespVO> getItem(@RequestParam("id") Long id) {
        MdmItemDO item = itemService.getItem(id);
        return success(BeanUtils.toBean(item, MdmItemRespVO.class));
        MdmItemRespVO resp = BeanUtils.toBean(item, MdmItemRespVO.class);
        if (resp != null) {
            enrichItemRespVO(resp);
        }
        return success(resp);
    }
    @GetMapping("/page")
@@ -89,10 +98,39 @@
                convertSet(pageResult.getList(), MdmItemDO::getUnitMeasureId));
        // è½¬æ¢
        List<MdmItemRespVO> respList = BeanUtils.toBean(pageResult.getList(), MdmItemRespVO.class);
        // æ‰¹é‡å…³è”查询辅单位名称
        Set<Long> unitIds = new HashSet<>();
        respList.forEach(resp -> {
            if (resp.getUnitMeasureId2() != null) unitIds.add(resp.getUnitMeasureId2());
            if (resp.getUnitMeasureId3() != null) unitIds.add(resp.getUnitMeasureId3());
        });
        Map<Long, MdmUnitMeasureDO> auxUnitMap = unitIds.isEmpty() ?
                Collections.emptyMap() : unitMeasureService.getUnitMeasureMap(unitIds);
        // æ‰¹é‡å…³è”查询仓库名称
        Set<Long> warehouseIds = new HashSet<>();
        respList.forEach(resp -> {
            if (resp.getWarehouseId() != null) warehouseIds.add(resp.getWarehouseId());
        });
        Map<Long, MdmWarehouseDO> warehouseMap = warehouseIds.isEmpty() ?
                Collections.emptyMap() : warehouseService.getWarehouseList(warehouseIds).stream()
                        .collect(Collectors.toMap(MdmWarehouseDO::getId, w -> w));
        // èµ‹å€¼
        respList.forEach(resp -> {
            MdmUnitMeasureDO unit = unitMap.get(resp.getUnitMeasureId());
            if (unit != null) {
                resp.setUnitMeasureName(unit.getName());
            }
            MdmUnitMeasureDO auxUnit1 = auxUnitMap.get(resp.getUnitMeasureId2());
            if (auxUnit1 != null) {
                resp.setUnitMeasureName2(auxUnit1.getName());
            }
            MdmUnitMeasureDO auxUnit2 = auxUnitMap.get(resp.getUnitMeasureId3());
            if (auxUnit2 != null) {
                resp.setUnitMeasureName3(auxUnit2.getName());
            }
            MdmWarehouseDO warehouse = warehouseMap.get(resp.getWarehouseId());
            if (warehouse != null) {
                resp.setWarehouseName(warehouse.getName());
            }
        });
        return success(new PageResult<>(respList, pageResult.getTotal()));
@@ -107,4 +145,38 @@
        return success(BeanUtils.toBean(list, MdmItemRespVO.class));
    }
    /**
     * å¡«å……物料响应 VO çš„关联名称(主单位、辅单位、仓库名称)
     */
    private void enrichItemRespVO(MdmItemRespVO resp) {
        // ä¸»å•位名称
        if (resp.getUnitMeasureId() != null) {
            MdmUnitMeasureDO unit = unitMeasureService.getUnitMeasure(resp.getUnitMeasureId());
            if (unit != null) {
                resp.setUnitMeasureName(unit.getName());
            }
        }
        // è¾…单位1名称
        if (resp.getUnitMeasureId2() != null) {
            MdmUnitMeasureDO unit2 = unitMeasureService.getUnitMeasure(resp.getUnitMeasureId2());
            if (unit2 != null) {
                resp.setUnitMeasureName2(unit2.getName());
            }
        }
        // è¾…单位2名称
        if (resp.getUnitMeasureId3() != null) {
            MdmUnitMeasureDO unit3 = unitMeasureService.getUnitMeasure(resp.getUnitMeasureId3());
            if (unit3 != null) {
                resp.setUnitMeasureName3(unit3.getName());
            }
        }
        // é»˜è®¤ä»“库名称
        if (resp.getWarehouseId() != null) {
            MdmWarehouseDO warehouse = warehouseService.getWarehouse(resp.getWarehouseId());
            if (warehouse != null) {
                resp.setWarehouseName(warehouse.getName());
            }
        }
    }
}
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemRespVO.java
@@ -37,6 +37,33 @@
    @Schema(description = "计量单位名称", example = "个")
    private String unitMeasureName;
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
    @Schema(description = "辅单位1名称")
    private String unitMeasureName2;
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
    @Schema(description = "辅单位2名称")
    private String unitMeasureName3;
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
    @Schema(description = "默认仓库名称", example = "原料仓")
    private String warehouseName;
    @Schema(description = "品牌编号", example = "1")
    private Long brandId;
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemSaveReqVO.java
@@ -30,6 +30,24 @@
    @Schema(description = "计量单位编号", example = "1")
    private Long unitMeasureId;
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
    @Schema(description = "物料类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer itemType;
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/dataobject/item/MdmItemDO.java
@@ -164,6 +164,46 @@
    private Boolean highValue;
    /**
     * è¾…单位1编号
     *
     * å…³è” {@link MdmUnitMeasureDO#getId()}
     */
    private Long unitMeasureId2;
    /**
     * è¾…单位1换算比率
     *
     * ä¸»å•位与辅单位1的换算比率,例如 1ç®±=12个,则比率为12
     */
    private BigDecimal unitMeasureRate1;
    /**
     * è¾…单位2编号
     *
     * å…³è” {@link MdmUnitMeasureDO#getId()}
     */
    private Long unitMeasureId3;
    /**
     * è¾…单位2换算比率
     *
     * ä¸»å•位与辅单位2的换算比率
     */
    private BigDecimal unitMeasureRate2;
    /**
     * é»˜è®¤ä»“库编号
     *
     * å…³è” {@link cn.iocoder.yudao.module.mdm.dal.dataobject.warehouse.MdmWarehouseDO#getId()}
     */
    private Long warehouseId;
    /**
     * é»˜è®¤ä»“库编码
     */
    private String warehouseCode;
    /**
     * é‡é‡(kg)
     */
    private BigDecimal weight;
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/MemberUserController.java
@@ -38,7 +38,7 @@
@RestController
@RequestMapping("/member/user")
@Validated
public class MemberUserController {
public class   MemberUserController {
    @Resource
    private MemberUserService memberUserService;