更新续杯相关
This commit is contained in:
@@ -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,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user