Ejemplo n.º 1
0
def admin_score(request):
    admin_user = request.user
    if request.method == "GET":
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(
                reverse('admin:login') + "?next=" + reverse('admin_score'))
        return render(request, "admin_score.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('003'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse(
                'admin_user')
            return JsonResponse(res)
        event_id = request.POST.get('id', None)
        type = request.POST.get('type', None)
        if not event_id or not type:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        type = int(type)
        event_id = int(event_id)
        event = UserEvent.objects.get(id=event_id)
        log = AuditLog(user=admin_user, item=event)
        if event.audit_state != '1':
            res['code'] = -3
            res['res_msg'] = u'该项目已审核过,不要重复审核!'
            return JsonResponse(res)
        if type == 1:
            event.audit_state = '0'
            log.audit_result = True
            res['code'] = 0
        elif type == 2:
            reason = request.POST.get('reason', '')
            if not reason:
                res['code'] = -2
                res['res_msg'] = u'传入参数不足,请联系技术人员!'
                return JsonResponse(res)
            event.audit_state = '2'
            log.reason = reason
            log.audit_result = False
            scoretranslist = charge_score(event.user, '0', event.invest_amount,
                                          u'冲账')
            if scoretranslist:
                scoretranslist.user_event = event
                scoretranslist.save(update_fields=['user_event'])
                res['code'] = 0
            else:
                logger.critical(u"Charging score is failed!!!")
                res['code'] = -2
                res['res_msg'] = u"现金记账失败,请检查输入合法性后再次提交!"
                return JsonResponse(res)
        admin_event = AdminEvent.objects.create(admin_user=admin_user,
                                                custom_user=event.user,
                                                event_type='8')
        log.admin_item = admin_event
        log.save()
        event.audit_time = log.time
        event.save(update_fields=['audit_state', 'audit_time'])
        return JsonResponse(res)
Ejemplo n.º 2
0
def admin_return(request):
    admin_user = request.user
    if request.method == "GET":
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(
                reverse('admin:login') + "?next=" + reverse('admin_return'))
        return render(request, "admin_return.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('002'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse(
                'admin_return')
            return JsonResponse(res)

        event_id = request.POST.get('id', None)
        cash = request.POST.get('cash', None)
        score = request.POST.get('score', None)
        type = request.POST.get('type', None)
        reason = request.POST.get('reason', None)
        type = int(type)
        if not event_id or type == 1 and not (
                cash and
                score) or type == 2 and not reason or type != 1 and type != 2:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        event = UserEvent.objects.get(id=event_id)
        event_user = event.user
        log = AuditLog(user=admin_user, item=event)
        translist = None
        scoretranslist = None
        if type == 1:
            try:
                cash = Decimal(cash)
                score = int(score)
            except:
                res['code'] = -2
                res['res_msg'] = u"操作失败,输入不合法!"
                return JsonResponse(res)
            if cash < 0 or score < 0:
                res['code'] = -2
                res['res_msg'] = u"操作失败,输入不合法!"
                return JsonResponse(res)
            if event.audit_state != '1':
                res['code'] = -3
                res['res_msg'] = u'该项目已审核过,不要重复审核!'
                return JsonResponse(res)
            if event.translist.exists():
                logger.critical("Returning cash is repetitive!!!")
                res['code'] = -3
                res['res_msg'] = u"操作失败,返现重复!"
            else:
                log.audit_result = True
                translist = charge_money(event_user, '0', cash, u'福利返现')
                scoretranslist = charge_score(event_user, '0', score,
                                              u'福利返现(积分)')
                if translist and scoretranslist:
                    event.audit_state = '0'
                    translist.user_event = event
                    translist.save(update_fields=['user_event'])
                    scoretranslist.user_event = event
                    scoretranslist.save(update_fields=['user_event'])
                    res['code'] = 0
                else:
                    res['code'] = -4
                    res['res_msg'] = "注意,重复提交时只提交失败项目,成功的可以输入0。\n"
                    if not translist:
                        logger.error(u"Charging cash is failed!!!")
                        res['res_msg'] += u"现金记账失败,请检查输入合法性后再次提交!"
                    if not scoretranslist:
                        logger.error(u"Charging score is failed!!!")
                        res['res_msg'] += u"积分记账失败,请检查输入合法性后再次提交!"
        else:
            event.audit_state = '2'
            log.audit_result = False
            log.reason = reason
            res['code'] = 0

        if res['code'] == 0:
            admin_event = AdminEvent.objects.create(admin_user=admin_user,
                                                    custom_user=event_user,
                                                    event_type='1')
            if translist:
                translist.admin_event = admin_event
                translist.save(update_fields=['admin_event'])
            if scoretranslist:
                scoretranslist.admin_event = admin_event
                scoretranslist.save(update_fields=['admin_event'])
            log.admin_item = admin_event
            log.save()
            event.audit_time = log.time
            event.save(update_fields=['audit_state', 'audit_time'])
        return JsonResponse(res)
