sqlite-web 0.7.2
gitea.db
issue
802 rows, showing page 17
Create
Query
access
access_token
action
action_artifact
action_run
action_run_index
action_run_job
action_runner
action_runner_token
action_schedule
action_schedule_spec
action_task
action_task_output
action_task_step
action_tasks_version
action_variable
app_state
attachment
auth_token
badge
branch
collaboration
comment
commit_status
commit_status_index
commit_status_summary
commit_sync_log
commit_sync_status
dbfs_data
dbfs_meta
deploy_key
email_address
email_hash
external_login_user
follow
gpg_key
gpg_key_import
hook_task
issue
issue_assignees
issue_content_history
issue_dependency
issue_index
issue_label
issue_pin
issue_user
issue_watch
label
language_stat
lfs_lock
lfs_meta_object
login_source
milestone
mirror
notice
notification
oauth2_application
oauth2_authorization_code
oauth2_grant
org_user
package
package_blob
package_blob_upload
package_cleanup_rule
package_file
package_property
package_version
project
project_board
project_issue
protected_branch
protected_tag
public_key
pull_auto_merge
pull_request
push_mirror
reaction
release
renamed_branch
repo_archiver
repo_hidden_file
repo_indexer_status
repo_license
repo_redirect
repo_topic
repo_transfer
repo_unit
repository
review
review_state
secret
session
sqlite_sequence
star
stopwatch
system_setting
task
team
team_invite
team_repo
team_unit
team_user
topic
tracked_time
two_factor
upload
user
user_badge
user_blocking
user_open_id
user_redirect
user_setting
version
watch
webauthn_credential
webhook
Toggle helper tables
Structure
Content
Query
Insert
Drop
Import
Export
Bulk Delete
id
repo_id
index
poster_id
original_author
original_author_id
name
content
milestone_id
priority
is_closed
is_pull
num_comments
ref
deadline_unix
created_unix
updated_unix
closed_unix
is_locked
content_version
time_estimate
767
24
1
4
0
[后台管理] 按省市统计设备月度新增上线数量报表
## 关联 Issue Close #4 — [后台] 按省市统计设备月度新增上线数量报表 (I
## 关联 Issue Close #4 — [后台] 按省市统计设备月度新增上线数量报表 (Issue 位于另一仓库 laiqiaojie/jh-project,Gitea 跨仓库 `Close #N` 不会自动关联,merge 后需手动去 jh-project 更新 Issue 状态) ## 变更说明 - 新增 `DeviceOnlineStats` 控制器,暴露 `getProvinceStats`(按月+省份汇总新增上线设备数)、`getCityStats`(指定省份后按城市下钻)两个接口 - `Ahead_authenticate_log_model` 新增对应查询方法:联表 `ahead_authenticate_log` → `ahead_family_servers` → `ahead_yc_shop`,权限过滤复用现有 `Ahead_manage_user_model::check_is_agent()`(超管看全国,运营商强制按 `shop._agent_id` 过滤) - 与 plan.md 的偏差:实现与计划一致;另外在 `/code-review` 中发现并修复了两个问题(均已回归验证): - `month` 参数只校验格式未校验取值范围,如 `2026-00` 会被 `strtotime` 静默接受为上一年 12 月而不报错 → 正则改为 `(0[1-9]|1[0-2])` 严格校验月份范围 - 未绑定门店的设备(`room._shop_id` 为 0/未匹配)会被计入 `total` 但在 `GROUP BY shop._province` 时产生一个 province 为 null 的脏分组 → 加 `room._shop_id > 0` 过滤 ## 测试说明 - 本地起 PHPStudy,登录后手动调用两个接口验证:正常月份返回 `{code:0, result:{total, list}}`;缺 `month`/非法月份(`2026-00`、`2026-13`、`0000-00`)均正确返回 400 - 用只读 SQL 直接查了云端开发库确认 JOIN 链路正确——本地测试库 `ahead_authenticate_log` 表只有 1 条 2021 年的历史数据,所以当月查询返回空列表是预期行为,不是 bug - `tests/api/smoke.mjs` 里补充了对应的自动化用例,但该冒烟测试框架整体依赖另一个尚未推送到 `admin` 分支的提交(`694e34c`,属于另一项未提交的工作,不在本 Issue 范围内),为保持本 PR 改动范围干净,本次未包含测试框架文件,仅代码改动 - 需要 Tech Lead 重点看:`check_is_agent()` 权限过滤范围是否符合预期;`room._shop_id > 0` 过滤是否会误伤合法数据 ## 产物归档 - Plan:[plan/device-online-stats-by-region-admin.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/design/device-online-stats-by-region/plan/device-online-stats-by-region-admin.md)(位于 laiqiaojie/jh-project 仓库)
...
0
0
1
1
1
0
1788244598
1788246926
1788245236
0
0
0
Edit
Delete
790
116
1
5
0
fix(contracts): 注册中心规则补失败关闭与摘要规范化——三个入口此前抛 TypeErr
fix(contracts): 注册中心规则补失败关闭与摘要规范化——三个入口此前抛 TypeError,同一摘要的两种写法此前分叉成两个复核键
...
蓝图 docs/domain/registry-snapshot-blueprint.md 从迁入起
蓝图 docs/domain/registry-snapshot-blueprint.md 从迁入起就写着「失败关闭」与 「review key 仅用于人工复核幂等」两条不变量,实测三处不成立。本次按蓝图自己的口径补齐, 改动只在 contracts/src/domain/application-contract-registry/:不新增写入点、不新增宿主、 不动 Catalog 与 Schema,每条输出仍固定 activationAllowed=false / registryWriteAllowed=false / humanApprovalRequired=true。 1. 失败关闭:assessRegistrySnapshot / assessRegistryTransition / reviewCandidateSnapshotUpgrade 对畸形输入抛 TypeError(快照缺字段、now 不是 Date、 decisions 整个缺失都会抛),四个入口里只有 LocalManifestAdmissionPlanner.plan 是 失败关闭的。现四个入口一致返回 REJECT + 原因码。这不是洁癖:check-fixtures 把抛出当 配置错误处理,实测一次 TypeError 会让整套 15 例逐例判定塌成一条 configuration 失败。 2. 十六进制引用规范化:digest / commit 的正则带 /i 收大小写两种写法,比较与入键却 大小写敏感——同一摘要写成大写会得到另一个 reviewIdempotencyKey,同版本大小写翻转被判成 SAME_VERSION_DIGEST_CHANGED,大写回滚 pin 被判成 ROLLBACK_PIN_MUST_MATCH_CURRENT。 现一律规范化为小写后再比较、再入键,ACCEPT 回吐规范化后的值。 3. 版本文法收敛:一个模块三套(快照流与清单准入用 \d+\.\d+\.\d+,升级复核用严格 SemVer), 新增 registry-primitives.ts 作单一来源,含预发布序;DEC-009—012 此前在两份文件各写一份, 一并收敛。snapshot-upgrade-review.ts 因此净减约 60 行重复实现。 两处语义变化(蓝图新增一节已如实登记): - 收紧:1.02.0 这类前导零版本此前被放行,现在拒;assessRegistrySnapshot 另开始拒 latest 这类可变标签——此前它能过体检却必然过不了迁移规则。 - 放宽:1.0.0-rc.1 这类预发布版本此前被快照流整条挡在外面,现在按 SemVer 序参与迁移。 平台自己发的就是 1.0.0-rc.N,升级复核那一侧本来就这么判。风险面有限:本模块所有出口 都不激活、不写 Registry,多进人工复核队列不等于多放行制品。 证据(本分支隔离工作树,clean):注册中心单测 44/44(原 34 + 加固 10); contracts check:local 302/302;check:fixtures 九个契约域套件 100 例 0 失败, 其中本套件 15 例(正 4 / 反 11,原 8 例)。篡改必红实测两次:sameHexRef 退回大小写敏感 → 单测 1 红 + 夹具 P03 红;去掉快照入口守卫 → 整套塌成 0 例 1 配置失败。 仍为仓内候选 sdk_e2,不代表正式 Registry、Snapshot 发布或跨仓 Required Check 已上线。 清单登记的 C01.04 / C01.06 是「接线」型缺口且前置 Q01 运行宿主未裁,本次未动。 reports/fixtures.latest.json 未回绑:它是 17 套件的聚合报告,只跑 9 个套件去覆盖会缩小结论面, 应在整批(含并行会话的 public-file / IM / 跨域流程改动)落定后统一重跑回绑。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
...
0
0
1
1
0
0
1789742918
1789744064
1789742925
0
0
0
Edit
Delete
«
‹
Page 17 / 17
›
»