更新续杯相关

This commit is contained in:
2026-06-16 13:00:33 +08:00
parent c0f70823a9
commit ae00d633fb
5 changed files with 101 additions and 20 deletions
+90 -7
View File
@@ -126,9 +126,68 @@ func (c *ApiCursorEquipmentController) jsonResult(code int, msg string, data int
// 兼容 snake_case 字段,例如 machine_code、device_info、bind_account。
func (c *ApiCursorEquipmentController) Report() {
var p cursorEquipmentReportPayload
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &p); err != nil {
c.jsonResult(400, "参数错误", nil)
return
body := c.Ctx.Input.RequestBody
if len(body) > 0 {
if err := json.Unmarshal(body, &p); err != nil {
c.jsonResult(400, "参数错误", nil)
return
}
}
// 兼容 query string 参数
if p.MachineCode == "" {
p.MachineCode = c.GetString("machineCode")
}
if p.MachineCodeSnake == "" {
p.MachineCodeSnake = c.GetString("machine_code")
}
if p.DeviceInfo == "" {
p.DeviceInfo = c.GetString("deviceInfo")
}
if p.DeviceInfoSnake == "" {
p.DeviceInfoSnake = c.GetString("device_info")
}
if p.System == "" {
p.System = c.GetString("system")
}
if p.Version == "" {
p.Version = c.GetString("version")
}
if p.BindAccount == "" {
p.BindAccount = c.GetString("bindAccount")
}
if p.BindAccountSnake == "" {
p.BindAccountSnake = c.GetString("bind_account")
}
if p.OwnerUserName == "" {
p.OwnerUserName = c.GetString("ownerUserName")
}
if p.OwnerUserNameSnake == "" {
p.OwnerUserNameSnake = c.GetString("owner_user_name")
}
if p.ActivationTime == "" {
p.ActivationTime = c.GetString("activationTime")
}
if p.ActivationTimeSnake == "" {
p.ActivationTimeSnake = c.GetString("activation_time")
}
if p.ExpireTime == "" {
p.ExpireTime = c.GetString("expireTime")
}
if p.ExpireTimeSnake == "" {
p.ExpireTimeSnake = c.GetString("expire_time")
}
if p.Remark == "" {
p.Remark = c.GetString("remark")
}
if p.Status == nil {
if s, err := c.GetInt8("status"); err == nil {
p.Status = &s
}
}
if p.OwnerUserID == nil {
if uid, err := c.GetUint64("ownerUserId"); err == nil && uid > 0 {
p.OwnerUserID = &uid
}
}
machineCode := cursorFirstNonEmpty(p.MachineCode, p.MachineCodeSnake)
@@ -234,11 +293,35 @@ func (c *ApiCursorEquipmentController) Report() {
row.UpdateTime = &now
}
// 查询该设备最新激活码,补全激活时间和到期时间
var retActivationTime interface{} = row.ActivationTime
var retExpireTime interface{} = row.ExpireTime
var latestCode models.PlatformCursorActivationCode
cond := orm.NewCondition().
And("delete_time__isnull", true).
AndCond(orm.NewCondition().
Or("bind_device_id", row.ID).
Or("machine_code", row.MachineCode))
if err := models.Orm.QueryTable(new(models.PlatformCursorActivationCode)).
SetCond(cond).
OrderBy("-activated_at", "-id").
One(&latestCode); err == nil {
if latestCode.ActivatedAt != nil {
retActivationTime = latestCode.ActivatedAt
}
if latestCode.ExpiredAt != nil {
retExpireTime = latestCode.ExpiredAt
}
}
c.jsonResult(200, "success", map[string]interface{}{
"id": row.ID,
"machineCode": row.MachineCode,
"status": row.Status,
"created": created,
"id": row.ID,
"machineCode": row.MachineCode,
"status": row.Status,
"created": created,
"activationTime": retActivationTime,
"expireTime": retExpireTime,
})
}