fix: 修复管理员更新用户信息时意外覆盖字段的问题
Build docker and publish / build (20.15.1) (push) Has been cancelled

- Enable/IsAdmin/OnlyFirstPurchase 改为 *bool,未传时不更新
- Avatar/Remark/ReferCode/ReferralPercentage 加空值保护
- getDeviceList: 恢复 hifastday@hifast.com 家庭成员受限逻辑

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 02:21:35 -07:00
parent 8bc8e81e95
commit 7d2f98b7c9
4 changed files with 105 additions and 35 deletions
@@ -119,14 +119,28 @@ func (l *UpdateUserBasicInfoLogic) UpdateUserBasicInfo(req *types.UpdateUserBasi
}
userInfo.Commission = req.Commission
}
userInfo.Avatar = req.Avatar
userInfo.ReferCode = req.ReferCode
if req.Avatar != "" {
userInfo.Avatar = req.Avatar
}
if req.ReferCode != "" {
userInfo.ReferCode = req.ReferCode
}
userInfo.RefererId = req.RefererId
userInfo.Enable = &req.Enable
userInfo.IsAdmin = &req.IsAdmin
userInfo.Remark = req.Remark
userInfo.OnlyFirstPurchase = &req.OnlyFirstPurchase
userInfo.ReferralPercentage = req.ReferralPercentage
if req.Enable != nil {
userInfo.Enable = req.Enable
}
if req.IsAdmin != nil {
userInfo.IsAdmin = req.IsAdmin
}
if req.Remark != "" {
userInfo.Remark = req.Remark
}
if req.OnlyFirstPurchase != nil {
userInfo.OnlyFirstPurchase = req.OnlyFirstPurchase
}
if req.ReferralPercentage != 0 {
userInfo.ReferralPercentage = req.ReferralPercentage
}
if req.Password != "" {
if userInfo.Id == 2 && isDemo {