Kirin před 4 roky
rodič
revize
f93f30419a
1 změnil soubory, kde provedl 58 přidání a 2 odebrání
  1. 58 2
      app/admin/controller/user/User.php

+ 58 - 2
app/admin/controller/user/User.php

@@ -9,6 +9,8 @@ namespace app\admin\controller\user;
 
 use app\admin\controller\AuthController;
 use app\models\member\MemberCheck;
+use app\models\member\MemberGrade;
+use crmeb\repositories\OrderRepository;
 use crmeb\repositories\UserRepository;
 use crmeb\traits\CurdControllerTrait;
 use think\facade\Route as Url;
@@ -18,8 +20,8 @@ use app\admin\model\order\StoreOrder;
 use app\admin\model\wechat\WechatMessage;
 use app\admin\model\store\{StoreVisit, StoreCouponUser};
 use app\admin\model\system\{SystemUserLevel, SystemUserTask};
-use crmeb\services\{FormBuilder as Form, UtilService as Util, JsonService as Json};
-use app\admin\model\user\{User as UserModel, UserBill as UserBillAdmin, UserLevel, UserGroup, UserTaskFinish};
+use crmeb\services\{FormBuilder as Form, MiniProgramService, UtilService as Util, JsonService as Json, WechatService};
+use app\admin\model\user\{User as UserModel, UserBill as UserBillAdmin, UserBill, UserLevel, UserGroup, UserTaskFinish};
 
 /**
  * 用户管理控制器
@@ -814,4 +816,58 @@ class User extends AuthController
         $where['paid'] = 1;
         Json::successlayui(MemberCheck::getList($where));
     }
+
+
+    public function pass($id)
+    {
+        if (!$id || !MemberCheck::where('id', $id)->where('paid', 1)->where('status', 0)->find()) {
+            Json::fail('记录状态错误。');
+        }
+        //发消息
+        $info = MemberCheck::where('id', $id)->find();
+        $grade_info = MemberGrade::where('type', $info['type'])->where('grade', $info['grade'])->find();
+        $info->status = 1;
+        $info->check_time = time();
+        $info->valid_time = strtotime('+' . $grade_info['year'] . 'year');
+        $res = $info->save();
+        if ($res) {
+            Json::success('已通过');
+        } else {
+            Json::fail('审核失败');
+        }
+    }
+
+
+    public function cancel($id)
+    {
+        if (!$id || !MemberCheck::where('id', $id)->where('paid', 1)->where('status', 0)->find()) {
+            Json::fail('记录状态错误。');
+        }
+        //发消息
+        $info = MemberCheck::where('id', $id)->find();
+        $refund_data['pay_price'] = $info['pay_money'];
+        $refund_data['refund_price'] = $info['pay_money'];
+        if ($info['pay_type'] == 'weixin') {
+            try {
+                WechatService::payOrderRefund($info['order_id'], $refund_data);
+            } catch (\Exception $e) {
+                Json::fail($e->getMessage());
+            }
+        } else if ($info['pay_type'] == 'yue') {
+            BaseModel::beginTrans();
+            $usermoney = \app\admin\model\user\User::where('uid', $info['uid'])->value('now_money');
+            $res1 = \app\admin\model\user\User::bcInc($info['uid'], 'now_money', $info['pay_money'], 'uid');
+            $res2 = UserBill::income('申请会员退款', $info['uid'], 'now_money', 'pay_member_refund', $info['pay_money'], $info['id'], bcadd($usermoney, $info['pay_money'], 2), '订单退款到余额' . floatval($info['pay_money']) . '元');
+            $res = $res1 && $res2;
+            BaseModel::checkTrans($res);
+            if (!$res) Json::fail('余额退款失败!');
+        }
+        $info->status = 2;
+        $res = $info->save();
+        if ($res) {
+            Json::success('已驳回');
+        } else {
+            Json::fail('审核失败');
+        }
+    }
 }