全部
常见问题
产品动态
精选推荐
功能建议

分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
CRMEB PRO TP8+Swoole4

管理 管理 编辑 删除

添加了定时任务, 若是在定时任务中使用了事务则无法保存成功, 需要移除所有的事务;

仅有数据查询和更新, 没有队列和其他的事件分发; 若是存在事务, 则不会提交, 感觉像是被回滚了, 没有报错, 根据日志是成功的分钟;

移除执行链路所有的事务后则更新成功;



case 'auto_calc_proxy_radio': // 自动结算流水奖
   return app()->make(ProxyService::class)->calcProxyUpgradeRatioReward();
   
   
   

    /**
     * 解冻金额
     * @param $uid
     * @param $amount
     * @param $remark
     * @param $kind_id 关联id
     * @return void
     * @throws \Exception
     */
    public function unfreezeAmount($uid, $amount, $remark, $kind_id = null, $addBack = false)
    {
        try {
            Db::startTrans();

            Db::name('proxy_user')
                ->where('uid', $uid)
                ->inc('freeze_amount', -$amount)
                ->update();

            if ($addBack) {
                Db::name('proxy_user')
                    ->where('uid', $uid)
                    ->inc('amount', $amount)
                    ->inc('total_amount', $amount)
                    ->update();
                Db::name('proxy_user_amount_log')->insert([
                    'uid'         => $uid,
                    'amount'      => $amount,
                    'remark'      => $remark,
                    'status'      => 1, // 已结算
                    'type'        => 99,
                    'kind_id'     => $kind_id,
                    'create_time' => time(),
                    'update_time' => time(),
                ]);
            }
            Db::commit();
        } catch (\Exception $e) {
            Db::rollback();
            trace("记录用户余额变更失败 [提现余额解冻] \n" . $e->getTraceAsString(), 'error');
            throw $e;
        }
    }

    public function calcProxyUpgradeRatioReward()
    {
        // 当前0点时间戳
        $time = strtotime(date('Y-m-d'));
        $list = Db::name('proxy_upgrade_ratio_reward')->where('status', 0)->where('create_time', '<', $time)->select();
        trace('自动计算流水奖, 找到:' . count($list), 'info');
        $amounts = [];
        foreach ($list as $item) {
            if (!isset($amounts[$item['spread_uid']])) {
                $amounts[$item['spread_uid']] = [
                    'ids'    => [],
                    'amount' => "0",
                ];
            }

            $amounts[$item['spread_uid']]['ids'][]  = $item['id'];
            $amounts[$item['spread_uid']]['amount'] = bcadd($amounts[$item['spread_uid']]['amount'], $item['reward_amount'], 2);
        }

        foreach ($amounts as $uid => $amount) {
            try {
                Db::startTrans();
                $id  = $this->addAmount($uid, $amount['amount'], '每日流水奖结算', 1);
                $res = Db::name('proxy_upgrade_ratio_reward')->whereIn('id', $amount['ids'])->update(['status' => 1, 'log_id' => $id]);
                Db::commit();
                trace('自动计算流水奖励成功:' . json_encode([$uid, $res]), 'info');
            } catch (\Exception $e) {
                Db::rollback();
                trace('自动计算流水奖励失败:' . json_encode([$uid, $amount]) . '\n' . $e->getTraceAsString(), 'error');
            }
        }
        return true;
    }



