Files
bj_power/bj_power_wms/internal/handler/disk_space_windows.go
T
SunYF 62e45b7379 feat: 完成附件存储重构与磁盘监控功能,同步物料档案与入库单规则更新
1.  新增跨平台磁盘空间监控能力,每日7点自动检测附件目录剩余空间,触发阈值告警
2.  重构附件存储方案为年/月/日/文件类型分层结构,统一MES与WMS的附件管理逻辑
3.  对齐物料档案与入库单的质量状态校验规则,仅合格品计入库存与出库
4.  实现入库单作废功能与区域库位的多级父子结构管理
5.  删除物料简称字段,补充规格型号与单位必填项,统一系统数据口径
6.  新增附件中心与磁盘状态查询接口,完善权限控制与操作日志
2026-09-19 10:54:15 +08:00

23 lines
624 B
Go

//go:build windows
package handler
import "golang.org/x/sys/windows"
// diskUsage 返回指定目录所在磁盘的已用百分比(0-100)、可用字节、总字节。
func diskUsage(path string) (usedPercent int, freeBytes, totalBytes uint64, err error) {
p, e := windows.UTF16PtrFromString(path)
if e != nil {
return 0, 0, 0, e
}
var freeAvail, total, totalFree uint64
if e := windows.GetDiskFreeSpaceEx(p, &freeAvail, &total, &totalFree); e != nil {
return 0, 0, 0, e
}
if total == 0 {
return 0, totalFree, total, nil
}
used := total - totalFree
return int(used * 100 / total), totalFree, total, nil
}