예제 #1
0
def signup_many(request):
    if request.method == 'POST':
        profiles = request.data.get('profiles', None)
        for profile in profiles:
            userid = profile.get('userid', None)
            email = profile.get('email', None)
            username = profile.get('username', None)
            password = profile.get('password', None)
            age = profile.get('age', None)
            occupation = profile.get('occupation', None)
            gender = profile.get('gender', None)
            create_profile(id=userid,
                           email=email,
                           username=username,
                           password=password,
                           age=age,
                           occupation=occupation,
                           gender=gender,
                           movie_taste=None)

        return JsonResponse({'status': status.HTTP_200_OK})
    return JsonResponse({
        'status': status.HTTP_400_BAD_REQUEST,
        'msg': 'Invalid Request Method'
    })
예제 #2
0
def signup_many(request):

    if request.method == 'POST':
        profiles = request.data.get('profiles', None)
        for profile in profiles:
            username = profile.get('username', None)
            password = profile.get('password', None)
            age = profile.get('age', None)
            occupation = profile.get('occupation', None)
            gender = profile.get('gender', None)

            create_profile(username=username, password=password, age=age,
                           occupation=occupation, gender=gender)

        return Response(status=status.HTTP_201_CREATED)

    if request.method == 'GET':
        movieid = request.GET.get('movieid', None)
        userid = request.GET.get('userid', None)
        if movieid:
            profiles = Profile.objects.raw('select api_profile.id, api_profile.user_id,api_profile.gender,api_profile.age,api_profile.occupation,api_rating.rating from api_movie,api_rating,api_profile where api_movie.id = api_rating.movieid_id and api_rating.userid_id = api_profile.user_id and api_movie.id = '+movieid)
            serializer = ProfileSerializer(profiles, many=True)
        elif userid:
            movies = Movie.objects.raw('select api_movie.id, api_movie.title,api_movie.genres, api_rating.rating as rating from api_profile,api_rating,api_movie where api_profile.user_id = api_rating.userid_id and api_movie.id = api_rating.movieid_id and api_profile.user_id = '+userid+' group by api_movie.id')
            serializer = UserMovieSerializer(movies, many=True)
        else:
            profiles = Profile.objects.all()
            serializer = ProfileSerializer(profiles, many=True)

        return Response(data=serializer.data, status=status.HTTP_200_OK)
예제 #3
0
def signup(request):
    if request.method == 'POST':
        profile = request.data.get('profile', None)
        username = profile.get('username', None)
        password = profile.get('password', None)
        age = profile.get('age', None)
        occupation = profile.get('occupation', None)
        gender = profile.get('gender', None)
        create_profile(username=username,
                       password=password,
                       age=age,
                       occupation=occupation,
                       gender=gender)
        user = User.objects.get(username=username)
        UserClustering.objects.create(user=user)
        return Response(status=status.HTTP_201_CREATED)

    if request.method == 'GET':
        username = request.GET.get('username', None)
        users = User.objects.all()
        is_duplicated = False
        for user in users:
            if user.username == username:
                is_duplicated = True
                break
        return JsonResponse({'isDuplicated': is_duplicated})
예제 #4
0
def signup(request):
    params = request.data.get('params', None)
    email, password, nickname = params['email'], params['password'], params[
        'nickname']
    age, gender = params['age'], params['gender']

    create_profile(username=email,
                   password=password,
                   age=age,
                   nickname=nickname,
                   email=email,
                   gender=gender)

    return Response(status=status.HTTP_201_CREATED)
예제 #5
0
def signup(request):

    if request.method == 'POST':
        profile = request.data.get('params', None)

        print(profile)

        username = profile.get('username', None)
        password = profile.get('password', None)
        age = profile.get('age', None)
        occupation = profile.get('occupation', None)
        gender = profile.get('gender', None)
        is_subscribe = profile.get('is_subscribe', None)
        subscribe_expire = datetime.now()
        seenmovie = profile.get('seenmovie', None)
        if (seenmovie == None):
            seenmovie = "None"
        print(seenmovie)
        print("$$$$$$$$$$$$$$$$$$$$$$$")
        if is_subscribe:
            if is_subscribe == True:
                subscribe_expire += timedelta(days=3)
        else:
            is_subscribe = False

        if age < 18:
            age = "1"
        elif age <= 24:
            age = "18"
        elif age <= 34:
            age = "25"
        elif age <= 44:
            age = "35"
        elif age <= 49:
            age = "45"
        elif age <= 55:
            age = "50"
        else:
            age = "56"

        create_profile(username=username,
                       password=password,
                       age=age,
                       occupation=occupation,
                       gender=gender,
                       is_subscribe=is_subscribe,
                       subscribe_expire=subscribe_expire,
                       seenmovie=seenmovie)

        return Response(status=status.HTTP_201_CREATED)
