|
@@ -3,12 +3,18 @@
|
|
|
namespace app\api\controller\user;
|
|
namespace app\api\controller\user;
|
|
|
|
|
|
|
|
use app\admin\model\system\SystemConfig;
|
|
use app\admin\model\system\SystemConfig;
|
|
|
|
|
+use app\http\validates\user\AddressValidate;
|
|
|
use app\models\store\StoreOrder;
|
|
use app\models\store\StoreOrder;
|
|
|
|
|
+use app\models\system\SystemCity;
|
|
|
|
|
+use app\models\user\UserBank;
|
|
|
use app\models\user\UserBill;
|
|
use app\models\user\UserBill;
|
|
|
use app\models\user\UserExtract;
|
|
use app\models\user\UserExtract;
|
|
|
use app\Request;
|
|
use app\Request;
|
|
|
use crmeb\services\UtilService;
|
|
use crmeb\services\UtilService;
|
|
|
use crmeb\services\CacheService;
|
|
use crmeb\services\CacheService;
|
|
|
|
|
+use think\db\exception\DataNotFoundException;
|
|
|
|
|
+use think\db\exception\ModelNotFoundException;
|
|
|
|
|
+use think\exception\ValidateException;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 提现类
|
|
* 提现类
|
|
@@ -104,4 +110,126 @@ class UserExtractController
|
|
|
else
|
|
else
|
|
|
return app('json')->fail(UserExtract::getErrorInfo('提现失败'));
|
|
return app('json')->fail(UserExtract::getErrorInfo('提现失败'));
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 银行卡 获取单个
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @param $id
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ * @throws DataNotFoundException
|
|
|
|
|
+ * @throws ModelNotFoundException
|
|
|
|
|
+ * @throws \think\exception\DbException
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_info(Request $request, $id)
|
|
|
|
|
+ {
|
|
|
|
|
+ $bankInfo = [];
|
|
|
|
|
+ if ($id && is_numeric($id) && UserBank::be(['is_del' => 0, 'id' => $id, 'uid' => $request->uid()])) {
|
|
|
|
|
+ $bankInfo = UserBank::find($id)->toArray();
|
|
|
|
|
+ }
|
|
|
|
|
+ return app('json')->successful($bankInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 银行卡列表
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @param $page
|
|
|
|
|
+ * @param $limit
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_list(Request $request)
|
|
|
|
|
+ {
|
|
|
|
|
+ list($page, $limit) = UtilService::getMore([['page', 0], ['limit', 20]], $request, true);
|
|
|
|
|
+ $list = UserBank::getUserValidAddressList($request->uid(), $page, $limit, 'id,bank_code,bank_address,is_default');
|
|
|
|
|
+ return app('json')->successful($list);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 设置默认银行卡
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_default_set(Request $request)
|
|
|
|
|
+ {
|
|
|
|
|
+ list($id) = UtilService::getMore([['id', 0]], $request, true);
|
|
|
|
|
+ if (!$id || !is_numeric($id)) return app('json')->fail('参数错误!');
|
|
|
|
|
+ if (!UserBank::be(['is_del' => 0, 'id' => $id, 'uid' => $request->uid()]))
|
|
|
|
|
+ return app('json')->fail('银行卡不存在!');
|
|
|
|
|
+ $res = UserBank::setDefaultAddress($id, $request->uid());
|
|
|
|
|
+ if (!$res)
|
|
|
|
|
+ return app('json')->fail('银行卡不存在!');
|
|
|
|
|
+ else
|
|
|
|
|
+ return app('json')->successful();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取默认银行卡
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_default(Request $request)
|
|
|
|
|
+ {
|
|
|
|
|
+ $defaultAddress = UserBank::getUserDefaultAddress($request->uid(), 'id,bank_code,bank_address,is_default');
|
|
|
|
|
+ if ($defaultAddress) {
|
|
|
|
|
+ $defaultAddress = $defaultAddress->toArray();
|
|
|
|
|
+ return app('json')->successful('ok', $defaultAddress);
|
|
|
|
|
+ }
|
|
|
|
|
+ return app('json')->successful('empty', []);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 修改 添加银行卡
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_edit(Request $request)
|
|
|
|
|
+ {
|
|
|
|
|
+ $bankInfo = UtilService::postMore([
|
|
|
|
|
+ ['bank_code', ''],
|
|
|
|
|
+ ['is_default', false],
|
|
|
|
|
+ ['bank_address', ''],
|
|
|
|
|
+ ['id', 0],
|
|
|
|
|
+ ], $request);
|
|
|
|
|
+ if (!$bankInfo['bank_code'] == '')
|
|
|
|
|
+ if (!preg_match('/^([1-9]{1})(\d{14}|\d{18}|\d{15})$/', $bankInfo['cardnum']))
|
|
|
|
|
+ return app('json')->fail('银行卡号输入有误');
|
|
|
|
|
+
|
|
|
|
|
+ if ($bankInfo['id'] && UserBank::be(['id' => $bankInfo['id'], 'uid' => $request->uid(), 'is_del' => 0])) {
|
|
|
|
|
+ $id = $bankInfo['id'];
|
|
|
|
|
+ unset($bankInfo['id']);
|
|
|
|
|
+ if (UserBank::edit($bankInfo, $id, 'id')) {
|
|
|
|
|
+ if ($bankInfo['is_default'])
|
|
|
|
|
+ UserBank::setDefaultAddress($id, $request->uid());
|
|
|
|
|
+ return app('json')->successful();
|
|
|
|
|
+ } else
|
|
|
|
|
+ return app('json')->fail('编辑银行卡失败!');
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $bankInfo['add_time'] = time();
|
|
|
|
|
+ if ($bank = UserBank::create($bankInfo)) {
|
|
|
|
|
+ if ($bankInfo['is_default']) {
|
|
|
|
|
+ UserBank::setDefaultAddress($bank->id, $request->uid());
|
|
|
|
|
+ }
|
|
|
|
|
+ return app('json')->successful(['id' => $bank->id]);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return app('json')->fail('添加银行卡失败!');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 删除银行卡
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return mixed
|
|
|
|
|
+ */
|
|
|
|
|
+ public function bank_del(Request $request)
|
|
|
|
|
+ {
|
|
|
|
|
+ list($id) = UtilService::postMore([['id', 0]], $request, true);
|
|
|
|
|
+ if (!$id || !is_numeric($id)) return app('json')->fail('参数错误!');
|
|
|
|
|
+ if (!UserBank::be(['is_del' => 0, 'id' => $id, 'uid' => $request->uid()]))
|
|
|
|
|
+ return app('json')->fail('银行卡不存在!');
|
|
|
|
|
+ if (UserBank::edit(['is_del' => '1'], $id, 'id'))
|
|
|
|
|
+ return app('json')->successful();
|
|
|
|
|
+ else
|
|
|
|
|
+ return app('json')->fail('删除银行卡失败!');
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|