Ejemplo n.º 3
0
def admin_withdraw(request):
    admin_user = request.user
    if request.method == "GET":
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(
                reverse('admin:login') + "?next=" + reverse('admin_withdraw'))
        return render(request, "admin_withdraw.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('004'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not (admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse(
                'admin_user')
            return JsonResponse(res)
        event_id = request.POST.get('id', None)
        type = request.POST.get('type', None)
        if not event_id or not type:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        type = int(type)
        event_id = int(event_id)
        event = UserEvent.objects.get(id=event_id)
        if event.audit_state != '1':
            res['code'] = -3
            res['res_msg'] = u'该项目已审核过,不要重复审核!'
            return JsonResponse(res)
        log = AuditLog(user=admin_user, item=event)
        if type == 1:
            event.audit_state = '0'
            log.audit_result = True
            res['code'] = 0
            #用户提现成功,立即发放邀请人100积分奖励
            inviter = event.user.inviter
            if inviter:
                if not UserEvent.objects.filter(user=event.user,
                                                event_type='2',
                                                audit_state='0').exists():
                    invite_award_scores = settings.AWARD_SCORES
                    inviter.invite_scores += invite_award_scores
                    translist = charge_score(inviter, '0', invite_award_scores,
                                             u"邀请奖励")
                    if translist:
                        logger.debug(
                            'Inviting Award scores is successfully payed!')
                        inviter.save(update_fields=['invite_scores'])
                        translist.user_event = event
                        translist.save(update_fields=['user_event'])
                    else:
                        logger.debug(
                            'Inviting Award scores is failed to pay!!!')

        elif type == 2:
            reason = request.POST.get('reason', '')
            if not reason:
                res['code'] = -2
                res['res_msg'] = u'传入参数不足,请联系技术人员!'
                return JsonResponse(res)
            event.audit_state = '2'
            log.reason = reason
            log.audit_result = False
            translist = charge_money(event.user, '0', event.invest_amount,
                                     u'冲账')
            if translist:
                translist.user_event = event
                translist.save(update_fields=['user_event'])
                res['code'] = 0
            else:
                logger.critical(u"Charging cash is failed!!!")
                res['code'] = -2
                res['res_msg'] = u"现金记账失败,请检查输入合法性后再次提交!"
                return JsonResponse(res)

        admin_event = AdminEvent.objects.create(admin_user=admin_user,
                                                custom_user=event.user,
                                                event_type='2')
        log.admin_item = admin_event
        log.save()
        event.audit_time = log.time
        event.save(update_fields=['audit_state', 'audit_time'])
        return JsonResponse(res)
Ejemplo n.º 4
0
def admin_score(request):
    admin_user = request.user
    if request.method == "GET":
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(reverse('admin:login') + "?next=" + reverse('admin_score'))
        return render(request,"admin_score.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('003'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse('admin_user')
            return JsonResponse(res)
        event_id = request.POST.get('id', None)
        type = request.POST.get('type', None)
        if not event_id or not type:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        type = int(type)
        event_id = int(event_id)
        event = UserEvent.objects.get(id=event_id)
        log = AuditLog(user=admin_user,item=event)
        if event.audit_state != '1':
            res['code'] = -3
            res['res_msg'] = u'该项目已审核过,不要重复审核!'
            return JsonResponse(res)
        if type==1:
            event.audit_state = '0'
            log.audit_result = True
            res['code'] = 0
        elif type == 2:
            reason = request.POST.get('reason', '')
            if not reason:
                res['code'] = -2
                res['res_msg'] = u'传入参数不足,请联系技术人员!'
                return JsonResponse(res)
            event.audit_state = '2'
            log.reason = reason
            log.audit_result = False
            scoretranslist = charge_score(event.user, '0', event.invest_amount, u'冲账')
            if scoretranslist:
                scoretranslist.user_event = event
                scoretranslist.save(update_fields=['user_event'])
                res['code'] = 0
            else:
                logger.critical(u"Charging score is failed!!!")
                res['code'] = -2
                res['res_msg'] = u"现金记账失败,请检查输入合法性后再次提交!"
                return JsonResponse(res)
        admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=event.user, event_type='8')
        log.admin_item = admin_event
        log.save()
        event.audit_time = log.time
        event.save(update_fields=['audit_state','audit_time'])
        return JsonResponse(res)
