Esempio n. 1
0
def upload_file_accessories(request):
    """
    上传附件
    :param request:
    :return:
    """
    file_name = request.FILES.get('file')
    project_id = request.session['apply_project_id']
    accessories_id = uuid.uuid1()
    if not file_name:
        # error
        return render_json(error_return(u'文件不存在'))
    else:
        print type(file_name.name)
        destination = open(
            os.path.join(
                "static/upload",
                str(accessories_id) + '.' +
                file_name.name.encode('utf-8').split('.')[-1]), 'wb+')
        for chunk in file_name.chunks():
            destination.write(chunk)
        destination.close()
        accessories_url = str(accessories_id) + '.' + file_name.name.encode(
            'utf-8').split('.')[-1]
        res = AccessoriesInterface.insert_accessories(
            project_id=project_id,
            accessories_id=accessories_id,
            accessories_name=file_name.name,
            accessories_url=accessories_url)
    return render_json(res)
Esempio n. 2
0
 def user_login(cls, username, password):
     """
     用户登陆验证
     :param username:    用户名称
     :param password:    用户密码
     :return:            json 0 验证成功 1 验证失败
     """
     query_result = UserLogin.objects.filter(user_name=username)
     if query_result is None:
         return error_return(u'用户名不存在')
     else:
         query_dict = model_to_dict(query_result[0])
         query_password = query_dict['user_password']
         if query_password == password:
             return success_return(u'登录成功', query_dict)
         else:
             return error_return(u'密码错误')
 def update_science_type(cls, type_id, type_name):
     """
     修改科研类型
     :param type_id:
     :param type_name:
     :return:
     """
     try:
         with transaction.atomic():
             count = ScienceType.objects.filter(type_name=type_name).count()
             if count == 0:
                 ScienceType.objects.filter(type_id=type_id).update(
                     type_name=type_name)
                 return success_return(u'修改科研类型成功', None)
             else:
                 return error_return(u'修改科研类型名称已存在')
     except Exception as e:
         return error_return(u'修改科研类型异常')
 def insert_science_type(cls, type_name):
     """
     新增科研类型
     :param type_name:
     :return:
     """
     type_id = uuid.uuid1()
     try:
         with transaction.atomic():
             count = ScienceType.objects.filter(type_name=type_name).count()
             if count == 0:
                 ScienceType.objects.create(type_id=type_id,
                                            type_name=type_name)
                 return success_return(u'新增科研类型成功', None)
             else:
                 return error_return(u'科研类型名称已存在')
     except Exception as e:
         return error_return(u'新增科研类型失败')
Esempio n. 5
0
 def get_user_login_by_id(cls, user_id):
     """
     通过用户ID获取用户信息
     :param user_id:
     :return:
     """
     try:
         query_result = UserLogin.objects.values().get(user_id=user_id)
         return success_return(u'获取用户登录信息成功', query_result)
     except Exception as e:
         return error_return(u'获取用户登录信息失败')
Esempio n. 6
0
 def delete_review(cls, review_id):
     """
     删除评审信息
     :param review_id:
     :return:
     """
     try:
         with transaction.atomic():
             Review.objects.get(review_id=review_id).delete()
         return success_return(u'删除成功', None)
     except Exception as e:
         return error_return(u'删除失败')
Esempio n. 7
0
def get_username_by_session(request):
    """
    通过session获取用户名
    :param request:
    :return:
    """
    try:
        username = request.session.get('user')['username']
        res = success_return(u'获取用户名成功', {'username': username})
    except Exception as e:
        res = error_return(u'获取用户名失败')
    return render_json(res)
Esempio n. 8
0
def get_user_all_info(request):
    """
    获取所有用户信息
    :param request:
    :return:
    """
    user_login = UserLoinInterface.get_user_login_list(page=0, page_size=0)
    try:
        res = UserInfoInterface.get_user_detail_list_by_user_login(
            user_login_list=user_login.get('results'))
        return render_json(success_return(u'获取用户列表成功', res))
    except Exception as e:
        return render_json(error_return(u'获取用户列表失败' + str(e)))
Esempio n. 9
0
 def delete_accessories_by_accessories_id(cls, accessories_id):
     """
     通过附件ID删除附件
     :param accessories_id:
     :return:
     """
     try:
         exit_temp = Accessories.objects.filter(
             accessories_id=accessories_id)
         print exit_temp
         if len(exit_temp) != 0:
             temp = Accessories.objects.filter(
                 accessories_id=accessories_id).delete()
             return success_return(u'删除成功', None)
         else:
             return error_return(u'附件不存在删除失败')
         # if temp is not None:
         #     return success_return(u'删除成功', None)
         # else:
         #     return error_return(u'附件不存在删除失败')
     except Exception as e:
         return error_return(u'删除失败' + str(e))
Esempio n. 10
0
 def change_project_status(cls, project_id, project_status):
     """
     更改项目状态
     :param project_id:
     :param project_status:
     :return:
     """
     try:
         with transaction.atomic():
             Project.objects.filter(project_id=project_id).update(
                 project_status=project_status)
         return success_return(u'修改状态成功', None)
     except Exception as e:
         return error_return(u'修改项目状态失败')
