|
@@ -6,6 +6,10 @@ use Catch\Base\CatchController;
|
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
+use Modules\Common\Errors\Errors;
|
|
|
|
+use Modules\Common\Exceptions\CommonBusinessException;
|
|
|
|
+use Modules\Jiesuan\Services\CompanyUserMoneyService;
|
|
|
|
+use Modules\Jiesuan\Services\ConstService;
|
|
use Modules\User\Http\Controllers\UserTrait;
|
|
use Modules\User\Http\Controllers\UserTrait;
|
|
|
|
|
|
class JiesuanController extends CatchController
|
|
class JiesuanController extends CatchController
|
|
@@ -23,7 +27,7 @@ class JiesuanController extends CatchController
|
|
$isExport = $request->input('is_export', 0);
|
|
$isExport = $request->input('is_export', 0);
|
|
$sql = DB::table('jiesuan_records')
|
|
$sql = DB::table('jiesuan_records')
|
|
->where([
|
|
->where([
|
|
- 'company_uid' => $this->getLoginUserId(),
|
|
|
|
|
|
+ 'company_uid' => $this->getCompanyUid($request),
|
|
])->when($jiesuanDateStartAt, function ($query, $jiesuanDateStartAt) {
|
|
])->when($jiesuanDateStartAt, function ($query, $jiesuanDateStartAt) {
|
|
return $query->where('jiesuan_date', '>=', $jiesuanDateStartAt);
|
|
return $query->where('jiesuan_date', '>=', $jiesuanDateStartAt);
|
|
})
|
|
})
|
|
@@ -41,6 +45,8 @@ class JiesuanController extends CatchController
|
|
foreach ($results as $item) {
|
|
foreach ($results as $item) {
|
|
$item->share_rate .= '%';
|
|
$item->share_rate .= '%';
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ return $results;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -49,19 +55,7 @@ class JiesuanController extends CatchController
|
|
*/
|
|
*/
|
|
public function accountInfo(Request $request) {
|
|
public function accountInfo(Request $request) {
|
|
$company_uid = $this->getLoginUserId();
|
|
$company_uid = $this->getLoginUserId();
|
|
- $moneyInfo = DB::table('company_user_money')
|
|
|
|
- ->where('company_uid', $company_uid)
|
|
|
|
- ->select('total_income', 'total_dakuan', 'total_tuikuan', 'id')
|
|
|
|
- ->first();
|
|
|
|
-
|
|
|
|
- $tixian_money = DB::table('tixian_records')
|
|
|
|
- ->where('company_uid', $company_uid)
|
|
|
|
- ->whereIn('status', [1,3])
|
|
|
|
- ->sum('tixian_money');
|
|
|
|
-
|
|
|
|
- $moneyInfo->tixian_money = $tixian_money;
|
|
|
|
- $moneyInfo->yue_money = $moneyInfo->total_income - $moneyInfo->total_tuikuan - $moneyInfo->total_dakuan - $tixian_money;
|
|
|
|
- return $moneyInfo;
|
|
|
|
|
|
+ return CompanyUserMoneyService::userMoneyInfo($company_uid);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -74,9 +68,30 @@ class JiesuanController extends CatchController
|
|
'tixian_money' => 'required|numeric|min:500'
|
|
'tixian_money' => 'required|numeric|min:500'
|
|
]);
|
|
]);
|
|
$company_uid = $this->getLoginUserId();
|
|
$company_uid = $this->getLoginUserId();
|
|
-
|
|
|
|
-// DB::table('tixian_records')
|
|
|
|
-// ->insert()
|
|
|
|
|
|
+ $tixianMoney = $request->input('tixian_money');
|
|
|
|
+ $userMoneyInfo = CompanyUserMoneyService::userMoneyInfo($company_uid);
|
|
|
|
+ if($tixianMoney > $userMoneyInfo->yue_money) {
|
|
|
|
+ CommonBusinessException::throwError(Errors::TIXIAN_YUE_BUZU);
|
|
|
|
+ }
|
|
|
|
+ $bank_card_id = $request->input('bank_card_id');
|
|
|
|
+ $bankCard = DB::table('bank_cards')->where(['id' => $bank_card_id, 'status' => 2])->first();
|
|
|
|
+ if(!$bankCard) {
|
|
|
|
+ CommonBusinessException::throwError(Errors::BANK_CARD_STATUS_ERROR);
|
|
|
|
+ }
|
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
|
+ DB::table('tixian_records')
|
|
|
|
+ ->insert([
|
|
|
|
+ 'tixian_money' => $tixianMoney,
|
|
|
|
+ 'company_uid' => $company_uid,
|
|
|
|
+ 'bank_card_id' => $bank_card_id,
|
|
|
|
+ 'card_no' => $bankCard->card_no,
|
|
|
|
+ 'name_of_payee' => $bankCard->name_of_payee,
|
|
|
|
+ 'status' => 1,
|
|
|
|
+ 'bank_name' => $bankCard->bank_name,
|
|
|
|
+ 'sub_bank_name' => $bankCard->sub_bank_name,
|
|
|
|
+ 'created_at' => $now,
|
|
|
|
+ 'updated_at' => $now,
|
|
|
|
+ ]);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -84,6 +99,42 @@ class JiesuanController extends CatchController
|
|
* @param Request $request
|
|
* @param Request $request
|
|
*/
|
|
*/
|
|
public function listTixian(Request $request) {
|
|
public function listTixian(Request $request) {
|
|
|
|
+ $company_uid = $this->getCompanyUid($request);
|
|
|
|
+ $this->validate($request, [
|
|
|
|
+ 'status' => 'nullable|integer|in:1,2,3,4,5'
|
|
|
|
+ ]);
|
|
|
|
+ $status = $request->input('status');
|
|
|
|
+ $isExport = $request->input('is_export');
|
|
|
|
+ $tixianStartAt = $request->input('tixian_start_at');
|
|
|
|
+ $tixianEndAt = $request->input('tixian_end_at');
|
|
|
|
+ $sql = DB::table('tixian_records')
|
|
|
|
+ ->where([
|
|
|
|
+ 'company_uid' => $company_uid,
|
|
|
|
+ ])->when($status, function ($query, $status){
|
|
|
|
+ return $query->where('status', $status);
|
|
|
|
+ })->when($tixianStartAt, function ($query, $tixianStartAt) {
|
|
|
|
+ return $query->where('created_at', '>=', $tixianStartAt);
|
|
|
|
+ })->when($tixianEndAt, function ($query, $tixianEndAt) {
|
|
|
|
+ return $query->where('created_at', '<=', $tixianEndAt. ' 23:59:59');
|
|
|
|
+ })
|
|
|
|
+ ->orderBy('id', 'desc');
|
|
|
|
+ if($isExport) {
|
|
|
|
+ $result = $sql->get();
|
|
|
|
+ } else {
|
|
|
|
+ $result = $sql->paginate($request->input('limit', 15));
|
|
|
|
+ }
|
|
|
|
+ foreach ($result as $item) {
|
|
|
|
+ $item->status_str = ConstService::TIXIAN_CHECK_STATUS[$item->status] ?? '';
|
|
|
|
+ }
|
|
|
|
+ return $result;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ private function getCompanyUid(Request $request) {
|
|
|
|
+ if($this->isOptimizer()) {
|
|
|
|
+ return $this->getOptimizerUid();
|
|
|
|
+ } else {
|
|
|
|
+ return $request->input('company_uid');
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|