bztang-admin/app/frontend/modules/finance/controllers/WeightValueController.php

112 lines
4.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}