From d512ec4435018fe7039cfd0366d98f6c06e74ba1 Mon Sep 17 00:00:00 2001 From: qhd <1766646056@qq.com> Date: Wed, 1 Jul 2026 19:35:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E5=89=A9=E4=BD=99=E9=87=91=E9=A2=9D=E5=AD=97=E6=AE=B5=E5=8F=8A?= =?UTF-8?q?=E8=87=AA=E5=A2=9E=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/v1/system/tenant.go | 1 + internal/app/system/dao/internal/tenant.go | 2 ++ internal/app/system/logic/tenant/tenant.go | 13 ++++++++++++- internal/app/system/model/do/tenant.go | 1 + internal/app/system/model/entity/tenant.go | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/api/v1/system/tenant.go b/api/v1/system/tenant.go index 8f85120..0d63b98 100644 --- a/api/v1/system/tenant.go +++ b/api/v1/system/tenant.go @@ -51,6 +51,7 @@ type TenantEditReq struct { TenantType consts.TenantType `p:"tenantType"` CityCode string `p:"cityCode"` BusinessLicense string `p:"businessLicense"` + Surplus float64 `p:"surplus"` commonApi.Author } diff --git a/internal/app/system/dao/internal/tenant.go b/internal/app/system/dao/internal/tenant.go index 1fbade7..f85005e 100644 --- a/internal/app/system/dao/internal/tenant.go +++ b/internal/app/system/dao/internal/tenant.go @@ -30,6 +30,7 @@ type TenantColumns struct { CityCode string // 城市编码 BusinessLicense string // 营业执照 TenantSource string // 租户来源 + Surplus string // 剩余金额 } // tenantColumns holds the columns for table sys_user. @@ -44,6 +45,7 @@ var tenantColumns = TenantColumns{ CityCode: "city_code", BusinessLicense: "business_license", TenantSource: "tenant_source", + Surplus: "surplus", } // NewTenantDao creates and returns a new DAO object for table data access. diff --git a/internal/app/system/logic/tenant/tenant.go b/internal/app/system/logic/tenant/tenant.go index 904fd69..214d561 100644 --- a/internal/app/system/logic/tenant/tenant.go +++ b/internal/app/system/logic/tenant/tenant.go @@ -258,7 +258,18 @@ func (s *sTenant) Edit(ctx context.Context, req *system.TenantEditReq) (err erro if !g.IsEmpty(req.TenantType) { tenant.TenantType = req.TenantType } - _, err = dao.TenantDao.Ctx(ctx).TX(tx).WherePri(req.Id).Update(tenant) + _, err = dao.TenantDao.Ctx(ctx).TX(tx).WherePri(req.Id).OmitEmpty().Update(tenant) + // 第二步:单独执行 Surplus 自增/自减(纯Counter,官方标准用法) + if !g.IsEmpty(req.Surplus) { + delta := gconv.Float64(req.Surplus) + _, err = dao.TenantDao.Ctx(ctx).TX(tx).WherePri(req.Id).Data( + dao.TenantDao.Columns().Surplus, + &gdb.Counter{ + Field: dao.TenantDao.Columns().Surplus, + Value: delta, + }, + ).Update() + } liberr.ErrIsNil(ctx, err, "修改租户信息失败") }) return err diff --git a/internal/app/system/model/do/tenant.go b/internal/app/system/model/do/tenant.go index d9ffc25..595347b 100644 --- a/internal/app/system/model/do/tenant.go +++ b/internal/app/system/model/do/tenant.go @@ -23,4 +23,5 @@ type Tenant struct { BusinessLicense interface{} // 营业执照 TenantSource interface{} // 租户来源 AdminBy interface{} // 管理者 + Surplus interface{} // 剩余金额 } diff --git a/internal/app/system/model/entity/tenant.go b/internal/app/system/model/entity/tenant.go index 028461f..4f4c07e 100644 --- a/internal/app/system/model/entity/tenant.go +++ b/internal/app/system/model/entity/tenant.go @@ -22,4 +22,5 @@ type Tenant struct { BusinessLicense string `json:"businessLicense" description:"营业执照"` TenantSource uint64 `json:"tenantSource" description:"租户来源"` AdminBy uint64 `json:"adminBy" description:"管理者"` + Surplus float64 `json:"surplus" description:"剩余金额"` }