SQL 日志
[2026-02-04T15:51:27+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_upgrade_ratio_reward` [ RunTime:0.000542s ]
[2026-02-04T15:51:27+08:00][sql] SELECT COUNT(*) AS think_count FROM `eb_proxy_upgrade_ratio_reward` `prr` LEFT JOIN `eb_user` `u` ON `u`.`uid`=`prr`.`uid` LEFT JOIN `eb_user` `su` ON `su`.`uid`=`prr`.`spread_uid` WHERE  (  `prr`.`spread_uid` = '17' ) [ RunTime:0.000316s ]
[2026-02-04T15:51:33+08:00][sql] CONNECT:[ UseTime:0.000495s ] mysql:host=127.0.0.1;port=3306;dbname=cdtcrm.com;charset=utf8mb4
[2026-02-04T15:51:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_upgrade_ratio_reward` [ RunTime:0.000614s ]
[2026-02-04T15:51:33+08:00][sql] SELECT * FROM `eb_proxy_upgrade_ratio_reward` WHERE  `status` = 0  AND `create_time` < 1770134400 [ RunTime:0.000393s ]
[2026-02-04T15:51:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user` [ RunTime:0.000388s ]
[2026-02-04T15:51:33+08:00][sql] UPDATE `eb_proxy_user`  SET `amount` = `amount` + 0.02 , `total_amount` = `total_amount` + 0.02  WHERE  `uid` = 4 [ RunTime:0.000239s ]
[2026-02-04T15:51:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user_amount_log` [ RunTime:0.000352s ]
[2026-02-04T15:51:33+08:00][sql] INSERT INTO `eb_proxy_user_amount_log` SET `uid` = 4 , `amount` = '0.02' , `remark` = '每日流水奖结算' , `status` = 1 , `type` = 1 , `kind_id` = NULL , `create_time` = 1770191493 , `update_time` = 1770191493 [ RunTime:0.000225s ]
[2026-02-04T15:51:33+08:00][sql] UPDATE `eb_proxy_upgrade_ratio_reward`  SET `status` = 1 , `log_id` = 1  WHERE  `id` IN (3,4) [ RunTime:0.000202s ]


[2026-02-04T15:52:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_upgrade_ratio_reward` [ RunTime:0.000438s ]
[2026-02-04T15:52:33+08:00][sql] SELECT * FROM `eb_proxy_upgrade_ratio_reward` WHERE  `status` = 0  AND `create_time` < 1770134400 [ RunTime:0.000649s ]
[2026-02-04T15:52:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user` [ RunTime:0.000339s ]
[2026-02-04T15:52:33+08:00][sql] UPDATE `eb_proxy_user`  SET `amount` = `amount` + 0.02 , `total_amount` = `total_amount` + 0.02  WHERE  `uid` = 4 [ RunTime:0.000206s ]
[2026-02-04T15:52:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user_amount_log` [ RunTime:0.000331s ]
[2026-02-04T15:52:33+08:00][sql] INSERT INTO `eb_proxy_user_amount_log` SET `uid` = 4 , `amount` = '0.02' , `remark` = '每日流水奖结算' , `status` = 1 , `type` = 1 , `kind_id` = NULL , `create_time` = 1770191553 , `update_time` = 1770191553 [ RunTime:0.000200s ]
[2026-02-04T15:52:33+08:00][sql] UPDATE `eb_proxy_upgrade_ratio_reward`  SET `status` = 1 , `log_id` = 1  WHERE  `id` IN (3,4) [ RunTime:0.000217s ]


[2026-02-04T15:53:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_upgrade_ratio_reward` [ RunTime:0.001061s ]
[2026-02-04T15:53:33+08:00][sql] SELECT * FROM `eb_proxy_upgrade_ratio_reward` WHERE  `status` = 0  AND `create_time` < 1770134400 [ RunTime:0.000422s ]
[2026-02-04T15:53:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user` [ RunTime:0.000410s ]
[2026-02-04T15:53:33+08:00][sql] UPDATE `eb_proxy_user`  SET `amount` = `amount` + 0.02 , `total_amount` = `total_amount` + 0.02  WHERE  `uid` = 4 [ RunTime:0.000215s ]
[2026-02-04T15:53:33+08:00][sql] SHOW FULL COLUMNS FROM `eb_proxy_user_amount_log` [ RunTime:0.000358s ]
[2026-02-04T15:53:33+08:00][sql] INSERT INTO `eb_proxy_user_amount_log` SET `uid` = 4 , `amount` = '0.02' , `remark` = '每日流水奖结算' , `status` = 1 , `type` = 1 , `kind_id` = NULL , `create_time` = 1770191613 , `update_time` = 1770191613 [ RunTime:0.000290s ]
[2026-02-04T15:53:33+08:00][sql] UPDATE `eb_proxy_upgrade_ratio_reward`  SET `status` = 1 , `log_id` = 1  WHERE  `id` IN (3,4) [ RunTime:0.000267s ]


info 日志
[2026-02-04T15:51:33+08:00][info] 自动计算流水奖, 找到:2
[2026-02-04T15:51:33+08:00][info] 自动计算流水奖励成功:[4,2]
[2026-02-04T15:52:33+08:00][info] 自动计算流水奖, 找到:2
[2026-02-04T15:52:33+08:00][info] 自动计算流水奖励成功:[4,2]
[2026-02-04T15:53:33+08:00][info] 自动计算流水奖, 找到:2
[2026-02-04T15:53:33+08:00][info] 自动计算流水奖励成功:[4,2]


【产品名称】:Pro 会员电商系统 / 多门店系统 / 多商户系统 (PHP)  / 标准版 (Java)  / 多商户外贸版 / 知识付费系统 / 多商户系统 (Java)

【产品版本】:CRMEB-PRO v3.3.0

【部署方式】:MacOS 本地开发

【部署环境】:本地环境

【php版本】:php80

【Mysql版本】:5.7

【使用终端】:后台


{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

bb392cfb4b1f 最后编辑于2026-02-04 15:57:24

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
54
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服