def post(self, request, *args, **kwargs): vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip vip_check = VipCheck.VipCheck(vip_id) if vip_check == "N": return Response(FBMsg.wms_vip()) elif vip_check == "Y": data = DataSolve.datasolve(request) try: if data['code'] == "1031": return Response(FBMsg.err_bad()) except: if ListModel.objects.filter(appid=request.user.appid, is_delete=0).count() > 0: ret = FBMsg.wms_warehouse_more() ret['data'] = data return Response(ret) else: ListModel.objects.create(appid=request.user.appid, name=str(data['name']), province=str(data['province']), city=str(data['city']), district=str(data['district']), address=str(data['address']), manager=str(data['manager']), mobile=str(data['mobile']), t_code=Md5.md5(str(data['name']))) ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') ret = FBMsg.wms_ret() ret['ip'] = ip ret['data'] = data return Response(ret) else: return Response(FBMsg.wms_vip())
def put(self, request, format=None): file_obj = request.data['file'] vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip file_check = FileVipCheck.FileVipCheck(file_obj.size, vip_id) if file_check == "N": return Response(FBMsg.err_data()) elif file_check == "Y": if os.path.exists(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink)): pass else: os.makedirs(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink)) if file_obj.name.endswith('.xlsx'): filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xlsx') elif file_obj.name.endswith('.xls'): filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xls') else: return Response(FBMsg.err_data()) with open(filename, 'wb+') as f: for chunk in file_obj.chunks(): f.write(chunk) f.close() df = pd.read_excel(filename) if ListModel.objects.filter(appid=request.user.appid).exists(): upload_data = ListModel.objects.filter(appid=request.user.appid) for i in range(len(upload_data)): upload_data[i].delete() for index, row in df.iterrows(): if str(row[pathname]) == '': pass else: if ListModel.objects.filter(appid=request.user.appid, is_delete=0).count() > 0: ret = FBMsg.wms_warehouse_more() ret['data'] = row return Response(ret) else: ListModel.objects.create(appid=request.user.appid, name=str(row[pathname]), province=str(row['省份']), city=str(row['城市']), district=str(row['行政区']), address=str(row['详细地址']), manager=str(row['负责人']), mobile=str(row['联系电话']), t_code=Md5.md5(str(row[pathname]))) os.remove(filename) ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') ret = FBMsg.wms_ret() ret['ip'] = ip return Response(ret) else: return Response(FBMsg.err_data())