Commit 64157074 by lizhilin

更新

parent 6796a728
<?php
namespace App\Admin\Actions;
use Dcat\Admin\Actions\Response;
use App\Admin\Forms\EditShareUserForm;
use Dcat\Admin\Grid\RowAction;
use Dcat\Admin\Traits\HasPermissions;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Http\Request;
use Dcat\Admin\Widgets\Modal;
class EditShareUserAct extends RowAction
{
protected $uid = 0;
/**
* 接收参数
*/
public function __construct($title = '', $uid = 0)
{
$this->uid = $uid;
parent::__construct($title);
$this->title = $title;
}
/**
* @return string
*/
//protected $title = '<i class="feather icon-stop-circle"> </i>';
/**
* 按钮文本
*
* @return string|void
*/
public function title()
{
return '<i class="feather icon-edit-1"></i> ' . $this->title . '';
}
/**
* Handle the action request.
*
* @param Request $request
*
* @return Response
*/
public function handle(Request $request)
{
$id = $this->getKey() ?? 0;
return $this->response()->success('成功')->refresh();
}
/**
* 渲染模态框.
* @return Modal
*/
public function render()
{
// 这里直接创建一个modal框 model的内容由工具表单提供,这里也需要创建一个工具表单才行
return Modal::make()
->lg()
->title($this->title)
->button($this->title())
->body(EditShareUserForm::make()->payload(['uid' => $this->uid]));
//->button("<button class='btn btn-sm btn-primary'>$this->title</button>"); // 这个button就是对应上面的按钮
}
/**
* @return string|array|void
*/
public function confirm()
{
// return ['Confirm?', 'contents'];
}
/**
* @param Model|Authenticatable|HasPermissions|null $user
*
* @return bool
*/
protected function authorize($user): bool
{
return true;
}
/**
* @return array
*/
protected function parameters()
{
return [];
}
}
...@@ -25,7 +25,7 @@ class UserBuyCode extends RowAction ...@@ -25,7 +25,7 @@ class UserBuyCode extends RowAction
*/ */
public function title() public function title()
{ {
return '<i class="feather icon-stop-circle"></i> ' . $this->title . ''; return '<i class="feather icon-edit"></i> ' . '直购码';
} }
/** /**
* Handle the action request. * Handle the action request.
...@@ -55,7 +55,7 @@ public function render() ...@@ -55,7 +55,7 @@ public function render()
return Modal::make() return Modal::make()
->lg() ->lg()
->title('直购码') ->title('直购码')
->button("直购码") ->button($this->title())
->body(BuyCodeForm::make()) ->body(BuyCodeForm::make())
->onShown( ->onShown(
<<<js <<<js
......
...@@ -67,12 +67,26 @@ protected function grid() ...@@ -67,12 +67,26 @@ protected function grid()
} }
return $str; return $str;
}); });
$grid->column('audit_desc', '审核原因')->display('点击查看')->modal(function ($modal) {
//设置弹窗标题
$modal->title('审核原因');
$content = $this->audit_desc . "<br/>";
$card = new Card(null, $content);
return "<div style='padding:10px 10px 0;width:100%;'>$card</div>";
});
$grid->disableViewButton(); $grid->disableViewButton();
$grid->disableEditButton();
$grid->disableDeleteButton(); $grid->disableDeleteButton();
$grid->disableActions(); $grid->disableRowSelector();
$grid->actions(function (Grid\Displayers\Actions $actions) {
$rowData = $actions->row;
if ($rowData['status'] != 'failed') {
$actions->disableEdit();
}
});
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
// 更改为 panel 布局 // 更改为 panel 布局
...@@ -129,8 +143,8 @@ protected function form() ...@@ -129,8 +143,8 @@ protected function form()
//$form->text('order_no'); //$form->text('order_no');
$form->select('merchant_id', '商家名称') $form->select('merchant_id', '商家名称')
->options(Merchant::whereNull('deleted_at')->get()->pluck('name', 'id'))->required(); ->options(Merchant::whereNull('deleted_at')->get()->pluck('name', 'id'))->required();
$order_no = 'cm' . date("YmdHis") . mt_rand(10000, 99999); // $order_no = 'cm' . date("YmdHis") . mt_rand(10000, 99999);
$form->text('order_no')->default($order_no); //请求订单号 // $form->text('order_no')->default($order_no); //请求订单号
$form->text('cont_name')->required(); $form->text('cont_name')->required();
$form->text('cont_phone')->required(); $form->text('cont_phone')->required();
$form->text('email')->required(); $form->text('email')->required();
...@@ -158,6 +172,8 @@ protected function form() ...@@ -158,6 +172,8 @@ protected function form()
->help('内容须包含三证合一证件照、法人身份证正面照、法人身份证反面照、开户银行许可证照。 压缩 zip包后上传,最大限制为 9 M'); //hf ->help('内容须包含三证合一证件照、法人身份证正面照、法人身份证反面照、开户银行许可证照。 压缩 zip包后上传,最大限制为 9 M'); //hf
$form->text('card_no', '银行卡号')->required(); $form->text('card_no', '银行卡号')->required();
$form->text('card_name', '银行卡对应的户名')->required(); $form->text('card_name', '银行卡对应的户名')->required();
$form->hidden('audit_state');
$form->hidden('audit_desc');
$form->disableCreatingCheck(); $form->disableCreatingCheck();
$form->disableEditingCheck(); $form->disableEditingCheck();
...@@ -180,7 +196,7 @@ function (Form $form, $result) { ...@@ -180,7 +196,7 @@ function (Form $form, $result) {
# 商户用户id # 商户用户id
"member_id" => "cm_id" . $params['merchant_id'], "member_id" => "cm_id" . $params['merchant_id'],
# 订单号 # 订单号
"order_no" => $params['order_no'], "order_no" => 'corp_member' . date("YmdHis") . mt_rand(10000, 99999),
# 企业名称 # 企业名称
"name" => $params['name'], "name" => $params['name'],
'prod_mode' => false, 'prod_mode' => false,
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
use App\Admin\Forms\EditPermission; use App\Admin\Forms\EditPermission;
use App\Admin\Forms\updatePassword; use App\Admin\Forms\updatePassword;
use App\Admin\Actions\UserBuyCode; use App\Admin\Actions\UserBuyCode;
use App\Admin\Actions\EditShareUserAct;
use Dcat\Admin\Grid\RowAction; use Dcat\Admin\Grid\RowAction;
use App\Models\User; use App\Models\User;
use App\Models\UserPermission; use App\Models\UserPermission;
...@@ -46,9 +47,10 @@ protected function grid() ...@@ -46,9 +47,10 @@ protected function grid()
//$grid->simplePaginate(); //$grid->simplePaginate();
$grid->actions(function (Grid\Displayers\Actions $actions) { $grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->append(new EditShareUserAct('更改所属上级', $actions->row->id));
$actions->append(new UserBuyCode($actions->row->id)); $actions->append(new UserBuyCode($actions->row->id));
// 添加一个按钮,并设置其属性 // 添加一个按钮,并设置其属性
$actions->append('<a href="/user-share?id=' . $this->id . '" alt="查看下级" target="_blank">查看下级</a>'); $actions->append('<a href="/user-share?id=' . $this->id . '" alt="查看下级" target="_blank"><i class="feather icon-list"> 查看下级 </i></a>');
// 或者使用 RowAction 来添加按钮 // 或者使用 RowAction 来添加按钮
//$actions->append(RowAction::make('自定义按钮')->route('custom.route')); //$actions->append(RowAction::make('自定义按钮')->route('custom.route'));
......
<?php
namespace App\Admin\Forms;
use App\Admin\Actions\UserBuyCode;
use App\Command\Log;
use App\Models\Company;
use App\Models\Employee;
use App\Models\Income;
use App\Models\Merchant;
use App\Models\Pay;
use App\Models\User;
use App\Models\UserBuycodeCheck;
use Dcat\Admin\Widgets\Form;
use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use Exception;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Request;
class EditShareUserForm extends Form implements LazyRenderable
{
use LazyWidget;
/**
* Handle the form request.
*
* @param array $input
*
* @return mixed
*/
public function handle(array $input)
{
DB::beginTransaction();
try {
$user_id = $this->payload['uid'];
$phone = trim($input['phone']); //推荐人手机号
$spObj = User::where('phone', $phone)->first();
if (!$spObj) {
throw new Exception('该推荐人信息不存在!');
}
$uObj = User::find($user_id);
Log::add('更改推荐人前信息uid:' . $user_id, ['spuid' => $uObj->spuid, 'second_spuid' => $uObj->second_spuid]);
if ($uObj) {
$uObj->spuid = $spObj->id; //直推
$uObj->second_spuid = $spObj->spuid ?? 0; //间推
$uObj->save();
Log::add('更改推荐人后信息uid:' . $user_id, ['spuid' => $uObj->spuid, 'second_spuid' => $uObj->second_spuid]);
}
DB::commit();
} catch (\Exception $exception) {
DB::rollBack();
return $this->response()->error($exception->getMessage())->refresh();
}
return $this->response()->success('提交成功')->refresh();
}
/**
* Build a form here.
*/
public function form()
{
$this->text('phone', '推荐手机号');
}
/**
* The data of the form.
*
* @return array
*/
public function default()
{
// 获取外部传递参数
return [];
}
}
...@@ -98,10 +98,14 @@ public function notify() ...@@ -98,10 +98,14 @@ public function notify()
$member_id = $post_data['member_id']; $member_id = $post_data['member_id'];
$order_no = $post_data['order_no']; $order_no = $post_data['order_no'];
$hfcObj = HfCompanyMember::where(['member_id' => $member_id, 'order_no' => $order_no])->first(); $hfcObj = HfCompanyMember::where(['member_id' => $member_id, 'order_no' => $order_no])->first();
if ($post_data['audit_state'] != 'B') { if ($post_data['audit_state'] == 'D') {
$hfcObj->status = 'succeeded'; $hfcObj->status = 'succeeded';
$hfcObj->audit_state = 'D';
$hfcObj->audit_desc = $post_data['audit_desc'];
} else { } else {
$hfcObj->status = 'failed'; $hfcObj->status = 'failed';
$hfcObj->audit_state = $post_data['audit_state'];
$hfcObj->audit_desc = $post_data['audit_desc'];
} }
$hfcObj->save(); $hfcObj->save();
return true; return true;
......
...@@ -160,20 +160,49 @@ public function myCard(Request $request) ...@@ -160,20 +160,49 @@ public function myCard(Request $request)
return $this->JsonResponse('', '参数错误', 201); return $this->JsonResponse('', '参数错误', 201);
} }
$account_params = [];
$accountObj = HfSettleAccount::where(['member_type' => $member_type, 'mid' => $mid])->first(); $accountObj = HfSettleAccount::where(['member_type' => $member_type, 'mid' => $mid])->first();
if ($accountObj) {
$account_params = array( $account_params = array(
'card_id' => $accountObj->card_id, 'card_id' => $accountObj->card_id ?? '',
'card_name' => $accountObj->card_name, 'card_name' => $accountObj->card_name ?? '',
'tel_no' => $accountObj->tel_no, 'tel_no' => $accountObj->tel_no ?? '',
'bank_code' => $accountObj->bank_code ?? '', 'bank_code' => $accountObj->bank_code ?? '',
'bank_name' => $accountObj->bank_name ?? '', 'bank_name' => $accountObj->bank_name ?? '',
); );
}
return $this->JsonResponse($account_params); return $this->JsonResponse($account_params);
} }
//查询结算账户 //查询账户余额
public function queryAccount(Request $request) {} public function queryBalance(Request $request)
{
$userObj = $request->user();
//$member_type = $request->member_type ?? 0;
$role_id = $useObj->role_id ?? '';
if ($role_id == 1) { //商家
$mid = $userObj->merchant_id;
$member_id = HfCompanyMember::where(['merchant_id' => $mid, 'status' => 'succeeded'])->value('member_id');
} else {
$mid = $userObj->id;
$member_id = $userObj->member_id;
}
if (!$member_id) {
return $this->JsonResponse('', '账户异常,请联系管理员', 500);
}
$account_params = [
'app_id' => env('HUIFU_APPID'),
'member_id' => $member_id,
];
$result = (new Adapay())->queryBalance($account_params);
if (isset($result['status']) && $result['status'] == 'succeeded') {
return $this->JsonResponse($result);
} else {
return $this->JsonResponse('', '查询失败', 201);
}
}
//银行代码 //银行代码
public function getBankCode() public function getBankCode()
......
...@@ -106,7 +106,7 @@ public function login(Request $request) ...@@ -106,7 +106,7 @@ public function login(Request $request)
if (!$user->member_id) { if (!$user->member_id) {
$result = (new Adapay())->createMember($user->id, $user->phone); $result = (new Adapay())->createMember($user->id, $user->phone);
if (isset($result['status']) && $result['status'] == 'succeeded') { if (isset($result['status']) && $result['status'] == 'succeeded') {
DB::table('user')->where('id', $user->id)->update(['member_id' => $result['member_id']]); DB::table('users')->where('id', $user->id)->update(['member_id' => $result['member_id']]);
} }
} }
......
...@@ -71,8 +71,8 @@ public function info(Request $request) ...@@ -71,8 +71,8 @@ public function info(Request $request)
$phone = $merObj->phone; $phone = $merObj->phone;
$merchant_name = $merObj->name; $merchant_name = $merObj->name;
$total_revenue = $merObj->total_revenue ?? 0; $total_revenue = $merObj->total_revenue ?? 0;
$balance = $merObj->balance ?? 0; $balance = 0; //$merObj->balance ?? 0;
$cashout = $total_revenue - $balance; $cashout = 0; //$total_revenue - $balance;
} }
if ($store_id) { if ($store_id) {
$storeObj = Store::where('id', $store_id)->first(); $storeObj = Store::where('id', $store_id)->first();
......
...@@ -55,7 +55,7 @@ public function autoChangeReceiveStatus() ...@@ -55,7 +55,7 @@ public function autoChangeReceiveStatus()
return '--ok--'; return '--ok--';
} }
//定时任务--订单分佣 //定时任务--订单分佣(废弃) -- 分佣已采用汇付分账模式
public function autoOrderCommission() public function autoOrderCommission()
{ {
$chunkSize = 50; // 每次处理的订单数量 $chunkSize = 50; // 每次处理的订单数量
......
...@@ -166,9 +166,9 @@ public function numberShoppingCart(Request $request) ...@@ -166,9 +166,9 @@ public function numberShoppingCart(Request $request)
public function info(Request $request) public function info(Request $request)
{ {
$user = $request->user(); $user = $request->user();
$balance = $user->balance ?? 0; //余额 $balance = 0; //$user->balance ?? 0; //余额
$total_revenue = $user->total_revenue ?? 0; //总金额 $total_revenue = $user->total_revenue ?? 0; //总金额
$cashout = $total_revenue - $balance; //已提现 $cashout = 0; //$total_revenue - $balance; //已提现
return $this->JsonResponse([ return $this->JsonResponse([
'user_id' => $user->id, 'user_id' => $user->id,
'nickname' => $user->name, 'nickname' => $user->name,
......
...@@ -405,4 +405,20 @@ public function deleteSettleAccount($account_params) ...@@ -405,4 +405,20 @@ public function deleteSettleAccount($account_params)
return $account->result; return $account->result;
} }
} }
//查询账户余额
public function queryBalance($account_params)
{
$account = new \NwVVVS\AdapaySdk\SettleAccount();
# 查询账户余额
$account->balance($account_params);
# 对查询账户余额结果进行处理
if ($account->isError()) {
//失败处理
return $account->result;
} else {
//成功处理
return $account->result;
}
}
} }
...@@ -53,8 +53,8 @@ public static function divide($order_id) ...@@ -53,8 +53,8 @@ public static function divide($order_id)
$divide_price = number_format($goods_amount * ($first_commission / 100), 2); $divide_price = number_format($goods_amount * ($first_commission / 100), 2);
//收益直接到直推账户 //收益直接到直推账户
$spObj = User::find($spuid); $spObj = User::find($spuid);
$spObj->total_revenue += $divide_price; $spObj->total_revenue += $divide_price; //总余额记录
$spObj->balance += $divide_price; //$spObj->balance += $divide_price; //自动分账打款 字段未使用
$spObj->save(); $spObj->save();
self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $first_commission, $spuid, $user_id, 1); self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $first_commission, $spuid, $user_id, 1);
//汇付参数 //汇付参数
...@@ -69,7 +69,7 @@ public static function divide($order_id) ...@@ -69,7 +69,7 @@ public static function divide($order_id)
//收益直接到直推账户 //收益直接到直推账户
$spObj = User::find($second_spuid); $spObj = User::find($second_spuid);
$spObj->total_revenue += $divide_price; $spObj->total_revenue += $divide_price;
$spObj->balance += $divide_price; //$spObj->balance += $divide_price;
$spObj->save(); $spObj->save();
self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $second_commission, $second_spuid, $user_id, 2); self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $second_commission, $second_spuid, $user_id, 2);
//汇付参数 //汇付参数
...@@ -84,7 +84,7 @@ public static function divide($order_id) ...@@ -84,7 +84,7 @@ public static function divide($order_id)
//收益直接到商户账户 //收益直接到商户账户
$merObj = Merchant::find($merchant_id); $merObj = Merchant::find($merchant_id);
$merObj->total_revenue += $divide_price; $merObj->total_revenue += $divide_price;
$merObj->balance += $divide_price; //$merObj->balance += $divide_price;
$merObj->save(); $merObj->save();
//记录 //记录
self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $merchant_commission, $merchant_id, $user_id, 3); self::addRecord($item->id, $order_id, $goods_amount, $divide_price, $merchant_commission, $merchant_id, $user_id, 3);
......
...@@ -204,5 +204,7 @@ ...@@ -204,5 +204,7 @@
Route::post('hf-settle-account-query', 'HfSettleAccountController@queryAccount'); //汇付 查询用户结算账户 Route::post('hf-settle-account-query', 'HfSettleAccountController@queryAccount'); //汇付 查询用户结算账户
Route::get('hf-account-balance', 'HfSettleAccountController@queryBalance'); //汇付 查询账户余额
}); });
}); });
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment