u
This commit is contained in:
1 parent
78c7a812be
commit
1934225c53
24 files changed
+711
-654
No files matched your search
@@ -164,3 +164,39 @@ func CreateMoneyCategory(ctx context.Context, c *app.RequestContext) {
|
|||||||
|
|
||||||
response.Success(c).Data(resp).Send()
|
response.Success(c).Data(resp).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateMoneyCategory .
|
||||||
|
// @router /money/category/update [POST]
|
||||||
|
func UpdateMoneyCategory(ctx context.Context, c *app.RequestContext) {
|
||||||
|
var err error
|
||||||
|
var req money.UpdateMoneyCategoryReq
|
||||||
|
err = c.BindAndValidate(&req)
|
||||||
|
if err != nil {
|
||||||
|
c.String(consts.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
resp := new(money.UpdateMoneyCategoryResp)
|
||||||
|
|
||||||
|
params := repo.UpdateMoneyCategoryParams{
|
||||||
|
ID: req.Id,
|
||||||
|
Name: req.Name,
|
||||||
|
Icon: req.Icon,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 插入
|
||||||
|
err = db.WithTx(ctx, func(q *repo.Queries) error {
|
||||||
|
err = q.UpdateMoneyCategory(ctx, params)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
errorx.AddError(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
response.Success(c).Data(resp).Send()
|
||||||
|
}
|
||||||
@@ -12,11 +12,9 @@ import (
|
|||||||
"allapp/utils/response"
|
"allapp/utils/response"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/jackc/pgx/v5/pgtype"
|
"github.com/jackc/pgx/v5/pgtype"
|
||||||
"github.com/shopspring/decimal"
|
|
||||||
|
|
||||||
money "allapp/biz/model/money"
|
money "allapp/biz/model/money"
|
||||||
|
|
||||||
@@ -46,19 +44,19 @@ func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
|
|||||||
spaceID, ok := middleware.GetSpaceID(ctx)
|
spaceID, ok := middleware.GetSpaceID(ctx)
|
||||||
|
|
||||||
// 定义统一的 records 切片
|
// 定义统一的 records 切片
|
||||||
var dbRecordsUser []repo.FindUserMoneyRecordsRow
|
var dbRecordsUser []repo.MoneyRecord
|
||||||
var dbRecordsSpace []repo.FindMoneyRecordsBySpaceRow
|
var dbRecordsSpace []repo.FindMoneyRecordsBySpaceRow
|
||||||
var errQuery error
|
var errQuery error
|
||||||
|
|
||||||
// 最终返回统一类型
|
// 最终返回统一类型
|
||||||
var records []*money.MoneyRecordItem
|
var records []*money.MoneyRecord
|
||||||
|
|
||||||
// 有空间ID,查询空间内所有用户
|
// 有空间ID,查询空间内所有用户
|
||||||
if ok {
|
if ok {
|
||||||
params := repo.FindMoneyRecordsBySpaceParams{
|
params := repo.FindMoneyRecordsBySpaceParams{
|
||||||
SpaceID: spaceID,
|
SpaceID: spaceID,
|
||||||
RecordTime: pgtype.Timestamp{Time: startTime, Valid: true},
|
RecordTime: pgtype.Date{Time: startTime, Valid: true},
|
||||||
RecordTime_2: pgtype.Timestamp{Time: endTime, Valid: true},
|
RecordTime_2: pgtype.Date{Time: endTime, Valid: true},
|
||||||
}
|
}
|
||||||
dbRecordsSpace, errQuery = db.Queries.FindMoneyRecordsBySpace(ctx, params)
|
dbRecordsSpace, errQuery = db.Queries.FindMoneyRecordsBySpace(ctx, params)
|
||||||
if errQuery != nil {
|
if errQuery != nil {
|
||||||
@@ -67,27 +65,24 @@ func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, r := range dbRecordsSpace {
|
for _, r := range dbRecordsSpace {
|
||||||
records = append(records, &money.MoneyRecordItem{
|
records = append(records, &money.MoneyRecord{
|
||||||
Id: r.ID,
|
Id: r.ID,
|
||||||
CategoryId: r.CategoryID,
|
CategoryId: r.CategoryID,
|
||||||
CategoryType: r.CategoryType.Int32,
|
UserId: r.UserID,
|
||||||
CategoryIcon: r.CategoryIcon.String,
|
Username: r.Username.String,
|
||||||
CategoryName: r.CategoryName.String,
|
Amount: pgtypex.NumericToString(r.Amount),
|
||||||
UserId: r.UserID,
|
Remark: r.Remark.String,
|
||||||
Username: r.Username.String,
|
RecordTime: pgtypex.DateToString(r.RecordTime),
|
||||||
Amount: pgtypex.NumericToString(r.Amount),
|
CreateTime: pgtypex.TimestampToMillis(r.CreateTime),
|
||||||
Remark: r.Remark.String,
|
UpdateTime: pgtypex.TimestampToMillis(r.UpdateTime),
|
||||||
RecordTime: pgtypex.TimestampToDateString(r.RecordTime),
|
|
||||||
CreateTime: pgtypex.TimestampToDateTimeString(r.CreateTime),
|
|
||||||
UpdateTime: pgtypex.TimestampToDateTimeString(r.UpdateTime),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 没有空间ID,只查询单用户
|
// 没有空间ID,只查询单用户
|
||||||
params := repo.FindUserMoneyRecordsParams{
|
params := repo.FindUserMoneyRecordsParams{
|
||||||
UserID: userID,
|
UserID: userID,
|
||||||
RecordTime: pgtype.Timestamp{Time: startTime, Valid: true},
|
RecordTime: pgtype.Date{Time: startTime, Valid: true},
|
||||||
RecordTime_2: pgtype.Timestamp{Time: endTime, Valid: true},
|
RecordTime_2: pgtype.Date{Time: endTime, Valid: true},
|
||||||
}
|
}
|
||||||
dbRecordsUser, errQuery = db.Queries.FindUserMoneyRecords(ctx, params)
|
dbRecordsUser, errQuery = db.Queries.FindUserMoneyRecords(ctx, params)
|
||||||
if errQuery != nil {
|
if errQuery != nil {
|
||||||
@@ -96,76 +91,22 @@ func QueryMoneyRecord(ctx context.Context, c *app.RequestContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, r := range dbRecordsUser {
|
for _, r := range dbRecordsUser {
|
||||||
records = append(records, &money.MoneyRecordItem{
|
records = append(records, &money.MoneyRecord{
|
||||||
Id: r.ID,
|
Id: r.ID,
|
||||||
CategoryId: r.CategoryID,
|
CategoryId: r.CategoryID,
|
||||||
CategoryType: r.CategoryType.Int32,
|
UserId: r.UserID,
|
||||||
CategoryIcon: r.CategoryIcon.String,
|
Username: "",
|
||||||
CategoryName: r.CategoryName.String,
|
Amount: pgtypex.NumericToString(r.Amount),
|
||||||
UserId: r.UserID,
|
Remark: r.Remark.String,
|
||||||
Username: "",
|
RecordTime: pgtypex.DateToString(r.RecordTime),
|
||||||
Amount: pgtypex.NumericToString(r.Amount),
|
CreateTime: pgtypex.TimestampToMillis(r.CreateTime),
|
||||||
Remark: r.Remark.String,
|
UpdateTime: pgtypex.TimestampToMillis(r.UpdateTime),
|
||||||
RecordTime: pgtypex.TimestampToDateString(r.RecordTime),
|
|
||||||
CreateTime: pgtypex.TimestampToDateTimeString(r.CreateTime),
|
|
||||||
UpdateTime: pgtypex.TimestampToDateTimeString(r.UpdateTime),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分组统计
|
|
||||||
groupMap := make(map[string]*money.MoneyRecordGroup)
|
|
||||||
totalIncome := decimal.NewFromInt(0)
|
|
||||||
totalExpense := decimal.NewFromInt(0)
|
|
||||||
|
|
||||||
for _, r := range records {
|
|
||||||
day := r.RecordTime[:10] // "YYYY-MM-DD"
|
|
||||||
|
|
||||||
group, ok := groupMap[day]
|
|
||||||
if !ok {
|
|
||||||
group = &money.MoneyRecordGroup{
|
|
||||||
RecordTime: day,
|
|
||||||
Income: "0.00",
|
|
||||||
Expense: "0.00",
|
|
||||||
Records: make([]*money.MoneyRecordItem, 0),
|
|
||||||
}
|
|
||||||
groupMap[day] = group
|
|
||||||
}
|
|
||||||
|
|
||||||
group.Records = append(group.Records, r)
|
|
||||||
|
|
||||||
// 收支累加
|
|
||||||
amount := decimal.RequireFromString(r.Amount)
|
|
||||||
if r.CategoryType == 1 {
|
|
||||||
incomeDec, _ := decimal.NewFromString(group.Income)
|
|
||||||
incomeDec = incomeDec.Add(amount)
|
|
||||||
group.Income = incomeDec.Round(2).StringFixed(2)
|
|
||||||
totalIncome = totalIncome.Add(amount)
|
|
||||||
} else if r.CategoryType == 0 {
|
|
||||||
expenseDec, _ := decimal.NewFromString(group.Expense)
|
|
||||||
expenseDec = expenseDec.Add(amount)
|
|
||||||
group.Expense = expenseDec.Round(2).StringFixed(2)
|
|
||||||
totalExpense = totalExpense.Add(amount)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 对日期排序
|
|
||||||
dates := make([]string, 0, len(groupMap))
|
|
||||||
for k := range groupMap {
|
|
||||||
dates = append(dates, k)
|
|
||||||
}
|
|
||||||
sort.Slice(dates, func(i, j int) bool { return dates[i] > dates[j] })
|
|
||||||
|
|
||||||
resultGroups := make([]*money.MoneyRecordGroup, 0, len(dates))
|
|
||||||
for _, day := range dates {
|
|
||||||
resultGroups = append(resultGroups, groupMap[day])
|
|
||||||
}
|
|
||||||
|
|
||||||
result := &money.QueryMoneyRecordsResult{
|
result := &money.QueryMoneyRecordsResult{
|
||||||
Records: resultGroups,
|
Records: records,
|
||||||
TotalIncome: totalIncome.Round(2).StringFixed(2),
|
|
||||||
TotalExpense: totalExpense.Round(2).StringFixed(2),
|
|
||||||
TotalBalance: totalIncome.Sub(totalExpense).Round(2).StringFixed(2),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
response.Success(c).Data(result).Send()
|
response.Success(c).Data(result).Send()
|
||||||
@@ -192,17 +133,22 @@ func InsertMoneyRecord(ctx context.Context, c *app.RequestContext) {
|
|||||||
UserID: middleware.GetUserID(ctx),
|
UserID: middleware.GetUserID(ctx),
|
||||||
Amount: pgtypex.StringToNumeric(req.Amount),
|
Amount: pgtypex.StringToNumeric(req.Amount),
|
||||||
Remark: pgtypex.StringToText(req.Remark),
|
Remark: pgtypex.StringToText(req.Remark),
|
||||||
RecordTime: pgtypex.StringToTimestamp(req.RecordTime),
|
RecordTime: pgtypex.StringToDate(req.RecordTime),
|
||||||
}
|
}
|
||||||
|
|
||||||
record, err := db.Queries.InsertMoneyRecord(ctx, params)
|
record, err := db.Queries.InsertMoneyRecord(ctx, params)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
errorx.AddError(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
resp.Id = record.ID
|
resp.Id = record.ID
|
||||||
resp.CategoryId = record.CategoryID
|
resp.CategoryId = record.CategoryID
|
||||||
resp.UserId = record.UserID
|
resp.UserId = record.UserID
|
||||||
resp.Amount = pgtypex.NumericToString(record.Amount)
|
resp.Amount = pgtypex.NumericToString(record.Amount)
|
||||||
resp.Remark = record.Remark.String
|
resp.Remark = record.Remark.String
|
||||||
resp.RecordTime = pgtypex.TimestampToDateString(record.RecordTime)
|
resp.RecordTime = pgtypex.DateToString(record.RecordTime)
|
||||||
resp.CreateTime = pgtypex.TimestampToDateTimeString(record.CreateTime)
|
resp.CreateTime = pgtypex.TimestampToDateTimeString(record.CreateTime)
|
||||||
resp.UpdateTime = pgtypex.TimestampToDateTimeString(record.UpdateTime)
|
resp.UpdateTime = pgtypex.TimestampToDateTimeString(record.UpdateTime)
|
||||||
|
|
||||||
@@ -234,7 +180,7 @@ func UpdateMoneyRecord(ctx context.Context, c *app.RequestContext) {
|
|||||||
CategoryID: req.CategoryId,
|
CategoryID: req.CategoryId,
|
||||||
Amount: pgtypex.StringToNumeric(req.Amount),
|
Amount: pgtypex.StringToNumeric(req.Amount),
|
||||||
Remark: pgtypex.StringToText(req.Remark),
|
Remark: pgtypex.StringToText(req.Remark),
|
||||||
RecordTime: pgtypex.StringToTimestamp(req.RecordTime),
|
RecordTime: pgtypex.StringToDate(req.RecordTime),
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := db.Queries.UpdateMoneyRecord(ctx, params); err != nil {
|
if err := db.Queries.UpdateMoneyRecord(ctx, params); err != nil {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.0
|
// protoc-gen-go v1.28.0
|
||||||
// protoc v4.25.3
|
// protoc v6.33.1
|
||||||
// source: api.proto
|
// source: api.proto
|
||||||
|
|
||||||
package api
|
package api
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.0
|
// protoc-gen-go v1.28.0
|
||||||
// protoc v4.25.3
|
// protoc v6.33.1
|
||||||
// source: money.proto
|
// source: money.proto
|
||||||
|
|
||||||
package money
|
package money
|
||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
_ "allapp/biz/model/api"
|
_ "allapp/biz/model/api"
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
_ "google.golang.org/protobuf/types/known/emptypb"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -29,67 +30,76 @@ var file_money_proto_rawDesc = []byte{
|
|||||||
0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72,
|
0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x6f, 0x32, 0xd9, 0x03, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67,
|
0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||||
0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x04, 0x4c, 0x69,
|
0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xcb,
|
||||||
0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d,
|
0x04, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
||||||
0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a,
|
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12,
|
||||||
0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65,
|
0x1b, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65,
|
||||||
0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x13, 0xca,
|
0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d,
|
||||||
0xc1, 0x18, 0x0f, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
|
0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61,
|
||||||
0x72, 0x79, 0x12, 0x74, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
|
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x13, 0xca, 0xc1, 0x18, 0x0f,
|
||||||
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e,
|
0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
|
||||||
0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65,
|
0x74, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x6e,
|
||||||
0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d,
|
0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79,
|
0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61,
|
||||||
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1,
|
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65,
|
||||||
0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
|
||||||
0x79, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64,
|
0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f,
|
||||||
|
0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x64,
|
||||||
|
0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||||
|
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72,
|
||||||
|
0x74, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||||
|
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72,
|
||||||
|
0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64,
|
||||||
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
||||||
0x53, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64,
|
0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xd2, 0xc1, 0x18, 0x1a, 0x2f, 0x6d,
|
||||||
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x75, 0x70,
|
||||||
0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
|
0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61,
|
||||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67,
|
0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
|
||||||
0x6f, 0x72, 0x79, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xd2, 0xc1, 0x18,
|
0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f,
|
||||||
0x1a, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e,
|
||||||
0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x43,
|
0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e,
|
||||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
|
0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a,
|
||||||
0x72, 0x79, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67,
|
||||||
0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
|
0x6f, 0x72, 0x79, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x70, 0x0a, 0x13, 0x55, 0x70,
|
||||||
0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
||||||
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
|
0x79, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||||
0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61,
|
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
|
||||||
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x32, 0xce, 0x03,
|
0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
|
||||||
0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72,
|
0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
|
||||||
0x76, 0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e,
|
0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x63, 0x61, 0x74,
|
||||||
0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
|
0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x32, 0xce, 0x03, 0x0a,
|
||||||
0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
0x12, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76,
|
||||||
0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
|
0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65,
|
||||||
0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
|
||||||
0x64, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6d,
|
0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x71, 0x75, 0x65, 0x72,
|
0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
|
||||||
0x79, 0x12, 0x6d, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79,
|
0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x49,
|
0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6d, 0x6f,
|
||||||
0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
0x6e, 0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79,
|
||||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x49,
|
0x12, 0x6d, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
|
||||||
0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x49, 0x6e,
|
||||||
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e,
|
0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50,
|
||||||
0x65, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
|
0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x49, 0x6e,
|
||||||
0x12, 0x6d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
|
0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70,
|
|
||||||
0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50,
|
|
||||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70,
|
|
||||||
0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
|
||||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e, 0x65,
|
0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e, 0x65,
|
||||||
0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12,
|
0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12,
|
||||||
0x6d, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
|
0x6d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
|
||||||
0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c,
|
0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64,
|
||||||
0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61,
|
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61,
|
||||||
0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c,
|
0x72, 0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x55, 0x70, 0x64,
|
||||||
0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
||||||
0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
|
0x73, 0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
|
||||||
0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x18,
|
0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x6d,
|
||||||
0x5a, 0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64,
|
0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63,
|
||||||
0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||||
|
0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72,
|
||||||
|
0x61, 0x6d, 0x73, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||||
|
0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73,
|
||||||
|
0x75, 0x6c, 0x74, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f,
|
||||||
|
0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x18, 0x5a,
|
||||||
|
0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65,
|
||||||
|
0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_money_proto_goTypes = []interface{}{
|
var file_money_proto_goTypes = []interface{}{
|
||||||
@@ -97,38 +107,42 @@ var file_money_proto_goTypes = []interface{}{
|
|||||||
(*DeleteMoneyCategoryReq)(nil), // 1: money.DeleteMoneyCategoryReq
|
(*DeleteMoneyCategoryReq)(nil), // 1: money.DeleteMoneyCategoryReq
|
||||||
(*UpdateMoneyCategorySortReq)(nil), // 2: money.UpdateMoneyCategorySortReq
|
(*UpdateMoneyCategorySortReq)(nil), // 2: money.UpdateMoneyCategorySortReq
|
||||||
(*CreateMoneyCategoryReq)(nil), // 3: money.CreateMoneyCategoryReq
|
(*CreateMoneyCategoryReq)(nil), // 3: money.CreateMoneyCategoryReq
|
||||||
(*QueryMoneyRecordsParams)(nil), // 4: money.QueryMoneyRecordsParams
|
(*UpdateMoneyCategoryReq)(nil), // 4: money.UpdateMoneyCategoryReq
|
||||||
(*InsertMoneyRecordParams)(nil), // 5: money.InsertMoneyRecordParams
|
(*QueryMoneyRecordsParams)(nil), // 5: money.QueryMoneyRecordsParams
|
||||||
(*UpdateMoneyRecordParams)(nil), // 6: money.UpdateMoneyRecordParams
|
(*InsertMoneyRecordParams)(nil), // 6: money.InsertMoneyRecordParams
|
||||||
(*DeleteMoneyRecordParams)(nil), // 7: money.DeleteMoneyRecordParams
|
(*UpdateMoneyRecordParams)(nil), // 7: money.UpdateMoneyRecordParams
|
||||||
(*ListMoneyCategoryResp)(nil), // 8: money.ListMoneyCategoryResp
|
(*DeleteMoneyRecordParams)(nil), // 8: money.DeleteMoneyRecordParams
|
||||||
(*DeleteMoneyCategoryResp)(nil), // 9: money.DeleteMoneyCategoryResp
|
(*ListMoneyCategoryResp)(nil), // 9: money.ListMoneyCategoryResp
|
||||||
(*UpdateMoneyCategorySortResp)(nil), // 10: money.UpdateMoneyCategorySortResp
|
(*DeleteMoneyCategoryResp)(nil), // 10: money.DeleteMoneyCategoryResp
|
||||||
(*CreateMoneyCategoryResp)(nil), // 11: money.CreateMoneyCategoryResp
|
(*UpdateMoneyCategorySortResp)(nil), // 11: money.UpdateMoneyCategorySortResp
|
||||||
(*QueryMoneyRecordsResult)(nil), // 12: money.QueryMoneyRecordsResult
|
(*CreateMoneyCategoryResp)(nil), // 12: money.CreateMoneyCategoryResp
|
||||||
(*InsertMoneyRecordResult)(nil), // 13: money.InsertMoneyRecordResult
|
(*UpdateMoneyCategoryResp)(nil), // 13: money.UpdateMoneyCategoryResp
|
||||||
(*UpdateMoneyRecordResult)(nil), // 14: money.UpdateMoneyRecordResult
|
(*QueryMoneyRecordsResult)(nil), // 14: money.QueryMoneyRecordsResult
|
||||||
(*DeleteMoneyRecordResult)(nil), // 15: money.DeleteMoneyRecordResult
|
(*InsertMoneyRecordResult)(nil), // 15: money.InsertMoneyRecordResult
|
||||||
|
(*UpdateMoneyRecordResult)(nil), // 16: money.UpdateMoneyRecordResult
|
||||||
|
(*DeleteMoneyRecordResult)(nil), // 17: money.DeleteMoneyRecordResult
|
||||||
}
|
}
|
||||||
var file_money_proto_depIdxs = []int32{
|
var file_money_proto_depIdxs = []int32{
|
||||||
0, // 0: money.MoneyCategoryService.List:input_type -> money.ListMoneyCategoryReq
|
0, // 0: money.MoneyCategoryService.List:input_type -> money.ListMoneyCategoryReq
|
||||||
1, // 1: money.MoneyCategoryService.DeleteUserMoneyCategory:input_type -> money.DeleteMoneyCategoryReq
|
1, // 1: money.MoneyCategoryService.DeleteUserMoneyCategory:input_type -> money.DeleteMoneyCategoryReq
|
||||||
2, // 2: money.MoneyCategoryService.UpdateMoneyCategorySort:input_type -> money.UpdateMoneyCategorySortReq
|
2, // 2: money.MoneyCategoryService.UpdateMoneyCategorySort:input_type -> money.UpdateMoneyCategorySortReq
|
||||||
3, // 3: money.MoneyCategoryService.CreateMoneyCategory:input_type -> money.CreateMoneyCategoryReq
|
3, // 3: money.MoneyCategoryService.CreateMoneyCategory:input_type -> money.CreateMoneyCategoryReq
|
||||||
4, // 4: money.MoneyRecordService.QueryMoneyRecord:input_type -> money.QueryMoneyRecordsParams
|
4, // 4: money.MoneyCategoryService.UpdateMoneyCategory:input_type -> money.UpdateMoneyCategoryReq
|
||||||
5, // 5: money.MoneyRecordService.InsertMoneyRecord:input_type -> money.InsertMoneyRecordParams
|
5, // 5: money.MoneyRecordService.QueryMoneyRecord:input_type -> money.QueryMoneyRecordsParams
|
||||||
6, // 6: money.MoneyRecordService.UpdateMoneyRecord:input_type -> money.UpdateMoneyRecordParams
|
6, // 6: money.MoneyRecordService.InsertMoneyRecord:input_type -> money.InsertMoneyRecordParams
|
||||||
7, // 7: money.MoneyRecordService.DeleteMoneyRecord:input_type -> money.DeleteMoneyRecordParams
|
7, // 7: money.MoneyRecordService.UpdateMoneyRecord:input_type -> money.UpdateMoneyRecordParams
|
||||||
8, // 8: money.MoneyCategoryService.List:output_type -> money.ListMoneyCategoryResp
|
8, // 8: money.MoneyRecordService.DeleteMoneyRecord:input_type -> money.DeleteMoneyRecordParams
|
||||||
9, // 9: money.MoneyCategoryService.DeleteUserMoneyCategory:output_type -> money.DeleteMoneyCategoryResp
|
9, // 9: money.MoneyCategoryService.List:output_type -> money.ListMoneyCategoryResp
|
||||||
10, // 10: money.MoneyCategoryService.UpdateMoneyCategorySort:output_type -> money.UpdateMoneyCategorySortResp
|
10, // 10: money.MoneyCategoryService.DeleteUserMoneyCategory:output_type -> money.DeleteMoneyCategoryResp
|
||||||
11, // 11: money.MoneyCategoryService.CreateMoneyCategory:output_type -> money.CreateMoneyCategoryResp
|
11, // 11: money.MoneyCategoryService.UpdateMoneyCategorySort:output_type -> money.UpdateMoneyCategorySortResp
|
||||||
12, // 12: money.MoneyRecordService.QueryMoneyRecord:output_type -> money.QueryMoneyRecordsResult
|
12, // 12: money.MoneyCategoryService.CreateMoneyCategory:output_type -> money.CreateMoneyCategoryResp
|
||||||
13, // 13: money.MoneyRecordService.InsertMoneyRecord:output_type -> money.InsertMoneyRecordResult
|
13, // 13: money.MoneyCategoryService.UpdateMoneyCategory:output_type -> money.UpdateMoneyCategoryResp
|
||||||
14, // 14: money.MoneyRecordService.UpdateMoneyRecord:output_type -> money.UpdateMoneyRecordResult
|
14, // 14: money.MoneyRecordService.QueryMoneyRecord:output_type -> money.QueryMoneyRecordsResult
|
||||||
15, // 15: money.MoneyRecordService.DeleteMoneyRecord:output_type -> money.DeleteMoneyRecordResult
|
15, // 15: money.MoneyRecordService.InsertMoneyRecord:output_type -> money.InsertMoneyRecordResult
|
||||||
8, // [8:16] is the sub-list for method output_type
|
16, // 16: money.MoneyRecordService.UpdateMoneyRecord:output_type -> money.UpdateMoneyRecordResult
|
||||||
0, // [0:8] is the sub-list for method input_type
|
17, // 17: money.MoneyRecordService.DeleteMoneyRecord:output_type -> money.DeleteMoneyRecordResult
|
||||||
|
9, // [9:18] is the sub-list for method output_type
|
||||||
|
0, // [0:9] is the sub-list for method input_type
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
0, // [0:0] is the sub-list for extension type_name
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
0, // [0:0] is the sub-list for extension extendee
|
||||||
0, // [0:0] is the sub-list for field type_name
|
0, // [0:0] is the sub-list for field type_name
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.0
|
// protoc-gen-go v1.28.0
|
||||||
// protoc v4.25.3
|
// protoc v6.33.1
|
||||||
// source: money/money_category_types.proto
|
// source: money/money_category_types.proto
|
||||||
|
|
||||||
package money
|
package money
|
||||||
@@ -536,6 +536,107 @@ func (x *CreateMoneyCategoryResp) GetId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type UpdateMoneyCategoryReq struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
|
||||||
|
Name string `protobuf:"bytes,2,opt,name=Name,proto3" form:"name" json:"name" vd:"$ != ''"`
|
||||||
|
Icon string `protobuf:"bytes,3,opt,name=Icon,proto3" form:"icon" json:"icon" vd:"$ != ''"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) Reset() {
|
||||||
|
*x = UpdateMoneyCategoryReq{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_money_money_category_types_proto_msgTypes[10]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*UpdateMoneyCategoryReq) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_money_money_category_types_proto_msgTypes[10]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use UpdateMoneyCategoryReq.ProtoReflect.Descriptor instead.
|
||||||
|
func (*UpdateMoneyCategoryReq) Descriptor() ([]byte, []int) {
|
||||||
|
return file_money_money_category_types_proto_rawDescGZIP(), []int{10}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) GetId() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) GetName() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Name
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryReq) GetIcon() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Icon
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateMoneyCategoryResp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryResp) Reset() {
|
||||||
|
*x = UpdateMoneyCategoryResp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_money_money_category_types_proto_msgTypes[11]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryResp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*UpdateMoneyCategoryResp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *UpdateMoneyCategoryResp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_money_money_category_types_proto_msgTypes[11]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use UpdateMoneyCategoryResp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*UpdateMoneyCategoryResp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_money_money_category_types_proto_rawDescGZIP(), []int{11}
|
||||||
|
}
|
||||||
|
|
||||||
var File_money_money_category_types_proto protoreflect.FileDescriptor
|
var File_money_money_category_types_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_money_money_category_types_proto_rawDesc = []byte{
|
var file_money_money_category_types_proto_rawDesc = []byte{
|
||||||
@@ -595,7 +696,17 @@ var file_money_money_category_types_proto_rawDesc = []byte{
|
|||||||
0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
|
0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74,
|
||||||
0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18,
|
0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49,
|
0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49,
|
||||||
0x64, 0x42, 0x18, 0x5a, 0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f,
|
0x64, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65,
|
||||||
|
0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x02,
|
||||||
|
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64,
|
||||||
|
0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x42, 0x13, 0xca, 0xbb, 0x18, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0xbb, 0x18, 0x07,
|
||||||
|
0x24, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a,
|
||||||
|
0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xca, 0xbb, 0x18,
|
||||||
|
0x04, 0x69, 0x63, 0x6f, 0x6e, 0xda, 0xbb, 0x18, 0x07, 0x24, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27,
|
||||||
|
0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||||
|
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
|
||||||
|
0x70, 0x42, 0x18, 0x5a, 0x16, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f,
|
||||||
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||||
0x74, 0x6f, 0x33,
|
0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
@@ -612,7 +723,7 @@ func file_money_money_category_types_proto_rawDescGZIP() []byte {
|
|||||||
return file_money_money_category_types_proto_rawDescData
|
return file_money_money_category_types_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_money_money_category_types_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
var file_money_money_category_types_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
|
||||||
var file_money_money_category_types_proto_goTypes = []interface{}{
|
var file_money_money_category_types_proto_goTypes = []interface{}{
|
||||||
(*MoneyCategory)(nil), // 0: money.MoneyCategory
|
(*MoneyCategory)(nil), // 0: money.MoneyCategory
|
||||||
(*ListMoneyCategoryReq)(nil), // 1: money.ListMoneyCategoryReq
|
(*ListMoneyCategoryReq)(nil), // 1: money.ListMoneyCategoryReq
|
||||||
@@ -624,6 +735,8 @@ var file_money_money_category_types_proto_goTypes = []interface{}{
|
|||||||
(*UpdateMoneyCategorySortResp)(nil), // 7: money.UpdateMoneyCategorySortResp
|
(*UpdateMoneyCategorySortResp)(nil), // 7: money.UpdateMoneyCategorySortResp
|
||||||
(*CreateMoneyCategoryReq)(nil), // 8: money.CreateMoneyCategoryReq
|
(*CreateMoneyCategoryReq)(nil), // 8: money.CreateMoneyCategoryReq
|
||||||
(*CreateMoneyCategoryResp)(nil), // 9: money.CreateMoneyCategoryResp
|
(*CreateMoneyCategoryResp)(nil), // 9: money.CreateMoneyCategoryResp
|
||||||
|
(*UpdateMoneyCategoryReq)(nil), // 10: money.UpdateMoneyCategoryReq
|
||||||
|
(*UpdateMoneyCategoryResp)(nil), // 11: money.UpdateMoneyCategoryResp
|
||||||
}
|
}
|
||||||
var file_money_money_category_types_proto_depIdxs = []int32{
|
var file_money_money_category_types_proto_depIdxs = []int32{
|
||||||
0, // 0: money.ListMoneyCategoryResp.Categories:type_name -> money.MoneyCategory
|
0, // 0: money.ListMoneyCategoryResp.Categories:type_name -> money.MoneyCategory
|
||||||
@@ -761,6 +874,30 @@ func file_money_money_category_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_money_money_category_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*UpdateMoneyCategoryReq); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_money_money_category_types_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*UpdateMoneyCategoryResp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@@ -768,7 +905,7 @@ func file_money_money_category_types_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_money_money_category_types_proto_rawDesc,
|
RawDescriptor: file_money_money_category_types_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 10,
|
NumMessages: 12,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.0
|
// protoc-gen-go v1.28.0
|
||||||
// protoc v4.25.3
|
// protoc v6.33.1
|
||||||
// source: money/money_record_types.proto
|
// source: money/money_record_types.proto
|
||||||
|
|
||||||
package money
|
package money
|
||||||
@@ -22,27 +22,24 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 单条记账记录
|
// 单条记账记录
|
||||||
type MoneyRecordItem struct {
|
type MoneyRecord struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
|
Id int64 `protobuf:"varint,1,opt,name=Id,proto3" form:"id" json:"id"`
|
||||||
CategoryId int64 `protobuf:"varint,2,opt,name=CategoryId,proto3" form:"category_id" json:"category_id"`
|
CategoryId int64 `protobuf:"varint,2,opt,name=CategoryId,proto3" form:"category_id" json:"category_id"`
|
||||||
UserId int64 `protobuf:"varint,3,opt,name=UserId,proto3" form:"user_id" json:"user_id"`
|
UserId int64 `protobuf:"varint,3,opt,name=UserId,proto3" form:"user_id" json:"user_id"`
|
||||||
Amount string `protobuf:"bytes,4,opt,name=Amount,proto3" form:"amount" json:"amount"`
|
Amount string `protobuf:"bytes,4,opt,name=Amount,proto3" form:"amount" json:"amount"`
|
||||||
Remark string `protobuf:"bytes,5,opt,name=Remark,proto3" form:"remark" json:"remark"`
|
Remark string `protobuf:"bytes,5,opt,name=Remark,proto3" form:"remark" json:"remark"`
|
||||||
RecordTime string `protobuf:"bytes,6,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
|
RecordTime string `protobuf:"bytes,6,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
|
||||||
CreateTime string `protobuf:"bytes,7,opt,name=CreateTime,proto3" form:"create_time" json:"create_time"`
|
CreateTime int64 `protobuf:"varint,7,opt,name=CreateTime,proto3" form:"create_time" json:"create_time"`
|
||||||
UpdateTime string `protobuf:"bytes,8,opt,name=UpdateTime,proto3" form:"update_time" json:"update_time"`
|
UpdateTime int64 `protobuf:"varint,8,opt,name=UpdateTime,proto3" form:"update_time" json:"update_time"`
|
||||||
Username string `protobuf:"bytes,9,opt,name=Username,proto3" form:"username" json:"username"`
|
Username string `protobuf:"bytes,9,opt,name=Username,proto3" form:"username" json:"username"`
|
||||||
CategoryType int32 `protobuf:"varint,10,opt,name=CategoryType,proto3" form:"category_type" json:"category_type"`
|
|
||||||
CategoryIcon string `protobuf:"bytes,11,opt,name=CategoryIcon,proto3" form:"category_icon" json:"category_icon"`
|
|
||||||
CategoryName string `protobuf:"bytes,12,opt,name=CategoryName,proto3" form:"category_name" json:"category_name"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) Reset() {
|
func (x *MoneyRecord) Reset() {
|
||||||
*x = MoneyRecordItem{}
|
*x = MoneyRecord{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[0]
|
mi := &file_money_money_record_types_proto_msgTypes[0]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
@@ -50,13 +47,13 @@ func (x *MoneyRecordItem) Reset() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) String() string {
|
func (x *MoneyRecord) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*MoneyRecordItem) ProtoMessage() {}
|
func (*MoneyRecord) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) ProtoReflect() protoreflect.Message {
|
func (x *MoneyRecord) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[0]
|
mi := &file_money_money_record_types_proto_msgTypes[0]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
@@ -68,167 +65,74 @@ func (x *MoneyRecordItem) ProtoReflect() protoreflect.Message {
|
|||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use MoneyRecordItem.ProtoReflect.Descriptor instead.
|
// Deprecated: Use MoneyRecord.ProtoReflect.Descriptor instead.
|
||||||
func (*MoneyRecordItem) Descriptor() ([]byte, []int) {
|
func (*MoneyRecord) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{0}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetId() int64 {
|
func (x *MoneyRecord) GetId() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Id
|
return x.Id
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetCategoryId() int64 {
|
func (x *MoneyRecord) GetCategoryId() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.CategoryId
|
return x.CategoryId
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetUserId() int64 {
|
func (x *MoneyRecord) GetUserId() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UserId
|
return x.UserId
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetAmount() string {
|
func (x *MoneyRecord) GetAmount() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Amount
|
return x.Amount
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetRemark() string {
|
func (x *MoneyRecord) GetRemark() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Remark
|
return x.Remark
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetRecordTime() string {
|
func (x *MoneyRecord) GetRecordTime() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.RecordTime
|
return x.RecordTime
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetCreateTime() string {
|
func (x *MoneyRecord) GetCreateTime() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.CreateTime
|
return x.CreateTime
|
||||||
}
|
}
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetUpdateTime() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.UpdateTime
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetUsername() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Username
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetCategoryType() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.CategoryType
|
|
||||||
}
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetCategoryIcon() string {
|
func (x *MoneyRecord) GetUpdateTime() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.CategoryIcon
|
return x.UpdateTime
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MoneyRecord) GetUsername() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Username
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MoneyRecordItem) GetCategoryName() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.CategoryName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
// 同一天的记账记录分组
|
|
||||||
type MoneyRecordGroup struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
RecordTime string `protobuf:"bytes,1,opt,name=RecordTime,proto3" form:"record_time" json:"record_time"`
|
|
||||||
Expense string `protobuf:"bytes,2,opt,name=Expense,proto3" form:"expense" json:"expense"`
|
|
||||||
Income string `protobuf:"bytes,3,opt,name=Income,proto3" form:"income" json:"income"`
|
|
||||||
Records []*MoneyRecordItem `protobuf:"bytes,4,rep,name=Records,proto3" form:"records" json:"records"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) Reset() {
|
|
||||||
*x = MoneyRecordGroup{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*MoneyRecordGroup) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use MoneyRecordGroup.ProtoReflect.Descriptor instead.
|
|
||||||
func (*MoneyRecordGroup) Descriptor() ([]byte, []int) {
|
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) GetRecordTime() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.RecordTime
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) GetExpense() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Expense
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) GetIncome() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Income
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *MoneyRecordGroup) GetRecords() []*MoneyRecordItem {
|
|
||||||
if x != nil {
|
|
||||||
return x.Records
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询记账记录请求参数
|
// 查询记账记录请求参数
|
||||||
type QueryMoneyRecordsParams struct {
|
type QueryMoneyRecordsParams struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
@@ -241,7 +145,7 @@ type QueryMoneyRecordsParams struct {
|
|||||||
func (x *QueryMoneyRecordsParams) Reset() {
|
func (x *QueryMoneyRecordsParams) Reset() {
|
||||||
*x = QueryMoneyRecordsParams{}
|
*x = QueryMoneyRecordsParams{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[2]
|
mi := &file_money_money_record_types_proto_msgTypes[1]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -254,7 +158,7 @@ func (x *QueryMoneyRecordsParams) String() string {
|
|||||||
func (*QueryMoneyRecordsParams) ProtoMessage() {}
|
func (*QueryMoneyRecordsParams) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsParams) ProtoReflect() protoreflect.Message {
|
func (x *QueryMoneyRecordsParams) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[2]
|
mi := &file_money_money_record_types_proto_msgTypes[1]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -267,7 +171,7 @@ func (x *QueryMoneyRecordsParams) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use QueryMoneyRecordsParams.ProtoReflect.Descriptor instead.
|
// Deprecated: Use QueryMoneyRecordsParams.ProtoReflect.Descriptor instead.
|
||||||
func (*QueryMoneyRecordsParams) Descriptor() ([]byte, []int) {
|
func (*QueryMoneyRecordsParams) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{2}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsParams) GetRecordTime() string {
|
func (x *QueryMoneyRecordsParams) GetRecordTime() string {
|
||||||
@@ -283,16 +187,13 @@ type QueryMoneyRecordsResult struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Records []*MoneyRecordGroup `protobuf:"bytes,1,rep,name=Records,proto3" form:"records" json:"records"`
|
Records []*MoneyRecord `protobuf:"bytes,1,rep,name=Records,proto3" form:"records" json:"records"`
|
||||||
TotalIncome string `protobuf:"bytes,2,opt,name=TotalIncome,proto3" form:"total_income" json:"total_income"`
|
|
||||||
TotalExpense string `protobuf:"bytes,3,opt,name=TotalExpense,proto3" form:"total_expense" json:"total_expense"`
|
|
||||||
TotalBalance string `protobuf:"bytes,4,opt,name=TotalBalance,proto3" form:"total_balance" json:"total_balance"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) Reset() {
|
func (x *QueryMoneyRecordsResult) Reset() {
|
||||||
*x = QueryMoneyRecordsResult{}
|
*x = QueryMoneyRecordsResult{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[3]
|
mi := &file_money_money_record_types_proto_msgTypes[2]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -305,7 +206,7 @@ func (x *QueryMoneyRecordsResult) String() string {
|
|||||||
func (*QueryMoneyRecordsResult) ProtoMessage() {}
|
func (*QueryMoneyRecordsResult) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) ProtoReflect() protoreflect.Message {
|
func (x *QueryMoneyRecordsResult) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[3]
|
mi := &file_money_money_record_types_proto_msgTypes[2]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -318,37 +219,16 @@ func (x *QueryMoneyRecordsResult) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use QueryMoneyRecordsResult.ProtoReflect.Descriptor instead.
|
// Deprecated: Use QueryMoneyRecordsResult.ProtoReflect.Descriptor instead.
|
||||||
func (*QueryMoneyRecordsResult) Descriptor() ([]byte, []int) {
|
func (*QueryMoneyRecordsResult) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{3}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) GetRecords() []*MoneyRecordGroup {
|
func (x *QueryMoneyRecordsResult) GetRecords() []*MoneyRecord {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Records
|
return x.Records
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) GetTotalIncome() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.TotalIncome
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) GetTotalExpense() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.TotalExpense
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *QueryMoneyRecordsResult) GetTotalBalance() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.TotalBalance
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增记账记录参数
|
// 新增记账记录参数
|
||||||
type InsertMoneyRecordParams struct {
|
type InsertMoneyRecordParams struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
@@ -364,7 +244,7 @@ type InsertMoneyRecordParams struct {
|
|||||||
func (x *InsertMoneyRecordParams) Reset() {
|
func (x *InsertMoneyRecordParams) Reset() {
|
||||||
*x = InsertMoneyRecordParams{}
|
*x = InsertMoneyRecordParams{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[4]
|
mi := &file_money_money_record_types_proto_msgTypes[3]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -377,7 +257,7 @@ func (x *InsertMoneyRecordParams) String() string {
|
|||||||
func (*InsertMoneyRecordParams) ProtoMessage() {}
|
func (*InsertMoneyRecordParams) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *InsertMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
func (x *InsertMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[4]
|
mi := &file_money_money_record_types_proto_msgTypes[3]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -390,7 +270,7 @@ func (x *InsertMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use InsertMoneyRecordParams.ProtoReflect.Descriptor instead.
|
// Deprecated: Use InsertMoneyRecordParams.ProtoReflect.Descriptor instead.
|
||||||
func (*InsertMoneyRecordParams) Descriptor() ([]byte, []int) {
|
func (*InsertMoneyRecordParams) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{4}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *InsertMoneyRecordParams) GetCategoryId() int64 {
|
func (x *InsertMoneyRecordParams) GetCategoryId() int64 {
|
||||||
@@ -440,7 +320,7 @@ type InsertMoneyRecordResult struct {
|
|||||||
func (x *InsertMoneyRecordResult) Reset() {
|
func (x *InsertMoneyRecordResult) Reset() {
|
||||||
*x = InsertMoneyRecordResult{}
|
*x = InsertMoneyRecordResult{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[5]
|
mi := &file_money_money_record_types_proto_msgTypes[4]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -453,7 +333,7 @@ func (x *InsertMoneyRecordResult) String() string {
|
|||||||
func (*InsertMoneyRecordResult) ProtoMessage() {}
|
func (*InsertMoneyRecordResult) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *InsertMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
func (x *InsertMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[5]
|
mi := &file_money_money_record_types_proto_msgTypes[4]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -466,7 +346,7 @@ func (x *InsertMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use InsertMoneyRecordResult.ProtoReflect.Descriptor instead.
|
// Deprecated: Use InsertMoneyRecordResult.ProtoReflect.Descriptor instead.
|
||||||
func (*InsertMoneyRecordResult) Descriptor() ([]byte, []int) {
|
func (*InsertMoneyRecordResult) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{5}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *InsertMoneyRecordResult) GetId() int64 {
|
func (x *InsertMoneyRecordResult) GetId() int64 {
|
||||||
@@ -541,7 +421,7 @@ type UpdateMoneyRecordParams struct {
|
|||||||
func (x *UpdateMoneyRecordParams) Reset() {
|
func (x *UpdateMoneyRecordParams) Reset() {
|
||||||
*x = UpdateMoneyRecordParams{}
|
*x = UpdateMoneyRecordParams{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[6]
|
mi := &file_money_money_record_types_proto_msgTypes[5]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -554,7 +434,7 @@ func (x *UpdateMoneyRecordParams) String() string {
|
|||||||
func (*UpdateMoneyRecordParams) ProtoMessage() {}
|
func (*UpdateMoneyRecordParams) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UpdateMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
func (x *UpdateMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[6]
|
mi := &file_money_money_record_types_proto_msgTypes[5]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -567,7 +447,7 @@ func (x *UpdateMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use UpdateMoneyRecordParams.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UpdateMoneyRecordParams.ProtoReflect.Descriptor instead.
|
||||||
func (*UpdateMoneyRecordParams) Descriptor() ([]byte, []int) {
|
func (*UpdateMoneyRecordParams) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{6}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UpdateMoneyRecordParams) GetId() int64 {
|
func (x *UpdateMoneyRecordParams) GetId() int64 {
|
||||||
@@ -614,7 +494,7 @@ type UpdateMoneyRecordResult struct {
|
|||||||
func (x *UpdateMoneyRecordResult) Reset() {
|
func (x *UpdateMoneyRecordResult) Reset() {
|
||||||
*x = UpdateMoneyRecordResult{}
|
*x = UpdateMoneyRecordResult{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[7]
|
mi := &file_money_money_record_types_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -627,7 +507,7 @@ func (x *UpdateMoneyRecordResult) String() string {
|
|||||||
func (*UpdateMoneyRecordResult) ProtoMessage() {}
|
func (*UpdateMoneyRecordResult) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UpdateMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
func (x *UpdateMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[7]
|
mi := &file_money_money_record_types_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -640,7 +520,7 @@ func (x *UpdateMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use UpdateMoneyRecordResult.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UpdateMoneyRecordResult.ProtoReflect.Descriptor instead.
|
||||||
func (*UpdateMoneyRecordResult) Descriptor() ([]byte, []int) {
|
func (*UpdateMoneyRecordResult) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{7}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除记账记录
|
// 删除记账记录
|
||||||
@@ -655,7 +535,7 @@ type DeleteMoneyRecordParams struct {
|
|||||||
func (x *DeleteMoneyRecordParams) Reset() {
|
func (x *DeleteMoneyRecordParams) Reset() {
|
||||||
*x = DeleteMoneyRecordParams{}
|
*x = DeleteMoneyRecordParams{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[8]
|
mi := &file_money_money_record_types_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -668,7 +548,7 @@ func (x *DeleteMoneyRecordParams) String() string {
|
|||||||
func (*DeleteMoneyRecordParams) ProtoMessage() {}
|
func (*DeleteMoneyRecordParams) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *DeleteMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
func (x *DeleteMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[8]
|
mi := &file_money_money_record_types_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -681,7 +561,7 @@ func (x *DeleteMoneyRecordParams) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use DeleteMoneyRecordParams.ProtoReflect.Descriptor instead.
|
// Deprecated: Use DeleteMoneyRecordParams.ProtoReflect.Descriptor instead.
|
||||||
func (*DeleteMoneyRecordParams) Descriptor() ([]byte, []int) {
|
func (*DeleteMoneyRecordParams) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{8}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DeleteMoneyRecordParams) GetId() int64 {
|
func (x *DeleteMoneyRecordParams) GetId() int64 {
|
||||||
@@ -700,7 +580,7 @@ type DeleteMoneyRecordResult struct {
|
|||||||
func (x *DeleteMoneyRecordResult) Reset() {
|
func (x *DeleteMoneyRecordResult) Reset() {
|
||||||
*x = DeleteMoneyRecordResult{}
|
*x = DeleteMoneyRecordResult{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[9]
|
mi := &file_money_money_record_types_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -713,7 +593,7 @@ func (x *DeleteMoneyRecordResult) String() string {
|
|||||||
func (*DeleteMoneyRecordResult) ProtoMessage() {}
|
func (*DeleteMoneyRecordResult) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *DeleteMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
func (x *DeleteMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_money_money_record_types_proto_msgTypes[9]
|
mi := &file_money_money_record_types_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -726,7 +606,7 @@ func (x *DeleteMoneyRecordResult) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use DeleteMoneyRecordResult.ProtoReflect.Descriptor instead.
|
// Deprecated: Use DeleteMoneyRecordResult.ProtoReflect.Descriptor instead.
|
||||||
func (*DeleteMoneyRecordResult) Descriptor() ([]byte, []int) {
|
func (*DeleteMoneyRecordResult) Descriptor() ([]byte, []int) {
|
||||||
return file_money_money_record_types_proto_rawDescGZIP(), []int{9}
|
return file_money_money_record_types_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
var File_money_money_record_types_proto protoreflect.FileDescriptor
|
var File_money_money_record_types_proto protoreflect.FileDescriptor
|
||||||
@@ -735,139 +615,105 @@ var file_money_money_record_types_proto_rawDesc = []byte{
|
|||||||
0x0a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72, 0x65,
|
0x0a, 0x1e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x72, 0x65,
|
||||||
0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f,
|
0x12, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x1a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x74, 0x6f, 0x22, 0xa9, 0x04, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
|
0x74, 0x6f, 0x22, 0x80, 0x03, 0x0a, 0x0b, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
|
||||||
0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
0x72, 0x64, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06,
|
||||||
0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f,
|
0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x61,
|
||||||
0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
|
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f,
|
||||||
0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x52,
|
||||||
0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
|
0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x55,
|
||||||
0x23, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42,
|
0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xca, 0xbb, 0x18,
|
||||||
0x0b, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x52, 0x06, 0x55, 0x73,
|
0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
|
||||||
0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
|
0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41, 0x6d,
|
||||||
0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61,
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05,
|
||||||
0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65,
|
0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b,
|
||||||
0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a,
|
0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f,
|
||||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb,
|
||||||
0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d,
|
0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52,
|
||||||
0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x72, 0x65,
|
||||||
0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
|
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f, 0xca,
|
||||||
0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
|
0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a,
|
||||||
0x6d, 0x65, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f,
|
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x55, 0x70,
|
||||||
0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
|
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f,
|
||||||
0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74,
|
0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52,
|
||||||
0x69, 0x6d, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x55,
|
||||||
0x28, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
|
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xca,
|
||||||
0x09, 0x42, 0x0c, 0xca, 0xbb, 0x18, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52,
|
0xbb, 0x18, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x55, 0x73, 0x65,
|
||||||
0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x43, 0x61, 0x74,
|
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4a, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f,
|
||||||
0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x42,
|
0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||||
0x11, 0xca, 0xbb, 0x18, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79,
|
0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01,
|
||||||
0x70, 0x65, 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65,
|
0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x12, 0x35, 0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x63, 0x6f, 0x6e,
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
|
||||||
0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xca, 0xbb, 0x18, 0x0d, 0x63, 0x61, 0x74, 0x65,
|
0x65, 0x22, 0x54, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
|
||||||
0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67,
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x07,
|
||||||
0x6f, 0x72, 0x79, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67,
|
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||||
0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xca,
|
0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||||
0xbb, 0x18, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
|
0x64, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x07,
|
||||||
0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcd,
|
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65,
|
||||||
0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x47, 0x72,
|
0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72,
|
||||||
0x6f, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
|
0x61, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49,
|
||||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63,
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x18, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74,
|
||||||
0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d, 0x27,
|
||||||
0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18,
|
0x27, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x4d, 0x0a,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x65, 0x78, 0x70, 0x65, 0x6e,
|
0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xca,
|
||||||
0x73, 0x65, 0x52, 0x07, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x49,
|
0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0xda, 0xbb, 0x18, 0x27, 0x24, 0x21, 0x3d,
|
||||||
0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18,
|
0x27, 0x27, 0x20, 0x26, 0x26, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e, 0x5c,
|
||||||
0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x06, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12,
|
0x64, 0x2b, 0x28, 0x5c, 0x2e, 0x5c, 0x64, 0x7b, 0x31, 0x2c, 0x32, 0x7d, 0x29, 0x3f, 0x24, 0x27,
|
||||||
0x3d, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
|
0x2c, 0x20, 0x24, 0x29, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06,
|
||||||
0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
|
0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb,
|
||||||
0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x72, 0x65,
|
0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
|
||||||
0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x4a,
|
0x12, 0x5c, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04,
|
||||||
0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f,
|
0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x72, 0x64, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63,
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0xda, 0xbb, 0x18, 0x29, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x20, 0x26,
|
||||||
0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca,
|
0x26, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e, 0x5c, 0x64, 0x7b, 0x34, 0x7d,
|
||||||
0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a,
|
0x2d, 0x5c, 0x64, 0x7b, 0x32, 0x7d, 0x2d, 0x5c, 0x64, 0x7b, 0x32, 0x7d, 0x24, 0x27, 0x2c, 0x20,
|
||||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x51,
|
0x24, 0x29, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe2,
|
||||||
0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
|
||||||
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x02, 0x49, 0x64,
|
||||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52, 0x02,
|
||||||
0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
|
||||||
0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x07, 0x52,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49,
|
0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
||||||
0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xca, 0xbb, 0x18,
|
0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20,
|
||||||
0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0b, 0x54,
|
0x01, 0x28, 0x03, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
|
||||||
0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x54, 0x6f,
|
0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75,
|
||||||
0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d,
|
||||||
0x42, 0x11, 0xca, 0xbb, 0x18, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65,
|
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06,
|
||||||
0x6e, 0x73, 0x65, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x6e, 0x73,
|
0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb,
|
||||||
0x65, 0x12, 0x35, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
|
0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
|
||||||
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xca, 0xbb, 0x18, 0x0d, 0x74, 0x6f, 0x74,
|
0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06,
|
||||||
0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61,
|
0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73,
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d,
|
||||||
0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61,
|
0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
||||||
0x72, 0x61, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
|
0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||||
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x18, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61,
|
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
|
||||||
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x05, 0x24, 0x21, 0x3d,
|
0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
||||||
0x27, 0x27, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x4d,
|
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64, 0x61,
|
||||||
0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35,
|
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
|
||||||
0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0xda, 0xbb, 0x18, 0x27, 0x24, 0x21,
|
0x69, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f,
|
||||||
0x3d, 0x27, 0x27, 0x20, 0x26, 0x26, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e,
|
0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
|
||||||
0x5c, 0x64, 0x2b, 0x28, 0x5c, 0x2e, 0x5c, 0x64, 0x7b, 0x31, 0x2c, 0x32, 0x7d, 0x29, 0x3f, 0x24,
|
0x1e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb, 0x18,
|
||||||
0x27, 0x2c, 0x20, 0x24, 0x29, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
|
0x02, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64, 0x12,
|
||||||
0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca,
|
0x2f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20,
|
||||||
0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72,
|
0x01, 0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
||||||
0x6b, 0x12, 0x5c, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
0x79, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
|
||||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72,
|
0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xda, 0xbb, 0x18, 0x29, 0x24, 0x21, 0x3d, 0x27, 0x27, 0x20,
|
0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41, 0x6d,
|
||||||
0x26, 0x26, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x28, 0x27, 0x5e, 0x5c, 0x64, 0x7b, 0x34,
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04,
|
||||||
0x7d, 0x2d, 0x5c, 0x64, 0x7b, 0x32, 0x7d, 0x2d, 0x5c, 0x64, 0x7b, 0x32, 0x7d, 0x24, 0x27, 0x2c,
|
0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b,
|
||||||
0x20, 0x24, 0x29, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22,
|
0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f,
|
||||||
0xe2, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
|
0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x02, 0x49,
|
0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xca, 0xbb, 0x18, 0x02, 0x69, 0x64, 0x52,
|
0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64,
|
||||||
0x02, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49,
|
0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
||||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74,
|
0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f,
|
||||||
0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
|
0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
|
||||||
0x72, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03,
|
0x1e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb, 0x18,
|
||||||
0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xca, 0xbb, 0x18, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
|
0x02, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64, 0x22,
|
||||||
0x64, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f,
|
0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65,
|
||||||
0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61,
|
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x18, 0x5a, 0x16, 0x61, 0x6c,
|
||||||
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
|
0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d,
|
||||||
0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca,
|
0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72,
|
|
||||||
0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
|
||||||
0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72,
|
|
||||||
0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69,
|
|
||||||
0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
|
||||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x72, 0x65, 0x61,
|
|
||||||
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
|
|
||||||
0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
|
|
||||||
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x75, 0x70, 0x64,
|
|
||||||
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
|
||||||
0x54, 0x69, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
|
|
||||||
0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
|
||||||
0x12, 0x1e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb,
|
|
||||||
0x18, 0x02, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64,
|
|
||||||
0x12, 0x2f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02,
|
|
||||||
0x20, 0x01, 0x28, 0x03, 0x42, 0x0f, 0xca, 0xbb, 0x18, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
|
|
||||||
0x72, 0x79, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49,
|
|
||||||
0x64, 0x12, 0x22, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
||||||
0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x41,
|
|
||||||
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18,
|
|
||||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xca, 0xbb, 0x18, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
|
|
||||||
0x6b, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2f, 0x0a, 0x0a, 0x52, 0x65, 0x63,
|
|
||||||
0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xca,
|
|
||||||
0xbb, 0x18, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0a,
|
|
||||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70,
|
|
||||||
0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
|
||||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
|
|
||||||
0x6f, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
|
||||||
0x12, 0x1e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xca, 0xbb,
|
|
||||||
0x18, 0x02, 0x69, 0x64, 0xda, 0xbb, 0x18, 0x04, 0x24, 0x21, 0x3d, 0x30, 0x52, 0x02, 0x49, 0x64,
|
|
||||||
0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
|
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x18, 0x5a, 0x16, 0x61,
|
|
||||||
0x6c, 0x6c, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f,
|
|
||||||
0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -882,27 +728,25 @@ func file_money_money_record_types_proto_rawDescGZIP() []byte {
|
|||||||
return file_money_money_record_types_proto_rawDescData
|
return file_money_money_record_types_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_money_money_record_types_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
var file_money_money_record_types_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
||||||
var file_money_money_record_types_proto_goTypes = []interface{}{
|
var file_money_money_record_types_proto_goTypes = []interface{}{
|
||||||
(*MoneyRecordItem)(nil), // 0: money.MoneyRecordItem
|
(*MoneyRecord)(nil), // 0: money.MoneyRecord
|
||||||
(*MoneyRecordGroup)(nil), // 1: money.MoneyRecordGroup
|
(*QueryMoneyRecordsParams)(nil), // 1: money.QueryMoneyRecordsParams
|
||||||
(*QueryMoneyRecordsParams)(nil), // 2: money.QueryMoneyRecordsParams
|
(*QueryMoneyRecordsResult)(nil), // 2: money.QueryMoneyRecordsResult
|
||||||
(*QueryMoneyRecordsResult)(nil), // 3: money.QueryMoneyRecordsResult
|
(*InsertMoneyRecordParams)(nil), // 3: money.InsertMoneyRecordParams
|
||||||
(*InsertMoneyRecordParams)(nil), // 4: money.InsertMoneyRecordParams
|
(*InsertMoneyRecordResult)(nil), // 4: money.InsertMoneyRecordResult
|
||||||
(*InsertMoneyRecordResult)(nil), // 5: money.InsertMoneyRecordResult
|
(*UpdateMoneyRecordParams)(nil), // 5: money.UpdateMoneyRecordParams
|
||||||
(*UpdateMoneyRecordParams)(nil), // 6: money.UpdateMoneyRecordParams
|
(*UpdateMoneyRecordResult)(nil), // 6: money.UpdateMoneyRecordResult
|
||||||
(*UpdateMoneyRecordResult)(nil), // 7: money.UpdateMoneyRecordResult
|
(*DeleteMoneyRecordParams)(nil), // 7: money.DeleteMoneyRecordParams
|
||||||
(*DeleteMoneyRecordParams)(nil), // 8: money.DeleteMoneyRecordParams
|
(*DeleteMoneyRecordResult)(nil), // 8: money.DeleteMoneyRecordResult
|
||||||
(*DeleteMoneyRecordResult)(nil), // 9: money.DeleteMoneyRecordResult
|
|
||||||
}
|
}
|
||||||
var file_money_money_record_types_proto_depIdxs = []int32{
|
var file_money_money_record_types_proto_depIdxs = []int32{
|
||||||
0, // 0: money.MoneyRecordGroup.Records:type_name -> money.MoneyRecordItem
|
0, // 0: money.QueryMoneyRecordsResult.Records:type_name -> money.MoneyRecord
|
||||||
1, // 1: money.QueryMoneyRecordsResult.Records:type_name -> money.MoneyRecordGroup
|
1, // [1:1] is the sub-list for method output_type
|
||||||
2, // [2:2] is the sub-list for method output_type
|
1, // [1:1] is the sub-list for method input_type
|
||||||
2, // [2:2] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
2, // [2:2] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
2, // [2:2] is the sub-list for extension extendee
|
0, // [0:1] is the sub-list for field type_name
|
||||||
0, // [0:2] is the sub-list for field type_name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_money_money_record_types_proto_init() }
|
func init() { file_money_money_record_types_proto_init() }
|
||||||
@@ -912,7 +756,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
}
|
}
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_money_money_record_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*MoneyRecordItem); i {
|
switch v := v.(*MoneyRecord); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -924,18 +768,6 @@ func file_money_money_record_types_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*MoneyRecordGroup); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_money_money_record_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*QueryMoneyRecordsParams); i {
|
switch v := v.(*QueryMoneyRecordsParams); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -947,7 +779,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*QueryMoneyRecordsResult); i {
|
switch v := v.(*QueryMoneyRecordsResult); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -959,7 +791,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*InsertMoneyRecordParams); i {
|
switch v := v.(*InsertMoneyRecordParams); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -971,7 +803,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*InsertMoneyRecordResult); i {
|
switch v := v.(*InsertMoneyRecordResult); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -983,7 +815,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*UpdateMoneyRecordParams); i {
|
switch v := v.(*UpdateMoneyRecordParams); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -995,7 +827,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*UpdateMoneyRecordResult); i {
|
switch v := v.(*UpdateMoneyRecordResult); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -1007,7 +839,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*DeleteMoneyRecordParams); i {
|
switch v := v.(*DeleteMoneyRecordParams); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -1019,7 +851,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_money_money_record_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
file_money_money_record_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*DeleteMoneyRecordResult); i {
|
switch v := v.(*DeleteMoneyRecordResult); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -1038,7 +870,7 @@ func file_money_money_record_types_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_money_money_record_types_proto_rawDesc,
|
RawDescriptor: file_money_money_record_types_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 10,
|
NumMessages: 9,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -70,3 +70,8 @@ func _listMw() []app.HandlerFunc {
|
|||||||
// your code...
|
// your code...
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _updatemoneycategoryMw() []app.HandlerFunc {
|
||||||
|
// your code...
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@ func Register(r *server.Hertz) {
|
|||||||
_category := _money.Group("/category", _categoryMw()...)
|
_category := _money.Group("/category", _categoryMw()...)
|
||||||
_category.POST("/create", append(_createmoneycategoryMw(), money.CreateMoneyCategory)...)
|
_category.POST("/create", append(_createmoneycategoryMw(), money.CreateMoneyCategory)...)
|
||||||
_category.POST("/delete", append(_deleteusermoneycategoryMw(), money.DeleteUserMoneyCategory)...)
|
_category.POST("/delete", append(_deleteusermoneycategoryMw(), money.DeleteUserMoneyCategory)...)
|
||||||
|
_category.POST("/update", append(_updatemoneycategoryMw(), money.UpdateMoneyCategory)...)
|
||||||
_category.POST("/updateSort", append(_updatemoneycategorysortMw(), money.UpdateMoneyCategorySort)...)
|
_category.POST("/updateSort", append(_updatemoneycategorysortMw(), money.UpdateMoneyCategorySort)...)
|
||||||
{
|
{
|
||||||
_record := _money.Group("/record", _recordMw()...)
|
_record := _money.Group("/record", _recordMw()...)
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
-- name: FindUserMoneyRecords :many
|
-- name: FindUserMoneyRecords :many
|
||||||
SELECT
|
SELECT mr.*
|
||||||
mr.*,
|
|
||||||
muc.name AS category_name,
|
|
||||||
muc.icon AS category_icon,
|
|
||||||
muc.type AS category_type
|
|
||||||
FROM money_record mr
|
FROM money_record mr
|
||||||
LEFT JOIN money_user_category muc ON mr.category_id = muc.id
|
|
||||||
WHERE mr.user_id = $1
|
WHERE mr.user_id = $1
|
||||||
AND mr.record_time BETWEEN $2 AND $3
|
AND mr.record_time BETWEEN $2 AND $3
|
||||||
ORDER BY mr.record_time DESC, mr.create_time DESC;
|
ORDER BY mr.record_time DESC, mr.create_time DESC;
|
||||||
@@ -13,17 +8,17 @@ ORDER BY mr.record_time DESC, mr.create_time DESC;
|
|||||||
-- name: FindMoneyRecordsBySpace :many
|
-- name: FindMoneyRecordsBySpace :many
|
||||||
SELECT
|
SELECT
|
||||||
mr.*,
|
mr.*,
|
||||||
u.username AS username,
|
u.username AS username
|
||||||
muc.name AS category_name,
|
|
||||||
muc.icon AS category_icon,
|
|
||||||
muc.type AS category_type
|
|
||||||
FROM money_record mr
|
FROM money_record mr
|
||||||
LEFT JOIN money_user_category muc ON mr.category_id = muc.id
|
INNER JOIN space_user su
|
||||||
INNER JOIN space_user su ON mr.user_id = su.user_id AND su.space_id = $1
|
ON mr.user_id = su.user_id
|
||||||
LEFT JOIN user_info u ON mr.user_id = u.id
|
AND su.space_id = $1
|
||||||
|
LEFT JOIN user_info u
|
||||||
|
ON mr.user_id = u.id
|
||||||
WHERE mr.record_time BETWEEN $2 AND $3
|
WHERE mr.record_time BETWEEN $2 AND $3
|
||||||
ORDER BY mr.record_time DESC, mr.create_time DESC;
|
ORDER BY mr.record_time DESC, mr.create_time DESC;
|
||||||
|
|
||||||
|
|
||||||
-- name: InsertMoneyRecord :one
|
-- name: InsertMoneyRecord :one
|
||||||
INSERT INTO money_record (
|
INSERT INTO money_record (
|
||||||
id,
|
id,
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ DELETE FROM money_user_category
|
|||||||
WHERE user_id = $1;
|
WHERE user_id = $1;
|
||||||
|
|
||||||
-- name: InsertMoneyUserCategory :exec
|
-- name: InsertMoneyUserCategory :exec
|
||||||
INSERT INTO money_user_category (id, user_id, name, icon, type, sort_number)
|
INSERT INTO money_user_category (id, user_id, name, icon, type, sort_number,create_time,update_time)
|
||||||
VALUES ($1, $2, $3, $4, $5, $6);
|
VALUES ($1, $2, $3, $4, $5, $6,NOW(),NOW());
|
||||||
|
|
||||||
-- name: UpdateMoneyCategory :exec
|
-- name: UpdateMoneyCategory :exec
|
||||||
UPDATE money_user_category
|
UPDATE money_user_category
|
||||||
SET icon = $2,name = $3
|
SET icon = $2,name = $3,update_time = NOW()
|
||||||
WHERE id = $1;
|
WHERE id = $1;
|
||||||
@@ -14,7 +14,7 @@ type MoneyRecord struct {
|
|||||||
UserID int64
|
UserID int64
|
||||||
Amount pgtype.Numeric
|
Amount pgtype.Numeric
|
||||||
Remark pgtype.Text
|
Remark pgtype.Text
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
CreateTime pgtype.Timestamp
|
CreateTime pgtype.Timestamp
|
||||||
UpdateTime pgtype.Timestamp
|
UpdateTime pgtype.Timestamp
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,37 +23,33 @@ func (q *Queries) DeleteMoneyRecord(ctx context.Context, id int64) error {
|
|||||||
const findMoneyRecordsBySpace = `-- name: FindMoneyRecordsBySpace :many
|
const findMoneyRecordsBySpace = `-- name: FindMoneyRecordsBySpace :many
|
||||||
SELECT
|
SELECT
|
||||||
mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time,
|
mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time,
|
||||||
u.username AS username,
|
u.username AS username
|
||||||
muc.name AS category_name,
|
|
||||||
muc.icon AS category_icon,
|
|
||||||
muc.type AS category_type
|
|
||||||
FROM money_record mr
|
FROM money_record mr
|
||||||
LEFT JOIN money_user_category muc ON mr.category_id = muc.id
|
INNER JOIN space_user su
|
||||||
INNER JOIN space_user su ON mr.user_id = su.user_id AND su.space_id = $1
|
ON mr.user_id = su.user_id
|
||||||
LEFT JOIN user_info u ON mr.user_id = u.id
|
AND su.space_id = $1
|
||||||
|
LEFT JOIN user_info u
|
||||||
|
ON mr.user_id = u.id
|
||||||
WHERE mr.record_time BETWEEN $2 AND $3
|
WHERE mr.record_time BETWEEN $2 AND $3
|
||||||
ORDER BY mr.record_time DESC, mr.create_time DESC
|
ORDER BY mr.record_time DESC, mr.create_time DESC
|
||||||
`
|
`
|
||||||
|
|
||||||
type FindMoneyRecordsBySpaceParams struct {
|
type FindMoneyRecordsBySpaceParams struct {
|
||||||
SpaceID int64
|
SpaceID int64
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
RecordTime_2 pgtype.Timestamp
|
RecordTime_2 pgtype.Date
|
||||||
}
|
}
|
||||||
|
|
||||||
type FindMoneyRecordsBySpaceRow struct {
|
type FindMoneyRecordsBySpaceRow struct {
|
||||||
ID int64
|
ID int64
|
||||||
CategoryID int64
|
CategoryID int64
|
||||||
UserID int64
|
UserID int64
|
||||||
Amount pgtype.Numeric
|
Amount pgtype.Numeric
|
||||||
Remark pgtype.Text
|
Remark pgtype.Text
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
CreateTime pgtype.Timestamp
|
CreateTime pgtype.Timestamp
|
||||||
UpdateTime pgtype.Timestamp
|
UpdateTime pgtype.Timestamp
|
||||||
Username pgtype.Text
|
Username pgtype.Text
|
||||||
CategoryName pgtype.Text
|
|
||||||
CategoryIcon pgtype.Text
|
|
||||||
CategoryType pgtype.Int4
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) FindMoneyRecordsBySpace(ctx context.Context, arg FindMoneyRecordsBySpaceParams) ([]FindMoneyRecordsBySpaceRow, error) {
|
func (q *Queries) FindMoneyRecordsBySpace(ctx context.Context, arg FindMoneyRecordsBySpaceParams) ([]FindMoneyRecordsBySpaceRow, error) {
|
||||||
@@ -75,9 +71,6 @@ func (q *Queries) FindMoneyRecordsBySpace(ctx context.Context, arg FindMoneyReco
|
|||||||
&i.CreateTime,
|
&i.CreateTime,
|
||||||
&i.UpdateTime,
|
&i.UpdateTime,
|
||||||
&i.Username,
|
&i.Username,
|
||||||
&i.CategoryName,
|
|
||||||
&i.CategoryIcon,
|
|
||||||
&i.CategoryType,
|
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -90,13 +83,8 @@ func (q *Queries) FindMoneyRecordsBySpace(ctx context.Context, arg FindMoneyReco
|
|||||||
}
|
}
|
||||||
|
|
||||||
const findUserMoneyRecords = `-- name: FindUserMoneyRecords :many
|
const findUserMoneyRecords = `-- name: FindUserMoneyRecords :many
|
||||||
SELECT
|
SELECT mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time
|
||||||
mr.id, mr.category_id, mr.user_id, mr.amount, mr.remark, mr.record_time, mr.create_time, mr.update_time,
|
|
||||||
muc.name AS category_name,
|
|
||||||
muc.icon AS category_icon,
|
|
||||||
muc.type AS category_type
|
|
||||||
FROM money_record mr
|
FROM money_record mr
|
||||||
LEFT JOIN money_user_category muc ON mr.category_id = muc.id
|
|
||||||
WHERE mr.user_id = $1
|
WHERE mr.user_id = $1
|
||||||
AND mr.record_time BETWEEN $2 AND $3
|
AND mr.record_time BETWEEN $2 AND $3
|
||||||
ORDER BY mr.record_time DESC, mr.create_time DESC
|
ORDER BY mr.record_time DESC, mr.create_time DESC
|
||||||
@@ -104,33 +92,19 @@ ORDER BY mr.record_time DESC, mr.create_time DESC
|
|||||||
|
|
||||||
type FindUserMoneyRecordsParams struct {
|
type FindUserMoneyRecordsParams struct {
|
||||||
UserID int64
|
UserID int64
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
RecordTime_2 pgtype.Timestamp
|
RecordTime_2 pgtype.Date
|
||||||
}
|
}
|
||||||
|
|
||||||
type FindUserMoneyRecordsRow struct {
|
func (q *Queries) FindUserMoneyRecords(ctx context.Context, arg FindUserMoneyRecordsParams) ([]MoneyRecord, error) {
|
||||||
ID int64
|
|
||||||
CategoryID int64
|
|
||||||
UserID int64
|
|
||||||
Amount pgtype.Numeric
|
|
||||||
Remark pgtype.Text
|
|
||||||
RecordTime pgtype.Timestamp
|
|
||||||
CreateTime pgtype.Timestamp
|
|
||||||
UpdateTime pgtype.Timestamp
|
|
||||||
CategoryName pgtype.Text
|
|
||||||
CategoryIcon pgtype.Text
|
|
||||||
CategoryType pgtype.Int4
|
|
||||||
}
|
|
||||||
|
|
||||||
func (q *Queries) FindUserMoneyRecords(ctx context.Context, arg FindUserMoneyRecordsParams) ([]FindUserMoneyRecordsRow, error) {
|
|
||||||
rows, err := q.db.Query(ctx, findUserMoneyRecords, arg.UserID, arg.RecordTime, arg.RecordTime_2)
|
rows, err := q.db.Query(ctx, findUserMoneyRecords, arg.UserID, arg.RecordTime, arg.RecordTime_2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
var items []FindUserMoneyRecordsRow
|
var items []MoneyRecord
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var i FindUserMoneyRecordsRow
|
var i MoneyRecord
|
||||||
if err := rows.Scan(
|
if err := rows.Scan(
|
||||||
&i.ID,
|
&i.ID,
|
||||||
&i.CategoryID,
|
&i.CategoryID,
|
||||||
@@ -140,9 +114,6 @@ func (q *Queries) FindUserMoneyRecords(ctx context.Context, arg FindUserMoneyRec
|
|||||||
&i.RecordTime,
|
&i.RecordTime,
|
||||||
&i.CreateTime,
|
&i.CreateTime,
|
||||||
&i.UpdateTime,
|
&i.UpdateTime,
|
||||||
&i.CategoryName,
|
|
||||||
&i.CategoryIcon,
|
|
||||||
&i.CategoryType,
|
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -196,7 +167,7 @@ type InsertMoneyRecordParams struct {
|
|||||||
UserID int64
|
UserID int64
|
||||||
Amount pgtype.Numeric
|
Amount pgtype.Numeric
|
||||||
Remark pgtype.Text
|
Remark pgtype.Text
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) InsertMoneyRecord(ctx context.Context, arg InsertMoneyRecordParams) (MoneyRecord, error) {
|
func (q *Queries) InsertMoneyRecord(ctx context.Context, arg InsertMoneyRecordParams) (MoneyRecord, error) {
|
||||||
@@ -239,7 +210,7 @@ type UpdateMoneyRecordParams struct {
|
|||||||
CategoryID int64
|
CategoryID int64
|
||||||
Amount pgtype.Numeric
|
Amount pgtype.Numeric
|
||||||
Remark pgtype.Text
|
Remark pgtype.Text
|
||||||
RecordTime pgtype.Timestamp
|
RecordTime pgtype.Date
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) UpdateMoneyRecord(ctx context.Context, arg UpdateMoneyRecordParams) error {
|
func (q *Queries) UpdateMoneyRecord(ctx context.Context, arg UpdateMoneyRecordParams) error {
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ func (q *Queries) FindUserMoneyCategoriesByUserID(ctx context.Context, userID in
|
|||||||
}
|
}
|
||||||
|
|
||||||
const insertMoneyUserCategory = `-- name: InsertMoneyUserCategory :exec
|
const insertMoneyUserCategory = `-- name: InsertMoneyUserCategory :exec
|
||||||
INSERT INTO money_user_category (id, user_id, name, icon, type, sort_number)
|
INSERT INTO money_user_category (id, user_id, name, icon, type, sort_number,create_time,update_time)
|
||||||
VALUES ($1, $2, $3, $4, $5, $6)
|
VALUES ($1, $2, $3, $4, $5, $6,NOW(),NOW())
|
||||||
`
|
`
|
||||||
|
|
||||||
type InsertMoneyUserCategoryParams struct {
|
type InsertMoneyUserCategoryParams struct {
|
||||||
@@ -97,3 +97,20 @@ func (q *Queries) InsertMoneyUserCategory(ctx context.Context, arg InsertMoneyUs
|
|||||||
)
|
)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const updateMoneyCategory = `-- name: UpdateMoneyCategory :exec
|
||||||
|
UPDATE money_user_category
|
||||||
|
SET icon = $2,name = $3,update_time = NOW()
|
||||||
|
WHERE id = $1
|
||||||
|
`
|
||||||
|
|
||||||
|
type UpdateMoneyCategoryParams struct {
|
||||||
|
ID int64
|
||||||
|
Icon string
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (q *Queries) UpdateMoneyCategory(ctx context.Context, arg UpdateMoneyCategoryParams) error {
|
||||||
|
_, err := q.db.Exec(ctx, updateMoneyCategory, arg.ID, arg.Icon, arg.Name)
|
||||||
|
return err
|
||||||
|
}
|
||||||
@@ -18,9 +18,9 @@ CREATE TABLE money_record(
|
|||||||
user_id BIGINT NOT NULL,
|
user_id BIGINT NOT NULL,
|
||||||
amount NUMERIC(12,2) NOT NULL,
|
amount NUMERIC(12,2) NOT NULL,
|
||||||
remark VARCHAR(255) DEFAULT '',
|
remark VARCHAR(255) DEFAULT '',
|
||||||
record_time timestamp NOT NULL,
|
record_time DATE NOT NULL,
|
||||||
create_time timestamp DEFAULT CURRENT_TIMESTAMP,
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
update_time timestamp DEFAULT CURRENT_TIMESTAMP
|
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE money_sys_category(
|
CREATE TABLE money_sys_category(
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ option go_package = "money";
|
|||||||
import "api.proto";
|
import "api.proto";
|
||||||
import "money/money_category_types.proto";
|
import "money/money_category_types.proto";
|
||||||
import "money/money_record_types.proto";
|
import "money/money_record_types.proto";
|
||||||
|
import "google/protobuf/empty.proto";
|
||||||
|
|
||||||
service MoneyCategoryService {
|
service MoneyCategoryService {
|
||||||
rpc List(ListMoneyCategoryReq) returns (ListMoneyCategoryResp){
|
rpc List(ListMoneyCategoryReq) returns (ListMoneyCategoryResp){
|
||||||
@@ -21,6 +22,9 @@ service MoneyCategoryService {
|
|||||||
rpc CreateMoneyCategory(CreateMoneyCategoryReq) returns (CreateMoneyCategoryResp){
|
rpc CreateMoneyCategory(CreateMoneyCategoryReq) returns (CreateMoneyCategoryResp){
|
||||||
option (api.post) = '/money/category/create';
|
option (api.post) = '/money/category/create';
|
||||||
};
|
};
|
||||||
|
rpc UpdateMoneyCategory(UpdateMoneyCategoryReq) returns (UpdateMoneyCategoryResp){
|
||||||
|
option (api.post) = '/money/category/update';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
service MoneyRecordService {
|
service MoneyRecordService {
|
||||||
|
|||||||
@@ -60,3 +60,19 @@ message CreateMoneyCategoryReq {
|
|||||||
message CreateMoneyCategoryResp {
|
message CreateMoneyCategoryResp {
|
||||||
int64 Id = 1 [(api.body)="id"];
|
int64 Id = 1 [(api.body)="id"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message UpdateMoneyCategoryReq {
|
||||||
|
int64 Id = 1[
|
||||||
|
(api.body)="id"
|
||||||
|
];;
|
||||||
|
string Name = 2 [
|
||||||
|
(api.body)="name",
|
||||||
|
(api.vd) = "$ != ''"
|
||||||
|
];;
|
||||||
|
string Icon = 3 [
|
||||||
|
(api.body)="icon",
|
||||||
|
(api.vd) = "$ != ''"
|
||||||
|
];;
|
||||||
|
}
|
||||||
|
|
||||||
|
message UpdateMoneyCategoryResp {}
|
||||||
@@ -7,30 +7,18 @@ import "api.proto";
|
|||||||
|
|
||||||
|
|
||||||
// 单条记账记录
|
// 单条记账记录
|
||||||
message MoneyRecordItem {
|
message MoneyRecord {
|
||||||
int64 Id = 1 [(api.body)="id"];
|
int64 Id = 1 [(api.body)="id"];
|
||||||
int64 CategoryId = 2 [(api.body)="category_id"];
|
int64 CategoryId = 2 [(api.body)="category_id"];
|
||||||
int64 UserId = 3 [(api.body)="user_id"];
|
int64 UserId = 3 [(api.body)="user_id"];
|
||||||
string Amount = 4 [(api.body)="amount"];
|
string Amount = 4 [(api.body)="amount"];
|
||||||
string Remark = 5 [(api.body)="remark"];
|
string Remark = 5 [(api.body)="remark"];
|
||||||
string RecordTime = 6 [(api.body)="record_time"];
|
string RecordTime = 6 [(api.body)="record_time"];
|
||||||
string CreateTime = 7 [(api.body)="create_time"];
|
int64 CreateTime = 7 [(api.body)="create_time"];
|
||||||
string UpdateTime = 8 [(api.body)="update_time"];
|
int64 UpdateTime = 8 [(api.body)="update_time"];
|
||||||
string Username = 9 [(api.body)="username"];
|
string Username = 9 [(api.body)="username"];
|
||||||
int32 CategoryType = 10 [(api.body)="category_type"];
|
|
||||||
string CategoryIcon = 11 [(api.body)="category_icon"];
|
|
||||||
string CategoryName = 12 [(api.body)="category_name"];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同一天的记账记录分组
|
|
||||||
message MoneyRecordGroup {
|
|
||||||
string RecordTime = 1 [(api.body)="record_time"];
|
|
||||||
|
|
||||||
string Expense = 2 [(api.body)="expense"];
|
|
||||||
string Income = 3 [(api.body)="income"];
|
|
||||||
|
|
||||||
repeated MoneyRecordItem Records = 4 [(api.body)="records"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询记账记录请求参数
|
// 查询记账记录请求参数
|
||||||
message QueryMoneyRecordsParams {
|
message QueryMoneyRecordsParams {
|
||||||
@@ -39,11 +27,7 @@ message QueryMoneyRecordsParams {
|
|||||||
|
|
||||||
// 查询记账记录结果
|
// 查询记账记录结果
|
||||||
message QueryMoneyRecordsResult {
|
message QueryMoneyRecordsResult {
|
||||||
repeated MoneyRecordGroup Records = 1 [(api.body)="records"];
|
repeated MoneyRecord Records = 1 [(api.body)="records"];
|
||||||
|
|
||||||
string TotalIncome = 2 [(api.body)="total_income"];
|
|
||||||
string TotalExpense = 3 [(api.body)="total_expense"];
|
|
||||||
string TotalBalance = 4 [(api.body)="total_balance"];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增记账记录参数
|
// 新增记账记录参数
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
package pgtypex
|
package pgtypex
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jackc/pgx/v5/pgtype"
|
|
||||||
"github.com/shopspring/decimal"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/jackc/pgx/v5/pgtype"
|
||||||
|
"github.com/shopspring/decimal"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NumericToString(n pgtype.Numeric) string {
|
func NumericToString(n pgtype.Numeric) string {
|
||||||
@@ -123,3 +124,11 @@ func StringToDate(s string) pgtype.Date {
|
|||||||
Valid: true,
|
Valid: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TimestampToMillis(ts pgtype.Timestamp) int64 {
|
||||||
|
return ts.Time.UnixMilli()
|
||||||
|
}
|
||||||
|
|
||||||
|
func DateToString(s pgtype.Date) string {
|
||||||
|
return s.Time.String()
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useRouter } from 'expo-router'
|
import { useFocusEffect, useRouter } from 'expo-router'
|
||||||
import React, { useEffect, useState } from 'react'
|
import React, { useCallback, useEffect, useState } from 'react'
|
||||||
import { Image, Text, TouchableOpacity, View } from 'react-native'
|
import { Image, Text, TouchableOpacity, View } from 'react-native'
|
||||||
import { Drawer } from 'react-native-drawer-layout'
|
import { Drawer } from 'react-native-drawer-layout'
|
||||||
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context'
|
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context'
|
||||||
@@ -52,6 +52,17 @@ export default function Money() {
|
|||||||
getMoneyRecords()
|
getMoneyRecords()
|
||||||
}, [appStore.ready, searchParams])
|
}, [appStore.ready, searchParams])
|
||||||
|
|
||||||
|
useFocusEffect(
|
||||||
|
useCallback(() => {
|
||||||
|
// 页面显示 / 返回时
|
||||||
|
console.log('===shohw===')
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
// 页面离开(可选)
|
||||||
|
}
|
||||||
|
}, []),
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View
|
<View
|
||||||
className="flex-1"
|
className="flex-1"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import type { MoneyCategoryItem } from '@/types/money/category'
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { Pressable, Text, View } from 'react-native'
|
import { Pressable, Text, View } from 'react-native'
|
||||||
import { AButton, AInput } from '@/components/common/ao'
|
import { AButton, AInput } from '@/components/common/ao'
|
||||||
@@ -23,7 +24,7 @@ interface EditCategoryProps {
|
|||||||
open: boolean
|
open: boolean
|
||||||
onClose?: () => void
|
onClose?: () => void
|
||||||
type: MoneyCategoryEnum
|
type: MoneyCategoryEnum
|
||||||
|
category: MoneyCategoryItem | null
|
||||||
onConfirm?: (form: EditCategoryForm) => Promise<void>
|
onConfirm?: (form: EditCategoryForm) => Promise<void>
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@ export default function CreateCategory({
|
|||||||
onClose,
|
onClose,
|
||||||
type,
|
type,
|
||||||
onConfirm,
|
onConfirm,
|
||||||
|
category,
|
||||||
}: EditCategoryProps) {
|
}: EditCategoryProps) {
|
||||||
const moneyCategoryStore = useMoneyCategoryStore()
|
const moneyCategoryStore = useMoneyCategoryStore()
|
||||||
|
|
||||||
@@ -58,6 +60,12 @@ export default function CreateCategory({
|
|||||||
}
|
}
|
||||||
}, [form.name, form.icon])
|
}, [form.name, form.icon])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (category !== null) {
|
||||||
|
setForm(category)
|
||||||
|
}
|
||||||
|
}, [category])
|
||||||
|
|
||||||
function handleClose() {
|
function handleClose() {
|
||||||
setIsOpen(false)
|
setIsOpen(false)
|
||||||
onClose && onClose()
|
onClose && onClose()
|
||||||
@@ -116,6 +124,7 @@ export default function CreateCategory({
|
|||||||
</View>
|
</View>
|
||||||
|
|
||||||
<AInput
|
<AInput
|
||||||
|
value={form.name}
|
||||||
placeholder="请输入名称(不超过5个字符)"
|
placeholder="请输入名称(不超过5个字符)"
|
||||||
onChangeText={(text) => {
|
onChangeText={(text) => {
|
||||||
setForm((val) => {
|
setForm((val) => {
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ export default function MoneyCategorySetting() {
|
|||||||
const [draggingDeleteZone, setDraggingDeleteZone] = useState<boolean>(false)
|
const [draggingDeleteZone, setDraggingDeleteZone] = useState<boolean>(false)
|
||||||
const [deleteTimer, setDeleteTimer] = useState<number | null>(null)
|
const [deleteTimer, setDeleteTimer] = useState<number | null>(null)
|
||||||
|
|
||||||
const [openCreateCategory, setOpenCreateCategory] = useState<boolean>(false)
|
const [showEditCategory, setshowEditCategory] = useState<boolean>(false)
|
||||||
|
|
||||||
|
const [selectedCategory, setSelectedCategory] = useState<MoneyCategoryItem | null>(null)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setCategories(selectedTab === MoneyCategoryEnum.Expense ? moneyCategoryStore.getExpenseCategories() : moneyCategoryStore.getIncomeCategories())
|
setCategories(selectedTab === MoneyCategoryEnum.Expense ? moneyCategoryStore.getExpenseCategories() : moneyCategoryStore.getIncomeCategories())
|
||||||
@@ -35,7 +37,8 @@ export default function MoneyCategorySetting() {
|
|||||||
({ item }) => (
|
({ item }) => (
|
||||||
<Pressable
|
<Pressable
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
console.log('点击进入编辑')
|
setSelectedCategory(item)
|
||||||
|
setshowEditCategory(true)
|
||||||
}}
|
}}
|
||||||
className="flex flex-col items-center justify-center"
|
className="flex flex-col items-center justify-center"
|
||||||
>
|
>
|
||||||
@@ -64,33 +67,49 @@ export default function MoneyCategorySetting() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
async function handleConfirmEdit(form: EditCategoryForm) {
|
async function handleConfirmEdit(form: EditCategoryForm) {
|
||||||
const isDuplicate = moneyCategoryStore.isDuplicateCategory(form.name, selectedTab)
|
const isDuplicate = moneyCategoryStore.isDuplicateCategory(
|
||||||
|
form.name,
|
||||||
|
selectedTab,
|
||||||
|
form.id ?? null,
|
||||||
|
)
|
||||||
|
|
||||||
if (isDuplicate) {
|
if (isDuplicate) {
|
||||||
toast.show({
|
toast.show({
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
title: '类别不能重复',
|
title: '类别不能重复',
|
||||||
})
|
})
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await moneyCategoryStore.createCategory({
|
if (form.id != null) {
|
||||||
id: 0,
|
await moneyCategoryStore.updateCategory({
|
||||||
name: form.name,
|
id: form.id,
|
||||||
icon: form.icon,
|
name: form.name,
|
||||||
sort_number: 0,
|
icon: form.icon,
|
||||||
type: selectedTab,
|
type: selectedTab,
|
||||||
})
|
sort_number: 0,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
await moneyCategoryStore.createCategory({
|
||||||
|
id: 0,
|
||||||
|
name: form.name,
|
||||||
|
icon: form.icon,
|
||||||
|
sort_number: 0,
|
||||||
|
type: selectedTab,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
setOpenCreateCategory(false)
|
setshowEditCategory(false)
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
const message
|
const message
|
||||||
= err instanceof Error
|
= err instanceof Error
|
||||||
? err.message
|
? err.message
|
||||||
: '新增失败,请稍后再试'
|
: form.id != null
|
||||||
|
? '更新失败,请稍后再试'
|
||||||
|
: '新增失败,请稍后再试'
|
||||||
|
|
||||||
toast.show({
|
toast.show({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
@@ -133,7 +152,7 @@ export default function MoneyCategorySetting() {
|
|||||||
clickable: false,
|
clickable: false,
|
||||||
}}
|
}}
|
||||||
onPress={(() =>
|
onPress={(() =>
|
||||||
setOpenCreateCategory(true)
|
setshowEditCategory(true)
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
新增
|
新增
|
||||||
@@ -228,8 +247,12 @@ export default function MoneyCategorySetting() {
|
|||||||
|
|
||||||
<EditCategory
|
<EditCategory
|
||||||
type={selectedTab}
|
type={selectedTab}
|
||||||
open={openCreateCategory}
|
open={showEditCategory}
|
||||||
onClose={() => setOpenCreateCategory(false)}
|
onClose={() => {
|
||||||
|
setshowEditCategory(false)
|
||||||
|
setSelectedCategory(null)
|
||||||
|
}}
|
||||||
|
category={selectedCategory}
|
||||||
onConfirm={handleConfirmEdit}
|
onConfirm={handleConfirmEdit}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { CreateMoneyCategoryParams, CreateMoneyCategoryResult, DeleteMoneyCategoryParams, QueryMoneyCategoryResult, UpdateMoneyCategorySortParams } from '@/types/money/category'
|
import type { CreateMoneyCategoryParams, CreateMoneyCategoryResult, DeleteMoneyCategoryParams, QueryMoneyCategoryResult, UpdateMoneyCategoryParams, UpdateMoneyCategoryResult, UpdateMoneyCategorySortParams } from '@/types/money/category'
|
||||||
import alovaInstance from '../../index'
|
import alovaInstance from '../../index'
|
||||||
|
|
||||||
const API_PREFIX = '/money/category'
|
const API_PREFIX = '/money/category'
|
||||||
@@ -18,3 +18,7 @@ export function updateMoneyCategorySortApi(params: UpdateMoneyCategorySortParams
|
|||||||
export function createMoneyCategoryApi(params: CreateMoneyCategoryParams) {
|
export function createMoneyCategoryApi(params: CreateMoneyCategoryParams) {
|
||||||
return alovaInstance.Post<ResponseData<CreateMoneyCategoryResult>>(`${API_PREFIX}/create`, params)
|
return alovaInstance.Post<ResponseData<CreateMoneyCategoryResult>>(`${API_PREFIX}/create`, params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function updateMoneyCategoryApi(params: UpdateMoneyCategoryParams) {
|
||||||
|
return alovaInstance.Post<ResponseData<UpdateMoneyCategoryResult>>(`${API_PREFIX}/update`, params)
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { MoneyCategoryItem, UpdateMoneyCategorySortItem } from '@/types/money/category'
|
import type { MoneyCategoryItem } from '@/types/money/category'
|
||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
import { createMoneyCategoryApi, deleteMoneyCategoryApi, queryMoneyCategoryApi, updateMoneyCategorySortApi } from '@/request/api/money/category'
|
import { createMoneyCategoryApi, deleteMoneyCategoryApi, queryMoneyCategoryApi, updateMoneyCategoryApi, updateMoneyCategorySortApi } from '@/request/api/money/category'
|
||||||
import { MoneyCategoryEnum } from '@/types/money/category'
|
import { MoneyCategoryEnum } from '@/types/money/category'
|
||||||
|
|
||||||
interface MoneyCategoryStore {
|
interface MoneyCategoryStore {
|
||||||
@@ -16,10 +16,11 @@ interface MoneyCategoryStore {
|
|||||||
getCategoryById: (id: number) => MoneyCategoryItem | null
|
getCategoryById: (id: number) => MoneyCategoryItem | null
|
||||||
|
|
||||||
createCategory: (category: MoneyCategoryItem) => Promise<void>
|
createCategory: (category: MoneyCategoryItem) => Promise<void>
|
||||||
|
updateCategory: (category: MoneyCategoryItem) => Promise<void>
|
||||||
updateSortNumbers: (data: MoneyCategoryItem[], type: number) => Promise<void>
|
updateSortNumbers: (data: MoneyCategoryItem[], type: number) => Promise<void>
|
||||||
deleteCategoryById: (id: number) => Promise<void>
|
deleteCategoryById: (id: number) => Promise<void>
|
||||||
|
|
||||||
isDuplicateCategory: (name: string, type: number) => boolean
|
isDuplicateCategory: (name: string, type: number, excludeId: number | null) => boolean
|
||||||
|
|
||||||
clear: () => void
|
clear: () => void
|
||||||
}
|
}
|
||||||
@@ -162,6 +163,36 @@ export const useMoneyCategoryStore = create<MoneyCategoryStore>()(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
updateCategory: async (category) => {
|
||||||
|
try {
|
||||||
|
const res = await updateMoneyCategoryApi({
|
||||||
|
id: category.id,
|
||||||
|
name: category.name,
|
||||||
|
icon: category.icon,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!res.isSuccess) {
|
||||||
|
throw new Error(res.message)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新本地 categories
|
||||||
|
set(state => ({
|
||||||
|
categories: state.categories.map(c =>
|
||||||
|
c.id !== category.id
|
||||||
|
? c
|
||||||
|
: {
|
||||||
|
...c,
|
||||||
|
...category,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
console.error(err)
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
updateSortNumbers: async (data, type) => {
|
updateSortNumbers: async (data, type) => {
|
||||||
const payload = data.map((item, index) => ({
|
const payload = data.map((item, index) => ({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
@@ -207,9 +238,13 @@ export const useMoneyCategoryStore = create<MoneyCategoryStore>()(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
isDuplicateCategory: (name, type) => {
|
isDuplicateCategory: (name, type, excludeId) => {
|
||||||
const categories = get().categories || []
|
const categories = get().categories || []
|
||||||
return categories.some(c => c.name === name && c.type === type)
|
return categories.some(c =>
|
||||||
|
c.name === name
|
||||||
|
&& c.type === type
|
||||||
|
&& c.id !== excludeId,
|
||||||
|
)
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
@@ -44,3 +44,11 @@ export interface CreateMoneyCategoryParams {
|
|||||||
export interface CreateMoneyCategoryResult {
|
export interface CreateMoneyCategoryResult {
|
||||||
id: number
|
id: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface UpdateMoneyCategoryParams {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
icon: string
|
||||||
|
}
|
||||||
|
export interface UpdateMoneyCategoryResult {
|
||||||
|
}
|
||||||
Reference in new issue
Block a user