Merge pull request #198 from nakazawakan/backend

「子の本登録時にID自動付与機能」(BE)
このコミットが含まれているのは:
chankan77 2021-12-24 15:42:15 +09:00 committed by GitHub
コミット d8c6dd466f
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
9個のファイルの変更34行の追加6行の削除

ファイルの表示

@ -64,6 +64,10 @@ class ChildrenController extends Controller {
'ttl' => date('Y-m-d H:i:s', strtotime("8 hour")),
];
if (isset($r->father_id) && $r->father_id > 0) {
$create['father_id'] = $r->father_id;
}
try {
// DBに入ります。
DB::beginTransaction();
@ -176,6 +180,18 @@ class ChildrenController extends Controller {
$child->fill($insert);
$child->push();
if (!is_null($telact->father_id)) {
$rel = new FatherRelation;
$add = [
'father_id' => $telact->father_id,
'child_id' => $child->id,
'hire_at' => date('Y-m-d H:i:s', time()),
];
$rel->fill($add);
$rel->push();
}
$telact->delete();
// メールを送ります。

ファイルの表示

@ -8,5 +8,5 @@ use Illuminate\Database\Eloquent\Model;
class TelActivation extends Model
{
use HasFactory;
protected $fillable = ['type', 'child_id', 'tel', 'token', 'ttl'];
protected $fillable = ['type', 'child_id', 'father_id', 'tel', 'token', 'ttl'];
}

ファイルの表示

@ -26,10 +26,13 @@ class TelActivationFactory extends Factory
'080'.rand(10000000, 99999999),
'090'.rand(10000000, 99999999)
];
$father_id = rand(0, 10);
if ($father_id == 0) $father_id = null;
return [
'type' => rand(0, 1),
'child_id' => rand(1, 10),
'father_id' => $father_id,
'tel' => $tel[rand(0, 2)],
'token' => $this->faker->creditCardNumber,
'ttl' => $this->faker->dateTime,

ファイルの表示

@ -18,6 +18,8 @@ class CreateTelActivationsTable extends Migration
$table->unsignedTinyInteger('type');
$table->unsignedBigInteger('child_id')->nullable();
$table->foreign('child_id')->references('id')->on('children')->onDelete('cascade');
$table->unsignedBigInteger('father_id')->nullable();
$table->foreign('father_id')->references('id')->on('fathers')->onDelete('cascade');
$table->string('tel', 11)->unique();
$table->string('token', 100)->unique();
$table->dateTime('ttl');

ファイルの表示

@ -40154,6 +40154,7 @@ var ChildSignUpTemporary = function ChildSignUpTemporary() {
});
var formdata = new FormData();
formdata.append('tel', tel);
formdata.append('father_id', document.getElementById('father_token').value);
setSubmit(true);
axios__WEBPACK_IMPORTED_MODULE_1___default().post('/api/children/registerTemporary', formdata).then(function (response) {
setSubmit(false);
@ -46399,13 +46400,13 @@ var ChildAdd = function ChildAdd() {
};
var copyInviteURL = function copyInviteURL() {
var inviteText = "https://kikikan.xyz/c-account/register-temporary";
var inviteText = "https://kikikan.xyz/c-account/register-temporary?father_id=".concat(father_id);
clipboard_copy__WEBPACK_IMPORTED_MODULE_4___default()(inviteText);
setSuccess('招待用URLをコピーしました。');
};
var copyLineText = function copyLineText() {
var lineText = "「KIKI」の招待が届いています。%0Aまずは以下より仮登録を行ってください。%0Ahttps%3A%2F%2Fkikikan.xyz%2Fc-account%2Fregister-temporary%0A%0A▼公式サイトはこちら%0Ahttps%3A%2F%2Fkikikan.xyz";
var lineText = "\u300CKIKI\u300D\u306E\u62DB\u5F85\u304C\u5C4A\u3044\u3066\u3044\u307E\u3059\u3002%0A\u307E\u305A\u306F\u4EE5\u4E0B\u3088\u308A\u4EEE\u767B\u9332\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002%0Ahttps%3A%2F%2Fkikikan.xyz%2Fc-account%2Fregister-temporary%3Ffather_id%3D".concat(father_id, "%0A%0A\u25BC\u516C\u5F0F\u30B5\u30A4\u30C8\u306F\u3053\u3061\u3089%0Ahttps%3A%2F%2Fkikikan.xyz");
clipboard_copy__WEBPACK_IMPORTED_MODULE_4___default()(lineText);
setSuccess('招待用URLをLINEで追信しました。');
window.open('http://line.me/R/msg/text/?' + lineText);

ファイルの表示

@ -18,6 +18,7 @@ const ChildSignUpTemporary = () => {
const formdata = new FormData();
formdata.append('tel', tel);
formdata.append('father_id', document.getElementById('father_token').value);
setSubmit(true);
axios.post('/api/children/registerTemporary', formdata)
.then(response => {

ファイルの表示

@ -39,13 +39,13 @@ const ChildAdd = () => {
}
const copyInviteURL = () => {
const inviteText = "https://kikikan.xyz/c-account/register-temporary";
const inviteText = `https://kikikan.xyz/c-account/register-temporary?father_id=${father_id}`;
copy(inviteText);
setSuccess('招待用URLをコピーしました。');
}
const copyLineText = () => {
const lineText = "「KIKI」の招待が届いています。%0Aまずは以下より仮登録を行ってください。%0Ahttps%3A%2F%2Fkikikan.xyz%2Fc-account%2Fregister-temporary%0A%0A▼公式サイトはこちら%0Ahttps%3A%2F%2Fkikikan.xyz";
const lineText = `「KIKI」の招待が届いています。%0Aまずは以下より仮登録を行ってください。%0Ahttps%3A%2F%2Fkikikan.xyz%2Fc-account%2Fregister-temporary%3Ffather_id%3D${father_id}%0A%0A▼公式サイトはこちら%0Ahttps%3A%2F%2Fkikikan.xyz`;
copy(lineText);
setSuccess('招待用URLをLINEで追信しました。');
window.open('http://line.me/R/msg/text/?'+lineText);

ファイルの表示

@ -4,4 +4,9 @@
@section('content')
<div id="c-auth"></div>
@if (Request::is('c-account/register-temporary'))
<input type="hidden" value={{ $father_id }} id="father_token">
@endif
@endsection

ファイルの表示

@ -70,7 +70,7 @@ Route::get('/unknown-error ', function () { return vie
// ---------------------------------------- Child Account ------------------------------------------- //
Route::group(['prefix' => 'c-account'], function () {
Route::get('/register-temporary', function () { return view('c_account.auth'); });
Route::get('/register-temporary', function (Request $r) { return view('c_account.auth', [ 'father_id' => $r->father_id ]); });
Route::get('/login', '\App\Http\Controllers\Api\ChildrenController@checkLogin')->name('childrenlogin');
Route::get('/logout', '\App\Http\Controllers\Api\ChildrenController@logout');
Route::get('/withdrawal/complete', function () { return view('c_account.auth'); });