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
    #                                                      invest_mobile=event.invest_account,invest_period=event.invest_term,
    #                                                      invest_amount=event.invest_amount,return_amount=amount/100.0,wafuli_account=event_user.mobile,
    #                                                      return_date=datetime.date.today(),remark=event.remark)
                    else:
                        logger.error(u"Charging cash is failed!!!")
                        logger.error("UserEvent:" + str(id) +
                                     u" 现金记账失败,请检查原因!!!!")
                        continue
                else:
                    event.audit_state = '2'
                    log.audit_result = False
                    log.reason = reason
                admin_event = AdminEvent.objects.create(admin_user=admin_user,
                                                        custom_user=event_user,
                                                        event_type='3')
                if translist:
                    translist.admin_event = admin_event
                    translist.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'])
                suc_num += 1
        ret['code'] = 0
    except Exception as e:
        traceback.print_exc()
        ret['code'] = 1
        ret['msg'] = unicode(e)
    ret['num'] = suc_num
    return JsonResponse(ret)
Ejemplo n.º 8
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,
 #                                                      invest_mobile=event.invest_account,invest_period=event.invest_term,
 #                                                      invest_amount=event.invest_amount,return_amount=amount/100.0,wafuli_account=event_user.mobile,
 #                                                      return_date=datetime.date.today(),remark=event.remark)
                 else:
                     logger.error(u"Charging cash is failed!!!")
                     logger.error("UserEvent:" + str(id) + u" 现金记账失败,请检查原因!!!!")
                     continue
             else:
                 event.audit_state = '2'
                 log.audit_result = False
                 log.reason = reason
             admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=event_user, event_type='3')
             if translist:
                 translist.admin_event = admin_event
                 translist.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'])
             suc_num += 1
     ret['code'] = 0
 except Exception as e:
     traceback.print_exc()
     ret['code'] = 1
     ret['msg'] = unicode(e)
 ret['num'] = suc_num
 return JsonResponse(ret)