welfare_image_path', '') MemberActivityContributionWelfareInfo.objects.create( brand_id=administrator.brand_id, activity_id=activity_id, welfare_type=welfare_type, welfare_title=welfare_title, welfare_detail=welfare_detail, welfare_value=welfare_value, welfare_image=welfare_image_path, ) return response(200, 'Create Member Activity Contribute Welfare Success', u'创建会员活动投稿福利成功') @check_admin def member_activity_contribute_welfare_unlock(request, administrator): admin_id = request.POST.get('admin_id', '') contribution_id = request.POST.get('contribution_id', '') welfare_id = request.POST.get('welfare_id', '') try: contribution = MemberActivityContributionInfo.objects.get(contribution_id=contribution_id, status=True) except MemberActivityContributionInfo.DoesNotExist: return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND) MemberActivityContributionWelfareUnlockingInfo.objects.create( brand_id=administrator.brand_id, admin_id=admin_id, user_id=contribution.user_id, activity_id=contribution.activity_id, contribution_id=contribution_id, welfare_id=welfare_id, ) return response(200, 'Unlock Member Activity Contribute Welfare Success', u'解锁会员活动投稿福利成功') @check_admin def coupon_list(request, administrator): title = request.POST.get('title', '') start_time = request.POST.get('start_time', '') end_time = request.POST.get('end_time', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) logs = CouponInfo.objects.filter(coupon_title__icontains=title, status=True) if start_time and end_time: start_time = datetime.strptime(start_time, '%Y%m%d') end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S') logs = logs.filter(created_at__range=(start_time, end_time)) logs = logs.order_by('-pk') count = logs.count() logs, left = pagination(logs, page, num) logs = [log.admindata for log in logs] return response(200, 'Get CouponInfo List Success', u'获取劵列表成功', data={ 'logs': logs, 'left': left, 'count': count }) @check_admin def coupon_detail(request, administrator): coupon_id = request.POST.get('coupon_id', '') try: log = CouponInfo.objects.get(coupon_id=coupon_id) except CouponInfo.DoesNotExist: return response() log = log.admindetails return response(200, 'Get Member Activity Record Details Success', u'获取会员活动详情成功', data={ 'log': log, }) @check_admin def coupon_create(request, administrator): coupon_title = request.POST.get('coupon_title', '') coupon_detail = request.POST.get('coupon_detail', '') coupon_value = int(request.POST.get('coupon_value', 0)) coupon_image = request.POST.get('coupon_image', '') coupon_expire_type = int(request.POST.get('coupon_expire_type', 0)) coupon_valid_period = int(request.POST.get('coupon_valid_period', 0)) coupon_expire_at = request.POST.get('coupon_expire_at', '') is_coupon_admin_writeoff = int(request.POST.get('is_coupon_admin_writeoff', 1)) info = CouponInfo.objects.create( brand_id=administrator.brand_id, coupon_title=coupon_title, coupon_detail=coupon_detail, coupon_value=coupon_value, coupon_image=coupon_image, coupon_expire_type=coupon_expire_type, coupon_valid_period=coupon_valid_period, is_coupon_admin_writeoff=is_coupon_admin_writeoff, ) if coupon_expire_at: info.coupon_expire_at = datetime.strptime(coupon_expire_at + ' 23:59:59', '%Y-%m-%d %H:%M:%S') info.save() return response(200, 'CouponInfo Create Success', u'劵创建成功') @check_admin def coupon_update(request, administrator): coupon_id = request.POST.get('coupon_id', '') coupon_title = request.POST.get('coupon_title', '') coupon_detail = request.POST.get('coupon_detail', '') coupon_value = int(request.POST.get('coupon_value', 0)) coupon_image = request.POST.get('coupon_image', '') coupon_expire_type = int(request.POST.get('coupon_expire_type', 0)) coupon_valid_period = int(request.POST.get('coupon_valid_period', 0)) coupon_expire_at = request.POST.get('coupon_expire_at', '') is_coupon_admin_writeoff = int(request.POST.get('is_coupon_admin_writeoff', 1)) try: log = CouponInfo.objects.get(coupon_id=coupon_id, status=True) except CouponInfo.DoesNotExist: return response() log.brand_id = administrator.brand_id log.coupon_title = coupon_title log.coupon_detail = coupon_detail log.coupon_value = coupon_value log.coupon_image = coupon_image log.coupon_expire_type = coupon_expire_type log.coupon_valid_period = coupon_valid_period if coupon_expire_at: log.coupon_expire_at = datetime.strptime(coupon_expire_at + ' 23:59:59', '%Y-%m-%d %H:%M:%S') log.is_coupon_admin_writeoff = is_coupon_admin_writeoff log.save() return response(200, 'CouponInfo Update Success', u'劵更新成功') @check_admin def coupon_delete(request, administrator): coupon_id = request.POST.get('activity_id', '') try: log = CouponInfo.objects.get(coupon_id=coupon_id, status=True) except CouponInfo.DoesNotExist: return response() log.status = False log.save() return response(200, 'CouponInfo Delete Success', u'劵删除成功') @check_admin def member_goods_list(request, administrator): title = request.POST.get('title', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) logs = GoodsInfo.objects.filter(title__icontains=title, only_for_member=False).order_by('-pk') count = logs.count() logs, left = pagination(logs, page, num) logs = [log.admindata for log in logs] return response(200, 'Get Member Goods Success', u'获取会员商品成功', data={ 'logs': logs, 'left': left, 'count': count }) @check_admin def member_goods_detail(request, administrator): good_id = request.POST.get('good_id', '') try: log = GoodsInfo.objects.get(good_id=good_id) except GoodsInfo.DoesNotExist: return response() log = log.admindetails return response(200, 'Get Member Goods Details Success', u'获取积分商品详情成功', data={ 'log': log, }) @check_admin def member_goods_update(request, administrator): good_id = request.POST.get('good_id', '') title = request.POST.get('title', '') desc = request.POST.get('desc', '') value = int(request.POST.get('value', 0)) left_num = int(request.POST.get('left_num', 0)) image = request.POST.get('image_path', '') coupon_id = request.POST.get('coupon_id', '') slider_image = request.POST.get('slider_path', '') integral = int(request.POST.get('integral', 0)) fee = int(request.POST.get('fee', 0)) try: log = GoodsInfo.objects.get(good_id=good_id, status=True) except GoodsInfo.DoesNotExist: return response() log.title = title log.desc = desc log.value = value log.left_num = left_num log.image = image log.coupon_id = coupon_id log.slider_image = slider_image log.integral = integral log.fee = fee log.save() return response(200, 'GoodsInfo Update Success', u'积分商品更新成功') @check_admin def member_goods_create(request, administrator): good_type = int(request.POST.get('good_type', 0)) title = request.POST.get('title', '') desc = request.POST.get('desc', '') value = int(request.POST.get('value', 0)) left_num = int(request.POST.get('left_num', 0)) image = request.POST.get('image_path', '') coupon_id = request.POST.get('coupon_id', '') slider_image = request.POST.get('slider_path', '') integral = int(request.POST.get('integral', 0)) fee = int(request.POST.get('fee', 0)) GoodsInfo.objects.create( brand_id=administrator.brand_id, good_type=good_type, title=title, desc=desc, value=value, left_num=left_num, image=image, coupon_id=coupon_id, slider_image=slider_image, integral=integral, fee=fee, ) return response(200, 'GoodsInfo Create Success', u'积分商品创建成功') @check_admin def complement_code_list(request, administrator): start_time = request.POST.get('start_time', '') end_time = request.POST.get('end_time', '') type_ = request.POST.get('type', '') query = request.POST.get('query', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) logs = ComplementCodeLogInfo.objects.filter(status=True) if start_time and end_time: start_time = datetime.strptime(start_time, '%Y%m%d') end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S') logs = logs.filter(created_at__range=(start_time, end_time)) if type_ == 'todo': logs = logs.filter(audit_status=ComplementCodeLogInfo.AUDIT_TODO) elif type_ == 'pass': logs = logs.filter(audit_status=ComplementCodeLogInfo.AUDIT_PASS) elif type_ == 'refused': logs = logs.filter(audit_status=ComplementCodeLogInfo.AUDIT_REFUSED) logs = logs.order_by('audit_status', '-pk') if query: logs = logs.filter(Q(phone=query) | Q(name__icontains=query) | Q(sn=query)) count = logs.count() logs, left = pagination(logs, page, num) logs = [log.data for log in logs] return response(200, 'Get Complement Code List Success', u'获取补码列表成功', data={ 'logs': logs, 'left': left, 'count': count }) @check_admin @transaction.atomic def complement_code_audit(request, administrator): brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) admin_id = request.POST.get('admin_id', '') log_id = request.POST.get('log_id', '') audit_status = int(request.POST.get('audit_status', 0)) # -1 审核不通过, 1 审核通过 if audit_status not in [ComplementCodeLogInfo.AUDIT_REFUSED, ComplementCodeLogInfo.AUDIT_PASS]: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_STATUS_INVALID) try: log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True) except ComplementCodeLogInfo.DoesNotExist: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_NOT_FOUND) if log.audit_status != ComplementCodeLogInfo.AUDIT_TODO: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_HAS_AUDITED) log.audit_status = audit_status log.save() # 如果"审核通过" if log.audit_status == ComplementCodeLogInfo.AUDIT_PASS: try: brand = BrandInfo.objects.get(brand_id=brand_id) except BrandInfo.DoesNotExist: brand = None try: model = ModelInfo.objects.get(model_id=log.model_id) except ModelInfo.DoesNotExist: model = None # brand_id#model_id#distributor_id#sn#time # AAAA#AAAAAA#AAAAA#AAAAAAAAAAAAAA#180224 # brand_pk, model_pk, distributor_pk, sn, time = plaintext.split('#') plaintext = '{}#{}#{}#{}#{}'.format( brand.pk if brand else 0, model.pk if model else 0, 0, log.sn, tc.local_string(format='%Y%m%d')[2:], ) ciphertext = get_ciphertext(plaintext, admin_id, True) log.ciphertext = ciphertext log.save() try: user = UserInfo.objects.get(user_id=log.user_id, status=True) except UserInfo.DoesNotExist: return response() # Send template_message data = { "first": { "value": u'你的补码申请已通过,请点击消息绑定您的电子保修卡', "color": "#173177" }, "keyword1": { "value": log.name, "color": "#173177" }, "keyword2": { "value": log.model_name, "color": "#173177" }, "keyword3": { "value": log.sn, "color": "#173177" }, "remark": { "value": u'感谢您的使用', "color": "#173177" } } wxcfg = WECHAT.get('MINIAPP', {}) appid = wxcfg.get('appID') sendtemplatemessage(openid=user.openid, template_id=settings.TEMPLATE_ID_COMPLEMENT, data=data, miniappid=appid, minipagepath='/pages/register/consumer/consumer?q={}&marketcode=1'.format(ciphertext)) return response(data={ 'ciphertext': ciphertext, }) return response() @check_admin @transaction.atomic def complement_code_contacted(request, administrator): log_id = request.POST.get('log_id', '') is_contacted = int(request.POST.get('is_contacted', 0)) # 0 未联系, 1 已联系 try: log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True) except ComplementCodeLogInfo.DoesNotExist: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_NOT_FOUND) log.is_contacted = is_contacted log.save() return response() @check_admin def administrator_list(request, administrator): page = request.POST.get('page', 1) num = request.POST.get('num', 20) if administrator.admin_type != AdministratorInfo.ADMINISTRATOR: return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED) logs = AdministratorInfo.objects.filter(status=True).order_by('-created_at') count = logs.count() logs, left = pagination(logs, page, num) logs = [log.admindata for log in logs] return response(200, 'Get Admin List Success', u'获取后台管理员成功', data={ 'logs': logs, 'left': left, 'count': count }) @check_admin def administrator_create(request, administrator): admin_type = request.POST.get('admin_type', '') phone = request.POST.get('phone', '') name = request.POST.get('name', '') password = request.POST.get('password', '') brand_name = request.POST.get('brand_name', '') if administrator.admin_type != AdministratorInfo.ADMINISTRATOR: return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED) encryption = make_password(strip(password), settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) AdministratorInfo.objects.create( brand_id=administrator.brand_id, brand_name=brand_name or administrator.brand_name, admin_type=admin_type, phone=phone, name=name, password='', encryption=encryption, ) return response(200, 'Create Admin Success', u'创建后台管理员成功') @check_admin def administrator_update(request, administrator): target_admin_id = request.POST.get('target_admin_id', '') admin_type = int(request.POST.get('admin_type', -1)) phone = request.POST.get('phone', '') name = request.POST.get('name', '') password = request.POST.get('password', '') if administrator.admin_type != AdministratorInfo.ADMINISTRATOR: return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED) target_admin = AdministratorInfo.objects.get(admin_id=target_admin_id, status=True) if admin_type != -1: target_admin.admin_type = admin_type if phone: target_admin.phone = phone if name: target_admin.name = name AdministratorLoginLogInfo.objects.filter(admin_id=target_admin_id).update(admin_name=name) if password: encryption = make_password(strip(password), settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) target_admin.encryption = encryption target_admin.save() return response(200, 'Update Admin Success', u'更新后台管理员成功') @check_admin def administrator_delete(request, administrator): target_admin_id = request.POST.get('target_admin_id', '') if administrator.admin_type != AdministratorInfo.ADMINISTRATOR: return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED) AdministratorInfo.objects.filter(admin_id=target_admin_id).update(status=False) return response(200, 'Delete Admin Success', u'删除后台管理员成功') @check_admin def administrator_login_list(request, administrator): page = request.POST.get('page', 1) num = request.POST.get('num', 20) target_admin_id = request.POST.get('target_admin_id', '') if administrator.admin_type != AdministratorInfo.ADMINISTRATOR: return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED) logs = AdministratorLoginLogInfo.objects.filter(status=True).order_by('-login_at') if target_admin_id: logs = logs.filter(admin_id=target_admin_id) count = logs.count() logs, left = pagination(logs, page, num) logs = [log.admindata for log in logs] return response(200, 'Get Administrator Login List Success', u'获取后台管理员登录日志成功', data={ 'logs': logs, 'left': left, 'count': count }) kodo - Gogs: Go Git Service

Nessuna descrizione

huangqimin001: 1da9278ecd :art: Change user avatar url 3 anni fa
..
management 1da9278ecd :art: Change user avatar url 3 anni fa
migrations b95db9c5c3 Basic gis command 8 anni fa
__init__.py b95db9c5c3 Basic gis command 8 anni fa
admin.py b95db9c5c3 Basic gis command 8 anni fa
apps.py b95db9c5c3 Basic gis command 8 anni fa
models.py b95db9c5c3 Basic gis command 8 anni fa
tests.py b95db9c5c3 Basic gis command 8 anni fa
views.py b95db9c5c3 Basic gis command 8 anni fa