112 lines
4.3 KiB
PHP
112 lines
4.3 KiB
PHP
<?php
|
||
/**
|
||
* Created by PhpStorm.
|
||
* Author:
|
||
* Date: 2017/4/2
|
||
* Time: 下午5:37
|
||
*/
|
||
|
||
namespace app\frontend\modules\finance\controllers;
|
||
|
||
use app\common\models\weightValue\WeightValueLog;
|
||
use app\common\components\ApiController;
|
||
use app\common\models\Member;
|
||
use Illuminate\Support\Facades\DB;
|
||
use Yunshop\TeamDividend\models\TeamDividendAgencyModel;
|
||
|
||
class WeightValueController extends ApiController{
|
||
/**
|
||
* Common: 获取权重值首页信息
|
||
* Author: wu-hui
|
||
* Time: 2023/09/27 16:00
|
||
* @return \Illuminate\Http\JsonResponse
|
||
*/
|
||
public function index(){
|
||
$uid = \YunShop::app()->getMemberId();
|
||
$data = [
|
||
'weight_value' => sprintf("%.2f",Member::where('uid', $uid)->value('weight_value')),
|
||
'list' => WeightValueLog::uniacid()->where('member_id',$uid)->limit(10)->get(['type','change_type','change_quantity','change_after','remark','created_at']),
|
||
];
|
||
|
||
return $this->successJson('成功', $data);
|
||
}
|
||
/**
|
||
* Common: 获取用户权重值信息
|
||
* Author: wu-hui
|
||
* Time: 2023/09/27 16:31
|
||
* @return \Illuminate\Http\JsonResponse
|
||
*/
|
||
public function memberWeightValue(){
|
||
if ($memberInfo = Member::where('uid', \YunShop::app()->getMemberId())->first()) {
|
||
$data['weight_value'] = $memberInfo->weight_value;
|
||
$data['has_password'] = $memberInfo->yzMember->hasPayPassword();
|
||
$data['need_password'] = false;//(new PasswordService())->isNeed('balance', 'transfer');
|
||
|
||
return $this->successJson('获取数据成功', $data);
|
||
}
|
||
return $this->errorJson('未获取到会员数据');
|
||
}
|
||
/**
|
||
* Common: 权重值转账
|
||
* Author: wu-hui
|
||
* Time: 2023/09/27 17:17
|
||
* @return \Illuminate\Http\JsonResponse
|
||
*/
|
||
public function transfer(){
|
||
// 参数获取
|
||
$uid = \YunShop::app()->getMemberId();
|
||
$transferId = (int)request()->input('transfer_id');
|
||
$transferMoney = abs((float)request()->input('transfer_money'));
|
||
if($transferId <= 0 || $transferMoney <= 0) return $this->errorJson('无受让人或者转赠数量为0!');
|
||
// 判断:双方必须都是经销商
|
||
$currentMemberIs = (int)TeamDividendAgencyModel::uniacid()->where('uid',$uid)->value('id');
|
||
$transferMemberIs = (int)TeamDividendAgencyModel::uniacid()->where('uid',$transferId)->value('id');
|
||
if($currentMemberIs <= 0 || $transferMemberIs <= 0) return $this->errorJson('身份非法,双方都必须为经纪人才能进行当前操作!');
|
||
DB::beginTransaction();
|
||
try{
|
||
// 获取用户信息
|
||
$currentMemberName = Member::uniacid()->where('uid',$uid)->value('nickname');
|
||
$transferMemberName = Member::uniacid()->where('uid',$transferId)->value('nickname');
|
||
// 减少当前用户持有权重值
|
||
(new WeightValueLog())->weightValueOperate($uid,$transferMoney,0,"赠送给【{$transferMemberName}】");
|
||
// 增加受让人持有权重值
|
||
(new WeightValueLog())->weightValueOperate($transferId,$transferMoney,1,"来自【{$currentMemberName}】的赠送");
|
||
|
||
DB::commit();
|
||
|
||
return $this->successJson('操作成功');
|
||
}catch(\Exception $e){
|
||
DB::rollBack();
|
||
return $this->errorJson($e->getMessage());
|
||
}
|
||
}
|
||
/**
|
||
* Common: 获取权重值变更记录列表
|
||
* Author: wu-hui
|
||
* Time: 2023/09/27 17:40
|
||
* @return \Illuminate\Http\JsonResponse
|
||
*/
|
||
public function record(){
|
||
//参数获取
|
||
$pageSize = request()->input('page_size',10);
|
||
$search = request()->input('search');
|
||
$search['member_id'] = \YunShop::app()->getMemberId();
|
||
// 列表获取
|
||
$field = ['id','member_id','type','change_type','change_quantity','change_front','change_after','remark','created_at'];
|
||
$result = WeightValueLog::getList($pageSize,$search,$field);
|
||
$data = [
|
||
'current_page' => $result['current_page'],
|
||
'last_page' => $result['last_page'],
|
||
'list' => $result['data'],
|
||
'income' => WeightValueLog::getChangeTypeSum($search['member_id'],1),
|
||
'expenditure' => WeightValueLog::getChangeTypeSum($search['member_id'],0),
|
||
];
|
||
|
||
|
||
return $this->successJson('成功', $data);
|
||
}
|
||
|
||
|
||
|
||
}
|