Compare commits

..

2 Commits

Author SHA1 Message Date
366738a6c4 更新 mes_in_sct/app/action/GetBatteryProcessRoute.php
All checks were successful
Run Unit Tests / test (pull_request) Successful in 4s
2025-07-27 01:13:38 +08:00
bcbdcb4697 更新 mes_in_sct/app/action/GetBatteryProcessRoute.php
Some checks failed
Run Unit Tests / test (pull_request) Failing after 6s
2025-07-27 01:10:11 +08:00
2 changed files with 21 additions and 53 deletions

View File

@ -3,72 +3,39 @@ on:
pull_request:
branches:
- main
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
jobs:
test:
runs-on: phpunit_test
container: mirror.ccs.tencentyun.com/xeden3/ai-code-reviewer-gitea-runner:v1.4.1
container: mirror.ccs.tencentyun.com/xeden3/ai-code-reviewer-gitea-runner:v1.3
steps:
- name: Checkout code
uses: http://119.91.43.128:3003/james/checkout@v4
- name: Get Pull Request Number
id: get_pr_number
run: |
# 提取 PR 编号(如 pull/14/head -> 14)
PULLS_ID=$(git branch | grep -o 'pull/[0-9]\+' | cut -d'/' -f2)
if [ -z "$PULLS_ID" ]; then
echo "❌ 无法提取 PR 编号"
exit 1
fi
echo "PR ID: $PULLS_ID"
# 写入 GITHUB_ENV(可选,兼容旧脚本)
echo "PULLS_ID=$PULLS_ID" >> $GITHUB_ENV
# 写入 outputs,供后续步骤使用
echo "pr_number=$PULLS_ID" >> $GITHUB_OUTPUT
- name: Run code review script
env:
# === 项目配置 ===
GIT_PROJECT_PATH: /workspace/hui/SCTMES_V5 # Gitea 的工作目录
ALLOWED_PATHS: '["EdgeManager/**", "mes_in_sct/**", "mes_in_task/**", "webman/**"]' # 允许检测目录
IGNORED_PATHS: '["EdgeManager/vendor/**", "mes_in_sct/vendor/**", "mes_in_task/vendor/**", "webman/public/**", "webman/runtime/**", "webman/vendor/**"]' # 忽略检测目录
# === Gitea API 配置(传给 audit_code.sh)===
API_URL: "http://119.91.43.128:3003/api/v1/repos/hui/SCTMES_V5/issues/${{ steps.get_pr_number.outputs.pr_number }}/comments"
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
SYSTEM_PROMPT: |
你是一位资深的PHP软件开发工程师专注于代码的规范性、功能性、稳定性、运行效率。本次任务是对员工的代码进行审查具体要求如下
### 代码审查目标:
1. 功能实现的正确性与健壮性40分 确保代码逻辑正确,能够处理各种边界情况和异常输入。
2. 命名规范10分检查代码变量和函数命名是否规范类和函数使用驼峰命名变量使用小写字母+下横线命名。
3. 是否符合最佳实践20分评估代码是否遵循行业最佳实践包括代码结构、命名规范、注释清晰度等。
4. 性能与资源利用效率20分分析代码的性能表现评估是否存在资源浪费或性能瓶颈。
5. Commits信息的清晰性与准确性10分检查提交信息是否清晰、准确是否便于后续维护和协作。
6. 所有检查**不需要考虑类名称不需要考虑SQL语句**,数据库注入风险等数据库相关的风险,**不考虑SQL预处理sprintf处理不需要考虑返回值命名$ret的情况**。
### 输出格式:
请以Markdown格式输出代码审查报告并包含以下内容
1. 问题描述和优化建议(如果有):列出代码中存在的问题,简要说明其影响,并给出优化建议,**必要时候以代码段的形式指出具体的修改方案**。
2. 评分明细:为每个评分标准提供具体分数。
3. 总分:格式为“总分:XX分”例如总分:80分确保可通过正则表达式 r"总分[:]\s*(\d+)分?" 解析出总分。
### 特别说明:
整个评论要保持sarcastic风格
评论时请大胆使用讽刺性语言,但要确保技术指正准确。
你是代码审核助手我需要你审核代码后以JSON形式输出通过(passed)或者不通过(no-passed)只输出json不添加其他说明。
只判断代码是否存在变量拼写错误并且在issues输出行数、出错语句及原因
忽略其他错误包括代码安全、SQL 语句内的错误、函数未定义错误、PHP内置函数错误
如果代码中出现未定义的变量错误、未定义的方法错误、或其他逻辑错误在suggestion输出你的建议但这部分不作为passed与否的判定
最终输出一定遵守以下JSON格式不允许出现其他格式
评论时请:
1. 在技术点评中加入适当幽默元素
2. 合理使用相关Emoji但不要过度
- 🐛 表示bug
- 💥 表示严重问题
- 🎯 表示改进建议
- 🔍 表示需要仔细检查
{
"status": "no-passed",
"issues": [
{
"line": 105,
"reason": "变量命名xxx不符合规范"
}
],
"suggestion":"代码建议1xxxxx"
}
如果没有发现相关问题请一定输出以下JSON格式
{"status": "passed"}
run: |
cd /workspace
./audit_code.sh

View File

@ -10,6 +10,7 @@ class GetBatteryProcessRoute
{
public function execute($post)
{
// 验证数据
$param = check_valid($post['action'], [
['device_code', 'string', '设备编码'],
@ -124,7 +125,7 @@ class GetBatteryProcessRoute
$h = $k + 1;
if (!empty($freeze_data)) {
// 检查 status 是否为 5 和 workingsubclass为ALLPROCESS
if ($freeze_data['status'] == 5 && $freeze_data['workingsubclass'] = 'ALLPROCESS') {
if ($freeze_data['status'] == 5 && $freeze_data['workingsubclass'] == 'ALLPROCESS') {
throw new Exception("(!!!紧急冻结全工序!!!)第[{$h}]位置电池条码{$battery_id}在工序[{$ret['next_workingsubclass']}]已被标记[{$freeze_data['classname']}]冻结,需要设备排出或人工取出!!!");
// 检查 status 是否为 1
} elseif($freeze_data['status'] == 1) {