예제 #6
0
def signup_many(request):
    if request.method == 'POST':
        profiles = request.data.get('profiles', None)
        for profile in profiles:
            username = profile.get('username', None)
            password = profile.get('password', None)
            age = profile.get('age', None)
            occupation = profile.get('occupation', None)
            gender = profile.get('gender', None)

            create_profile(username=username, password=password, age=age,
                           occupation=occupation, gender=gender)
        serializer = ProfileSerializer(profiles, many=True)

        return Response(data=serializer.data, status=status.HTTP_201_CREATED)
예제 #7
0
def signup(request):
    if request.method == 'POST':
        params = request.data.get('params', None)
        username = params['username']
        email = params['email']
        pw = params['password']
        fn = params['first_name']
        ln = params['last_name']
        age = params['age']
        occupation = params['occupation']
        gender = params['gender']
        # email = request.data.get('email', None)

        # auth_user
        # user = User.objects.create_user(username=username, password=pw, email=email, first_name=fn,last_name=ln)

        user = create_profile(username=username,
                              password=pw,
                              age=age,
                              occupation=occupation,
                              gender=gender)

        flag = False

        if user is not None:
            flag = True
            print(username, fn, ln, email)
            my_custom_sql('signup', username, fn, ln, email, '')
            return Response(data=flag, status=status.HTTP_201_CREATED)
        else:
            return Response(data=flag, status=status.HTTP_200_OK)
def signup(request):
    if request.method == 'POST':
        name = request.data.get('username', None)
        if (User.objects.filter(username=name)):
            return Response(data=False, status=status.HTTP_201_CREATED)

        age = request.data.get('age', None)
        gender = request.data.get('gender', None)
        occupation = request.data.get('occupation', None)
        password = request.data.get('password')
        create_profile(username=name,
                       password=password,
                       age=age,
                       occupation=occupation,
                       gender=gender)

        return Response(data=True, status=status.HTTP_201_CREATED)
예제 #9
0
def signup(request):

    if request.method == 'POST':
        user = request.data["params"]
        username = user["username"]
        password = user["password"]
        age = user["age"]
        occupation = user["occupation"]
        gender = user["gender"]

        create_profile(username=username,
                       password=password,
                       age=age,
                       occupation=occupation,
                       gender=gender)

        return Response(data=status.HTTP_201_CREATED)
예제 #10
0
def users(request):
    if request.method == 'GET':
        id = request.GET.get('id',None)
        '''해당 id를 갖는 profile의 pk값을 가져온다 '''
        if id :
            user = User.objects.get(username=id)
            if user :
                profile = Profile.objects.get(user=user)

        serializer = ProfileSerializer(profile)
        return Response(data=serializer.data, status=status.HTTP_200_OK)

    if request.method == 'POST':
        username = request.data.get('username', None)
        password = request.data.get('password', None)
        age = request.data.get('age', None)
        occupation = request.data.get('occupation', None)
        gender = request.data.get('gender', None)

        if username and password :
            create_profile(username=username, password=password, age=age,
                           occupation=occupation, gender=gender)

        return Response(status=status.HTTP_201_CREATED)

    if request.method == 'PUT':
        id = request.GET.get('id',None)
        gender = request.GET.get('gender',None)
        age = request.GET.get('age',None)
        occupation = request.GET.get('occupation',None)

        if id :
            user = User.objects.get(username = id)
            if user and gender and age and occupation :
                Profile.objects.filter(user=user).update(gender=gender, age=age, occupation=occupation)
        return Response(status=status.HTTP_201_CREATED)

    if request.method == 'DELETE':
        id = request.GET.get('id',None)
        if id:
            user = User.objects.get(pk=id)
            if user:
                user.delete()

        return Response(status=status.HTTP_201_CREATED)