Ejemplo n.º 5
0
def admin_withdraw(request):
    admin_user = request.user
    if request.method == "GET":
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(reverse('admin:login') + "?next=" + reverse('admin_withdraw'))
        return render(request,"admin_withdraw.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('004'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse('admin_user')
            return JsonResponse(res)
        event_id = request.POST.get('id', None)
        type = request.POST.get('type', None)
        if not event_id or not type:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        type = int(type)
        event_id = int(event_id)
        event = UserEvent.objects.get(id=event_id)
        if event.audit_state != '1':
            res['code'] = -3
            res['res_msg'] = u'该项目已审核过,不要重复审核!'
            return JsonResponse(res)
        log = AuditLog(user=admin_user,item=event)
        if type==1:
            event.audit_state = '0'
            log.audit_result = True
            res['code'] = 0
            #用户提现成功,立即发放邀请人100积分奖励   
            inviter = event.user.inviter
            if inviter:
                if not UserEvent.objects.filter(user=event.user, event_type='2', audit_state='0').exists():
                    invite_award_scores = settings.AWARD_SCORES
                    inviter.invite_scores += invite_award_scores
                    translist = charge_score(inviter, '0', invite_award_scores, u"邀请奖励")
                    if translist:
                        logger.debug('Inviting Award scores is successfully payed!')
                        inviter.save(update_fields=['invite_scores'])
                        translist.user_event = event
                        translist.save(update_fields=['user_event'])
                    else:
                        logger.debug('Inviting Award scores is failed to pay!!!')
                        
        elif type == 2:
            reason = request.POST.get('reason', '')
            if not reason:
                res['code'] = -2
                res['res_msg'] = u'传入参数不足,请联系技术人员!'
                return JsonResponse(res)
            event.audit_state = '2'
            log.reason = reason
            log.audit_result = False
            translist = charge_money(event.user, '0', event.invest_amount, u'冲账')
            if translist:
                translist.user_event = event
                translist.save(update_fields=['user_event'])
                res['code'] = 0
            else:
                logger.critical(u"Charging cash is failed!!!")
                res['code'] = -2
                res['res_msg'] = u"现金记账失败,请检查输入合法性后再次提交!"
                return JsonResponse(res)
        
        admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=event.user, event_type='2')
        log.admin_item = admin_event
        log.save()
        event.audit_time = log.time
        event.save(update_fields=['audit_state','audit_time'])
        return JsonResponse(res)
