u
This commit is contained in:
1 parent
34240d2e16
commit
bf350d8d35
21 files changed
+670
-304
No files matched your search
@@ -29,6 +29,59 @@ func (q *Queries) DeleteFinanceRecordByCategoryId(ctx context.Context, categoryI
|
||||
return err
|
||||
}
|
||||
|
||||
const getFinanceRecordDetail = `-- name: GetFinanceRecordDetail :one
|
||||
SELECT
|
||||
fr.id,
|
||||
fr.category_id,
|
||||
fr.amount,
|
||||
fr.record_time,
|
||||
fr.remark,
|
||||
fr.create_by,
|
||||
fr.create_time,
|
||||
cm.nickname AS create_member_name,
|
||||
fr.update_by,
|
||||
fr.update_time,
|
||||
um.nickname AS update_member_name
|
||||
FROM finance_record fr
|
||||
LEFT JOIN "user" cm ON cm.id = fr.create_by
|
||||
LEFT JOIN "user" um ON um.id = fr.update_by
|
||||
WHERE fr.id = $1
|
||||
LIMIT 1
|
||||
`
|
||||
|
||||
type GetFinanceRecordDetailRow struct {
|
||||
ID int64
|
||||
CategoryID int64
|
||||
Amount pgtype.Numeric
|
||||
RecordTime pgtype.Date
|
||||
Remark pgtype.Text
|
||||
CreateBy int64
|
||||
CreateTime pgtype.Timestamptz
|
||||
CreateMemberName pgtype.Text
|
||||
UpdateBy int64
|
||||
UpdateTime pgtype.Timestamptz
|
||||
UpdateMemberName pgtype.Text
|
||||
}
|
||||
|
||||
func (q *Queries) GetFinanceRecordDetail(ctx context.Context, id int64) (GetFinanceRecordDetailRow, error) {
|
||||
row := q.db.QueryRow(ctx, getFinanceRecordDetail, id)
|
||||
var i GetFinanceRecordDetailRow
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CategoryID,
|
||||
&i.Amount,
|
||||
&i.RecordTime,
|
||||
&i.Remark,
|
||||
&i.CreateBy,
|
||||
&i.CreateTime,
|
||||
&i.CreateMemberName,
|
||||
&i.UpdateBy,
|
||||
&i.UpdateTime,
|
||||
&i.UpdateMemberName,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertFinanceRecord = `-- name: InsertFinanceRecord :exec
|
||||
INSERT INTO finance_record(id,category_id,space_id,amount,record_time,remark,create_by,update_by,create_time,update_time)
|
||||
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,NOW(),NOW())
|
||||
@@ -65,16 +118,14 @@ SELECT
|
||||
su.member_name
|
||||
FROM finance_record fr
|
||||
LEFT JOIN space_member su
|
||||
ON fr.space_id = su.space_id
|
||||
AND fr.update_by = su.user_id
|
||||
ON fr.space_id = su.space_id AND fr.update_by = su.user_id
|
||||
LEFT JOIN finance_category_space fcs ON fr.category_id = fcs.id
|
||||
WHERE
|
||||
fr.space_id = $1
|
||||
AND fr.record_time >= $2
|
||||
AND fr.record_time < $3
|
||||
AND (
|
||||
$4 = 0
|
||||
OR fr.category_id = $4
|
||||
)
|
||||
AND fr.category_id = COALESCE(NULLIF($4::bigint, 0), fr.category_id)
|
||||
AND fcs.type = COALESCE(NULLIF($5::smallint, 0), fcs.type)
|
||||
ORDER BY
|
||||
fr.record_time DESC,
|
||||
fr.create_time DESC
|
||||
@@ -84,7 +135,8 @@ type ListFinanceRecordsParams struct {
|
||||
SpaceID int64
|
||||
RecordTime pgtype.Date
|
||||
RecordTime_2 pgtype.Date
|
||||
Column4 interface{}
|
||||
Column4 int64
|
||||
Column5 int16
|
||||
}
|
||||
|
||||
type ListFinanceRecordsRow struct {
|
||||
@@ -107,6 +159,7 @@ func (q *Queries) ListFinanceRecords(ctx context.Context, arg ListFinanceRecords
|
||||
arg.RecordTime,
|
||||
arg.RecordTime_2,
|
||||
arg.Column4,
|
||||
arg.Column5,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in new issue
Block a user