173 lines
5.2 KiB
Python
173 lines
5.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from web.controllers.api import route_api
|
|
from flask import request, jsonify,g
|
|
from application import app,db
|
|
from common.libs.UrlManager import UrlManager
|
|
from common.libs.Helper import getCurrentDate
|
|
from common.models.member.MemberAddress import MemberAddress
|
|
|
|
|
|
@route_api.route("/my/address/index")
|
|
def myAddressList():
|
|
resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
|
|
member_info = g.member_info
|
|
list = MemberAddress.query.filter_by( status = 1, member_id = member_info.id )\
|
|
.order_by( MemberAddress.id.desc() ).all()
|
|
data_list = []
|
|
if list:
|
|
for item in list:
|
|
tmp_data = {
|
|
"id":item.id,
|
|
"nickname":item.nickname,
|
|
"mobile":item.mobile,
|
|
"is_default":item.is_default,
|
|
"address":"%s%s%s%s"%( item.province_str,item.city_str,item.area_str,item.address ),
|
|
}
|
|
data_list.append( tmp_data )
|
|
resp['data']['list'] = data_list
|
|
return jsonify(resp)
|
|
|
|
@route_api.route("/my/address/set",methods = [ "POST" ])
|
|
def myAddressSet():
|
|
resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
|
|
req = request.values
|
|
id = int( req['id'] ) if 'id' in req and req['id'] else 0
|
|
nickname = req['nickname'] if 'nickname' in req else ''
|
|
address = req['address'] if 'address' in req else ''
|
|
mobile = req['mobile'] if 'mobile' in req else ''
|
|
|
|
province_id = int( req['province_id'] ) if ( 'province_id' in req and req['province_id'] ) else 0
|
|
province_str = req['province_str'] if 'province_str' in req else ''
|
|
city_id = int( req['city_id'] ) if ( 'city_id' in req and req['city_id'])else 0
|
|
city_str = req['city_str'] if 'city_str' in req else ''
|
|
district_id = int( req['district_id'] ) if ( 'district_id' in req and req['district_id'] ) else 0
|
|
district_str = req['district_str'] if 'district_str' in req else ''
|
|
|
|
member_info = g.member_info
|
|
|
|
if not nickname:
|
|
resp['code'] = -1
|
|
resp['msg'] = "请填写联系人姓名~~"
|
|
return jsonify(resp)
|
|
|
|
if not mobile:
|
|
resp['code'] = -1
|
|
resp['msg'] = "请填写手机号码~~"
|
|
return jsonify(resp)
|
|
|
|
if province_id < 1:
|
|
resp['code'] = -1
|
|
resp['msg'] = "请选择地区~~"
|
|
return jsonify(resp)
|
|
|
|
if city_id < 1:
|
|
resp['code'] = -1
|
|
resp['msg'] = "请选择地区~~"
|
|
return jsonify(resp)
|
|
|
|
if district_id < 1:
|
|
district_str = ''
|
|
|
|
if not address:
|
|
resp['code'] = -1
|
|
resp['msg'] = "请填写详细地址~~"
|
|
return jsonify(resp)
|
|
|
|
if not member_info:
|
|
resp['code'] = -1
|
|
resp['msg'] = "系统繁忙,请稍后再试~~"
|
|
return jsonify(resp)
|
|
|
|
address_info = MemberAddress.query.filter_by( id = id,member_id = member_info.id ).first()
|
|
if address_info:
|
|
model_address = address_info
|
|
else:
|
|
default_address_count = MemberAddress.query.filter_by( is_default = 1,member_id = member_info.id ,status = 1).count()
|
|
model_address = MemberAddress()
|
|
model_address.member_id = member_info.id
|
|
model_address.is_default = 1 if default_address_count == 0 else 0
|
|
model_address.created_time = getCurrentDate()
|
|
|
|
model_address.nickname = nickname
|
|
model_address.mobile = mobile
|
|
model_address.address = address
|
|
model_address.province_id = province_id
|
|
model_address.province_str = province_str
|
|
model_address.city_id = city_id
|
|
model_address.city_str = city_str
|
|
model_address.area_id = district_id
|
|
model_address.area_str = district_str
|
|
model_address.updated_time = getCurrentDate()
|
|
db.session.add(model_address )
|
|
db.session.commit()
|
|
return jsonify(resp)
|
|
|
|
@route_api.route("/my/address/info")
|
|
def myAddressInfo():
|
|
resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
|
|
req = request.values
|
|
id = int( req['id'] ) if 'id' in req else 0
|
|
member_info = g.member_info
|
|
|
|
if id < 1 or not member_info:
|
|
resp['code'] = -1
|
|
resp['msg'] = "系统繁忙,请稍后再试~~"
|
|
return jsonify(resp)
|
|
|
|
address_info = MemberAddress.query.filter_by( id = id ).first()
|
|
if not address_info:
|
|
resp['code'] = -1
|
|
resp['msg'] = "系统繁忙,请稍后再试~~"
|
|
return jsonify(resp)
|
|
|
|
resp['data']['info'] = {
|
|
"nickname":address_info.nickname,
|
|
"mobile":address_info.mobile,
|
|
"address":address_info.address,
|
|
"province_id":address_info.province_id,
|
|
"province_str":address_info.province_str,
|
|
"city_id":address_info.city_id,
|
|
"city_str":address_info.city_str,
|
|
"area_id":address_info.area_id,
|
|
"area_str":address_info.area_str
|
|
}
|
|
return jsonify(resp)
|
|
|
|
|
|
@route_api.route("/my/address/ops",methods = [ "POST" ])
|
|
def myAddressOps():
|
|
resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
|
|
req = request.values
|
|
id = int(req['id']) if 'id' in req else 0
|
|
act = req['act'] if 'act' in req else ''
|
|
member_info = g.member_info
|
|
|
|
if id < 1 or not member_info:
|
|
resp['code'] = -1
|
|
resp['msg'] = "系统繁忙,请稍后再试~~"
|
|
return jsonify(resp)
|
|
|
|
address_info = MemberAddress.query.filter_by(id=id,member_id = member_info.id).first()
|
|
if not address_info:
|
|
resp['code'] = -1
|
|
resp['msg'] = "系统繁忙,请稍后再试~~"
|
|
return jsonify(resp)
|
|
|
|
if act == "del":
|
|
address_info.status = 0
|
|
address_info.updated_time = getCurrentDate()
|
|
db.session.add(address_info)
|
|
db.session.commit()
|
|
elif act == "default":
|
|
MemberAddress.query.filter_by( member_id=member_info.id)\
|
|
.update({ 'is_default' :0 })
|
|
address_info.is_default = 1
|
|
address_info.updated_time = getCurrentDate()
|
|
db.session.add(address_info)
|
|
db.session.commit()
|
|
return jsonify(resp)
|
|
|
|
|
|
|
|
|