Ejemplo n.º 6
0
def admin_return(request):
    admin_user = request.user
    if request.method == "GET":
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            return redirect(reverse('admin:login') + "?next=" + reverse('admin_return'))
        return render(request,"admin_return.html")
    if request.method == "POST":
        res = {}
        if not admin_user.has_admin_perms('002'):
            res['code'] = -5
            res['res_msg'] = u'您没有操作权限!'
            return JsonResponse(res)
        if not request.is_ajax():
            raise Http404
        if not ( admin_user.is_authenticated() and admin_user.is_staff):
            res['code'] = -1
            res['url'] = reverse('admin:login') + "?next=" + reverse('admin_return')
            return JsonResponse(res)
         
        event_id = request.POST.get('id', None)
        cash = request.POST.get('cash', None)
        score = request.POST.get('score', None)
        type = request.POST.get('type', None)
        reason = request.POST.get('reason', None)
        type = int(type)
        if not event_id or type==1 and not (cash and score) or type==2 and not reason or type!=1 and type!=2:
            res['code'] = -2
            res['res_msg'] = u'传入参数不足,请联系技术人员!'
            return JsonResponse(res)
        event = UserEvent.objects.get(id=event_id)
        event_user = event.user
        log = AuditLog(user=admin_user,item=event)
        translist = None
        scoretranslist = None
        if type==1:
            try:
                cash = Decimal(cash)
                score = int(score)
            except:
                res['code'] = -2
                res['res_msg'] = u"操作失败,输入不合法!"
                return JsonResponse(res)
            if cash < 0 or score < 0:
                res['code'] = -2
                res['res_msg'] = u"操作失败,输入不合法!"
                return JsonResponse(res)
            if event.audit_state != '1':
                res['code'] = -3
                res['res_msg'] = u'该项目已审核过,不要重复审核!'
                return JsonResponse(res)
            if event.translist.exists():
                logger.critical("Returning cash is repetitive!!!")
                res['code'] = -3
                res['res_msg'] = u"操作失败,返现重复!"
            else:
                log.audit_result = True
                translist = charge_money(event_user, '0', cash, u'福利返现')
                scoretranslist = charge_score(event_user, '0', score, u'福利返现(积分)')
                if translist and scoretranslist:
                    event.audit_state = '0'
                    translist.user_event = event
                    translist.save(update_fields=['user_event'])
                    scoretranslist.user_event = event
                    scoretranslist.save(update_fields=['user_event'])
                    res['code'] = 0
                else:
                    res['code'] = -4
                    res['res_msg'] = "注意,重复提交时只提交失败项目,成功的可以输入0。\n"
                    if not translist:
                        logger.error(u"Charging cash is failed!!!")
                        res['res_msg'] += u"现金记账失败,请检查输入合法性后再次提交!"
                    if not scoretranslist:
                        logger.error(u"Charging score is failed!!!")
                        res['res_msg'] += u"积分记账失败,请检查输入合法性后再次提交!"
        else:
            event.audit_state = '2'
            log.audit_result = False
            log.reason = reason
            res['code'] = 0
        
        
        if res['code'] == 0:
            admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=event_user, event_type='1')
            if translist:
                translist.admin_event = admin_event
                translist.save(update_fields=['admin_event'])
            if scoretranslist:
                scoretranslist.admin_event = admin_event
                scoretranslist.save(update_fields=['admin_event'])
            log.admin_item = admin_event
            log.save()
            event.audit_time = log.time
            event.save(update_fields=['audit_state','audit_time'])
        return JsonResponse(res)
Ejemplo n.º 7
0
     traceback.print_exc()
     ret['msg'] = unicode(e)
     ret['num'] = 0
     return JsonResponse(ret)
 admin_user = request.user
 suc_num = 0
 try:
     for row in rtable:
         with transaction.atomic():
             id = row[0]
             result = row[1]
             reason = row[3]
             event = UserEvent.objects.get(id=id)
             if event.audit_state != '1' or event.translist.exists():
                 continue
             log = AuditLog(user=admin_user, item=event)
             event_user = event.user
             translist = None
             if result:
                 amount = int(row[2] * 100)
                 log.audit_result = True
                 project = event.content_object.project
                 translist = charge_money(event_user, '0', amount,
                                          project.title)
                 if project.is_vip_bonus:
                     get_vip_bonus(event_user, amount, 'finance')
                 if translist:
                     event.audit_state = '0'
                     translist.user_event = event
                     translist.save(update_fields=['user_event'])
 #                     Invest_Record.objects.create(invest_date=event.time,invest_company=event.content_object.company.name,
Ejemplo n.º 8
0
     traceback.print_exc()
     ret['msg'] = unicode(e)
     ret['num'] = 0
     return JsonResponse(ret)
 admin_user = request.user
 suc_num = 0
 try:
     for row in rtable:
         with transaction.atomic():
             id = row[0]
             result = row[1]
             reason = row[3]
             event = UserEvent.objects.get(id=id)
             if event.audit_state != '1' or event.translist.exists():
                 continue
             log = AuditLog(user=admin_user,item=event)
             event_user = event.user
             translist = None
             if result:
                 amount = int(row[2]*100)
                 log.audit_result = True
                 project = event.content_object.project
                 translist = charge_money(event_user, '0', amount, project.title)
                 if project.is_vip_bonus:
                     get_vip_bonus(event_user, amount, 'finance')
                 if translist:
                     event.audit_state = '0'
                     translist.user_event = event
                     translist.save(update_fields=['user_event'])
 #                     Invest_Record.objects.create(invest_date=event.time,invest_company=event.content_object.company.name,
 #                                                      user_name=event_user.zhifubao_name,zhifubao=event_user.zhifubao,