Esempio n. 11
0
 def get_notice_by_id(cls, notification_id):
     """
     通过通知ID获取通知信息
     :param notification_id:
     :return:
     """
     try:
         notice = Notification.objects.values().get(
             notification_id=notification_id)
         notice['create_time'] = notice['create_time'].strftime(
             "%Y-%m-%d %H:%M:%S")
         return success_return(u'获取通知成功', notice)
     except Exception as e:
         return error_return(u'获取通知失败')
Esempio n. 12
0
def get_active_user_info(request):
    """
    获取当前用户信息
    :param request:
    :return:
    """
    user_id = request.session['user_id']
    user_login = UserLoinInterface.get_user_login_by_id(user_id=user_id)
    user_login_list = []
    user_login_list.append(user_login.get('results'))
    try:
        res = UserInfoInterface.get_user_detail_list_by_user_login(
            user_login_list=user_login_list)
        return render_json(success_return(u'获取用户列表成功', res))
    except Exception as e:
        return render_json(error_return(u'获取用户列表失败' + str(e)))
Esempio n. 13
0
 def update_review(cls, review_id, review_message, review_status):
     """
     更新评审信息
     :param review_id:
     :param review_message:
     :param review_status:
     :return:
     """
     try:
         with transaction.atomic():
             Review.objects.filter(review_id=review_id).update(
                 review_status=review_status,
                 review_message=review_message,
                 review_time=datetime.datetime.now())
         return success_return(u'修改评审信息成功', None)
     except Exception as e:
         return error_return(u'修改评审信息失败')
Esempio n. 14
0
 def insert_accessories(cls, project_id, accessories_id, accessories_name,
                        accessories_url):
     """
     新增项目附件
     :param project_id:
     :param accessories_id:
     :param accessories_name:
     :param accessories_url:
     :return:
     """
     try:
         with transaction.atomic():
             Accessories.objects.create(project_id=project_id,
                                        accessories_id=accessories_id,
                                        accessories_name=accessories_name,
                                        accessories_url=accessories_url)
         return success_return(u'新增附件成功', None)
     except Exception as e:
         return error_return(u'新增附件失败' + str(e))
Esempio n. 15
0
 def init_review(cls, review_id, project_id, review_user_id,
                 review_user_name):
     """
     初始化项目评审信息
     :param review_id:
     :param project_id:
     :param review_user_id:
     :param review_user_name:
     :return:
     """
     try:
         # review_status: 0未审批 1审批通过 2审批完成
         with transaction.atomic():
             Review.objects.create(review_id=review_id,
                                   project_id=project_id,
                                   review_user_id=review_user_id,
                                   review_status=0,
                                   review_user_name=review_user_name)
         return success_return(u'新增评审信息成功', None)
     except Exception as e:
         return error_return(u'新增评审信息失败')
Esempio n. 16
0
    def insert_notice(cls, notification_title, notification_content,
                      create_user_id):
        """

        :param notification_title:
        :param notification_content:
        :param create_user_id:
        :return:
        """
        notification_id = uuid.uuid1()
        try:
            # 添加事物控制防止异常时事物不回滚,这里事物必须放在try...catch里面
            # 否则事物被try...catch捕获了就不起作用了
            with transaction.atomic():
                Notification.objects.create(
                    notification_id=notification_id,
                    notification_title=notification_title,
                    notification_content=notification_content,
                    create_user_id=create_user_id)
            return success_return(u'发布通知成功', [])
        except Exception as e:
            return error_return(u'新增通知失败')
Esempio n. 17
0
 def insert_project(cls, project_name, project_time, apply_user_name,
                    apply_user_id, research_content, technology_new,
                    expected_goal, participator, start_time, stop_time,
                    science_type_id):
     """
     新增项目信息
     :param project_name:
     :param project_time:
     :param apply_user_name:
     :param apply_user_id:
     :param research_content:
     :param technology_new:
     :param expected_goal:
     :param participator:
     :param start_time:
     :param stop_time:
     :param science_type_id:
     :return:
     """
     project_id = uuid.uuid1()
     try:
         with transaction.atomic():
             Project.objects.create(project_id=project_id,
                                    project_name=project_name,
                                    project_time=project_time,
                                    apply_user_name=apply_user_name,
                                    apply_user_id=apply_user_id,
                                    research_content=research_content,
                                    technology_new=technology_new,
                                    expected_goal=expected_goal,
                                    participator=participator,
                                    start_time=start_time,
                                    stop_time=stop_time,
                                    project_status=0,
                                    science_type_id=science_type_id)
         return success_return(u'新增项目成功', {'project_id': str(project_id)})
     except Exception as e:
         return error_return(u'新增项目失败' + str(e))
Esempio n. 18
0
 def add_user_info(
     cls,
     user_id,
     user_name,
     user_password,
     user_type,
     user_email,
     user_address,
     user_phone,
     science_type_id,
 ):
     """
     新增用户信息
     :param user_id:
     :param user_name:
     :param user_password:
     :param user_type:
     :param user_email:
     :param user_address:
     :param user_phone:
     :param science_type_id:
     :return:
     """
     try:
         with transaction.atomic():
             UserLogin.objects.create(user_password=user_password,
                                      user_type=user_type,
                                      user_name=user_name,
                                      science_type_id=science_type_id,
                                      user_id=user_id)
             with transaction.atomic():
                 UserInfo.objects.create(user_id=user_id,
                                         user_email=user_email,
                                         user_address=user_address,
                                         user_phone=user_phone)
             return success_return(u'新增用户信息成功', None)
     except Exception as e:
         return error_return(u'新增用户信息失败' + str(e))