예제 #11
0
def signup(request):
    if request.method == 'POST':
        profiles = request.data.get('profiles', None)
        username = profiles.get('username', None)
        password = profiles.get('password')
        age = profiles.get('age', None)
        occupation = profiles.get('occupation', None)
        gender = profiles.get('gender', None)
        your_taste_movie = "1617|1646|1511|1547|798|888|1627|1401|849|1560|1513|834|851|1501|532|1590|542|1326|1598|1355|1098|19|1584|1596|1125|1526|1265|905|1173|1493|1567"

        create_profile(username=username,
                       password=password,
                       age=age,
                       occupation=occupation,
                       gender=gender,
                       your_taste_movie=your_taste_movie)

        return Response(status=status.HTTP_201_CREATED)
def signup_many(request):
    print("회원가입!")
    if request.method == 'POST':
        profiles = request.data.get('profiles', None)
        for profile in profiles:
            username = profile.get('username', None)
            password = profile.get('password', None)
            age = profile.get('age', None)
            occupation = profile.get('occupation', None)
            gender = profile.get('gender', None)

            create_profile(username=username,
                           password=password,
                           age=age,
                           occupation=occupation,
                           gender=gender)

        return Response(status=status.HTTP_201_CREATED)
예제 #13
0
def register(request):
    if request.method == 'POST':
        params = request.data.get('params', None)
        email = params.get('email', None)
        username = params.get('username', None)
        password = params.get('password', None)
        age = params.get('age', None)
        gender = params.get('gender', None)
        occupation = params.get('occupation', None)
        genres = params.get('genres', None)

        if gender == 'female':
            gender = 'F'
        elif gender == 'male':
            gender = 'M'

        cluster_max_id_obj = UserCluster.objects.aggregate(
            user_id=Max('user_id'))
        profile_max_id_obj = Profile.objects.aggregate(user_id=Max('user_id'))
        if profile_max_id_obj['user_id'] < cluster_max_id_obj['user_id']:
            max_id = cluster_max_id_obj['user_id']
        else:
            max_id = profile_max_id_obj['user_id']

        try:
            create_profile(id=max_id + 1,
                           email=email,
                           username=username,
                           password=password,
                           age=age,
                           occupation=occupation,
                           gender=gender,
                           movie_taste=genres)
        except Exception:
            return JsonResponse({
                'status': status.HTTP_500_INTERNAL_SERVER_ERROR,
                'msg': Exception
            })
        return JsonResponse({'status': status.HTTP_200_OK})
    return JsonResponse({
        'status': status.HTTP_400_BAD_REQUEST,
        'msg': 'Invalid Request Method'
    })
예제 #14
0
def signup(request):
    if request.method == 'POST':
        username = request.data.get('username', None)
        if User.objects.filter(username=username):
            return Response(data=False, status=status.HTTP_201_CREATED)

        password = request.data.get('password')
        email = request.data.get('email', None)
        address = request.data.get('address', None)
        gender = request.data.get('gender', None)
        birthday = request.data.get('birthday', None)

        create_profile(username=username,
                       password=password,
                       email=email,
                       address=address,
                       gender=gender,
                       birthday=birthday)

        return Response(data=True, status=status.HTTP_201_CREATED)
예제 #15
0
def profiles(request):

    if request.method == 'GET':
        userid = title = request.GET.get('id', None)

        profiles = Profile.objects.all()

        if userid:
            profiles = profiles.filter(pk=userid)

        serializer = ProfileSerializer(profiles, many=True)

        return Response(data=serializer.data, status=status.HTTP_200_OK)

    if request.method == 'PUT':
        profile = Profile.objects.get(id=request.data.get('id'))

        serializer = ProfileSerializer(profile, data=request.data)
        if serializer.is_valid():
            serializer.update(profile, request.data)
            return Response(serializer.data)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    if request.method == 'POST':
        profile = request.data.get('params')
        print(profile)
        username = profile.get('User')
        age = profile.get('Age')
        occupation = profile.get('Occupation')
        gender = profile.get('Gender')

        create_profile(username=username,
                       age=age,
                       occupation=occupation,
                       gender=gender)

        return Response(status=status.HTTP_201_CREATED)
