feat: 修改了用户提现和余额相关的API

This commit is contained in:
mkm 2024-08-05 17:47:51 +08:00
parent 4c6d4ff7c9
commit 5a602cc59a
3 changed files with 130 additions and 71 deletions

View File

@ -33,7 +33,7 @@ class ProductController extends BaseApiController{
$this->request->__set('store_id',$store_id);
return $this->dataLists(new StoreProductLists());
}else{
return $this->dataLists();
return $this->data(['lists'=>[]]);
}
}

View File

@ -10,6 +10,7 @@ use app\api\service\UserTokenService;
use app\api\validate\UserValidate;
use app\common\enum\PayEnum;
use app\common\logic\PaymentLogic;
use app\common\model\store_extract\StoreExtract;
use app\common\model\user\User;
use app\common\model\user\UserAddress;
use app\common\model\user_ship\UserShip;
@ -43,11 +44,11 @@ class UserController extends BaseApiController
if ($result === false) {
return $this->fail(UserLogic::getError());
}
if($result && is_numeric($result)){
if ($result && is_numeric($result)) {
$data = UserLogic::info($result);
$userInfo = UserTokenService::setToken($result, 1);
$data['token'] = $userInfo['token'];
}else{
} else {
$data = UserLogic::info($this->userId);
}
@ -67,7 +68,6 @@ class UserController extends BaseApiController
public function info()
{
return $this->success('success', UserLogic::info($this->userId));
}
// #[
@ -82,7 +82,7 @@ class UserController extends BaseApiController
public function rechange_amount()
{
$res = UserLogic::rechange_level();
return $this->success('ok',$res);
return $this->success('ok', $res);
}
// #[
@ -120,19 +120,19 @@ class UserController extends BaseApiController
// ]
public function capital_flow()
{
$page_no = (int)$this->request->post('page_no',1);
$page_size = (int)$this->request->post('page_size',15);
$page_no = (int)$this->request->post('page_no', 1);
$page_size = (int)$this->request->post('page_size', 15);
$params['page_no'] = $page_no;
$params['page_size'] = $page_size;
if(empty($page_no) || empty($page_size)){
if (empty($page_no) || empty($page_size)) {
$params['page_no'] = 1;
$params['page_size'] = 15;
}
$res = UserLogic::capital_list($this->userId,$params);
$res = UserLogic::capital_list($this->userId, $params);
$res['page_no'] =$params['page_no'];
$res['page_size'] =$params['page_size'];
return $this->success('ok',$res);
$res['page_no'] = $params['page_no'];
$res['page_size'] = $params['page_size'];
return $this->success('ok', $res);
}
// #[
@ -147,13 +147,13 @@ class UserController extends BaseApiController
public function capital_count()
{
$res = UserLogic::capital_count($this->userId);
return $this->success('ok',$res);
return $this->success('ok', $res);
}
public function send_sms()
{
$res = (new UserLogic())->dealSendSms($this->userId);
if ($res){
if ($res) {
return $this->success('发送成功');
}
return $this->fail('发送失败');
@ -164,11 +164,10 @@ class UserController extends BaseApiController
{
$params = (new UserValidate())->post()->goCheck('login');
$res = (new UserLogic())->dealLoginSms($params['account']);
if ($res){
if ($res) {
return $this->success('发送成功');
}
return $this->fail('发送失败');
}
//报备
@ -176,26 +175,25 @@ class UserController extends BaseApiController
{
$params = (new UserValidate())->post()->goCheck('login');
$res = (new UserLogic())->dealReportingSms($params['account']);
if ($res){
return $this->success('发送成功',[],1,1);
if ($res) {
return $this->success('发送成功', [], 1, 1);
}
return $this->fail('发送失败');
}
public function set_payPassword()
{
$params = (new UserValidate())->post()->goCheck('setPayPassword');
$remark = $this->userId.'_payPassword';
$remark = $this->userId . '_payPassword';
$code = Cache::get($remark);
if ($code && isset($params['code']) && $code !== $params['code']) {
return $this->fail('验证码错误');
}
if ($params['rePassword'] !== $params['password'])
return $this->fail('两次密码不一致');
$result = UserLogic::dealPayPassword($params,$this->userId);
$result = UserLogic::dealPayPassword($params, $this->userId);
if (!$result) {
return $this->fail('设置失败');
}
@ -205,24 +203,24 @@ class UserController extends BaseApiController
//修改
// public function withdrawalPassword()
// {
// $data = $this->request->params(['repassword', 'password', 'sms_code']);
// $sms_code = app()->make(SmsService::class)->checkSmsCode($this->user->phone, $data['sms_code'], 'change_pwd');
// if (!$data['sms_code'] || !$sms_code) {
// return app('json')->fail('验证码不正确');
// }
// if (!$this->user->phone)
// return app('json')->fail('请先绑定手机号');
// if (empty($data['repassword']) || empty($data['password']))
// return app('json')->fail('请输入提现密码');
// if ($data['repassword'] !== $data['password'])
// return app('json')->fail('两次密码不一致');
// $password = $this->repository->encodePassword($data['password']);
// $this->repository->update($this->request->uid(), ['withdrawal_pwd' => $password]);
// return app('json')->success('绑定成功');
//
// }
// public function withdrawalPassword()
// {
// $data = $this->request->params(['repassword', 'password', 'sms_code']);
// $sms_code = app()->make(SmsService::class)->checkSmsCode($this->user->phone, $data['sms_code'], 'change_pwd');
// if (!$data['sms_code'] || !$sms_code) {
// return app('json')->fail('验证码不正确');
// }
// if (!$this->user->phone)
// return app('json')->fail('请先绑定手机号');
// if (empty($data['repassword']) || empty($data['password']))
// return app('json')->fail('请输入提现密码');
// if ($data['repassword'] !== $data['password'])
// return app('json')->fail('两次密码不一致');
// $password = $this->repository->encodePassword($data['password']);
// $this->repository->update($this->request->uid(), ['withdrawal_pwd' => $password]);
// return app('json')->success('绑定成功');
//
// }
//采购款明细、余额明细、礼品券明细、返还金明细
public function fundList()
@ -233,19 +231,18 @@ class UserController extends BaseApiController
$params = $this->request->get();
$params['page_no'] = $page_no > 0 ? $page_no : 1;
$params['page_size'] = $page_size > 0 ? $page_size : 15;
$res = UserLogic::dealDetails($params,$this->userId);
$integral = User::where('id',$this->userId)->value('integral');
$number = UserSign::where('id',$this->userId)->where('status',0)->sum('number');
$GetNumber = UserSign::where('id',$this->userId)->where('status',1)->sum('number');
$res = UserLogic::dealDetails($params, $this->userId);
$integral = User::where('id', $this->userId)->value('integral');
$number = UserSign::where('id', $this->userId)->where('status', 0)->sum('number');
$GetNumber = UserSign::where('id', $this->userId)->where('status', 1)->sum('number');
$res['page_no'] = $params['page_no'];
$res['page_size'] = $params['page_size'];
$res['extend'] = [
'integral'=>$integral,
'number'=>$number,
'get_number'=>$GetNumber
'integral' => $integral,
'number' => $number,
'get_number' => $GetNumber
];
return $this->success('ok', $res);
}
/**
@ -255,39 +252,99 @@ class UserController extends BaseApiController
{
(new UserValidate())->get()->goCheck('fund');
$type = (int)$this->request->get('type', 1);
if($type==1){
if ($type == 1) {
return $this->dataLists(new UserSignLists());
}else{
} else {
return $this->dataLists(new UserSignLogLists());
}
}
/**
* 用户信息
*/
public function other_user_info(){
$mobile=$this->request->get('mobile');
if($mobile){
$user=User::where('mobile',$mobile)->field('id,avatar,real_name,nickname,mobile,user_ship,purchase_funds,label_id')->find();
if($user){
$address=UserAddress::where('uid',$user['id'])->where('is_default',1)->find();
if($address){
$city_name=Db::name('geo_city')->where('city_code',$address['city'])->value('city_name');
$area_name=Db::name('geo_area')->where('area_code',$address['area'])->value('area_name');
$street_name=Db::name('geo_street')->where('street_code',$address['street'])->value('street_name');
$village_name=Db::name('geo_village')->where('village_code',$address['village'])->value('village_name');
$brigade_name=Db::name('geo_brigade')->where('id',$address['brigade'])->value('brigade_name');
$address['address_like']=$city_name.$area_name.$street_name.$village_name.$brigade_name;
public function other_user_info()
{
$mobile = $this->request->get('mobile');
if ($mobile) {
$user = User::where('mobile', $mobile)->field('id,avatar,real_name,nickname,mobile,user_ship,purchase_funds,label_id')->find();
if ($user) {
$address = UserAddress::where('uid', $user['id'])->where('is_default', 1)->find();
if ($address) {
$city_name = Db::name('geo_city')->where('city_code', $address['city'])->value('city_name');
$area_name = Db::name('geo_area')->where('area_code', $address['area'])->value('area_name');
$street_name = Db::name('geo_street')->where('street_code', $address['street'])->value('street_name');
$village_name = Db::name('geo_village')->where('village_code', $address['village'])->value('village_name');
$brigade_name = Db::name('geo_brigade')->where('id', $address['brigade'])->value('brigade_name');
$address['address_like'] = $city_name . $area_name . $street_name . $village_name . $brigade_name;
}
$user['ship_name']=$user['user_ship']>0?UserShip::where('id',$user['user_ship'])->value('title'):'';
$user['address_info']=$address;
return $this->success('ok',$user->toArray());
}else{
return $this->fail('用户不存在',[],0,0);
$user['ship_name'] = $user['user_ship'] > 0 ? UserShip::where('id', $user['user_ship'])->value('title') : '';
$user['address_info'] = $address;
return $this->success('ok', $user->toArray());
} else {
return $this->fail('用户不存在', [], 0, 0);
}
}
return $this->success('ok',[]);
return $this->success('ok', []);
}
/**
* 提现信息
*/
public function cash_info()
{
$info = User::where('id', $this->userId)->field('id,now_money')->find();
$info['notes'] = '提现金额需大于1元提现到微信零钱并财务审核审核通过后提现金额将自动到账';
return $this->data($info);
}
/**
* 提交提现申请
*/
public function cash_application()
{
$money = $this->request->post('money');
$find = User::where('id', $this->userId)->find();
if ($find &&$money > $find['now_money']) {
return $this->fail('提现金额不能大于余额');
}
if ($money < 1) {
return $this->fail('提现金额不能小于1元');
}
$data['uid'] = $this->userId;
$data['create_time'] = time();
$data['status'] = 0;
$data['extract_price'] =$money;
$data['balance'] =bcsub($find['now_money'],$money,2);
$data['before_balance'] =$find['now_money'];
$data['extract_type'] = 'wx';
$res = StoreExtract::create($data);
if ($res) {
User::where('id', $this->userId)->dec('now_money', $money)->update();
return $this->success('申请成功,等待审核');
} else {
return $this->success('申请失败');
}
}
/**
* 提现申请记录
*/
public function cash_record()
{
$list = StoreExtract::where('uid', $this->userId)->order('id desc')
->field('id,extract_price price,status,pay_status,create_time')
->select()->each(function ($item) {
if($item->status==-1){
$item->status_name='未通过';
}elseif($item->status==0){
$item->status_name='审核中';
}elseif($item->status==1){
$item->status_name='已通过';
}
$item->title='申请提现'.$item->price.'元';
$item->pay_status_name=$item->status==1?'已打款':'未打款';
})->toArray();
return $this->data($list);
}
}

View File

@ -129,6 +129,8 @@ class UserLogic extends BaseLogic
$share_name=SystemStore::where('id',4)->value('abbreviation');
}
$data['share_name']= $share_name.'No.'.preg_replace('/4/','*', $data['id']);
$data['system_store_id']=SystemStoreStaff::where('uid',$uid)->value('store_id');
}else{
$data = [];
}