|
@@ -9,11 +9,13 @@
|
|
|
namespace App\Repositories;
|
|
|
|
|
|
|
|
|
+use App\Models\Behavior;
|
|
|
use App\Models\CommentAccountRecord;
|
|
|
use App\Models\GeneralLedgerRecord;
|
|
|
use App\Models\RegisteredAccountsRecord;
|
|
|
use App\Models\ReleaseRecord;
|
|
|
use Illuminate\Database\QueryException;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
|
|
class BehaviorRecordRepositories
|
|
@@ -21,12 +23,14 @@ class BehaviorRecordRepositories
|
|
|
public function __construct(RegisteredAccountsRecord $registeredAccountsRecord,
|
|
|
GeneralLedgerRecord $generalLedgerRecord,
|
|
|
ReleaseRecord $releaseRecord,
|
|
|
- CommentAccountRecord $commentAccountRecord)
|
|
|
+ CommentAccountRecord $commentAccountRecord,
|
|
|
+ Behavior $behavior)
|
|
|
{
|
|
|
$this->registeredAccountsRecord = $registeredAccountsRecord;
|
|
|
$this->generalLedgerRecord = $generalLedgerRecord;
|
|
|
$this->releaseRecord = $releaseRecord;
|
|
|
$this->commentAccountRecord = $commentAccountRecord;
|
|
|
+ $this->behavior = $behavior;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -80,6 +84,7 @@ class BehaviorRecordRepositories
|
|
|
*/
|
|
|
private function addRegisterRecord($register)
|
|
|
{
|
|
|
+ DB::beginTransaction();
|
|
|
try {
|
|
|
$data['virus_behavior_id'] = $register['virus_behavior_id'];
|
|
|
$data['uid'] = $register['uid'];
|
|
@@ -92,8 +97,22 @@ class BehaviorRecordRepositories
|
|
|
$data['release_status'] = $register['release_status'];
|
|
|
$data['generation_quantity'] = $register['generation_quantity'];
|
|
|
$data['quantity_issued'] = $register['quantity_issued'];
|
|
|
- return $this->registeredAccountsRecord->create($data);
|
|
|
+ $this->registeredAccountsRecord->create($data);
|
|
|
+ $behavior = Behavior::where('virus_behavior_id',$register['virus_behavior_id'])->first();
|
|
|
+ $behavior->physical_strength += $register['physical_exertion'];
|
|
|
+ $behavior->grant_rainbow_beans += $register['quantity_issued'];
|
|
|
+ $behavior->trigger_times += 1;
|
|
|
+ $behavior->absolute_progression += $register['absolute_progression'];
|
|
|
+ if($register['trigger_type']){
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ }
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ $behavior->save();
|
|
|
+ DB::commit();
|
|
|
+ return true;
|
|
|
} catch (QueryException $exception) {
|
|
|
+ Log::debug('addRegisterRecord-exception:'.$exception->getMessage());
|
|
|
+ DB::rollBack();
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -105,6 +124,7 @@ class BehaviorRecordRepositories
|
|
|
*/
|
|
|
private function addReleaseRecord($release)
|
|
|
{
|
|
|
+ DB::beginTransaction();
|
|
|
try {
|
|
|
$data['virus_behavior_id'] = $release['virus_behavior_id'];
|
|
|
$data['uid'] = $release['uid'];
|
|
@@ -116,8 +136,21 @@ class BehaviorRecordRepositories
|
|
|
$data['release_status'] = $release['release_status'];
|
|
|
$data['generation_quantity'] = $release['generation_quantity'];
|
|
|
$data['quantity_issued'] = $release['quantity_issued'];
|
|
|
- return $this->releaseRecord->create($data);
|
|
|
+ $this->releaseRecord->create($data);
|
|
|
+ $behavior = Behavior::where('virus_behavior_id',$release['virus_behavior_id'])->first();
|
|
|
+ $behavior->physical_strength += $release['physical_exertion'];
|
|
|
+ $behavior->grant_rainbow_beans += $release['quantity_issued'];
|
|
|
+ $behavior->trigger_times += 1;
|
|
|
+ if($release['trigger_type']){
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ }
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ $behavior->save();
|
|
|
+ DB::commit();
|
|
|
+ return true;
|
|
|
} catch (QueryException $exception) {
|
|
|
+ Log::debug('addReleaseRecord-exception:'.$exception->getMessage());
|
|
|
+ DB::rollBack();
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -141,8 +174,22 @@ class BehaviorRecordRepositories
|
|
|
$data['release_status'] = $general['release_status'];
|
|
|
$data['generation_quantity'] = $general['generation_quantity'];
|
|
|
$data['quantity_issued'] = $general['quantity_issued'];
|
|
|
- return $this->generalLedgerRecord->create($data);
|
|
|
+ $data['behavior_value'] = $general['behavior_value'];
|
|
|
+ $this->generalLedgerRecord->create($data);
|
|
|
+ $behavior = Behavior::where('virus_behavior_id',$general['virus_behavior_id'])->first();
|
|
|
+ $behavior->physical_strength += $general['physical_exertion'];
|
|
|
+ $behavior->grant_rainbow_beans += $general['quantity_issued'];
|
|
|
+ $behavior->trigger_times += 1;
|
|
|
+ if($general['trigger_type']){
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ }
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ $behavior->save();
|
|
|
+ DB::commit();
|
|
|
+ return true;
|
|
|
} catch (QueryException $exception) {
|
|
|
+ Log::debug('addGeneralRecord-exception:'.$exception->getMessage());
|
|
|
+ DB::rollBack();
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -167,8 +214,23 @@ class BehaviorRecordRepositories
|
|
|
$data['release_status'] = $comment['release_status'];
|
|
|
$data['generation_quantity'] = $comment['generation_quantity'];
|
|
|
$data['quantity_issued'] = $comment['quantity_issued'];
|
|
|
- return $this->generalLedgerRecord->create($data);
|
|
|
+ $data['current_comment_id'] = $comment['comment_id'];
|
|
|
+ $data['superior_comment_id'] = $comment['parent_comment_id'];
|
|
|
+ $this->generalLedgerRecord->create($data);
|
|
|
+ $behavior = Behavior::where('virus_behavior_id',$comment['virus_behavior_id'])->first();
|
|
|
+ $behavior->physical_strength += $comment['physical_exertion'];
|
|
|
+ $behavior->grant_rainbow_beans += $comment['quantity_issued'];
|
|
|
+ $behavior->trigger_times += 1;
|
|
|
+ if($comment['trigger_type']){
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ }
|
|
|
+ $behavior->effective_trigger += 1;
|
|
|
+ $behavior->save();
|
|
|
+ DB::commit();
|
|
|
+ return true;
|
|
|
} catch (QueryException $exception) {
|
|
|
+ Log::debug('addCommentRecord-exception:'.$exception->getMessage());
|
|
|
+ DB::rollBack();
|
|
|
return false;
|
|
|
}
|
|
|
}
|