站点去城市标签技术方案
DB 运费模板,索价规则,承运商(carmodel)
订单地理编码的替代方案
STATION
service/order/core
OrderBase
(101)self.district_code =
self.get_own_station().get('district_code')
(765)district_code': self.district_code,
方案:
将thrift创建订单接口增加district_code参数
修改bshop,station新建订单的接口
查询站点单个城市改为查询站点列表城市替代方案
STATION
website/gadmin/views/station.py
StationView
[get_station_data]
if 'district_code' in query_filters:
f['district_code'] = query_filters['district_code']
elif district_code_list:
f['district_code'] = {'$in': district_code_list}
[query_station_data ]
if district_code in self.city_available:
query_filter['district_code'] = district_code
方案:
修改查询语句
website/station/dals/salemenu.py
get_all_station_salemenu
district_code_list = kwargs.get('district_code_list', [])
if district_code_list:
filters['district_code'] = {'$in': district_code_list}
salemenu_ids = []
stations = get_station(filters, ['_id', 'name', 'salemenu', 'district_code'])
方案:
修改查询语句
引用站点城市的替代方案
STATION
website/station/dals/freight.py
freight_edit:
freight.update(post_dict,
district_code=station['district_code'],
方案:
去掉地理标签
website/station/views/abnormal_analysis
AbnormalRemarkDetailsIndexView
district_code = self.station['district_code']
result = get_order_remark(start_date, end_date, station_id, district_code)
方案:
改为查询group下的订单
website/station/views/car_model_manage
CarModelManageView
district_code = self.station['district_code']
result, msg = add_car_model(car_model_name, max_load, district_code)
方案:
改为group id
website/station/views/station.py
SpuDispatchSettingView
total, res = get_spu_dispatch_setting(category_id_1=category_id_1, category_id_2=category_id_2,
dispatch_method=dispatch_method, search_field=search_field, page_vol=page_vol,
page_num=page_num, district_code=self.station['district_code'])
接口废弃
MA:
website/custommanage/dals/customerbill.py
BillView
if 'station_ids' in self.user_data_scope:
station_filter['_id'] = {'$in': self.user_data_scope['station_ids']}
stations = query_stations(('name', 'district_code'), **station_filter)
for station in stations:
station_info[station['_id']] = station
station_district_code.add(station['district_code'])
website/gadmin/views/partner.py
for station in station_available.values():
district_code_list.add(station['district_code'])
方案:
改成extend
website/utils/views/common.py
CommonBaseView get_user_district
stations = query_stations(('district_code',), **station_filter)
for station in stations:
station_district_code.add(station['district_code'])
改下字典结构
STATION
website/station/views/distribute_task
initCargoRequest
district_dict = {
'440300': ['T002'], # 深圳k10所对应的stationid
'440100': ['T066'], # 广州k10所对应的stationid
'441900': ['T134'] # 东莞k10所对应的stationid
}
# 在服务站时可能需要找上游的stationid,而上游stationid可能有多个
station_ids_list = district_dict.get(district_code, '')
根据城市码查询站点的方案
STATION
website/station/dals/freight.py
freight_address:
stations = list(get_stations_by_role(
role_list=[StationRole.SelfSupport, StationRole.Partner],
district_code=station['district_code'],
cols=['_id', 'name', 'salemenu']
))
website/station/views/order.py
OrderIndexView
station_ids = [i['_id'] for i in get_stations_by_role(
role_list=[StationRole.SelfSupport, StationRole.Partner],
district_code=self.station['district_code'],
cols=['_id']
)]
TransportOrdersQueryView
station_ids = [i['_id'] for i in get_stations_by_role(
role_list=[StationRole.SelfSupport.value,
StationRole.Partner.value],
district_code=self.station['district_code'],
cols=['_id']
)]
website/station/views/daily_sales
DailySalesOrderDetailView
district_code = self.station['district_code']
stations = tstation.get_stations_by_role((StationRole.SelfSupport.value, StationRole.Partner.value), district_code=district_code, cols=('_id',), must_active_station=False)
GetStationIdsView
district_code = request.GET.get('district_code', '')
station_id_list = []
for item in get_stations_by_role(district_code=district_code):
...
website/station/views/skuproduct.py
SimpleSkuSearchView
# 判断是总站还是普通站点
if self.station.get('role') == StationRole.Seller.value:
# 总站,使用district_code
stations = tstation.get_stations_by_role(
district_code=self.station['district_code'],
cols=['_id']
)
station_ids = [station['_id'] for station in stations]
MA:
website/custommanage/dals/bill.py
get_seller_station
station_filter = {'role': 4, 'district_code': {'$in': district_code_list}}
stations = get_stations_by_filter(**station_filter)
website/custommanage/dals/restaurant.py
get_all_station
def get_all_station(district_code_list):
all_stations = {}
stations = query_stations(('name',), **{'district_code': {'$in': district_code_list}})
website/custommanage/dals/customereport.py
ReportView get_user_district_station
station_filter['district_code'] = {'$in': self.user.district_code_list}