#coding=utf-8 ''' ''' import json from django.db import transaction import common.models as cm import common.error_info as ce import common.common_functions as ccf import common.common_control as ccc def add_transaction(request): """ """ kwargs = request.json need_params = ["enterprise_id","product_id","price","service_period"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) cvals = ccf.get_need_params(*need_params,**kwargs) cvals["cid"] = request.user.id cvals["cperson"] = request.user.realname try: tansobj = cm.Transaction.objects.create(**cvals) except Exception as e: raise c.TipException(str(e)) def update_transaction(request): """ """ kwargs = request.json need_params = ["id","enterprise_id","product_id","price","service_period"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) cvals = ccf.get_need_params(*need_params,**kwargs) try: cm.Transaction.objects.filter(id=cvals.get("id")).update(**cvals) except Exception as e: raise c.TipException(str(e)) def delete_transaction(request): """ """ kwargs = request.json need_params = ["id"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) ids = str(kwargs.get("id")).split(",") cm.Transaction.objects.filter(id__in=ids).update(status=0) def format_transaction(*ids): """ """ eset = cm.Transaction.objects.filter(id__in=ids,status=1) if not eset.exists(): raise ce.TipException(u"客户不存在!") data = list(eset.values()) return data def get_transaction_info(request): """ """ kwargs = request.json need_params = ["id"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) ids = str(kwargs.get("id")).split(",") entinfo = format_transaction(*ids) entinfo = entinfo[0] if entinfo else {} return entinfo def get_transaction_list(request): """ """ kwargs = request.json eset = cm.Transaction.objects.filter(status=1) if "enterprise_name" in kwargs and kwargs.get("enterprise_name"): #eset = eset.filter(name__icontains=kwargs.get("name")) pass if "product_id" in kwargs and kwargs.get("product_id"): eset = eset.filter(product_id=kwargs.get("product_id")) if "enterprise_id" in kwargs and kwargs.get("enterprise_id"): eset = eset.filter(product_id=kwargs.get("enterprise_id")) total = eset.count() edata = list(eset.values()) page = int(kwargs.get("page",1)) page_size = int(kwargs.get("page_size",20)) total,data = ccf.get_page_list(edata,page,page_size) return (total,data)