feat: publish member notices and balance-aware order settlement
Deploy olons-admin production / deploy (push) Successful in 8m50s

This commit is contained in:
richjohnrambo
2026-10-22 21:56:06 +08:00
parent 5a5540785d
commit 70ef3d9d04
10 changed files with 457 additions and 163 deletions
+36 -11
View File
@@ -33,6 +33,8 @@ type AppMemberListModel struct {
MemberNo string `json:"memberNo"`
Username string `json:"username"`
Mobile string `json:"mobile"`
RealName string `json:"realName"`
RealNameCipher string `json:"-"`
RealNameMask string `json:"realNameMask"`
AvailableAmount int64 `json:"availableAmount"`
FrozenAmount int64 `json:"frozenAmount"`
@@ -63,6 +65,7 @@ func (in *AppMemberViewInp) Filter(ctx context.Context) error { return nil }
type AppMemberViewModel struct {
AppMemberListModel
IdNo string `json:"idNo"`
LevelId uint64 `json:"levelId"`
Level int `json:"level"`
CreditScore int `json:"creditScore"`
@@ -158,11 +161,21 @@ type AppMemberPaymentModel struct {
AccountType int `json:"accountType"`
BankCode string `json:"bankCode"`
BankName string `json:"bankName"`
Holder string `json:"holder"`
IdentityNo string `json:"identityNo"`
Mobile string `json:"mobile"`
AccountNo string `json:"accountNo"`
DigitalRMBCode string `json:"digitalRmbCode"`
HolderMask string `json:"holderMask"`
HolderCipher string `json:"-"`
IdentityNoMask string `json:"identityNoMask"`
IdentityNoCipher string `json:"-"`
MobileMask string `json:"mobileMask"`
MobileCipher string `json:"-"`
AccountNoMask string `json:"accountNoMask"`
AccountNoCipher string `json:"-"`
DigitalRMBCodeMask string `json:"digitalRmbCodeMask"`
DigitalRmbCodeCipher string `json:"-"`
QrAttachmentId uint64 `json:"qrAttachmentId"`
WechatQrAttachmentId uint64 `json:"wechatQrAttachmentId"`
AlipayQrAttachmentId uint64 `json:"alipayQrAttachmentId"`
@@ -216,17 +229,23 @@ type AppMemberAddressListInp struct {
func (in *AppMemberAddressListInp) Filter(ctx context.Context) error { return nil }
type AppMemberAddressModel struct {
Id uint64 `json:"id"`
MemberId uint64 `json:"memberId"`
ReceiverMask string `json:"receiverMask"`
MobileMask string `json:"mobileMask"`
Province string `json:"province"`
City string `json:"city"`
District string `json:"district"`
AddressMask string `json:"addressMask"`
IsDefault int `json:"isDefault"`
CreatedAt *gtime.Time `json:"createdAt"`
UpdatedAt *gtime.Time `json:"updatedAt"`
Id uint64 `json:"id"`
MemberId uint64 `json:"memberId"`
Receiver string `json:"receiver"`
Mobile string `json:"mobile"`
Address string `json:"address"`
ReceiverCipher string `json:"-"`
MobileCipher string `json:"-"`
AddressCipher string `json:"-"`
ReceiverMask string `json:"receiverMask"`
MobileMask string `json:"mobileMask"`
Province string `json:"province"`
City string `json:"city"`
District string `json:"district"`
AddressMask string `json:"addressMask"`
IsDefault int `json:"isDefault"`
CreatedAt *gtime.Time `json:"createdAt"`
UpdatedAt *gtime.Time `json:"updatedAt"`
}
type AppMemberAddressEditInp struct {
Id uint64 `json:"id"`
@@ -414,6 +433,12 @@ type MemberNoticeEditInp struct {
}
func (in *MemberNoticeEditInp) Filter(ctx context.Context) error {
if in.MemberId == 0 {
return gerror.New("请选择接收公告的会员")
}
if in.StartAt == nil || in.EndAt == nil {
return gerror.New("请设置公告有效期")
}
if in.StartAt.After(in.EndAt) {
return gerror.New("结束时间必须晚于开始时间")
}