Exemplo n.º 1
0
def events():
    '''
    时间类型为时间戳格式
    :return:
    '''

    try:
        post_arr = request.form
        current_app.logger.debug(str(post_arr))
        if not post_arr:
            raise Exception('not post params ')
        activity = Activity(post_arr)
        venue = Venue(post_arr)
        venue_db = VenueDB.venue_by_coordinate(venue.coordinate_lng,
                                               venue.coordinate_lat)
        if venue_db:
            activity.venue_id = venue_db.id
        else:
            venue = VenueDB.add_venue(venue)
            activity.venue_id = venue.id

        # 处理时间
        start_time = activity.start_time
        end_time = activity.end_time
        if start_time > end_time:
            return jsonify({'code': 0, 'error': 'start_time > end_time'})
        week = int(time.strftime('%w', time.localtime(start_time)))
        activity.week = week

        activity.start_time = start_time
        activity.end_time = end_time
        is_cycle = post_arr.get('is_cycle', '')

        cluster_ids = request.args.get('cluster_id', None)
        # 判断是否需要报名标示
        if cluster_ids:
            # 获取报名标示
            sign = ActivityDB.get_activity_sign(cluster_ids)
            current_app.logger.debug(' sign ---------------------------------')
            if sign:
                activity.sign = sign
            else:
                raise Exception(' no sign get')
        current_app.logger.debug(' no sign ---------------------------------')
        ActivityDB.update_activity(activity)

        if is_cycle == 1:
            # 创建周期活动
            cycleActivity = CycleActivity()
            cycleActivity.category = activity.category
            cycleActivity.name = activity.name
            cycleActivity.start_time = activity.start_time
            cycleActivity.end_time = activity.end_time
            cycleActivity.venue_id = activity.venue_id
            cycleActivity.fee = activity.fee
            cycleActivity.is_aa = activity.is_aa
            cycleActivity.member_count_list = activity.member_count_limit
            cycleActivity.place_num = activity.place_num
            cycleActivity.mobile = activity.mobile

            cycleActivity.club_id = activity.club_id
            # 获取周期活动时间
            cycleActivity.week = activity.week

            CycleActivity().add(cycleActivity)
        return jsonify({'code': 1})
    except Exception, eo:
        current_app.logger.error(str(eo))
        return jsonify({'code': 0, 'error': "update activity error"})