Commit Graph

428 Commits

Author SHA1 Message Date
XingQue
ed627fa6f7 fix: 修复点单商品在多店铺间跳动
扫码绑店参数只消费一次,避免 Tab 返回反复换绑;一人多条脏绑定取最新并在换绑时清理,hqsp 稳定取当前店。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 02:53:34 +08:00
XingQue
435422e716 fix: 点单端推荐官按UID绑定,二维码进首页且去掉邀请码
扫码参数改为 yaoqingren=UserUID 落地点单首页;海报默认不再复用管事背景;不影响打手端与支付抢单分红。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 02:48:16 +08:00
XingQue
60d8b52693 feat: 点单端邀请绑定与只看审核商品开关
复用 ClubMiniappIcon 增加点单端海报背景;新增 C 端邀请码/换绑店铺接口;hqsp 支持 zhi_kan_shenhe,不影响支付抢单分红。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 02:37:31 +08:00
XingQue
d5b8ff5b8a feat: 商品/专区/店铺按俱乐部分离,工单统计与点单手机号认证
商品与专区、店铺增加 club_id(历史默认 xq);列表按俱乐部过滤;工单列表返回待办统计;新增 hqshouji/rzwlsjh 手机号查询与认证接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 01:55:14 +08:00
XingQue
7c6e14db01 fix: 客服菜单增加投诉工单,列表按俱乐部过滤
seed_kefu_menu 后侧栏才能出现「投诉工单」;admin list 使用 club 上下文过滤。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:47:24 +08:00
XingQue
27862fa22b fix: 工单图片/升级表冗余字段改名,避免与外键 gongdan_id 冲突
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:37:21 +08:00
XingQue
a432a0b9c4 feat: 投诉工单后端(模型/接口/迁移/权限)
支持用户提交投诉、证据图上传、升级补充;客服列表处理;充值记录列表供投诉选ID。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:30:36 +08:00
XingQue
eadf9e2503 fix: 支付宝充值回调地址写死到 settings,沿用原有密钥配置
不再要求改 app_secrets;NOTIFY_URL_CZJILU 缺省或误配成订单回调时自动用 /shangpin/alipay-czjilu-notify/。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 23:06:13 +08:00
XingQue
1ab59efddb fix: 加固支付宝充值回调幂等履约,避免付成功不到账与误删单
禁止 Czjilu 回调地址回落到订单 notify;回调失败回 fail 重试;取消支付改关单不删;客服补单走同一履约防多加。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 22:59:59 +08:00
XingQue
48d2e13037 fix: 商家生成链接时锁定打手与管事分成
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 15:50:24 +08:00
XingQue
de74865278 fix: 打手提现/收款认赠送会员为有效会员资格
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 21:34:57 +08:00
XingQue
e7b59feacd fix: 罚款微信支付 openid 与 AppID 使用同一俱乐部
交罚款时不再用罚单申请人俱乐部取 openid、打手俱乐部取商户配置;统一按当前小程序俱乐部下单,避免部分人 appid/openid 不一致导致下单失败。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 18:45:57 +08:00
XingQue
b6044cd44a fix: 收款申请仅拦截进行中订单
打手佣金/押金收款时,订单状态只拦 Status=2;退款中、结算中等不再拦截;其余资格校验不变。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 17:01:33 +08:00
XingQue
cb89720260 feat: 打手赠送会员(免费接单)独立表与抢单资格
新增 dashou_zengsong_huiyuan,与购买会员分离;抢单/抢单池认赠送有效会员;后台送/改期/移除接口,送时积分非10则改为10并写操作日志。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 02:14:07 +08:00
XingQue
a1a49261a5 Revert "fix: 抢单押金校验计入提现冻结中押金"
This reverts commit 52009a54a9.
2026-07-17 01:52:45 +08:00
XingQue
52009a54a9 fix: 抢单押金校验计入提现冻结中押金
押金提现申请后余额已扣,仅抢单接口把审核中/待收款冻结额加回可用;提现与换人等其它场景仍只认实际余额。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 01:50:45 +08:00
XingQue
60fdf8c427 fix: 加固称号增删改接口参数校验
兼容空 leixing/中文类型名,规范化板块与称号 ID,避免误报无效类型;修正 update_feiyong 复用逻辑。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 15:53:31 +08:00
XingQue
118260a710 fix: 修复考核官添加板块校验与板块改名接口
板块 ID 统一按整数校验,避免字符串与数据库整型比较导致误报不存在;板块接口补充 scope 与 bankuai_id 校验。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 15:33:54 +08:00
XingQue
dac6193d5b fix(merchant): 操作统计按订单去重并返回职位备注
同一行为对同一订单只计1单金额取Max;补充 total_order_count/action_count;人员候选展示职位与商家备注。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 00:00:07 +08:00
XingQue
477129de46 fix(merchant): 操作人统计时间筛选兼容 USE_TZ=False
MySQL 在关闭 USE_TZ 时不接受 timezone-aware datetime,解析为 naive 再查询。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 23:53:52 +08:00
XingQue
9c029288ba feat(merchant): 订单操作流水表与按真实操作人统计
新增 merchant_order_action_log,在结算/撤单/退款/罚单/派单/换打手成功路径写入真实操作人;提供 action-stats / action-operators 接口供经营数据页筛选统计。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 23:42:39 +08:00
XingQue
e6e8e718d3 fix: 子客服(总管)申请罚款证据上传权限,支持商家客服代商家操作
COS 上传接口 fakuan_evidence / fakuan_evidence_draft 现允许具 penalty_apply 或 penalty_manage 且能查看该订单的子客服。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 16:00:06 +08:00
XingQue
ce8bda52d3 feat: 打手抢单大厅默认关闭假单展示,保留开关可恢复
通过 FAKE_GRAB_ORDER_POOL_ENABLED 控制,False 时仅返回真实订单,后台假单管理功能不变。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 15:29:27 +08:00
XingQue
80cca803f8 fix: 总榜按邀请总人数排行,组长去重统计;总会员子类型解析增强
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 02:00:31 +08:00
XingQue
5556bbdb61 fix: 总榜按无效人数排行;总会员ID匹配与子类型展开修复
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 01:56:39 +08:00
XingQue
fda4ffb628 fix: 提现申请仅拦截进行中订单,移除打手状态误拦
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 00:15:13 +08:00
XingQue
b02b2dffed fix: 提现申请放行退款审核中订单,管理员拒绝退款不再500
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 00:06:42 +08:00
XingQue
dc6ddee0d7 fix: 打手提现申请仅拦截进行中与退款审核中订单
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 23:49:01 +08:00
XingQue
6689b7af00 fix: 批量退款处理人ID默认138377,限制chuliid最长11位
batch_20260710 超长导致762单全部失败;与客服手机号字段一致。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 23:21:23 +08:00
XingQue
73f0ce36f2 feat: 星阙商家退款审核批量同意脚本
新增 batch_approve_xq_merchant_refunds 管理命令,复用 kefusjtk 同意退款逻辑;
默认要求待审>=762单且 dry-run,--execute 才真正处理。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 23:18:56 +08:00
XingQue
48eca8e5d0 fix: 星之界(xzj)与星阙共用商户证书路径及V3兜底配置
xzj 提现/查单与 xq 同读 settings 私钥目录;AppID 仍各用 club 表小程序。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:57:21 +08:00
XingQue
6ac32674a5 fix: 证书扫描含pub_key.pem;诊断明确缺少apiclient_cert.pem
服务器仅有私钥无商户证书时V3签名必失败,诊断输出操作指引。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:33:24 +08:00
XingQue
b5021ee07d fix: V3签名从私钥配对证书自动取序列号,xq忽略club错误私钥路径
SIGN_ERROR根因是私钥与序列号不是同一套证书;扫描匹配 apiclient_cert.pem。
新增 manage.py wx_v3_pay_diag 探针验签。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:31:14 +08:00
XingQue
2e419b5b6e fix: 星阙提现改用club库商户号1747846572,禁止回落旧1746545364
优先读 club 表;为空时用正确 mch/api_v3_key;并从 apiclient_cert.pem 自动读序列号。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:29:20 +08:00
XingQue
a28dafa6b7 fix: 补回 seed_club_xq 缺失的 CLUB_ID_DEFAULT 导入
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:23:57 +08:00
XingQue
ca67dfa863 fix: 星阙V3提现强制用全局证书配置,修复序列号与私钥不匹配
club表私钥路径/序列号错填会导致微信报证书序列号错误。
xq 提现改读 settings+写死序列号;build_authorization 双重兜底。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:23:31 +08:00
XingQue
65a40b5f09 fix: 临时写死微信V3商户证书序列号
覆盖 club 表与 settings 中的 cert_serial_no,统一使用 apiclient_key 对应序列号。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:17:47 +08:00
XingQue
d6237ccc7b fix: 收款不再预查微信,恢复早期「有package就调起」逻辑
接入多俱乐部后每次收款先查微信,V3查单失败会永久返回code12。
改为仅读本地:有package直接确认,无package立刻作废重试;转账失败返回明确错误。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 22:07:09 +08:00
XingQue
8bc0afb7f4 fix: 简化提现收款对账,避免永远卡在收款处理中
- 同一审核单只保留最新一条进行中打款,多次点击不再堆叠阻塞
- 有 package 时查单失败也直接调起微信确认
- 无 package 超过20秒即作废允许重试;转账/网络失败返回明确错误而非 code12

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 21:59:28 +08:00
XingQue
921941a36d fix: 无 package 的打款单不再长时间提示收款处理中
微信查单 not_found/失败且本地无 package 时立即允许重新发起收款。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 21:53:59 +08:00
XingQue
e1a3c07cef fix: 自动提现收款不再因查单失败卡死,失败可重试且防双笔
- 查单失败时优先用本地 package 直接调起微信确认收款
- 单次打款失败不关审核单(保持待收款6),允许同一审核单再次收款
- 跳过已失败打款记录;缩短 grace 至 2 分钟;去掉「核对状态」类死锁提示

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 21:48:00 +08:00
XingQue
49ad57bbb2 feat: club 表独立 mch_key 字段,后台明确区分 APIv2 收款与 APIv3 提现
- 新增 club.mch_key 列并迁移 config_json 历史数据,api_v3_key 保持独立
- club-manage 读写 mch_key;支付读 club.mch_key 优先,兼容 config_json 回落
- 提现查单返回商户号改读俱乐部 V3 配置;不影响其他业务逻辑

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 21:34:32 +08:00
XingQue
017d176790 fix: 星之界/星阙支付按俱乐部分别取 openid 与 AppID,启动静默刷新绑定
- resolve_club_payment_openid: xzj 回落 UserName 并 lazy 写绑定;xq 回落 OpenID;禁止跨俱乐部混用
- 统一 get_club_miniapp_appid;非 xq 禁止回落全局 AppID
- 新增 /jituan/auth/refresh-wx-bind;小程序有 token 时静默刷新 openid

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 20:57:30 +08:00
XingQue
5d3e4e32a2 fix: 小程序支付 AppID 与登录一致,登录覆盖过期 openid 绑定
- JSAPI 支付优先 club.wx_appid(与 jscode2session 一致,不再优先 pay_app_id)
- 登录时同一用户+俱乐部只保留最新 openid,清除旧绑定
- 支付仅读 user_wx_openid,彻底禁用 legacy OpenID/UserName 回落

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 20:52:56 +08:00
XingQue
f601541eb0 fix: 支付 openid 按俱乐部隔离,禁止跨小程序回落 legacy 字段
appid 已正确读 club 表,但 openid 在无 xq 绑定时会错误回落 UserName/OpenID(可能是星之界 openid),导致 appid 与 openid 不匹配。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 20:47:35 +08:00
XingQue
df416b8284 fix: 俱乐部配置接口区分 V2 小程序密钥与 APIv3 密钥
返回 pay_config 说明实际支付生效字段,避免后台仅展示 api_v3_key 造成误导。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 20:17:51 +08:00
XingQue
3660fa4cc7 fix: 会员支付打印微信完整错误并支持配置 V2 商户密钥
- 统一下单 XML 安全解析,日志输出 raw_response 与 err_code_des
- 下单前打印 club/appid/mch_id/key_source 诊断
- 后台 club-manage 可保存 config_json.mch_key(V2 MD5 密钥,非 api_v3_key)
- 未配 mch_key 时告警:回落全局密钥易导致签名错误

回退: git reset --hard backup-before-wx-v2-diag-20260710

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 20:05:00 +08:00
XingQue
e0fa112da6 Merge branch 'main' of https://git.gvsds.com/XingQue/Django
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	orders/views/payment.py
2026-07-10 19:40:07 +08:00
XingQue
42963a9ace fix: 星阙(xq)微信支付改读后台 club 表配置
移除 xq 强制回落 app_secrets 的逻辑,与星之界一致优先读 club 表;
字段为空时仍按项回落 settings,避免未配置时中断现网。
订单 fucha 查单同步使用 club 对应商户号。

回退: git reset --hard backup-before-xq-club-pay-20260710

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 19:39:15 +08:00
182f18da91 修复了主动点单能力 2026-07-10 15:50:43 +08:00