feat(charge):基本完成所有用户服务延期记录部分的功能,待测。

This commit is contained in:
徐涛
2022-08-15 15:40:33 +08:00
parent 68c34f540f
commit f033691aa4
5 changed files with 232 additions and 11 deletions

View File

@@ -4,6 +4,7 @@ import (
"electricity_bill_calc/config"
"electricity_bill_calc/global"
"electricity_bill_calc/model"
"electricity_bill_calc/utils"
"time"
"xorm.io/builder"
@@ -50,3 +51,20 @@ func (_ChargeRepository) ListPagedChargeRecord(keyword, beginDate, endDate strin
Find(&charges)
return charges, total, err
}
func (_ChargeRepository) LastValidChargeTo(uid string) (time.Time, error) {
veryBlankTime, _ := time.Parse("2006-01-02 15:04:05", "0001-01-01 00:00:00")
var records = make([]time.Time, 0)
err := global.DBConn.Where(builder.Eq{"settled": true, "cancelled": false, "refunded": false}).Cols("charged_to").Find(&records)
if err != nil {
return veryBlankTime, nil
}
lastValid := utils.Reduce(records, veryBlankTime, func(acc, elem time.Time) time.Time {
if elem.After(acc) {
return elem
} else {
return acc
}
})
return lastValid, nil
}