예제 #16
0
def signup(request):
    if request.method == 'POST':
        print("enter signup method!!")
        user = request.data.get('user', None)
        username = user.get('username', None)
        password = user.get('password', None)
        name = user.get('name', None)
        favorite = user.get('favoriteValue', None)
        when = None
        latestView = None
        print(user)
        if favorite == "":
            favorite = None
            create_profile_none(username=username,
                                password=password,
                                name=name)
        else:
            create_profile(username=username,
                           password=password,
                           name=name,
                           favorite=favorite)

        return Response(status=status.HTTP_201_CREATED)
예제 #17
0
def signup_many(request):
    if request.method == 'GET':
        username = request.GET.get('username', None)

        profiles = Profile.objects.all()

        if username:
            # profiles = profiles.filter(user_id="1")
            print(username)
            profiles = profiles.filter(user__username=username)
            print(profiles)

        serializer = ProfileSerializer(profiles, many=True)
        return Response(data=serializer.data, status=status.HTTP_200_OK)

        # serializer = ProfileSerializer(profiles, many=True)
        # return Response(data=serializer.data, status=status.HTTP_200_OK)

    if request.method == 'POST':
        # Login

        # Create Data.
        profiles = request.data.get('profiles', None)
        for profile in profiles:
            username = profile.get('username', None)
            password = profile.get('password', None)
            age = profile.get('age', None)
            occupation = profile.get('occupation', None)
            gender = profile.get('gender', None)

            create_profile(username=username,
                           password=password,
                           age=age,
                           occupation=occupation,
                           gender=gender)

        return Response(status=status.HTTP_201_CREATED)
예제 #18
0
def signup(request):
    if request.method == 'POST':
        # front에서 회원가입 할 때에 'http://10.3.17.61:8080/v1/account/list'에서 받은 계좌번호를 'http://10.3.17.61:8080/v1/account/deposit/detail'에 요청하여 계좌정보 profiles에 추가하여 받음
        username = request.POST['username']
        password = request.POST['password']
        age = int(request.POST['age'])
        gender = request.POST['gender']
        ssn = request.POST['ssn']
        # Balnce model 저장
        profile = create_profile(username=username,
                                 password=password,
                                 age=age,
                                 gender=gender,
                                 ssn=ssn)

        params = {
            "dataHeader": {},
            "dataBody": {
                "serviceCode": "C2010",
                "거래구분": "9",
                "계좌감추기여부": "1",
                "보안계좌조회구분": "2",
                "주민등록번호": ssn
            }
        }
        url = 'http://10.3.17.61:8080/v1/account/list'
        account = requests.post(url, data=json.dumps(params)).json()
        if account['dataBody']['고객성명'] == "홍길동":
            params = {
                "dataHeader": {},
                "dataBody": {
                    "serviceCode": "D1130",
                    "정렬구분": "1",
                    "조회시작일": "20190228",
                    "조회종료일": "20190830",
                    "조회기간구분": "1",
                    "은행구분": "1",
                    "계좌번호": "230221966424"
                }
            }
            url = 'http://10.3.17.61:8080/v1/account/deposit/detail'
            account = requests.post(url, data=json.dumps(params)).json()
            if account['dataBody']['계좌번호'] == '230221966424':
                account = account['dataBody']['계좌번호']
                name = '신한 S힐링 여행적금'
                now_amount = 1600000
                start_date = "20190927"
                end_date = "20200427"
                goal_amount = 2000000
                interest = 1.85
        else:
            name = '신한 S힐링 여행적금'
            # 최초 납입금액 입력 받기
            now_amount = int(request.POST.get('now_amount', None))
            start_date = request.POST.get('start', None)
            end_date = request.POST.get('end', None)
            # 만기금액(goal_amount) 구하기
            months = 0
            months += (int(end_date[:4]) - int(start_date[:4])) * 12
            months += (int(end_date[4:6]) - int(end_date[4:6])) + 1
            cnt = accounts.get('cnt', None)
            goal_amount = int(now_amount) * months
            interest = float(request.OST.get('interest', None))
        balance = Balance.objects.create(user_id=profile.user,
                                         account=account,
                                         interest=interest,
                                         name=name,
                                         now_amount=now_amount,
                                         goal_amount=goal_amount,
                                         start_date=start_date,
                                         end_date=end_date)

        return Response(status=status.HTTP_201_CREATED)