支付原来是个占位:调一下接口任务就算"已付"。现在任务和喂养者保证金都 走会员那套订单与支付网关,一笔订单买到什么由 applyPaidOrderTx 统一决定, 沙箱和真实回调走同一段逻辑。退款能释放托管中的任务,但不会去动已经结算 的那一笔——钱已经在喂养者账上,那种情况必须有人看过再说。 通道接通之前,客服可以在管理端手工标记已托管,必须写明钱怎么收的,进审计日志。 另外补上三件方案里写了但代码没做的事:打卡必须按到达、喂食、离开的顺序, 喂食离到达太近视为摆拍;地址新增紧急联系人与常去医院,随门牌一起只发给 被选中的喂养者;任务结束七天后由后台任务抹掉地址明文,只留城市与街道。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
14 lines
886 B
SQL
14 lines
886 B
SQL
SET NAMES utf8mb4;
|
|
|
|
-- 紧急联系人与常去的医院:喂养者在别人家里发现宠物不对劲时,
|
|
-- 需要立刻能联系到人,而不是等主人看手机。和门牌一样加密存放,
|
|
-- 只在选定喂养者之后随地址一起下发。
|
|
ALTER TABLE pet_addresses
|
|
ADD COLUMN emergency_cipher VARBINARY(512) NULL COMMENT '紧急联系人与电话,AES-GCM' AFTER contact_cipher,
|
|
ADD COLUMN vet_hospital VARCHAR(200) NOT NULL DEFAULT '' COMMENT '常去的宠物医院' AFTER emergency_cipher;
|
|
|
|
INSERT INTO system_configs(config_key,config_value,value_type,description) VALUES
|
|
('pet.feed_checkin_min_gap_seconds','120','integer','到达与喂食打卡之间的最小间隔(秒),用于防止一次性摆拍'),
|
|
('pet.address_purge_days','7','integer','任务结束后多少天抹掉地址明文')
|
|
ON DUPLICATE KEY UPDATE description=VALUES(description);
|