| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- namespace app\admin\logic;
- use app\admin\model\dao\MoneyLog;
- use app\admin\model\dao\ScoreLog;
- use app\admin\model\dao\ShopOrder;
- use app\admin\model\dao\User;
- use app\admin\model\dao\WithdrawLog;
- use think\facade\Cache;
- use think\facade\Db;
- class WithdrawLogLogic
- {
- public function returnServiceMoney($post)
- {
- $withdrawLog = WithdrawLog::getWithdrawLogById($post['id']);
- if (empty($withdrawLog)) {
- return "记录不存在";
- }
- if ($withdrawLog['status'] != 3) {
- return "该提现记录不可以退还服务费";
- }
- if ($withdrawLog['service_money'] < $post['service_money']) {
- return "提现金额不可以大于服务费";
- }
- $moneyLog = MoneyLog::getMoneyLogByFromId($post['id']);
- if ($moneyLog) {
- return "当前提现记录已退还服务费";
- }
- Db::startTrans();
- try {
- $afterMoney = $withdrawLog['service_money'] + $post['service_money'];
- $moneyLog = [
- 'uid' => $withdrawLog['uid'],
- 'type' => 14,
- 'money' => $post['service_money'],
- 'create_at' => date('Y-m-d H:i:s'),
- 'state' => 1,
- 'from_id' => '0',
- 'before_money' => $withdrawLog['service_money'],
- 'after_money' => $afterMoney,
- 'uid2' => 0,
- 'free_type' => '',
- 'remark' => $post['remark'],
- 'withdraw_log_id' => $withdrawLog['id'],
- ];
- $serviceMoney = $withdrawLog['service_money'] - $post['service_money'];
- WithdrawLog::updateServiceMoney($withdrawLog['id'], $serviceMoney);
- MoneyLog::AddMoneyLog($moneyLog);
- User::UpdateUserMoney($withdrawLog['uid'], $afterMoney);
- Db::commit();
- } catch (\Exception $exception) {
- Db::rollback();
- return "失败:" . $exception->getMessage();
- }
- return true;
- }
- public function getWithdrawLog($id)
- {
- $withdrawLog = WithdrawLog::getWithdrawLogById($id);
- return $withdrawLog;
- }
- public function isShowReturnServiceMoney($id)
- {
- $key = 'WITHDRAWLOGRETURNSERVICEMONEY_' . $id;
- if (Cache::has($key) && 1 == 2) {
- return Cache::get($key);
- }
- $moneyLog = MoneyLog::getMoneyLogByFromId($id);
- $isShow = $moneyLog ? 1 : 0;
- Cache::set($key, $isShow, 5 * 60);
- return $isShow;
- }
- }
|