def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) record_id = request.POST['id'] update_data = {} update_fields = set([ 'name', 'start_time', 'end_time', 'expend', 'allow_repeat', 'lottery_code_count', 'delivery', 'chance', 'prize', 'share_description', 'homepage_image', 'exlottery_bg_image' ]) for key, value in data.items(): if key in update_fields: update_data['set__' + key] = value record = app_models.Exlottery.objects(id=record_id) record.update_one(**update_data) if record.count() > 0: record = record.first() if u'未开始' == record.status_text: generate_exlottery_code(request.manager.id, record_id, data['lottery_code_count']) response = create_response(200) return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) # request = request.POST['target'] update_data = {} update_fields = set(['name', 'start_time', 'end_time', 'group_dict', 'status', 'product_id', 'product_img', 'product_name', 'product_price', 'product_socks', 'product_sales', 'product_usercode', 'product_create_at', 'rules', 'material_image', 'share_description']) for key, value in data.items(): # print 'key:',key # print 'value:',value if key in update_fields: update_data['set__'+key] = value app_models.Group.objects(id=request.POST['id']).update(**update_data) response = create_response(200) return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) data['qrcode'] = json.loads(request.POST['qrcode']) update_data = {} update_fields = set([ 'name', 'start_time', 'end_time', 'timing', 'desc', 'reply_content', 'material_image', 'qrcode' ]) # update_fields = data.keys() for key, value in data.items(): if key in update_fields: if key == "timing": value = bool2Bool(value) update_data['set__' + key] = value print key, value, "$$$$$$$$$" app_models.PowerMe.objects(id=request.POST['id']).update(**update_data) #更新后清除缓存 cache_key = 'apps_powerme_%s_html' % request.POST['id'] delete_cache(cache_key) response = create_response(200) return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) data = add_extra_data(data, request.POST) update_data = {} update_fields = set([ 'name', 'start_time', 'end_time', 'allow_repeat', 'expend', 'delivery', 'delivery_setting', 'limitation', 'chance', 'type', 'prize' ]) for key, value in data.items(): if key in update_fields: update_data['set__' + key] = value app_models.Egg.objects(id=request.POST['id']).update(**update_data) #更新后清除缓存 # cache_key = 'apps_egg_%s_noprizecount' % request.POST['id'] # delete_cache(cache_key) cache_key = "apps_egg_%s_*" % request.POST['id'] delete_pattern(cache_key) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ member_id = request.member.id record_id = request.POST['belong_to'] eventParticipance = app_models.eventParticipance.objects.filter( belong_to=record_id, member_id=member_id) if eventParticipance.count() > 0: response = create_response(500) response.data = u"您已参加过该活动!" return response.get_response() else: data = request_util.get_fields_to_be_save(request) event_participance = app_models.eventParticipance(**data) event_participance.save() #调整参与数量 app_models.event.objects(id=record_id).update( **{"inc__participant_count": 1}) #活动奖励 prize = data.get('prize', None) error_msg = None if prize: prize_type = prize['type'] if prize_type == 'no_prize': pass #不进行奖励 elif prize_type == 'integral': if not request.member: pass #非会员,不进行积分奖励 else: value = int(prize['data']) integral_api.increase_member_integral( request.member, value, u'参与活动奖励积分') elif prize_type == 'coupon': if not request.member: pass #非会员,不进行优惠券发放 else: coupon_rule_id = int(prize['data']['id']) coupon, msg, _ = get_consume_coupon( request.webapp_owner_id, 'event', record_id, coupon_rule_id, request.member.id) if not coupon: error_msg = msg data = json.loads(event_participance.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) scanlottery = app_models.Scanlottery(**data) scanlottery.save() data = json.loads(scanlottery.to_json()) data['id'] = data['_id']['$oid'] response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) vote = app_models.vote(**data) vote.save() data = json.loads(vote.to_json()) data['id'] = data['_id']['$oid'] response = create_response(200) response.data = data return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) update_data = {} update_fields = set(['name', 'image', 'start_time', 'end_time']) for key, value in data.items(): if key in update_fields: update_data['set__' + key] = value app_models.vote.objects(id=request.POST['id']).update(**update_data) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) survey = app_models.survey(**data) survey.save() data = json.loads(survey.to_json()) data['id'] = data['_id']['$oid'] # if error_msg: # data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) feedback = app_models.feedback(**data) feedback.save() error_msg = None data = json.loads(feedback.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) data['permission'] = True if data['permission']=='1' else False data['is_limit_first_buy'] = True if data['is_limit_first_buy']=='1' else False data['is_limit_cash'] = True if data['is_limit_cash']=='1' else False update_data = {} update_fields = set(['name', 'start_time', 'end_time', 'permission', 'is_limit_first_buy', 'is_limit_cash', 'rebate_order_price', 'rebate_money', 'weizoom_card_id_from', 'weizoom_card_id_to', 'reply_type', 'reply_detail', 'reply_material_id']) for key, value in data.items(): if key in update_fields: update_data['set__'+key] = value app_models.Rebate.objects(id=request.POST['id']).update(**update_data) weizoom_card_ids = data['weizoom_card_ids'].split(',') weizoom_card_passwords = data['weizoom_card_passwords'].split(',') cur_weizoom_cards = AppsWeizoomCard.objects(belong_to=request.POST['id']) cur_weizoom_card_ids = [cur_weizoom_card.weizoom_card_id for cur_weizoom_card in cur_weizoom_cards] need_add_weizoom_card_ids = [ i for i in weizoom_card_ids if i not in cur_weizoom_card_ids ] if need_add_weizoom_card_ids != []: weizoom_card_id2password = {} index = 0 for weizoom_card_id in weizoom_card_ids: if not weizoom_card_id2password.has_key(weizoom_card_id): weizoom_card_id2password[weizoom_card_id] = weizoom_card_passwords[index] else: weizoom_card_id2password[weizoom_card_id].append(weizoom_card_passwords[index]) index += 1 print(weizoom_card_id2password) for need_add_weizoom_card_id in need_add_weizoom_card_ids: weizoom_card_info = AppsWeizoomCard( belong_to = data['id'], weizoom_card_id = need_add_weizoom_card_id, weizoom_card_password = encrypt_password(weizoom_card_id2password[need_add_weizoom_card_id]) ) weizoom_card_info.save() #更新后清除缓存 # cache_key = 'apps_rebate_%s_html' % request.POST['id'] # delete_cache(cache_key) response = create_response(200) return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) update_data = {} update_data['set__status'] = app_models.MEMBER_STATUS['PASSED'] if request.POST.get('ids'): ids = json.loads(request.POST['ids']) app_models.ShvoteParticipance.objects(id__in=ids).update( **update_data) elif request.POST.get('id'): id = request.POST['id'] app_models.ShvoteParticipance.objects(id=id).update(**update_data) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) data = add_extra_data(data, request.POST) egg = app_models.Egg(**data) egg.save() error_msg = None data = json.loads(egg.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) scratch_participance = app_models.ScratchParticipance(**data) scratch_participance.save() error_msg = None #调整参与数量 app_models.Scratch.objects(id=data['belong_to']).update( **{"inc__participant_count": 1}) #活动奖励 prize = data.get('prize', None) if prize: prize_type = prize['type'] if prize_type == 'no_prize': pass #不进行奖励 elif prize_type == 'integral': if not request.member: pass #非会员,不进行积分奖励 else: value = int(prize['data']) integral_api.increase_member_integral( request.member, value, u'参与活动奖励积分') elif prize_type == 'coupon': if not request.member: pass #非会员,不进行优惠券发放 else: coupon_rule_id = int(prize['data']['id']) # coupon, msg = mall_api.consume_coupon(request.webapp_owner_id, coupon_rule_id, request.member.id) coupon, msg, _ = get_consume_coupon( request.webapp_owner_id, 'scratch', data['belong_to'], coupon_rule_id, request.member.id) if not coupon: error_msg = msg data = json.loads(scratch_participance.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) data['qrcode'] = json.loads(request.POST['qrcode']) powerme = app_models.PowerMe(**data) powerme.save() error_msg = None data = json.loads(powerme.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) record_id = request.POST['id'] update_data = {} update_fields = set( ['name', 'start_time', 'end_time', 'chance', 'prize']) for key, value in data.items(): if key in update_fields: update_data['set__' + key] = value record = app_models.Scanlottery.objects(id=record_id) record.update_one(**update_data) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) {{resource.lower_name}} = app_models.{{resource.class_name}}(**data) {{resource.lower_name}}.save() error_msg = None {% if resource.is_participance %} __STRIPPER_TAG__ #调整参与数量 app_models.{{resource.item_class_name}}.objects(id=data['belong_to']).update(**{"inc__participant_count":1}) __STRIPPER_TAG__ #活动奖励 prize = data.get('prize', None) if prize: prize_type = prize['type'] if prize_type == 'no_prize': pass #不进行奖励 elif prize_type == 'integral': if not request.member: pass #非会员,不进行积分奖励 else: value = int(prize['data']) integral_api.increase_member_integral(request.member, value, u'参与活动奖励积分') elif prize_type == 'coupon': if not request.member: pass #非会员,不进行优惠券发放 else: coupon_rule_id = int(prize['data']['id']) coupon, msg = mall_api.consume_coupon(request.webapp_owner_id, coupon_rule_id, request.member.id) if not coupon: error_msg = msg {% endif %} __STRIPPER_TAG__ data = json.loads({{resource.lower_name}}.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) data['groups'] = json.loads(data['groups']) update_data = {} update_fields = set([ 'name', 'start_time', 'end_time', 'groups', 'description', 'rule', 'votecount_per_one', 'share_image', 'advertisement' ]) for key, value in data.items(): if key in update_fields: update_data['set__' + key] = value app_models.Shvote.objects(id=request.POST['id']).update(**update_data) #更新后清除缓存 cache_key = 'apps_shvote_%s_html' % request.POST['id'] delete_cache(cache_key) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) exlottery = app_models.Exlottery(**data) exlottery.save() lottery_code_count = request.POST.get('lottery_code_count', 0) owner_id = request.manager.id generate_exlottery_code(owner_id, str(exlottery.id), lottery_code_count) error_msg = None data = json.loads(exlottery.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) data['qrcode'] = json.loads(request.POST['qrcode']) if request.POST['red_packet_type'] == 'random': data['random_random_number_list'] = create_pop_list( data['random_total_money'], data['random_packets_number']) #拼手气红包随机数List data['red_packet_remain_amount'] = data['random_packets_number'] else: data['red_packet_remain_amount'] = data['regular_packets_number'] red_packet = app_models.RedPacket(**data) red_packet.save() error_msg = None data = json.loads(red_packet.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg #并发问题临时解决方案 ---start # control_data = {} # control_data['belong_to'] = data['id'] # control_data['red_packet_amount'] = 0 # control = app_models.RedPacketAmountControl(**control_data) # control.save() # default_data = {} # default_data['belong_to'] = data['id'] # default_data['red_packet_amount'] = int(red_packet_amount) + 1 # default = app_models.RedPacketAmountControl(**default_data) # default.save() #并发问题临时解决方案 ---end response = create_response(200) response.data = data return response.get_response()
def api_put(request): """ 响应PUT """ data = request_util.get_fields_to_be_save(request) data['permission'] = True if data['permission']=='1' else False data['is_limit_first_buy'] = True if data['is_limit_first_buy']=='1' else False data['is_limit_cash'] = True if data['is_limit_cash']=='1' else False weizoom_card_ids = data['weizoom_card_ids'].split(',') weizoom_card_passwords = data['weizoom_card_passwords'].split(',') rebate = app_models.Rebate(**data) ticket_id = app_models.Rebate.objects.all().count() + 10001 #ID从1W开始计算,为了防止跟带参数二维码重复 rebate.ticket_id = ticket_id rebate.save() data = json.loads(rebate.to_json()) data['id'] = data['_id']['$oid'] index = 0 for weizoom_card_id in weizoom_card_ids: weizoom_card_info = AppsWeizoomCard( owner_id = request.manager.id, belong_to = data['id'], weizoom_card_id = weizoom_card_id, weizoom_card_password = encrypt_password(weizoom_card_passwords[index]) ) weizoom_card_info.save() index += 1 if settings.MODE != 'develop': mp_user = get_binding_weixin_mpuser(request.manager) mpuser_access_token = get_mpuser_accesstoken(mp_user) weixin_api = get_weixin_api(mpuser_access_token) try: qrcode_ticket = weixin_api.create_qrcode_ticket(ticket_id, QrcodeTicket.PERMANENT) ticket = qrcode_ticket.ticket except Exception, e: print 'get qrcode_ticket fail:', e ticket = ''
def api_post(request): """ 响应POST """ data = request_util.get_fields_to_be_save(request) data['qrcode'] = json.loads(request.POST['qrcode']) pagestore = pagestore_manager.get_pagestore('mongo') project_id = request.GET.get('project_id', 0) _, app_name, real_project_id = project_id.split(':') page = pagestore.get_page(real_project_id, 1) update_data = {} update_fields = set([ 'name', 'start_time', 'end_time', 'timing', 'red_packet_type', 'random_total_money', 'random_packets_number', 'regular_packets_number', 'regular_per_money', 'money_range', 'reply_content', 'material_image', 'share_description', 'qrcode' ]) for key, value in data.items(): if key in update_fields: if key == "timing": value = bool2Bool(value) update_data['set__' + key] = value print key, value, "$$$$$$$$$" #清除红包类型选项下不需要再保存的两个字段 if key == "red_packet_type" and value == "random": update_data[ 'set__random_random_number_list'] = create_pop_list( data['random_total_money'], data['random_packets_number']) update_data['set__red_packet_remain_amount'] = int( data['random_packets_number']) update_data['set__regular_packets_number'] = '' update_data['set__regular_per_money'] = '' page['component']['components'][0]['model'][ 'regular_packets_number'] = '' page['component']['components'][0]['model'][ 'regular_per_money'] = '' if key == "red_packet_type" and value == "regular": update_data['set__red_packet_remain_amount'] = int( data['regular_packets_number']) update_data['set__random_total_money'] = '' update_data['set__random_packets_number'] = '' page['component']['components'][0]['model'][ 'random_total_money'] = '' page['component']['components'][0]['model'][ 'random_packets_number'] = '' app_models.RedPacket.objects(id=request.POST['id']).update( **update_data) #并发问题临时解决方案 ---start # app_models.RedPacketAmountControl.objects(belong_to=request.POST['id']).delete() # control_data = {} # control_data['belong_to'] = data['id'] # control_data['red_packet_amount'] = 0 # control = app_models.RedPacketAmountControl(**control_data) # control.save() # default_data = {} # default_data['belong_to'] = data['id'] # default_data['red_packet_amount'] = int(red_packet_amount) + 1 # default = app_models.RedPacketAmountControl(**default_data) # default.save() #并发问题临时解决方案 ---end pagestore.save_page(real_project_id, 1, page['component']) #更新后清除缓存 cache_key = 'apps_red_packet_%s_html' % request.POST['id'] delete_cache(cache_key) response = create_response(200) return response.get_response()
def api_put(request): """ 响应PUT """ member_id = request.member.id eventParticipance = app_models.surveyParticipance.objects.filter( belong_to=request.POST['belong_to'], member_id=member_id) if eventParticipance.count() > 0: response = create_response(500) response.data = u"您已参加过该活动!" return response.get_response() else: data = request_util.get_fields_to_be_save(request) survey_participance = app_models.surveyParticipance(**data) survey_participance.save() #调整参与数量 survey_record = app_models.survey.objects(id=data['belong_to']) survey_record.update(**{"inc__participant_count": 1}) add_tag_id = survey_record.first( ).tag_id if survey_record.first().tag_id != 0 else None #活动奖励 prize = data.get('prize', None) error_msg = None if prize: prize_type = prize['type'] if prize_type == 'no_prize': pass #不进行奖励 elif prize_type == 'integral': if not request.member: pass #非会员,不进行积分奖励 else: value = int(prize['data']) integral_api.increase_member_integral( request.member, value, u'参与活动奖励积分') elif prize_type == 'coupon': if not request.member: pass #非会员,不进行优惠券发放 else: coupon_rule_id = int(prize['data']['id']) coupon, msg, current_coupon_count = get_consume_coupon( request.webapp_owner_id, 'survey', data['belong_to'], coupon_rule_id, request.member.id) if not coupon: error_msg = msg #分配到某个分组 member = Member.objects.get(id=member_id) if member: isMember = member.is_subscribed if isMember and add_tag_id: MemberHasTag.add_tag_member_relation(member, [add_tag_id]) if MemberHasTag.objects.filter( member=member, member_tag__name="未分组").count() > 0: MemberHasTag.objects.filter( member=member, member_tag__name="未分组").delete() elif not isMember: survey_log = app_models.surveyParticipanceLog( belong_to=request.POST['belong_to'], member_id=member_id) survey_log.save() data = json.loads(survey_participance.to_json()) data['id'] = data['_id']['$oid'] if error_msg: data['error_msg'] = error_msg response = create_response(200) response.data = data return response.get_response()