def signin(request): result = {} today = date.today() signin_last = UserSignIn.objects.filter(user=request.user).first() if signin_last and signin_last.date == today: result['code'] = 1 else: signed_conse_days = 1 if signin_last and signin_last.date == today - timedelta(days=1): signed_conse_days += signin_last.signed_conse_days UserSignIn.objects.create(user=request.user, date=date.today(), signed_conse_days=signed_conse_days) charge_score(request.user, '0', 5, u"签到奖励") if signed_conse_days % 7 == 0: charge_score(request.user, '0', 20, u"连续签到7天奖励") result['code'] = 0 first_day_of_month = today - timedelta(today.day - 1) sign_days = UserSignIn.objects.filter( user=request.user, date__gte=first_day_of_month).values('date') records = [] for day in sign_days: records.append(day.get('date').day) result['records'] = records # result.update(scores=request.user.scores, userimg=request.user.id%4) return JsonResponse(result)
def get_lottery(request): if request.method != "POST" or not request.is_ajax(): logger.warning("Experience refused no-ajax request!!!") raise Http404 result = {} if not request.user.is_authenticated() and not is_authenticated_app( request): result['code'] = -1 result['url'] = reverse('login') + "?next=" + reverse( 'activity_lottery') return JsonResponse(result) if request.user.scores < 10: result['code'] = -2 return JsonResponse(result) trans = charge_score(request.user, '1', 10, u"积分抽奖") if not trans: result['code'] = -3 logger.error("lottery 10 scores charge error!") return JsonResponse(result) event = UserEvent.objects.create(user=request.user, event_type='7', audit_state='1') trans.user_event = event trans.save(update_fields=['user_event']) award_list = [ (1, 61), (2, 30), (3, 6), (4, 2), (5, 1), (6, 0), ] itemid = weighted_random(award_list) translist = None if itemid == 2: translist = charge_score(request.user, '0', 10, u'抽奖获奖') elif itemid == 3: translist = charge_score(request.user, '0', 50, u'抽奖获奖') elif itemid == 4: translist = charge_money(request.user, '0', 80, u'抽奖获奖') elif itemid == 5: translist = charge_money(request.user, '0', 200, u'抽奖获奖') if itemid != 1 and not translist: result['code'] = 4 logger.error("Get lottery award charge error!") result['msg'] = "记账失败!" else: result['code'] = 0 result['itemid'] = itemid if itemid != 1: LotteryRecord.objects.create(user=request.user, award=AwardTable.get(itemid, u'未知')) translist.user_event = event translist.save(update_fields=['user_event']) return JsonResponse(result)
def submit_order(request): if not request.is_ajax(): raise Http404 result={'code':-1, 'url':''} if not request.user.is_authenticated(): result['code'] = -1 return JsonResponse(result) name = request.GET.get("name", '') tel = request.GET.get("tel", '') addr = request.GET.get("addr", '') remark= request.GET.get("remark", '') good_id= request.GET.get("id", '') postcode = request.GET.get("postcode", '') if not (name and tel and addr and good_id): raise Http404 try: good_id = int(good_id) except ValueError: raise Http404 commodity = Commodity.objects.get(pk=good_id) ret = charge_score(request.user, '1', commodity.price, commodity.name) if ret is not None: logger.debug('Exchanging scores is successfully reduced!') exg_obj = ExchangeRecord.objects.create(tranlist=ret,commodity=commodity, name=name,tel=tel,addr=addr,postcode=postcode,message=remark) event = UserEvent.objects.create(user=request.user, event_type='3',invest_amount=commodity.price, audit_state='1',remark=remark, content_object=exg_obj) ret.user_event = event ret.save(update_fields=['user_event']) result['code'] = 0 else: logger.debug('Exchanging scores is failed to reduce!!!') result['code'] = 1 return JsonResponse(result)
def submit_order(request): result = {'code': 0, 'url': ''} name = request.GET.get("name", '') tel = request.GET.get("tel", '') addr = request.GET.get("addr", '') remark = request.GET.get("remark", '') good_id = request.GET.get("id", '') good_id = int(good_id) commodity = Commodity.objects.get(pk=good_id) ret = charge_score(request.user, '1', commodity.price, commodity.name) if ret is not None: logger.debug('Exchanging scores is successfully reduced!') exg_obj = ExchangeRecord.objects.create(tranlist=ret, commodity=commodity, name=name, tel=tel, addr=addr, message=remark) event = UserEvent.objects.create(user=request.user, event_type='3', invest_amount=commodity.price, audit_state='1', remark=remark, content_object=exg_obj) ret.user_event = event ret.save(update_fields=['user_event']) result['code'] = 0 else: logger.debug('Exchanging scores is failed to reduce!!!') result['code'] = 1 return JsonResponse(result)
def submit_order(request): if not request.is_ajax(): raise Http404 result={'code':-1, 'url':''} if not request.user.is_authenticated(): result['code'] = -1 result['url'] = reverse('login') + "?next=" + reverse('account_score') return JsonResponse(result) name = request.GET.get("name", '') tel = request.GET.get("tel", '') addr = request.GET.get("addr", '') remark= request.GET.get("remark", '') good_id= request.GET.get("id", '') if not (name and tel and addr and good_id): return Http404 try: good_id = int(good_id) except ValueError: return Http404 commodity = Commodity.objects.get(pk=good_id) ret = charge_score(request.user, '1', commodity.price, commodity.name) if ret is not None: logger.debug('Exchanging scores is successfully reduced!') exg_obj = ExchangeRecord.objects.create(tranlist=ret,commodity=commodity, name=name,tel=tel,addr=addr,message=remark) event = UserEvent.objects.create(user=request.user, event_type='3',invest_amount=commodity.price, audit_state='1',remark=remark, content_object=exg_obj) ret.user_event = event ret.save(update_fields=['user_event']) result['code'] = 0 else: logger.debug('Exchanging scores is failed to reduce!!!') result['code'] = 1 return JsonResponse(result)
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)
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)
def admin_user(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_user')) return render(request, "admin_user.html") if request.method == "POST": res = {} if not admin_user.has_admin_perms('005'): 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) user_id = request.POST.get('id', None) type = request.POST.get('type', None) type = int(type) # if not user_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) obj_user = MyUser.objects.get(id=user_id) if type == 1: pcash = request.POST.get('pcash', 0) mcash = request.POST.get('mcash', 0) if not pcash: pcash = 0 if not mcash: mcash = 0 reason = request.POST.get('reason', '') if not pcash and not mcash or pcash and mcash or not reason: res['code'] = -2 res['res_msg'] = u'传入参数不足,请联系技术人员!' return JsonResponse(res) try: pcash = Decimal(pcash) mcash = Decimal(mcash) except: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) if pcash < 0 or mcash < 0: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) translist = None if pcash > 0: translist = charge_money(obj_user, '0', pcash, reason) elif mcash > 0: translist = charge_money(obj_user, '1', mcash, reason) if translist: admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, remark=reason, event_type='4') translist.admin_event = admin_event translist.save(update_fields=['admin_event']) res['code'] = 0 else: res['code'] = -4 res['res_msg'] = "现金记账失败,请检查输入合法性后再次提交!" elif type == 2: pscore = request.POST.get('pscore', 0) mscore = request.POST.get('mscore', 0) if not pscore: pscore = 0 if not mscore: mscore = 0 reason = request.POST.get('reason', '') if not pscore and not mscore or pscore and mscore or not reason: res['code'] = -2 res['res_msg'] = u'传入参数不足,请联系技术人员!' return JsonResponse(res) try: pscore = int(pscore) mscore = int(mscore) except: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) if pscore < 0 or mscore < 0: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) scoretranslist = None if pscore > 0: scoretranslist = charge_score(obj_user, '0', pscore, reason) elif mscore > 0: scoretranslist = charge_score(obj_user, '1', mscore, reason) if scoretranslist: admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, remark=reason, event_type='5') scoretranslist.admin_event = admin_event scoretranslist.save(update_fields=['admin_event']) res['code'] = 0 else: res['code'] = -4 res['res_msg'] = "积分记账失败,请检查输入合法性后再次提交!" elif type == 3: obj_user.is_active = False obj_user.save(update_fields=['is_active']) admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, event_type='6', remark=u"加黑") res['code'] = 0 elif type == 4: obj_user.is_active = True obj_user.save(update_fields=['is_active']) admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, event_type='6', remark=u"去黑") res['code'] = 0 return JsonResponse(res)
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)
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)
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)
def admin_user(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_user')) return render(request,"admin_user.html") if request.method == "POST": res = {} if not admin_user.has_admin_perms('005'): 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) user_id = request.POST.get('id', None) type = request.POST.get('type', None) type = int(type) # if not user_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) obj_user = MyUser.objects.get(id=user_id) if type==1: pcash = request.POST.get('pcash', 0) mcash = request.POST.get('mcash', 0) if not pcash: pcash = 0 if not mcash: mcash = 0 reason = request.POST.get('reason', '') if not pcash and not mcash or pcash and mcash or not reason: res['code'] = -2 res['res_msg'] = u'传入参数不足,请联系技术人员!' return JsonResponse(res) try: pcash = Decimal(pcash) mcash = Decimal(mcash) except: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) if pcash < 0 or mcash < 0: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) translist = None if pcash > 0: translist = charge_money(obj_user, '0', pcash, reason) elif mcash > 0: translist = charge_money(obj_user, '1', mcash, reason) if translist: admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, remark=reason, event_type='4') translist.admin_event = admin_event translist.save(update_fields=['admin_event']) res['code'] = 0 else: res['code'] = -4 res['res_msg'] = "现金记账失败,请检查输入合法性后再次提交!" elif type == 2: pscore = request.POST.get('pscore', 0) mscore = request.POST.get('mscore', 0) if not pscore: pscore = 0 if not mscore: mscore = 0 reason = request.POST.get('reason', '') if not pscore and not mscore or pscore and mscore or not reason: res['code'] = -2 res['res_msg'] = u'传入参数不足,请联系技术人员!' return JsonResponse(res) try: pscore = int(pscore) mscore = int(mscore) except: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) if pscore < 0 or mscore < 0: res['code'] = -2 res['res_msg'] = u"操作失败,输入不合法!" return JsonResponse(res) scoretranslist = None if pscore > 0: scoretranslist = charge_score(obj_user, '0', pscore, reason) elif mscore > 0: scoretranslist = charge_score(obj_user, '1', mscore, reason) if scoretranslist: admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, remark=reason,event_type='5') scoretranslist.admin_event = admin_event scoretranslist.save(update_fields=['admin_event']) res['code'] = 0 else: res['code'] = -4 res['res_msg'] = "积分记账失败,请检查输入合法性后再次提交!" elif type == 3: obj_user.is_active = False obj_user.save(update_fields=['is_active']) admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, event_type='6', remark=u"加黑") res['code'] = 0 elif type == 4: obj_user.is_active = True obj_user.save(update_fields=['is_active']) admin_event = AdminEvent.objects.create(admin_user=admin_user, custom_user=obj_user, event_type='6', remark=u"去黑") res['code'] = 0 return JsonResponse(res)
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)