5186 lines
227 KiB
C#
5186 lines
227 KiB
C#
using AllBase;
|
||
using AllBase.Helper;
|
||
using AllBase.Model.Result;
|
||
using NaiBa.Util.Extension;
|
||
using Newtonsoft.Json.Linq;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Net.Http;
|
||
using System.Text;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using TemuKJD.Extension;
|
||
using TemuKJD.BaseForms;
|
||
using TemuKJD.ToolForms;
|
||
using Work;
|
||
using TemuKJD.BLL;
|
||
using System.Text.RegularExpressions;
|
||
using TemuKJD.PDDForms.ProductSelectForms;
|
||
using TemuKJD.WXForms.ShopForms;
|
||
using AllBase.Model.Result.PDDResult;
|
||
using AllBase.Model.Param.WXParam;
|
||
using AllBase.Model.Result.WXResult;
|
||
using Newtonsoft.Json;
|
||
using NaiBa.Util;
|
||
using AllBase.Model.Config;
|
||
using TemuKJD.BLL.Wx;
|
||
using AllBase.Model.Data;
|
||
using NaiBa.CefHelper;
|
||
using TemuKJD.Helper;
|
||
using NaiBa.CefHelper.Handler;
|
||
using CefSharp;
|
||
using TemuKJD.WXForms.ProductForms;
|
||
using CefSharp.WinForms;
|
||
|
||
namespace TemuKJD.WXForms.OrderForms
|
||
{
|
||
public partial class WXOrderListForm : BaseForm
|
||
{
|
||
int PageBegin = 1;
|
||
int PageEnd = 9999;
|
||
|
||
List<string> lstPrintLog = new List<string>();
|
||
bool isOnlineWayBill = false;
|
||
|
||
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
|
||
public bool IsLoadComplate { get; set; } = false;
|
||
|
||
bool isInit = false;
|
||
CheckBox chkSelectAll = null;
|
||
ConcurrentList<WxConsignmentOrderInfo> lstWXConsignmentOrderInfo = new ConcurrentList<WxConsignmentOrderInfo>();
|
||
public Dictionary<string, bool> dicCheckedShopId = new Dictionary<string, bool>();
|
||
public WXOrderListForm()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
private void UserSelectDbProductForm_Load(object sender, EventArgs e)
|
||
{
|
||
btnClearFilter_Click(null, null);
|
||
|
||
dgvOrder.AddMergeColumn(new List<string>() { "colOrderStatus" , "colUpdateStatus" });
|
||
dgvOrder.AddMergeColumnHeader(new List<string>() { "colOrderStatus" , "colUpdateStatus" }, "订单状态");
|
||
|
||
this.splitContainer1.Dock = DockStyle.Fill;
|
||
pnlEditReceiveInfo.Location = new Point(pnlUpdateNotes.Location.X, pnlUpdateNotes.Location.Y);
|
||
pnlBuyUrl.Location = new Point(pnlUpdateNotes.Location.X, pnlUpdateNotes.Location.Y);
|
||
|
||
dtpFilterBeginTime.Value = DateTime.Now.AddDays(-1);
|
||
dtpFilterEndTime.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||
|
||
pbLoading.Visible = true;
|
||
Task.Run(() =>
|
||
{
|
||
GetRefreshPrintId();
|
||
Invoke(new Action(() => {
|
||
pbLoading.Visible = false;
|
||
}));
|
||
});
|
||
|
||
dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig<Dictionary<string, bool>>("wx_checked_shop_dic");
|
||
if (dicCheckedShopId == null)
|
||
dicCheckedShopId = new Dictionary<string, bool>();
|
||
|
||
chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
|
||
dgvShop.Columns["colSelect"].HeaderText = "";
|
||
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
|
||
|
||
this.dgvOrder.AddSelectorColumn("colCheck");
|
||
|
||
dgvOrder.AddImgColumn("colProductSkcPic", "colImgUrl");
|
||
|
||
if (BaseClass.UserAuthority.Contains("在线寄件") || BaseClass.ParentAuthority.Contains("在线寄件"))
|
||
{
|
||
this.dgvOrder.Columns["colPrintId"].Visible = true;
|
||
this.dgvOrder.Columns["colOnlineWaybillOrderId"].Visible = true;
|
||
this.dgvOrder.Columns["colOnlineWaybill"].Visible = true;
|
||
this.btnRefreshPrintId.Visible = true;
|
||
//this.btnBatchOnlieWaybill.Visible = true;
|
||
//this.btnStopBatchOnlieWaybill.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
this.dgvOrder.Columns["colPrintId"].Visible = false;
|
||
this.dgvOrder.Columns["colOnlineWaybillOrderId"].Visible = false;
|
||
this.dgvOrder.Columns["colOnlineWaybill"].Visible = false;
|
||
this.btnRefreshPrintId.Visible = false;
|
||
this.btnBatchOnlieWaybill.Visible = false;
|
||
this.btnStopBatchOnlieWaybill.Visible = false;
|
||
}
|
||
|
||
IsLoadComplate = true;
|
||
}
|
||
|
||
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
|
||
{
|
||
if (!chkSelectAll.Checked)
|
||
{
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
row.Cells["colSelect"].Value = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId);
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
|
||
if (row.Visible == true)
|
||
row.Cells["colSelect"].Value = true;
|
||
}
|
||
}
|
||
|
||
foreach (var r in dgvShop.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool();
|
||
}
|
||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
|
||
}
|
||
|
||
private void btnRefreshShop_Click(object sender, EventArgs e)
|
||
{
|
||
pbLoadingShop.Visible = true;
|
||
RefreshShopLogin();
|
||
pbLoadingShop.Visible = false;
|
||
}
|
||
|
||
private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e)
|
||
{
|
||
if (Visible == true)
|
||
{
|
||
RefreshShopLogin();
|
||
//updateAuthor();
|
||
|
||
if (!isInit)
|
||
{
|
||
}
|
||
|
||
isInit = true;
|
||
}
|
||
}
|
||
|
||
private void RefreshShopLogin()
|
||
{
|
||
// 店铺Id
|
||
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||
// 获取被删除的店铺
|
||
List<DataGridViewRow> dgvRowList = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||
=> !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList();
|
||
// 更新被删除的店铺列表
|
||
foreach (var row in dgvRowList)
|
||
{
|
||
dgvShop.Rows.Remove(row);
|
||
}
|
||
// 绑定其他店铺(含新导入的店铺)
|
||
foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList)
|
||
{
|
||
if (!string.IsNullOrEmpty(shopEntity.ShopId))
|
||
BindShop(shopEntity, selectIds);
|
||
}
|
||
cmbFilterShopNotes.Items.Clear();
|
||
foreach (var note in GlobalConfig.ShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct())
|
||
{
|
||
cmbFilterShopNotes.Items.Add(note);
|
||
}
|
||
cmbFilterShopGroup.Items.Clear();
|
||
foreach (var group in GlobalConfig.ShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct())
|
||
{
|
||
cmbFilterShopGroup.Items.Add(group);
|
||
}
|
||
cmbFilterOrderShopGroup.Items.Clear();
|
||
foreach (var group in GlobalConfig.ShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct())
|
||
{
|
||
cmbFilterOrderShopGroup.Items.Add(group);
|
||
}
|
||
}
|
||
|
||
private void BindShop(ShopLoginInfo shopEntity, List<string> selectShopId = null, string msg = "")
|
||
{
|
||
if (shopEntity == null)
|
||
return;
|
||
if (shopEntity.is_point_shop_expire)
|
||
return;
|
||
if (selectShopId == null)
|
||
selectShopId = new List<string>();
|
||
|
||
bool canUse = shopEntity.LoginStatus == "登录成功";
|
||
var rows = dgvShop.Rows.Cast<DataGridViewRow>().Where(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId).ToList();
|
||
var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt();
|
||
if (rows.Count == 0)
|
||
{
|
||
this.dgvShop.Rows.Add(
|
||
dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true,
|
||
shopEntity.LoginName,
|
||
shopEntity.ShopId,
|
||
shopEntity.ShopAccount,
|
||
shopEntity.Notes,
|
||
shopEntity.GroupName,
|
||
"选择商品",
|
||
canUse ? "在线" : "掉线",
|
||
GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
|
||
canUse,
|
||
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0,
|
||
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0,
|
||
shopEntity.AddProductRemaining,
|
||
msg
|
||
);
|
||
}
|
||
else
|
||
{
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse);
|
||
row.Cells["colShopLoginName"].Value = shopEntity.LoginName;
|
||
row.Cells["colShopName"].Value = shopEntity.ShopAccount;
|
||
row.Cells["colShopNotes"].Value = shopEntity.Notes;
|
||
row.Cells["colGroup"].Value = shopEntity.GroupName;
|
||
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
|
||
row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||
row.Cells["colCanUse"].Value = canUse;
|
||
row.Cells["colApi"].Value = GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期";
|
||
row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining;
|
||
row.Cells["colUploadCount"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0;
|
||
row.Cells["colOnSaleNum"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0;
|
||
row.Cells["colMessage"].Value = msg;
|
||
}
|
||
}
|
||
|
||
displayAuthStatus(shopEntity);
|
||
}
|
||
|
||
void displayAuthStatus(ShopLoginInfo shop)
|
||
{
|
||
var rows = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId);
|
||
foreach (var row in rows)
|
||
{
|
||
bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线";
|
||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
|
||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
|
||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
|
||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
|
||
canUse = row.Cells["colApi"].Value.ParseToString() == "可用";
|
||
(row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
|
||
(row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
|
||
(row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
|
||
(row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
|
||
}
|
||
}
|
||
|
||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||
{
|
||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||
return;
|
||
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
|
||
string columnName = dgvShop.Columns[e.ColumnIndex].Name;
|
||
string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
|
||
string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
|
||
var row = dgvShop.Rows[e.RowIndex];
|
||
switch (columnName)
|
||
{
|
||
case "colSelect":
|
||
//if (row.Cells["colCanUse"].Value.ParseToBool())
|
||
{
|
||
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
|
||
|
||
chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged;
|
||
if (dgvShop.Rows.Cast<DataGridViewRow>().All(r => r.Cells["colSelect"].Value.ParseToBool()))
|
||
chkSelectAll.Checked = true;
|
||
else
|
||
chkSelectAll.Checked = false;
|
||
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
|
||
}
|
||
//else
|
||
{
|
||
//BaseMsgForm.ShowInfo("店铺未登录!");
|
||
}
|
||
|
||
dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool();
|
||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
|
||
break;
|
||
case "colLoginStatus":
|
||
{
|
||
if (WXShopListForm.Instance == null)
|
||
WXShopListForm.Instance = new WXShopListForm();
|
||
WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false);
|
||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||
//shopLoginForm.prodUserSelectForm = this;
|
||
if (shop.LoginStatus != "登录成功")
|
||
{
|
||
shopLoginForm.openType = EnumOpenType.login;
|
||
shopLoginForm.ShowDialog();
|
||
RefreshShopLogin();
|
||
}
|
||
else
|
||
{
|
||
shopLoginForm.openType = EnumOpenType.manage;
|
||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||
shopLoginForm.Show();
|
||
}
|
||
}
|
||
break;
|
||
case "colApi":
|
||
{
|
||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||
shopLoginForm.openType = EnumOpenType.manage;
|
||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139";
|
||
shopLoginForm.Show();
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
private void btnSearch_Click(object sender, EventArgs e)
|
||
{
|
||
var lstShopId = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||
if (lstShopId.Count == 0)
|
||
{
|
||
BaseMsgForm.ShowInfo("请选择店铺!");
|
||
return;
|
||
}
|
||
}
|
||
|
||
private void dgvOrder_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
||
{
|
||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||
return;
|
||
string headerText = dgvOrder.Columns[e.ColumnIndex].HeaderText;
|
||
var shopId = dgvOrder.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
|
||
var spuId = dgvOrder.Rows[e.RowIndex].Cells["colSpuId"].Value.ParseToString();
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||
var row = dgvOrder.Rows[e.RowIndex];
|
||
var cell = row.Cells[e.ColumnIndex];
|
||
var orderId = row.Cells["colOrderId"].Value.ParseToString();
|
||
switch (headerText)
|
||
{
|
||
case "采购地址":
|
||
string buyUrl = row.Cells["colBuyUrl"].Value.ParseToString();
|
||
if (!string.IsNullOrEmpty(buyUrl))
|
||
{
|
||
Clipboard.SetText(buyUrl);
|
||
statusBar.lblTaskStatus.Text = "店铺 " + shop.ShopAccount + " 订单 " + orderId + " 采购地址复制成功";
|
||
}
|
||
break;
|
||
case "收货信息":
|
||
string receiveInfo = row.Cells["colReceiveInfo"].Value.ParseToString();
|
||
if (!string.IsNullOrEmpty(receiveInfo))
|
||
{
|
||
Clipboard.SetText(row.Cells["colReceiveInfo"].Value.ParseToString());
|
||
statusBar.lblTaskStatus.Text = "店铺 " + shop.ShopAccount + " 订单 " + orderId + " 收货信息复制成功";
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||
{
|
||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||
return;
|
||
string headerText = dgvOrder.Columns[e.ColumnIndex].HeaderText;
|
||
var shopId = dgvOrder.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
|
||
var spuId = dgvOrder.Rows[e.RowIndex].Cells["colSpuId"].Value.ParseToString();
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||
var row = dgvOrder.Rows[e.RowIndex];
|
||
var cell = row.Cells[e.ColumnIndex];
|
||
var orderId = row.Cells["colOrderId"].Value.ParseToString();
|
||
|
||
switch (headerText)
|
||
{
|
||
case "删除":
|
||
break;
|
||
case "登录":
|
||
{
|
||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||
shopLoginForm.openType = EnumOpenType.login;
|
||
shopLoginForm.ShowDialog();
|
||
RefreshShopLogin();
|
||
}
|
||
break;
|
||
case "进店":
|
||
{
|
||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||
if (shop.LoginStatus == "登录成功")
|
||
{
|
||
shopLoginForm.openType = EnumOpenType.manage;
|
||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||
//shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
|
||
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/order/list";
|
||
shopLoginForm.Show();
|
||
}
|
||
else
|
||
{
|
||
shopLoginForm.openType = EnumOpenType.login;
|
||
shopLoginForm.ShowDialog();
|
||
RefreshShopLogin();
|
||
}
|
||
}
|
||
break;
|
||
case "图片":
|
||
{
|
||
ShowImgForm imgFrom = new ShowImgForm(dgvOrder.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
|
||
imgFrom.ShowDialog();
|
||
break;
|
||
}
|
||
case "礼":
|
||
case "优化":
|
||
{
|
||
WXOrderListOptimizeForm form = new WXOrderListOptimizeForm(shop);
|
||
form.lblOrderId.Text = orderId;
|
||
form.lblSpuId.Text = row.Cells["colSpuId"].Value.ParseToString(); // goodsId
|
||
form.lblSkuId.Text = row.Cells["colSkuId"].Value.ParseToString(); // skuId
|
||
form.txtGoodsName.Text = row.Cells["colProductName"].Value.ParseToString(); // 商品名称
|
||
form.txtSkuName.Text = row.Cells["colSkuSpec"].Value.ParseToString(); // sku规格名称
|
||
form.txtCurrentPrice.Text = row.Cells["colCurrentPrice"].Value.ParseToString(); // 当前商品价格
|
||
form.txtOrderPrice.Text = row.Cells["colSalePrice"].Value.ParseToString(); // 订单价格
|
||
form.txtCurrentStock.Text = row.Cells["colCurrentStock"].Value.ParseToString(); // 当前库存;
|
||
form.numAddPrice.Value = 0;
|
||
form.ShowDialog();
|
||
if (form.EditPriceSuccess == true)
|
||
{
|
||
if (form.prodObj != null)
|
||
{
|
||
foreach (var rw in this.dgvOrder.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
if (rw.Cells["colSpuId"].Value.ParseToString() != spuId)
|
||
continue;
|
||
|
||
foreach (var sku in form.prodObj["skuList"])
|
||
{
|
||
if (rw.Cells["colSkuId"].Value.ParseToString() == sku["skuId"].ParseToString())
|
||
{
|
||
rw.Cells["colCurrentPrice"].Value = sku["price"].ParseToInt() * 0.01m + form.numAddPrice.Value;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (form.SendGiftSuccess == true)
|
||
{
|
||
foreach (var rw in this.dgvOrder.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
if (rw.Cells["colOrderId"].Value.ParseToString() != orderId)
|
||
continue;
|
||
rw.Cells["colOpResult"].Value = "礼物单已发送";
|
||
}
|
||
}
|
||
if (form.ClearStock == true)
|
||
{
|
||
foreach (var rw in this.dgvOrder.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
if (rw.Cells["colSpuId"].Value.ParseToString() != spuId)
|
||
continue;
|
||
if (rw.Cells["colSkuId"].Value.ParseToString() != row.Cells["colSkuId"].Value.ParseToString())
|
||
continue;
|
||
rw.Cells["colOpResult"].Value = "清除库存成功";
|
||
rw.Cells["colCurrentStock"].Value = 0;
|
||
}
|
||
}
|
||
if (form.IsDownProd == true)
|
||
{
|
||
foreach (var rw in this.dgvOrder.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
if (rw.Cells["colSpuId"].Value.ParseToString() != spuId)
|
||
continue;
|
||
rw.Cells["colOpResult"].Value = "商品下架成功";
|
||
//rw.Cells["colCurrentStock"].Value = 0;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case "取消优惠":
|
||
{
|
||
int onSaleStatusCode = -1;
|
||
int pageSize = 50;
|
||
var getProdOnSaleRst = WXClearNoVisit.searchProduct(shop, 1, pageSize, spuId, onSaleStatusCode);
|
||
Thread.Sleep(Randomx.GetId(50, 100));
|
||
if (!getProdOnSaleRst.Contains("\"success\":true"))
|
||
{
|
||
ShowShopError(shop, getProdOnSaleRst, true);
|
||
break;
|
||
}
|
||
var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst)["productList"].FirstOrDefault();
|
||
if (prodObjs != null)
|
||
{
|
||
var str = JsonHelper.SerializeObject(prodObjs);
|
||
}
|
||
|
||
var skuId = row.Cells["colSkuId"].Value.ParseToString();
|
||
var price = (row.Cells["colCurrentPrice"].Value.ParseToDecimal() * 100).ParseToInt();
|
||
var deltaPrice = 0;
|
||
while (!price.ToString().EndsWith("66"))
|
||
{
|
||
deltaPrice++;
|
||
price++;
|
||
}
|
||
|
||
JObject changePriceObj = new JObject();
|
||
JArray skuArr = new JArray();
|
||
foreach (var sku in prodObjs["skuList"])
|
||
{
|
||
JObject obj = new JObject();
|
||
obj["spuId"] = spuId;
|
||
obj["skuId"] = sku["skuId"];
|
||
obj["salePrice"] = sku["price"].ParseToInt() + deltaPrice;
|
||
skuArr.Add(obj);
|
||
}
|
||
changePriceObj["skuList"] = skuArr;
|
||
changePriceObj["uploadSource"] = 6;
|
||
|
||
// string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
|
||
var rst = WXOrderList.EditPrice(shop, changePriceObj);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
|
||
BaseMsgForm.ShowError("修改优惠商品价格失败 " + error);
|
||
return;
|
||
}
|
||
|
||
JObject endActivityObj = new JObject();
|
||
endActivityObj["platformActivityId"] = "1016";
|
||
JArray arr = new JArray();
|
||
foreach (var sku in prodObjs["skuList"])
|
||
{
|
||
JObject obj = new JObject();
|
||
obj["productId"] = spuId;
|
||
obj["skuId"] = sku["skuId"];
|
||
arr.Add(obj);
|
||
}
|
||
endActivityObj["productList"] = arr;
|
||
endActivityObj["actionType"] = 1;
|
||
//{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1}
|
||
|
||
rst = WXOrderList.cancelActivity(shop, endActivityObj);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
|
||
BaseMsgForm.ShowError("取消优惠失败 " + error);
|
||
return;
|
||
}
|
||
else
|
||
{
|
||
foreach (var rw in this.dgvOrder.Rows.Cast<DataGridViewRow>())
|
||
{
|
||
if (rw.Cells["colSpuId"].Value.ParseToString() != spuId)
|
||
continue;
|
||
rw.Cells["colOpResult"].Value = "取消优惠成功";
|
||
|
||
foreach (var sku in prodObjs["skuList"])
|
||
{
|
||
if (rw.Cells["colSkuId"].Value.ParseToString() == sku["skuId"].ParseToString())
|
||
{
|
||
rw.Cells["colCurrentPrice"].Value = sku["price"].ParseToInt() * 0.01m + deltaPrice * 0.01m;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
BaseMsgForm.ShowInfo("取消优惠成功");
|
||
}
|
||
}
|
||
break;
|
||
case "修改":
|
||
{
|
||
pnlUpdateNotes.Visible = true;
|
||
pnlEditReceiveInfo.Visible = false;
|
||
pnlBuyUrl.Visible = false;
|
||
lblShopName.Text = shop.ShopAccount;
|
||
lblOrderId.Text = orderId;
|
||
txtNotes.Text = row.Cells["colNotes"].Value.ParseToString();
|
||
lblColorTag.Text = row.Cells["colNotesColor"].Value.ParseToString();
|
||
ucCheckBox1.CheckBoxCheckColor = Color.Gray;
|
||
ucCheckBox1.CheckBoxBorderColor = Color.Gray;
|
||
ucCheckBox2.CheckBoxCheckColor = Color.Red;
|
||
ucCheckBox2.CheckBoxBorderColor = Color.Red;
|
||
ucCheckBox3.CheckBoxCheckColor = Color.Orange;
|
||
ucCheckBox3.CheckBoxBorderColor = Color.Orange;
|
||
ucCheckBox4.CheckBoxCheckColor = Color.Green;
|
||
ucCheckBox4.CheckBoxBorderColor = Color.Green;
|
||
ucCheckBox5.CheckBoxCheckColor = Color.Blue;
|
||
ucCheckBox5.CheckBoxBorderColor = Color.Blue;
|
||
ucCheckBox1.Checked = lblColorTag.Text == "0";
|
||
ucCheckBox2.Checked = lblColorTag.Text == "1";
|
||
ucCheckBox3.Checked = lblColorTag.Text == "2";
|
||
ucCheckBox4.Checked = lblColorTag.Text == "3";
|
||
ucCheckBox5.Checked = lblColorTag.Text == "4";
|
||
}
|
||
break;
|
||
case "👁":
|
||
{
|
||
//cell.Value = "查询中…";
|
||
pbLoading.Visible = true;
|
||
Task.Run(() =>
|
||
{
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
var currentStatus = UpdateOrderStatus(shop, orderId);
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOrderStatus"].Value = currentStatus;
|
||
}
|
||
}));
|
||
if (currentStatus != "待发货" && currentStatus != "已发货" && currentStatus != "超时未发货")
|
||
{
|
||
Invoke(new Action(() => { pbLoading.Visible = false; }));
|
||
BaseMsgForm.ShowError("订单状态已变化,请勿拍单");
|
||
return;
|
||
}
|
||
|
||
ShowOrderAddress(shop, orderId, row);
|
||
Invoke(new Action(() => { pbLoading.Visible = false; }));
|
||
});
|
||
}
|
||
break;
|
||
case "填":
|
||
{
|
||
pnlUpdateNotes.Visible = false;
|
||
pnlEditReceiveInfo.Visible = true;
|
||
pnlBuyUrl.Visible = false;
|
||
lblEditReceiveInfoShopName.Text = shop.ShopAccount;
|
||
lblEditReceiveInfoShopId.Text = shop.ShopId;
|
||
lblEditReceiveInfoOrderId.Text = orderId;
|
||
txtEditReceiveInfoAddress.TextChanged -= txtEditReceiveInfoAddress_TextChanged;
|
||
txtEditReceiveInfoAddress.Text = ""; // row.Cells["colReceiveInfo"].Value.ParseToString();
|
||
txtEditReceiveInfoAddress.TextChanged += txtEditReceiveInfoAddress_TextChanged;
|
||
txtEditReceiveInfoOldAddress.Text = row.Cells["colReceiveInfo"].Value.ParseToString();
|
||
}
|
||
break;
|
||
case "编辑":
|
||
{
|
||
pnlUpdateNotes.Visible = false;
|
||
pnlEditReceiveInfo.Visible = false;
|
||
pnlBuyUrl.Visible = true;
|
||
lblBuyUrlShopName.Text = shop.ShopAccount;
|
||
lblBuyUrlShopId.Text = shop.ShopId;
|
||
lblBuyUrlOrderId.Text = orderId;
|
||
lblBuyUrlSpuCode.Text = row.Cells["colSpuCode"].Value.ParseToString();
|
||
txtBuyUrl.Text = row.Cells["colBuyUrl"].Value.ParseToString();
|
||
}
|
||
break;
|
||
case "打印":
|
||
{
|
||
Task.Run(() =>
|
||
{
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
if (!row.Cells["colReceiveInfo"].Value.ParseToString().Contains("未查看地址"))
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOpResult"].Value = "已获取地址,请勿重复打印";
|
||
}
|
||
}));
|
||
return;
|
||
}
|
||
|
||
var currentStatus = UpdateOrderStatus(shop, orderId);
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOrderStatus"].Value = currentStatus;
|
||
}
|
||
}));
|
||
if (currentStatus != "待发货" && currentStatus != "已发货" && currentStatus != "超时未发货")
|
||
{
|
||
BaseMsgForm.ShowError("订单状态已变化,请勿拍单");
|
||
return;
|
||
}
|
||
|
||
if (row.Cells["colDecrypt"].Value.ParseToString() != "❌")
|
||
{
|
||
// 点小眼睛查看地址
|
||
ShowOrderAddress(shop, orderId, row, false);
|
||
}
|
||
|
||
if (!row.Cells["colReceiveInfo"].Value.ParseToString().Contains("未查看地址"))
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOpResult"].Value = "已获取地址,请勿重复打印";
|
||
}
|
||
}));
|
||
return;
|
||
}
|
||
|
||
// 在线寄件
|
||
GetOnlineWayBill(shop, row);
|
||
|
||
});
|
||
}
|
||
break;
|
||
case "刷新":
|
||
{
|
||
pbLoading.Visible = true;
|
||
Task.Run(() =>
|
||
{
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
var currentStatus = UpdateOrderStatus(shop, orderId);
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOrderStatus"].Value = currentStatus;
|
||
rw.Cells["colOpResult"].Value = "订单刷新:" + DateTime.Now.ToString("HH:mm:ss");
|
||
}
|
||
pbLoading.Visible = false;
|
||
}));
|
||
if (currentStatus != "待发货" && currentStatus != "已发货" && currentStatus != "超时未发货")
|
||
{
|
||
BaseMsgForm.ShowError("订单状态已变化,请勿拍单");
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
break;
|
||
case "":
|
||
dgvOrder.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvOrder.Rows[e.RowIndex].Cells["colCheck"].Value;
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
void ShowOrderAddress(ShopLoginInfo shop, string orderId, DataGridViewRow row, bool ShowErrorDialog = true)
|
||
{
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
var deRst = "测试地址写入{\"code\"0}";
|
||
deRst = WXOrderList.decryptOrder(shop, orderId);
|
||
if (deRst.Contains("\"code\":0"))
|
||
{
|
||
var url = BaseClass.BuildObjString("shop/wx_add_mdy_order_address");
|
||
var data = UserLogin.GetSignaturex();
|
||
data += "&shop_id=" + shop.ShopId;
|
||
data += "&order_id=" + orderId;
|
||
data += "&order_address=" + GetHtml.UrlEncodeUtf8(deRst);
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
{
|
||
var errMsg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colOpResult"].Value = errMsg;
|
||
rw.Cells["colReceiveInfo"].Value = GetDecryptOrder(deRst);
|
||
rw.Cells["colReceiveInfo"].Style.ForeColor = DefaultForeColor;
|
||
}
|
||
if (ShowErrorDialog)
|
||
BaseMsgForm.ShowError("查看地址成功但保存到服务端失败:" + errMsg);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in rows)
|
||
{
|
||
rw.Cells["colReceiveInfo"].Value = GetDecryptOrder(deRst);
|
||
rw.Cells["colReceiveInfo"].Style.ForeColor = DefaultForeColor;
|
||
rw.Cells["colOpResult"].Value = "查看地址成功";
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
var error = BaseRegex.GetStringJsonByRegs(ref deRst, deRst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
|
||
if (error.Contains("\"code\":17899002") || error.Contains("\"code\":10020123"))
|
||
{
|
||
if (error.Contains("\"code\":17899002"))
|
||
error = "基于用户隐私保护,无法查看收货信息";
|
||
if (error.Contains("\"code\":10020123"))
|
||
error = "今日查看次数已用完";
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var rw in dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shop.ShopId).ToList())
|
||
{
|
||
rw.Cells["colDecrypt"].Value = "❌";
|
||
if (rw.Cells["colReceiveInfo"].Value.ParseToString().Contains("未查看地址"))
|
||
rw.Cells["colOpResult"].Value = "查看地址失败:" + error;
|
||
}
|
||
row.Cells["colOpResult"].Value = "查看地址失败:" + error;
|
||
if (ShowErrorDialog)
|
||
BaseMsgForm.ShowError("查看地址失败:" + error);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "查看地址失败:" + error;
|
||
if (ShowErrorDialog)
|
||
BaseMsgForm.ShowError("查看地址失败:" + error);
|
||
}));
|
||
}
|
||
}
|
||
//Invoke(new Action(() => { cell.Value = "👁"; }));
|
||
}
|
||
|
||
void GetOnlineWayBill(ShopLoginInfo shop, DataGridViewRow row)
|
||
{
|
||
var orderId = row.Cells["colOrderId"].Value.ParseToString();
|
||
|
||
for (int i = 0; i < 50 && isOnlineWayBill; i++)
|
||
Thread.Sleep(200);
|
||
|
||
Invoke(new Action(() => { pbLoading.Visible = true; }));
|
||
isOnlineWayBill = true;
|
||
|
||
WXPreCreateOrderWaybillOnlineParam preWaybillOnlineparam = new WXPreCreateOrderWaybillOnlineParam();
|
||
preWaybillOnlineparam.req.requestContent.Add(new preWaybillOnlineRequestContentParam()
|
||
{
|
||
ecOrderList = new List<ecOrderParam>(),
|
||
uuid = Guid.NewGuid().ParseToString(),
|
||
});
|
||
|
||
//#if DEBUG
|
||
var rst = WXOrderList.searchOnlineWaybill(shop, orderId);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "errMsg", "errorMsg", "err_msg", "error_msg");
|
||
//BaseMsgForm.ShowError("打印失败:" + error, "错误", FormLevel.LARGE);
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "打印失败:" + error;
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
if (rst.Contains("\"orderList\":[]"))
|
||
{
|
||
|
||
var url = BaseClass.BuildObjString("product/wx_get_random_after_sale_list");
|
||
var data = Work.UserLogin.GetSignaturex();
|
||
data += "&page_size=1";
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (html.Contains("\"code\":200") && !html.Contains("\"data\":[]"))
|
||
{
|
||
var obj = JsonHelper.JObjectParse(html)["data"].FirstOrDefault()["after_sale_json"];
|
||
string addressJson = obj.ParseToString();
|
||
|
||
var senderInfo = preWaybillOnlineparam.req.requestContent.FirstOrDefault().sender;
|
||
senderInfo.province = BaseRegex.GetStringJson(ref addressJson, "province_name");
|
||
senderInfo.city = BaseRegex.GetStringJson(ref addressJson, "city_name");
|
||
senderInfo.county = BaseRegex.GetStringJson(ref addressJson, "county_name");
|
||
senderInfo.street = BaseRegex.GetStringJson(ref addressJson, "street_name").ParseToString();
|
||
senderInfo.mobile = BaseRegex.GetStringJson(ref addressJson, "tel_number");
|
||
senderInfo.name = BaseRegex.GetStringJson(ref addressJson, "user_name");
|
||
var detailAddressLst = new WXOrderList().detailAddress.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
var detailAddress = detailAddressLst[Randomx.GetId(detailAddressLst.Count)];
|
||
detailAddress += Randomx.GetId(1, 21) + WXOrderList.quantifiers1[Randomx.GetId(WXOrderList.quantifiers1.Count)];
|
||
detailAddress += Randomx.GetId(1, 35) + Randomx.GetId(1, 9).ToString().PadLeft(2, '0') + WXOrderList.quantifiers2[Randomx.GetId(WXOrderList.quantifiers2.Count)];
|
||
|
||
senderInfo.address = detailAddress;
|
||
|
||
//senderInfo.address = BaseRegex.GetStringJson(ref addressJson, "detail_info");
|
||
senderInfo.mobile = WaybillHelper.MobileHead[Randomx.GetId(WaybillHelper.MobileHead.Count)] + Randomx.GetNumber(8);
|
||
senderInfo.name = WaybillHelper.LastName[Randomx.GetId(WaybillHelper.LastName.Count)] + (Randomx.GetId(2) == 1 ? "先生" : "女士");
|
||
}
|
||
ecOrderParam orderParam = new ecOrderParam();
|
||
orderParam.ecOrderId = orderId;
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
foreach (var rw in rows)
|
||
{
|
||
orderParam.goodsList.Add(new orderGoodsParam
|
||
{
|
||
goodCount = rw.Cells["colCnt"].Value.ParseToInt(),
|
||
goodName = rw.Cells["colProductName"].Value.ParseToString(),
|
||
productId = rw.Cells["colSpuId"].Value.ParseToString(),
|
||
skuId = rw.Cells["colSkuId"].Value.ParseToString(),
|
||
});
|
||
}
|
||
preWaybillOnlineparam.req.requestContent.FirstOrDefault().ecOrderList.Add(orderParam);
|
||
|
||
var result = WXOrderList.preCreateOrderWaybillOnline(shop, preWaybillOnlineparam);
|
||
if (result.Contains("账号未开通在线寄件服务"))
|
||
{
|
||
//BaseMsgForm.ShowError("账号未开通在线寄件服务");
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "账号未开通在线寄件服务,无法打印";
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
if (result.Contains("订单已分配给供货商,商家无需发货"))
|
||
{
|
||
//BaseMsgForm.ShowError("订单已分配给供货商,商家无需发货");
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "订单已分配给供货商,商家无需发货";
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
if (result.Contains("订单商品已全部发货"))
|
||
{
|
||
//BaseMsgForm.ShowError("订单商品已全部发货");
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "订单商品已全部发货";
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
if (!result.Contains("\"ret\":0,"))
|
||
{
|
||
//BaseMsgForm.ShowError("打印失败:" + result, "错误", FormLevel.LARGE);
|
||
var error = BaseRegex.GetStringJsonByRegs(ref result, result, "errMsg", "errorMsg", "err_msg", "error_msg");
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "打印失败:" + error;
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
List<WxOnlineWaybillDeliveryInfo> deliverInfoLst = new List<WxOnlineWaybillDeliveryInfo>();
|
||
var jObj = JsonHelper.JObjectParse(result)["list"];
|
||
deliverInfoLst = JsonHelper.DeserializeJsonToList<WxOnlineWaybillDeliveryInfo>(jObj.ParseToString())
|
||
.Where(d => d.responseContent.FirstOrDefault()?.deliveryId == "YTO" || d.responseContent.FirstOrDefault()?.deliveryId == "YUNDA" ||
|
||
d.responseContent.FirstOrDefault()?.deliveryId == "ZTO" || d.responseContent.FirstOrDefault()?.deliveryId == "STO").ToList()
|
||
.Where(d => d.responseContent.FirstOrDefault()?.deliveryErrorMsg == "success").ToList();
|
||
|
||
var deliverInfo = deliverInfoLst[Randomx.GetId(deliverInfoLst.Count)];
|
||
|
||
WXCreateOrderWaybillOnlineParam waybillOnlineparam = new WXCreateOrderWaybillOnlineParam();
|
||
waybillOnlineparam.requestContent.Add(new WaybillOnlineRequestContentParam()
|
||
{
|
||
deliveryId = deliverInfo.responseContent.FirstOrDefault().deliveryId,
|
||
deliveryInfo = preWaybillOnlineparam.req.requestContent.FirstOrDefault().deliveryInfo,
|
||
ecOrderList = preWaybillOnlineparam.req.requestContent.FirstOrDefault().ecOrderList,
|
||
ewaybillOrderId = deliverInfo.responseContent.FirstOrDefault().ewaybillOrderId,
|
||
extInfo = preWaybillOnlineparam.req.requestContent.FirstOrDefault().extInfo,
|
||
orderVasList = preWaybillOnlineparam.req.requestContent.FirstOrDefault().orderVasList,
|
||
sender = preWaybillOnlineparam.req.requestContent.FirstOrDefault().sender,
|
||
source = preWaybillOnlineparam.req.requestContent.FirstOrDefault().source,
|
||
uuid = preWaybillOnlineparam.req.requestContent.FirstOrDefault().uuid,
|
||
});
|
||
result = WXOrderList.createOrderWaybillOnline(shop, waybillOnlineparam);
|
||
if (!result.Contains("\"ret\":0,"))
|
||
{
|
||
var error = BaseRegex.GetStringJsonByRegs(ref result, result, "errMsg", "errorMsg", "err_msg", "error_msg");
|
||
//BaseMsgForm.ShowError("打印失败:" + error, "错误", FormLevel.LARGE);
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOpResult"].Value = "打印失败:" + error;
|
||
pbLoading.Visible = false;
|
||
}));
|
||
isOnlineWayBill = false;
|
||
return;
|
||
}
|
||
else
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
row.Cells["colOnlineWaybillOrderId"].Value = BaseRegex.GetStringJson(ref result, "ewaybillOrderId");
|
||
row.Cells["colOnlineWaybill"].Value = "再次\r\n打印";
|
||
ShowDgvRow(row);
|
||
}));
|
||
}
|
||
}
|
||
|
||
WXShopLoginForm form = null;
|
||
Invoke(new Action(() =>
|
||
{
|
||
//if (shop.Chat == null)
|
||
//{
|
||
// shop.Chat = CEFBrowser.CreateChromiumWebBrowser("https://store.weixin.qq.com/shop/waybill/allToAll", false);
|
||
// CustomResourceRequestHandlerLocal resourceRequestHandler = new CustomResourceRequestHandlerLocal();
|
||
// resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
|
||
// resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
|
||
// shop.Chat.RequestHandler = new CustomRequestHandler(resourceRequestHandler);
|
||
// var lifeSapnHandler = new LifeSpanHandlerLocal(PopWindowType.SelfWindow);
|
||
// shop.Chat.LifeSpanHandler = lifeSapnHandler;
|
||
// shop.Chat.KeyboardHandler = new KeyboardHandler();
|
||
// shop.Chat.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
|
||
// shop.Chat.AddressChanged += CefWebBrowser_AddressChanged;
|
||
// shop.Chat.LoadError += CefWebBrowser_LoadError;
|
||
// shop.Chat.Dock = DockStyle.Fill;
|
||
// MainForm.instance.cefPanel.Controls.Add(shop.Chat);
|
||
//}
|
||
//shop.Chat.SendToBack();
|
||
|
||
form = new WXShopLoginForm(shop);
|
||
form.openType = EnumOpenType.manage;
|
||
form.InitUrl = "https://store.weixin.qq.com/shop/waybill/allToAll";
|
||
form.TopLevel = false;
|
||
MainForm.instance.cefPanel.Controls.Add(form);
|
||
form.Show();
|
||
|
||
//MainForm.instance.cefPanel.BringToFront();
|
||
MainForm.instance.cefPanel.SendToBack();
|
||
MainForm.instance.cefPanel.Visible = true;
|
||
}));
|
||
while (form.cefWebBrowser == null || !form.cefWebBrowser.IsBrowserInitialized)
|
||
Thread.Sleep(100);
|
||
CEFBrowser.DeleteCookie(form.cefWebBrowser.GetCookieManager(null));
|
||
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies);
|
||
var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), form.cefWebBrowser.GetCookieManager(null));
|
||
form.cefWebBrowser.Load("https://store.weixin.qq.com/shop/waybill/allToAll");
|
||
|
||
var jsStr = @"(function() {
|
||
const element = document.getElementsByName('waybill')[0];
|
||
const shadowRoot = element.shadowRoot;
|
||
//var aElements = document.getElementsByTagName('a');
|
||
//var aElements = shadowRoot.querySelector('micro-app-body').getElementsByClassName('goods_info')
|
||
var aElements = shadowRoot.querySelector('micro-app-body').getElementsByTagName('a')
|
||
for (i = 0; i <aElements.length; i++) {
|
||
var aElement = aElements[i];
|
||
if (aElement.innerHTML.indexOf('待揽收') >= 0) {
|
||
var rect = aElement.getBoundingClientRect();
|
||
aElement.click();
|
||
return rect.left + ',' + rect.top;
|
||
}
|
||
}
|
||
return '0,0';
|
||
})();";
|
||
var resultStr = "";
|
||
for (int i = 0; i < 10; i++)
|
||
{
|
||
Thread.Sleep(250);
|
||
var client = form.cefWebBrowser.GetDevToolsClient();
|
||
if (client != null)
|
||
{
|
||
var result = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
|
||
result.Wait(5000);
|
||
resultStr = result.Result.Result.Value.ParseToString();
|
||
if (!resultStr.IsNullOrEmpty() && !resultStr.Contains("0,0"))
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
Thread.Sleep(500);
|
||
|
||
jsStr = @"(function() {
|
||
const element = document.getElementsByName('waybill')[0];
|
||
const shadowRoot = element.shadowRoot;
|
||
var aElements = shadowRoot.querySelector('micro-app-body').getElementsByTagName('tr');
|
||
for (i = 0; i <aElements.length; i++) {
|
||
var aElement = aElements[i];
|
||
if (aElement.innerHTML.indexOf('" + orderId + @"') >= 0) {
|
||
var chk = aElement.getElementsByClassName('weui-desktop-table_flex')[0].children[0];
|
||
var rect = chk.getBoundingClientRect();
|
||
chk.click();
|
||
return rect.left + ',' + rect.top;
|
||
}
|
||
}
|
||
return '0,0';
|
||
})();";
|
||
resultStr = "";
|
||
for (int i = 0; i < 10; i++)
|
||
{
|
||
Thread.Sleep(250);
|
||
var client = form.cefWebBrowser.GetDevToolsClient();
|
||
if (client != null)
|
||
{
|
||
var result = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
|
||
result.Wait(5000);
|
||
resultStr = result.Result.Result.Value.ParseToString();
|
||
if (!resultStr.IsNullOrEmpty() && !resultStr.Contains("0,0"))
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
Thread.Sleep(1000);
|
||
|
||
jsStr = @"(function() {
|
||
const element = document.getElementsByName('waybill')[0];
|
||
const shadowRoot = element.shadowRoot;
|
||
var aElements = shadowRoot.querySelector('micro-app-body').getElementsByTagName('button');
|
||
//var aElements = document.getElementsByTagName('button');
|
||
for (i = 0; i <aElements.length; i++) {
|
||
var aElement = aElements[i];
|
||
if (aElement.innerHTML.indexOf('打印快递单') >= 0) {
|
||
var rect = aElement.getBoundingClientRect();
|
||
aElement.click();
|
||
return rect.left + ',' + rect.top;
|
||
}
|
||
}
|
||
return '0,0';
|
||
})();";
|
||
resultStr = "";
|
||
int count = 0;
|
||
for (int i = 0; i < 5; i++)
|
||
{
|
||
Thread.Sleep(500);
|
||
var client = form.cefWebBrowser.GetDevToolsClient();
|
||
if (client != null)
|
||
{
|
||
var result = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
|
||
result.Wait(5000);
|
||
resultStr = result.Result.Result.Value.ParseToString();
|
||
if (!resultStr.IsNullOrEmpty() && !resultStr.Contains("0,0"))
|
||
{
|
||
count++;
|
||
if (count > 1)
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
Thread.Sleep(500);
|
||
|
||
jsStr = @"(function() {
|
||
const element = document.getElementsByName('waybill')[0];
|
||
const shadowRoot = element.shadowRoot;
|
||
var aElements = shadowRoot.querySelector('micro-app-body').getElementsByTagName('button');
|
||
for (i = 0; i <aElements.length; i++) {
|
||
var aElement = aElements[i];
|
||
if (aElement.innerHTML.indexOf('确认打印') >= 0) {
|
||
var rect = aElement.getBoundingClientRect();
|
||
if (rect.left > 0) {
|
||
aElement.click();
|
||
return rect.left + ',' + rect.top;
|
||
}
|
||
}
|
||
}
|
||
return '0,0';
|
||
})();";
|
||
resultStr = "";
|
||
for (int i = 0; i < 5; i++)
|
||
{
|
||
Thread.Sleep(500);
|
||
var client = form.cefWebBrowser.GetDevToolsClient();
|
||
if (client != null)
|
||
{
|
||
var result = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
|
||
result.Wait(5000);
|
||
resultStr = result.Result.Result.Value.ParseToString();
|
||
if (!resultStr.IsNullOrEmpty() && !resultStr.Contains("0,0"))
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
Thread.Sleep(500);
|
||
GetRefreshPrintId();
|
||
Invoke(new Action(() => { ShowRefreshPrintId(row); }));
|
||
|
||
isOnlineWayBill = false;
|
||
|
||
Invoke(new Action(() =>
|
||
{
|
||
form.Close();
|
||
pbLoading.Visible = false;
|
||
}));
|
||
}
|
||
|
||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||
{
|
||
}
|
||
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
|
||
{
|
||
return false;
|
||
}
|
||
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
|
||
{
|
||
}
|
||
private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e)
|
||
{
|
||
}
|
||
private void CefWebBrowser_AddressChanged(object sender, CefSharp.AddressChangedEventArgs e)
|
||
{
|
||
}
|
||
|
||
public string GetDecryptOrder(string sourceOrderAddressStr)
|
||
{
|
||
//黄颖飞(4559),18466134204-4559,广西壮族自治区柳州市柳南区福柳宏都8-1-701 (拨打请输入分机号4559)
|
||
var userName = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "userName"); // 黄颖飞
|
||
var extension = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "extension"); // 4559
|
||
var virtualNumber = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "virtualNumber"); // 18466134204
|
||
var provinceName = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "provinceName"); // 广西壮族自治区
|
||
var cityName = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "cityName"); // 柳州市
|
||
var countyName = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "countyName"); // 柳南区
|
||
var detailInfo = BaseRegex.GetStringJson(ref sourceOrderAddressStr, "detailInfo"); // 福柳宏都8-1-701
|
||
if (userName.IsNullOrEmpty() || extension.IsNullOrEmpty() || virtualNumber.IsNullOrEmpty() || provinceName.IsNullOrEmpty() || cityName.IsNullOrEmpty() ||
|
||
countyName.IsNullOrEmpty() || detailInfo.IsNullOrEmpty())
|
||
{
|
||
return sourceOrderAddressStr;
|
||
}
|
||
//return userName + "(" + extension + ")," + virtualNumber + "-" + extension + "," + provinceName + cityName + countyName + detailInfo + "(拨打请输入分机号" + extension + ")";
|
||
return userName + "" + extension + "," + virtualNumber + "-" + extension + "," + provinceName + cityName + countyName + detailInfo + "拨打请输入分机号" + extension + "";
|
||
}
|
||
|
||
private void btnStop_Click(object sender, EventArgs e)
|
||
{
|
||
if (this.cancellationTokenSource != null)
|
||
this.cancellationTokenSource.Cancel();
|
||
}
|
||
|
||
private void btnSearchProd_Click(object sender, EventArgs e)
|
||
{
|
||
var shopIdLst = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||
if (shopIdLst.Count <= 0)
|
||
{
|
||
BaseMsgForm.ShowError("未勾选查询店铺!");
|
||
return;
|
||
}
|
||
btnSearchOrder.Enabled = false;
|
||
pbLoading.Visible = true;
|
||
if (cancellationTokenSource != null)
|
||
cancellationTokenSource.Cancel();
|
||
cancellationTokenSource = new CancellationTokenSource();
|
||
dgvOrder.Rows.Clear();
|
||
Task.Run(() =>
|
||
{
|
||
GetOrderList(shopIdLst);
|
||
Invoke(new Action(() =>
|
||
{
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
{
|
||
this.statusBar.lblTaskStatus.Text = "订单查询停止";
|
||
BaseMsgForm.ShowInfo("订单查询停止");
|
||
}
|
||
else
|
||
{
|
||
this.statusBar.lblTaskStatus.Text = "订单查询完毕";
|
||
BaseMsgForm.ShowInfo("订单查询完毕");
|
||
}
|
||
pbLoading.Visible = false;
|
||
btnSearchOrder.Enabled = true;
|
||
}));
|
||
}, cancellationTokenSource.Token);
|
||
}
|
||
|
||
void GetOrderList(List<string> shopIdLst)
|
||
{
|
||
List<ShopLoginInfo> shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList();
|
||
|
||
Invoke(new Action(() =>
|
||
{
|
||
this.pbLoading.Visible = true;
|
||
this.statusBar.lblTaskStatus.Text = "正在查询店铺";
|
||
this.statusBar.pgbTaskProgress.Maximum = shopIdLst.Count;
|
||
this.statusBar.UpdateProgressBar(0);
|
||
}));
|
||
|
||
foreach (var shop in shopLst)
|
||
{
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
break;
|
||
|
||
Invoke(new Action(() =>
|
||
{
|
||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||
}));
|
||
|
||
if (shop.LoginStatus != "登录成功")
|
||
{
|
||
continue;
|
||
}
|
||
|
||
for (int orderStatus = 20; orderStatus <= 30; orderStatus += 10)
|
||
{
|
||
int page = PageBegin - 1;
|
||
int totalPage = 1;
|
||
int pageSize = 30;
|
||
while (page < totalPage && page < PageEnd)
|
||
{
|
||
page++;
|
||
|
||
if (orderStatus == 20 && !chkWaitSend.Checked)
|
||
break;
|
||
if (orderStatus == 30 && !chkHasSend.Checked)
|
||
break;
|
||
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
break;
|
||
|
||
// 查找订单
|
||
pageSize = 30;
|
||
long? startTime = null;
|
||
long? endTime = null;
|
||
if (chkTimeDuration.Checked)
|
||
Invoke(new Action(() =>
|
||
{
|
||
startTime = BaseClass.DateTimeToTimestampMilliseconds(dtpStartTime.Value);
|
||
endTime = BaseClass.DateTimeToTimestampMilliseconds(dtpEndTime.Value);
|
||
}));
|
||
var result = WXOrderList.orderListSearch(shop, orderStatus, page, pageSize, startTime, endTime);
|
||
if (!result.Contains("\"code\":0"))
|
||
{
|
||
ShowShopError(shop, result);
|
||
break;
|
||
}
|
||
if (result.Contains("4527181286223364098"))
|
||
{
|
||
|
||
}
|
||
totalPage = Math.Ceiling(BaseRegex.GetIntJson(ref result, "totalNum") * 1m / pageSize).ParseToInt();
|
||
List<WxOrderInfoLite> orderLst = new List<WxOrderInfoLite>();
|
||
try
|
||
{
|
||
var jArr = JsonHelper.JObjectParse(result)["orderList"];
|
||
orderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(jArr));
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowShopError(shop, ex.Message);
|
||
break;
|
||
}
|
||
Thread.Sleep(Randomx.GetId(200, 1000));
|
||
|
||
try
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
this.pbLoading.Visible = true;
|
||
this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage);
|
||
}));
|
||
|
||
var url = BaseClass.BuildObjString("shop/wx_get_order_address");
|
||
var data = UserLogin.GetSignaturex() + "&shop_id=" + shop.ShopId;
|
||
data += "&order_ids=" + string.Join(",", orderLst.Select(o => o.commonInfo.orderId));
|
||
data += "¬_count=true";
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
List<WXOrderDecryptAddressInfo> orderDecryptAddressLst = new List<WXOrderDecryptAddressInfo>();
|
||
if (html.Contains("\"code\":200"))
|
||
{
|
||
var jObj = JsonHelper.JObjectParse(html)["data"];
|
||
orderDecryptAddressLst = JsonHelper.DeserializeJsonToList<WXOrderDecryptAddressInfo>(jObj.ParseToString());
|
||
}
|
||
|
||
url = BaseClass.BuildObjString("shop/wx_get_buy_url_notes");
|
||
data = UserLogin.GetSignaturex() + "&shop_id=" + shop.ShopId;
|
||
data += "&spu_codes=" + GetHtml.UrlEncodeUtf8(string.Join(",", orderLst.SelectMany(o => o.orderProductInfo.Select(p => p.spuCode)).Distinct()));
|
||
data += "&main_user_name=" + (BaseClass.GroupId == 3 ? BaseClass.UserName : BaseClass.ParentUserName);
|
||
data += "¬_count=true";
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
List<WXBuyUrlNotesInfo> buyUrlNotesInfoLst = new List<WXBuyUrlNotesInfo>();
|
||
if (html.Contains("\"code\":200"))
|
||
{
|
||
var jObj = JsonHelper.JObjectParse(html)["data"];
|
||
buyUrlNotesInfoLst = JsonHelper.DeserializeJsonToList<WXBuyUrlNotesInfo>(jObj.ParseToString());
|
||
}
|
||
|
||
// 查找对应商品
|
||
string getProdRst = "";
|
||
JObject prodObjs = new JObject();
|
||
try
|
||
{
|
||
if (orderLst.Count > 0)
|
||
{
|
||
int onSaleStatusCode = -1;
|
||
pageSize = 50;
|
||
string spuIds = GetHtml.UrlEncodeUtf8(string.Join(",", orderLst.SelectMany(o => o.orderProductInfo.Select(p => p.productId)).Distinct()));
|
||
//getProdRst = WXClearNoVisit.searchProduct(shop, 1, pageSize, spuIds, onSaleStatusCode);
|
||
getProdRst = WXOrderList.getSkuBySpu(shop, GetHtml.UrlDecode(spuIds));
|
||
Thread.Sleep(Randomx.GetId(50, 100));
|
||
if (!getProdRst.Contains("\"success\":true") && !getProdRst.Contains("\"code\":0"))
|
||
{
|
||
ShowShopError(shop, getProdRst);
|
||
break;
|
||
}
|
||
}
|
||
prodObjs = JsonHelper.JObjectParse(getProdRst);
|
||
}
|
||
catch { }
|
||
|
||
foreach (var order in orderLst)
|
||
{
|
||
var orStr = JsonHelper.SerializeObject(order);
|
||
if (orStr.Contains("4527181286223364098") || orStr.Contains("4527546611026165767"))
|
||
{
|
||
|
||
}
|
||
|
||
foreach (var orderProd in order.orderProductInfo)
|
||
{
|
||
decimal? currentPrice = null;
|
||
int? currentStock = null;
|
||
try
|
||
{
|
||
//var prod = prodObjs["productList"].FirstOrDefault(p => p["productId"].ParseToString() == orderProd.productId);
|
||
//if (prod != null)
|
||
//{
|
||
// var prodStr = prod.ParseToString();
|
||
// var sku = prod["skuList"].FirstOrDefault(p => p["skuId"].ParseToString() == orderProd.skuId);
|
||
// if (sku != null)
|
||
// {
|
||
// currentPrice = sku["price"].ParseToDecimal() * 0.01m;
|
||
// }
|
||
//}
|
||
|
||
var prod = prodObjs["products"].FirstOrDefault(p => p["productKey"]["productId"].ParseToString() == orderProd.productId);
|
||
if (prod != null)
|
||
{
|
||
var prodStr = prod.ParseToString();
|
||
var sku = prod["productSkus"].FirstOrDefault(p => p["skuKey"]["skuId"].ParseToString() == orderProd.skuId);
|
||
if (sku != null)
|
||
{
|
||
var skuStr = JsonHelper.SerializeObject(sku);
|
||
currentPrice = BaseRegex.GetIntJson(ref skuStr, "salePrice") * 0.01m;
|
||
currentStock = BaseRegex.GetIntJson(ref skuStr, "stockNum");
|
||
}
|
||
}
|
||
}
|
||
catch { }
|
||
|
||
var discount = orderProd.salePrice.ParseToInt() * orderProd.productCnt - orderProd.realPrice;
|
||
var orderAddresss = orderDecryptAddressLst.FirstOrDefault(a => a.order_id == order.commonInfo.orderId);
|
||
var buyUrlNotes = buyUrlNotesInfoLst.FirstOrDefault(b => b.spu_code == orderProd.spuCode);
|
||
var DecryptAddress = this.GetDecryptOrder((orderAddresss?.order_address).ParseToString());
|
||
Invoke(new Action(() =>
|
||
{
|
||
var rowIndex = this.dgvOrder.Rows.Add(
|
||
false,
|
||
shop.ShopId,
|
||
shop.ShopAccount,
|
||
shop.Notes,
|
||
shop.GroupName,
|
||
"登录",
|
||
"进店",
|
||
order.commonInfo.orderId,
|
||
order.commonInfo.createTimeStr,
|
||
order.commonInfo.createTimeStr.ParseToDateTime().ToString("M/d HH:mm"),
|
||
orderProd.thumbImg,
|
||
DataGridViewExtension.defaultBitmap,
|
||
|
||
//orderProd.productId + "\r\n" + string.Join("", orderProd.title.Take(30)) + (orderProd.title.Length > 30 ? "…" : "") +
|
||
// "\r\n-----\r\n" + string.Join(";", orderProd.saleParam), // 商品信息合集
|
||
orderProd.productId + "\r\n" + orderProd.title + "\r\n-----\r\n" + string.Join(";", orderProd.saleParam), // 商品信息合集
|
||
orderProd.productId, // 商品Id
|
||
orderProd.title, // 商品名称
|
||
orderProd.spuCode, // 商品编码
|
||
|
||
orderProd.skuId, // skuId
|
||
string.Join(";", orderProd.saleParam), // sku规格
|
||
orderProd.skuCode, // sku编码
|
||
"商品编码:\r\n" + orderProd.spuCode + "\r\n" + "规格编码:\r\n" + orderProd.skuCode, // 编码信息合集
|
||
|
||
|
||
orderProd.salePrice.ParseToInt() * 0.01m,
|
||
orderProd.productCnt, // 商品数量
|
||
orderProd.salePrice.ParseToInt() * 0.01m + "\r\nx" + orderProd.productCnt, // 商品单价/数量
|
||
orderProd.realPrice * 0.01m + (discount > 0 ? "\r\n优惠\r\n-" + discount * 0.01m : ""), // 商品总价/优惠
|
||
discount > 0 ? discount * 0.01m : null, // 商品优惠
|
||
orderProd.productSource?.commissionFee * 0.01m, // 达人佣金
|
||
|
||
currentPrice, // 当前价
|
||
currentStock, // 库存
|
||
"礼",
|
||
"优化",
|
||
"取消优惠",
|
||
|
||
order.commonInfo.statusStr, // 订单状态
|
||
"刷新",
|
||
|
||
buyUrlNotes?.buy_url_notes, // 采购地址
|
||
"编辑",
|
||
|
||
string.IsNullOrWhiteSpace(DecryptAddress) ? (order.acceptInfo.addressInfo.userName + " " + order.acceptInfo.addressInfo.telNumber + " " +
|
||
order.acceptInfo.addressInfo.provinceName + " " + order.acceptInfo.addressInfo.cityName + " " +
|
||
order.acceptInfo.addressInfo.countyName + " " + order.acceptInfo.addressInfo.detailInfo + " " +
|
||
" 未查看地址") : DecryptAddress, // 收件地址解密
|
||
|
||
"👁",
|
||
"填",
|
||
|
||
"", // 在线寄件打印单号
|
||
order.expressData?.type == 3 && order.expressData?.status != 1 ? order.expressData?.jumpPath?.Substring((order.expressData?.jumpPath).ParseToString().IndexOf("ewaybillOrderId=")).Replace("ewaybillOrderId=", "") : "",
|
||
order.expressData?.type == 3 && order.expressData?.status != 1 ? "再次\r\n打印" : "打印",
|
||
|
||
order.flagInfo.flagNotes, // 卖家备注
|
||
order.flagInfo.flagColor, // 卖家备注颜色
|
||
"修改\r\n备注",
|
||
""
|
||
);
|
||
|
||
var row = dgvOrder.Rows[rowIndex];
|
||
ShowDgvRow(row, order);
|
||
ShowRefreshPrintId(row);
|
||
}));
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowShopError(shop, ex.Message);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void ShowDgvRow(DataGridViewRow row, WxOrderInfoLite order = null)
|
||
{
|
||
SizeF textSize1 = TextRenderer.MeasureText(row.Cells["colProdInfo"].Value.ParseToString(), row.Cells["colProdInfo"].Style.Font,
|
||
new Size(row.Cells["colProdInfo"].ContentBounds.Width, 500), TextFormatFlags.WordBreak);
|
||
SizeF textSize2 = TextRenderer.MeasureText(row.Cells["colReceiveInfo"].Value.ParseToString(), row.Cells["colReceiveInfo"].Style.Font,
|
||
new Size(row.Cells["colReceiveInfo"].ContentBounds.Width, 500), TextFormatFlags.WordBreak);
|
||
row.Height = Math.Max(textSize2.Height, Math.Max(textSize1.Height, 80)).ParseToInt() + 20;
|
||
|
||
if (order != null)
|
||
{
|
||
// 根据卖家备注颜色显示文字颜色
|
||
row.Cells["colNotes"].Style.ForeColor = DefaultForeColor;
|
||
if (order.flagInfo.flagColor == 1)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Red;
|
||
if (order.flagInfo.flagColor == 2)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Orange;
|
||
if (order.flagInfo.flagColor == 3)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Green;
|
||
if (order.flagInfo.flagColor == 4)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Blue;
|
||
}
|
||
|
||
if (row.Cells["colReceiveInfo"].Value.ParseToString().Contains("未查看地址"))
|
||
row.Cells["colReceiveInfo"].Style.ForeColor = Color.DarkGray;
|
||
|
||
if (row.Cells["colOnlineWaybill"].Value.ParseToString() == "再次\r\n打印")
|
||
{
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).LinkColor = Color.Red; // Color.Blue
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).VisitedLinkColor = Color.DarkRed; // Color.FromArgb(255, 128, 0, 128)
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).ActiveLinkColor = Color.Orange; // Color.Red;
|
||
}
|
||
else
|
||
{
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).LinkColor = Color.Blue;
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).VisitedLinkColor = Color.FromArgb(255, 128, 0, 128);
|
||
(row.Cells["colOnlineWaybill"] as DataGridViewLinkCell).ActiveLinkColor = Color.Red;
|
||
}
|
||
}
|
||
|
||
private void btnClearDgv_Click(object sender, EventArgs e)
|
||
{
|
||
var rows = this.dgvOrder.Rows.Cast<DataGridViewRow>().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。
|
||
foreach (var row in rows)
|
||
{
|
||
if (row.Cells["colCheck"].Value.ParseToBool() == true)
|
||
{
|
||
this.dgvOrder.Rows.Remove(row);
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnClearFilter_Click(object sender, EventArgs e)
|
||
{
|
||
chkHasSend.Checked = true;
|
||
chkWaitSend.Checked = true;
|
||
chkTimeDuration.Checked = false;
|
||
dtpStartTime.Value = DateTime.Now.Date;
|
||
dtpEndTime.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||
}
|
||
|
||
private void btnFilterShop_Click(object sender, EventArgs e)
|
||
{
|
||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||
if (notes == "全部")
|
||
notes = "";
|
||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
|
||
if (group == "全部")
|
||
group = "";
|
||
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||
{
|
||
row.Visible = false;
|
||
row.Cells["colSelect"].Value = false;
|
||
continue;
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||
{
|
||
row.Visible = false;
|
||
row.Cells["colSelect"].Value = false;
|
||
continue;
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
|
||
{
|
||
row.Visible = false;
|
||
row.Cells["colSelect"].Value = false;
|
||
continue;
|
||
}
|
||
row.Visible = true;
|
||
}
|
||
}
|
||
|
||
private void btnEmptyShop_Click(object sender, EventArgs e)
|
||
{
|
||
txtFilterShopName.Text = "";
|
||
cmbFilterShopNotes.Text = "全部";
|
||
cmbFilterShopGroup.Text = "全部";
|
||
btnFilterShop_Click(null, null);
|
||
}
|
||
|
||
private void btnReverse_Click(object sender, EventArgs e)
|
||
{
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (row.Visible == true)
|
||
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
|
||
}
|
||
}
|
||
|
||
private void btnAddSelect_Click(object sender, EventArgs e)
|
||
{
|
||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||
if (notes == "全部")
|
||
notes = "";
|
||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
|
||
if (group == "全部")
|
||
group = "";
|
||
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (row.Visible == false)
|
||
continue;
|
||
|
||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||
continue;
|
||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||
continue;
|
||
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
|
||
continue;
|
||
|
||
row.Cells["colSelect"].Value = true;
|
||
}
|
||
}
|
||
|
||
private void btnAddUnSelect_Click(object sender, EventArgs e)
|
||
{
|
||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||
if (notes == "全部")
|
||
notes = "";
|
||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
|
||
if (group == "全部")
|
||
group = "";
|
||
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (row.Visible == false)
|
||
continue;
|
||
|
||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||
continue;
|
||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||
continue;
|
||
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
|
||
continue;
|
||
|
||
row.Cells["colSelect"].Value = false;
|
||
}
|
||
}
|
||
|
||
private void btnSelectOnline_Click(object sender, EventArgs e)
|
||
{
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (row.Visible == true)
|
||
{
|
||
if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线")
|
||
{
|
||
row.Cells["colSelect"].Value = true;
|
||
}
|
||
else
|
||
{
|
||
row.Cells["colSelect"].Value = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnSelectOffline_Click(object sender, EventArgs e)
|
||
{
|
||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||
{
|
||
if (row.Visible == true)
|
||
{
|
||
if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线")
|
||
{
|
||
row.Cells["colSelect"].Value = true;
|
||
}
|
||
else
|
||
{
|
||
row.Cells["colSelect"].Value = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnFiltSelect_Click(object sender, EventArgs e)
|
||
{
|
||
foreach (DataGridViewRow row in dgvOrder.Rows)
|
||
{
|
||
// 2,3拼多多 6抖音
|
||
if (!row.Cells["colNotes"].Value.ParseToString().StartsWith("2") && !row.Cells["colNotes"].Value.ParseToString().StartsWith("3") &&
|
||
!row.Cells["colNotes"].Value.ParseToString().StartsWith("6"))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
continue;
|
||
}
|
||
// ^\d{6}.*$
|
||
string pattern1 = @"^\d{6}-\d{15}.*$"; // 定义正则表达式模式
|
||
string pattern2 = @"^\d{19}.*$"; // 定义正则表达式模式
|
||
Regex regex1 = new Regex(pattern1);
|
||
Regex regex2 = new Regex(pattern2);
|
||
if (!regex1.IsMatch(row.Cells["colNotes"].Value.ParseToString()) && !regex2.IsMatch(row.Cells["colNotes"].Value.ParseToString()))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
continue;
|
||
}
|
||
row.Cells["colCheck"].Value = true;
|
||
}
|
||
}
|
||
|
||
void ShowShopError(ShopLoginInfo shop, string operateResult, bool isShowDialog = false)
|
||
{
|
||
var error = BaseRegex.GetStringJson(ref operateResult, "msg");
|
||
if (string.IsNullOrEmpty(error))
|
||
error = BaseRegex.GetStringJson(ref operateResult, "errMsg");
|
||
if (string.IsNullOrEmpty(error))
|
||
error = BaseRegex.GetStringJson(ref operateResult, "errorMsg");
|
||
if (string.IsNullOrEmpty(error))
|
||
error = operateResult;
|
||
|
||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||
|
||
if (shop.LoginStatus != "登录成功")
|
||
{
|
||
error = "店铺掉线";
|
||
}
|
||
Invoke(new Action(() => { BindShop(shop, new List<string> { shop.ShopId }, error); }));
|
||
if (isShowDialog)
|
||
BaseMsgForm.ShowError(error);
|
||
}
|
||
|
||
private void ucCheckBox_Click(object sender, EventArgs e)
|
||
{
|
||
ucCheckBox1.Checked = false;
|
||
ucCheckBox2.Checked = false;
|
||
ucCheckBox3.Checked = false;
|
||
ucCheckBox4.Checked = false;
|
||
ucCheckBox5.Checked = false;
|
||
|
||
if (sender is UserComponent.UcCheckBox)
|
||
{
|
||
(sender as UserComponent.UcCheckBox).Checked = true;
|
||
if (sender == ucCheckBox1) lblColorTag.Text = "0";
|
||
if (sender == ucCheckBox2) lblColorTag.Text = "1";
|
||
if (sender == ucCheckBox3) lblColorTag.Text = "2";
|
||
if (sender == ucCheckBox4) lblColorTag.Text = "3";
|
||
if (sender == ucCheckBox5) lblColorTag.Text = "4";
|
||
}
|
||
}
|
||
|
||
private void btnNotesCancel_Click(object sender, EventArgs e)
|
||
{
|
||
pnlUpdateNotes.Visible = false;
|
||
}
|
||
|
||
private void btnNotesOK_Click(object sender, EventArgs e)
|
||
{
|
||
var orderIds = lblOrderId.Text.Split(';');
|
||
var orderIdStr = lblOrderId.Text;
|
||
|
||
if (cancellationTokenSource != null)
|
||
cancellationTokenSource.Cancel();
|
||
cancellationTokenSource = new CancellationTokenSource();
|
||
Task.Run(() =>
|
||
{
|
||
int index = 0;
|
||
foreach (var orderId in orderIds)
|
||
{
|
||
index++;
|
||
if (orderIdStr.Contains(";"))
|
||
Invoke(new Action(() =>
|
||
{
|
||
this.statusBar.lblTaskStatus.Text = "正在修改备注 " + index + "/" + orderIds.Length;
|
||
}));
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
break;
|
||
|
||
var notes = txtNotes.Text.Trim();
|
||
var tagColor = lblColorTag.Text.ParseToInt();
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId).ToList();
|
||
if (rows.Count == 0)
|
||
continue;
|
||
|
||
// 批量备注跳过已备注内容
|
||
if (chkSkipHasNotesOrder.Checked && orderIdStr.Contains(";") && !rows[0].Cells["colNotes"].Value.ParseToString().IsNullOrEmpty())
|
||
{
|
||
continue;
|
||
}
|
||
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == rows[0].Cells["colSupplierId"].Value.ParseToString());
|
||
if (shop != null)
|
||
{
|
||
var notesRst = WXOrderList.addNotes(shop, orderId, notes, tagColor);
|
||
{
|
||
if (notesRst.Contains("请求超过频率限制"))
|
||
{
|
||
Thread.Sleep(8000);
|
||
notesRst = WXOrderList.addNotes(shop, orderId, notes, tagColor);
|
||
}
|
||
}
|
||
Thread.Sleep(Randomx.GetId(300, 500));
|
||
if (notesRst.Contains("\"code\":0"))
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colNotes"].Value = notes;
|
||
row.Cells["colNotesColor"].Value = tagColor;
|
||
row.Cells["colOpResult"].Value = "修改备注成功";
|
||
|
||
row.Cells["colNotes"].Style.ForeColor = DefaultForeColor;
|
||
if (tagColor == 1)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Red;
|
||
if (tagColor == 2)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Orange;
|
||
if (tagColor == 3)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Green;
|
||
if (tagColor == 4)
|
||
row.Cells["colNotes"].Style.ForeColor = Color.Blue;
|
||
}
|
||
pnlUpdateNotes.Visible = false;
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
foreach (var row in rows)
|
||
{
|
||
var err = BaseRegex.GetStringJsonByRegs(ref notesRst, notesRst, "msg", "errMsg", "err_msg", "errorMsg", "error_msg");
|
||
row.Cells["colOpResult"].Value = "修改备注失败 " + err;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Invoke(new Action(() =>
|
||
{
|
||
pnlUpdateNotes.Visible = false;
|
||
if (orderIdStr.Contains(";"))
|
||
this.statusBar.lblTaskStatus.Text = "备注已修改" + index + "/" + orderIds.Length;
|
||
}));
|
||
}, cancellationTokenSource.Token);
|
||
}
|
||
|
||
private void btnEditReceiveInfoCancel_Click(object sender, EventArgs e)
|
||
{
|
||
pnlEditReceiveInfo.Visible = false;
|
||
}
|
||
|
||
private void btnEditReceiveInfoOk_Click(object sender, EventArgs e)
|
||
{
|
||
var orderId = lblEditReceiveInfoOrderId.Text;
|
||
var address = txtEditReceiveInfoAddress.Text.Trim();
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == lblEditReceiveInfoShopId.Text);
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
|
||
var url = BaseClass.BuildObjString("shop/wx_add_mdy_order_address");
|
||
var data = UserLogin.GetSignaturex() + "&shop_id=" + shop.ShopId;
|
||
data += "&order_id=" + orderId;
|
||
data += "&order_address=" + GetHtml.UrlEncodeUtf8(address);
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
{
|
||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||
if (errMsg.IsNullOrEmpty())
|
||
errMsg = html;
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colOpResult"].Value = errMsg;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
pnlEditReceiveInfo.Visible = false;
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colOpResult"].Value = "填写收货地址成功";
|
||
row.Cells["colReceiveInfo"].Value = address;
|
||
row.Cells["colReceiveInfo"].Style.ForeColor = DefaultForeColor;
|
||
}
|
||
|
||
if (rows.FirstOrDefault() != null && rows.FirstOrDefault().Cells["colOnlineWaybillOrderId"].Value.ParseToString() != null &&
|
||
(BaseClass.UserAuthority.Contains("在线寄件") || BaseClass.ParentAuthority.Contains("在线寄件")))
|
||
{
|
||
var rst = WXOrderList.searchOnlineWaybill(shop, orderId);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
//BaseMsgForm.ShowError("打印失败:" + rst, "错误", FormLevel.LARGE);
|
||
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "errMsg", "errorMsg", "err_msg", "error_msg");
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var row in rows)
|
||
row.Cells["colOpResult"].Value = "填写收货地址成功, 但查询打印失败:" + error;
|
||
pbLoading.Visible = false;
|
||
}));
|
||
return;
|
||
}
|
||
|
||
var ewaybillOrderId = BaseRegex.GetStringJson(ref rst, "ewaybillOrderId");
|
||
var waybillId = BaseRegex.GetStringJson(ref rst, "waybillId");
|
||
if (!ewaybillOrderId.IsNullOrEmpty() && !waybillId.IsNullOrEmpty() && ewaybillOrderId == rows.FirstOrDefault().Cells["colOnlineWaybillOrderId"].Value.ParseToString())
|
||
{
|
||
rst = WXOrderList.cancelOnlineWaybill(shop, ewaybillOrderId, waybillId);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
//BaseMsgForm.ShowError("打印失败:" + rst, "错误", FormLevel.LARGE);
|
||
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "errMsg", "errorMsg", "err_msg", "error_msg");
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var row in rows)
|
||
row.Cells["colOpResult"].Value = "填写收货地址成功, 但取消打印失败:" + error;
|
||
pbLoading.Visible = false;
|
||
}));
|
||
return;
|
||
}
|
||
else
|
||
{
|
||
Invoke(new Action(() =>
|
||
{
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colOpResult"].Value = "填写收货地址成功, 取消打印成功";
|
||
row.Cells["colOnlineWaybill"].Value = "打印";
|
||
ShowDgvRow(row);
|
||
}
|
||
pbLoading.Visible = false;
|
||
}));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnBuyUrlCancel_Click(object sender, EventArgs e)
|
||
{
|
||
pnlBuyUrl.Visible = false;
|
||
}
|
||
|
||
private void btnBuyUrlOk_Click(object sender, EventArgs e)
|
||
{
|
||
var orderId = lblBuyUrlOrderId.Text;
|
||
var buyUrl = txtBuyUrl.Text.Trim();
|
||
var spuCode = lblBuyUrlSpuCode.Text;
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == lblEditReceiveInfoShopId.Text);
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSpuCode"].Value.ParseToString() == spuCode);
|
||
|
||
var url = BaseClass.BuildObjString("shop/wx_add_mdy_buy_url_notes");
|
||
var data = UserLogin.GetSignaturex();
|
||
data += "&main_user_name=" + (BaseClass.GroupId == 3 ? BaseClass.UserName : BaseClass.ParentUserName);
|
||
data += "&spu_code=" + spuCode;
|
||
data += "&buy_url_notes=" + GetHtml.UrlEncodeUtf8(buyUrl);
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (!html.Contains("\"code\":200"))
|
||
{
|
||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||
if (errMsg.IsNullOrEmpty())
|
||
errMsg = html;
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colOpResult"].Value = errMsg;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
pnlBuyUrl.Visible = false;
|
||
foreach (var row in rows)
|
||
{
|
||
row.Cells["colOpResult"].Value = "编辑采购地址成功";
|
||
row.Cells["colBuyUrl"].Value = buyUrl;
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnFilterOrder_Click(object sender, EventArgs e)
|
||
{
|
||
var filterOrderId = txtFilterOrderId.Text.Trim();
|
||
var filterProdInfo = txtFilterOrderProdInfo.Text.Trim();
|
||
var filterStatus = cmbFilterOrderStatus.Text.Trim();
|
||
var filterNotesNotContainWords = txtFilterNotesNotContainWords.Text.Trim().Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
var filterTitleNotContainWords = txtFilterTitleNotContainWords.Text.Trim().Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
var filterPriceNotContainWords = txtFilterPriceNotContainWords.Text.Trim().Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
string group = cmbFilterOrderShopGroup.Text.Trim().Trim(';');
|
||
if (group == "全部")
|
||
group = "";
|
||
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
foreach (DataGridViewRow row in dgvOrder.Rows)
|
||
{
|
||
if (!row.Cells["colSupplierName"].Value.ParseToString().Contains(txtFilterOrderShopName.Text.Trim()))
|
||
{
|
||
row.Visible = false;
|
||
row.Cells["colCheck"].Value = false;
|
||
continue;
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colOrderShopGroup"].Value.ParseToString()))
|
||
{
|
||
row.Visible = false;
|
||
row.Cells["colCheck"].Value = false;
|
||
continue;
|
||
}
|
||
|
||
string orderId = row.Cells["colOrderId"].Value.ParseToString();
|
||
if (!string.IsNullOrEmpty(filterOrderId) && !orderId.Contains(filterOrderId))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
string prodInfo = row.Cells["colProdInfo"].Value.ParseToString();
|
||
if (!string.IsNullOrEmpty(filterProdInfo) && !prodInfo.Contains(filterProdInfo))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
string orderStatus = row.Cells["colOrderStatus"].Value.ParseToString();
|
||
if (!string.IsNullOrEmpty(filterStatus) && !orderStatus.Contains(filterStatus))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
string orderNotes = row.Cells["colNotes"].Value.ParseToString();
|
||
if (filterNotesNotContainWords.Count > 0 && filterNotesNotContainWords.Any(w => orderNotes.Contains(w)))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
string goodsName = row.Cells["colProductName"].Value.ParseToString();
|
||
if (filterTitleNotContainWords.Count > 0 && filterTitleNotContainWords.Any(w => goodsName.Contains(w)))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
string orderGoodsPrice = row.Cells["colSalePrice"].Value.ParseToString();
|
||
if (filterPriceNotContainWords.Count > 0 && filterPriceNotContainWords.Any(w => orderGoodsPrice.ParseToDecimal() == w.ParseToDecimal()))
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
if (chkFilterBeginTime.Checked && row.Cells["colOrderTimeFull"].Value.ParseToString().ParseToDateTime() < dtpFilterBeginTime.Value)
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
if (chkFilterEndTime.Checked && row.Cells["colOrderTimeFull"].Value.ParseToString().ParseToDateTime() > dtpFilterEndTime.Value)
|
||
{
|
||
row.Cells["colCheck"].Value = false;
|
||
row.Visible = false;
|
||
continue;
|
||
}
|
||
|
||
row.Visible = true;
|
||
}
|
||
this.lblOrderCount.Text = "当前展示订单:" + this.dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Visible == true).Count().ToString() + " 条";
|
||
}
|
||
|
||
private void btnRestore_Click(object sender, EventArgs e)
|
||
{
|
||
txtFilterOrderId.Text = "";
|
||
txtFilterOrderProdInfo.Text = "";
|
||
cmbFilterOrderStatus.Text = "";
|
||
txtFilterNotesNotContainWords.Text = "";
|
||
txtFilterTitleNotContainWords.Text = "";
|
||
txtFilterOrderShopName.Text = "";
|
||
txtFilterPriceNotContainWords.Text = "";
|
||
cmbFilterOrderShopGroup.Text = "全部";
|
||
chkFilterEndTime.Checked = false;
|
||
chkFilterBeginTime.Checked = false;
|
||
dtpFilterBeginTime.Value = DateTime.Now.AddDays(-1);
|
||
dtpFilterEndTime.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||
btnFilterOrder_Click(null, null);
|
||
}
|
||
|
||
private void btnRefreshPrintId_Click(object sender, EventArgs e)
|
||
{
|
||
GetRefreshPrintId();
|
||
foreach (DataGridViewRow row in dgvOrder.Rows)
|
||
{
|
||
ShowRefreshPrintId(row);
|
||
}
|
||
BaseMsgForm.ShowInfo("已刷新");
|
||
}
|
||
|
||
void GetRefreshPrintId()
|
||
{
|
||
try
|
||
{
|
||
lstPrintLog.Clear();
|
||
string logPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "WeChatShopPrintClient\\log");
|
||
DirectoryInfo dirInfo = new DirectoryInfo(logPath); // 创建DirectoryInfo对象
|
||
FileInfo[] files = dirInfo.GetFiles();
|
||
foreach (FileInfo file in files)
|
||
{
|
||
if (file.FullName.EndsWith(".log"))
|
||
{
|
||
string content = File.ReadAllText(file.FullName);
|
||
lstPrintLog.Add(content);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
BaseMsgForm.ShowError("读取打印单号失败 " + ex.Message);
|
||
}
|
||
}
|
||
|
||
void ShowRefreshPrintId(DataGridViewRow row)
|
||
{
|
||
var waybillOrderId = row.Cells["colOnlineWaybillOrderId"].Value.ParseToString();
|
||
if (!waybillOrderId.IsNullOrEmpty())
|
||
{
|
||
foreach (var fileStr in lstPrintLog)
|
||
{
|
||
//task 4527181286223364098
|
||
var index = fileStr.IndexOf("task " + waybillOrderId);
|
||
if (index > 50)
|
||
{
|
||
var str = fileStr.Substring(index - 50, 50 + ("task " + waybillOrderId).Length);
|
||
str = str.Replace("task " + waybillOrderId, "").Replace("printPage", "").Replace("requestID", "").Trim();
|
||
if (str.ParseToLong() > 0)
|
||
row.Cells["colPrintId"].Value = str;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void btnBatchOnlieWaybill_Click(object sender, EventArgs e)
|
||
{
|
||
var rows = this.dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
|
||
if (rows.Count == 0)
|
||
{
|
||
BaseMsgForm.ShowError("请选择订单");
|
||
return;
|
||
}
|
||
if (cancellationTokenSource != null)
|
||
cancellationTokenSource.Cancel();
|
||
cancellationTokenSource = new CancellationTokenSource();
|
||
|
||
Task.Run(() =>
|
||
{
|
||
foreach (var row in rows)
|
||
{
|
||
var shopId = row.Cells["colSupplierId"].Value.ParseToString();
|
||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||
if (shop != null)
|
||
{
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
break;
|
||
|
||
if (!row.Cells["colPrintId"].Value.ParseToString().IsNullOrEmpty())
|
||
{
|
||
row.Cells["colOpResult"].Value = "已打印,跳过";
|
||
continue;
|
||
}
|
||
|
||
Thread.Sleep(6000);
|
||
GetOnlineWayBill(shop, row);
|
||
}
|
||
}
|
||
Invoke(new Action(() =>
|
||
{
|
||
if (cancellationTokenSource.IsCancellationRequested)
|
||
BaseMsgForm.ShowInfo("批量打印终止");
|
||
else
|
||
BaseMsgForm.ShowInfo("批量打印完成");
|
||
}));
|
||
}, cancellationTokenSource.Token);
|
||
}
|
||
|
||
private void txtEditReceiveInfoAddress_TextChanged(object sender, EventArgs e)
|
||
{
|
||
txtEditReceiveInfoAddress.TextChanged -= txtEditReceiveInfoAddress_TextChanged;
|
||
if (txtEditReceiveInfoAddress.Text.Length > 25 && txtEditReceiveInfoAddress.Text.Substring(0, 25).Contains("*******"))
|
||
{
|
||
txtEditReceiveInfoAddress.Text = txtEditReceiveInfoAddress.Text.Substring(0, 25).Replace("*******", WaybillHelper.MobileHead[Randomx.GetId(WaybillHelper.MobileHead.Count)] + Randomx.GetNumber(4)) + txtEditReceiveInfoAddress.Text.Substring(25);
|
||
}
|
||
if (txtEditReceiveInfoAddress.Text.Length > 25 && txtEditReceiveInfoAddress.Text.Substring(0, 25).Contains("****"))
|
||
{
|
||
txtEditReceiveInfoAddress.Text = txtEditReceiveInfoAddress.Text.Substring(0, 25).Replace("****", Randomx.GetNumber(4)) + txtEditReceiveInfoAddress.Text.Substring(25);
|
||
}
|
||
if (txtEditReceiveInfoAddress.Text.Length > 5 && txtEditReceiveInfoAddress.Text.Substring(0, 5).Contains("**"))
|
||
{
|
||
txtEditReceiveInfoAddress.Text = txtEditReceiveInfoAddress.Text.Substring(0, 5).Replace("**", "") + txtEditReceiveInfoAddress.Text.Substring(5);
|
||
}
|
||
if (txtEditReceiveInfoAddress.Text.Length > 4 && txtEditReceiveInfoAddress.Text.Substring(0, 4).Contains("*"))
|
||
{
|
||
txtEditReceiveInfoAddress.Text = txtEditReceiveInfoAddress.Text.Substring(0, 4).Replace("*", "") + txtEditReceiveInfoAddress.Text.Substring(4);
|
||
}
|
||
txtEditReceiveInfoAddress.Text = txtEditReceiveInfoAddress.Text.Replace("\r", " ").Replace("\n", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ");
|
||
txtEditReceiveInfoAddress.TextChanged += txtEditReceiveInfoAddress_TextChanged;
|
||
}
|
||
|
||
private void btnStopBatchOnlineWaybill_Click(object sender, EventArgs e)
|
||
{
|
||
if (this.cancellationTokenSource != null)
|
||
this.cancellationTokenSource.Cancel();
|
||
|
||
isOnlineWayBill = false;
|
||
}
|
||
|
||
string UpdateOrderStatus(ShopLoginInfo shop, string orderId)
|
||
{
|
||
var rst = WXOrderList.orderSearch(shop, orderId);
|
||
if (!rst.Contains("\"code\":0"))
|
||
{
|
||
ShowShopError(shop, rst);
|
||
return "获取\r\n失败";
|
||
}
|
||
|
||
try
|
||
{
|
||
// 更新备注信息
|
||
var jArr = JsonHelper.JObjectParse(rst)["orderList"];
|
||
var orderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(jArr));
|
||
var row = dgvOrder.Rows.Cast<DataGridViewRow>().ToList().FirstOrDefault(r => r.Cells["colOrderId"].Value.ParseToString() == orderId);
|
||
if (row != null)
|
||
{
|
||
row.Cells["colNotes"].Value = BaseRegex.GetStringJson(ref rst, "flagNotes").ParseToString();
|
||
row.Cells["colNotesColor"].Value = BaseRegex.GetStringJson(ref rst, "flagColor").ParseToInt();
|
||
ShowDgvRow(row, orderLst.FirstOrDefault());
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowShopError(shop, ex.Message);
|
||
}
|
||
|
||
var statusStr = BaseRegex.GetStringJson(ref rst, "statusStr");
|
||
if (string.IsNullOrEmpty(statusStr))
|
||
statusStr = "不存在";
|
||
return statusStr;
|
||
}
|
||
|
||
private void btnBatchNotes_Click(object sender, EventArgs e)
|
||
{
|
||
var rows = dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
|
||
if (rows.Count == 0)
|
||
{
|
||
BaseMsgForm.ShowError("请选择订单");
|
||
return;
|
||
}
|
||
pnlUpdateNotes.Visible = true;
|
||
pnlEditReceiveInfo.Visible = false;
|
||
pnlBuyUrl.Visible = false;
|
||
lblShopName.Text = string.Join(";", rows.Select(r => r.Cells["colSupplierName"].Value.ParseToString()).Distinct().ToList());
|
||
lblOrderId.Text = string.Join(";", rows.Select(r => r.Cells["colOrderId"].Value.ParseToString()).Distinct().ToList());
|
||
txtNotes.Text = rows[0].Cells["colNotes"].Value.ParseToString();
|
||
lblColorTag.Text = rows[0].Cells["colNotesColor"].Value.ParseToString();
|
||
ucCheckBox1.CheckBoxCheckColor = Color.Gray;
|
||
ucCheckBox1.CheckBoxBorderColor = Color.Gray;
|
||
ucCheckBox2.CheckBoxCheckColor = Color.Red;
|
||
ucCheckBox2.CheckBoxBorderColor = Color.Red;
|
||
ucCheckBox3.CheckBoxCheckColor = Color.Orange;
|
||
ucCheckBox3.CheckBoxBorderColor = Color.Orange;
|
||
ucCheckBox4.CheckBoxCheckColor = Color.Green;
|
||
ucCheckBox4.CheckBoxBorderColor = Color.Green;
|
||
ucCheckBox5.CheckBoxCheckColor = Color.Blue;
|
||
ucCheckBox5.CheckBoxBorderColor = Color.Blue;
|
||
ucCheckBox1.Checked = lblColorTag.Text == "0";
|
||
ucCheckBox2.Checked = lblColorTag.Text == "1";
|
||
ucCheckBox3.Checked = lblColorTag.Text == "2";
|
||
ucCheckBox4.Checked = lblColorTag.Text == "3";
|
||
ucCheckBox5.Checked = lblColorTag.Text == "4";
|
||
}
|
||
|
||
private void dgvOrder_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
|
||
{
|
||
this.lblOrderCount.Text = "当前展示订单:" + this.dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Visible == true).Count().ToString() + " 条";
|
||
}
|
||
|
||
private void dgvOrder_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
|
||
{
|
||
this.lblOrderCount.Text = "当前展示订单:" + this.dgvOrder.Rows.Cast<DataGridViewRow>().Where(r => r.Visible == true).Count().ToString() + " 条";
|
||
}
|
||
}
|
||
|
||
public class WXOrderList
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="shop"></param>
|
||
/// <param name="orderStatus">订单状态 20待发货 30已发货</param>
|
||
/// <returns></returns>
|
||
public static string orderListSearch(ShopLoginInfo shop, int orderStatus = 20, int pageNum = 1, int pageSize = 30, long? timeStart = null, long? timeEnd = null)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN";
|
||
string body = @"{""isSearch"":false,""pageSize"":" + pageSize +
|
||
@",""overTime"":0,""pengingShipOneDay"":0,""pengingShipSixHour"":0,""expediteDelivery"":0,""stockoutPunishAlert"":0,""waybillStatus"":0,""pageNum"":1" +
|
||
@",""onAftersaleOrderExist"":0,""orderStatus"":" + orderStatus + @"}";
|
||
if (pageNum > 1)
|
||
body = @"{""isSearch"":false,""pageSize"":" + pageSize +
|
||
@",""overTime"":0,""pengingShipOneDay"":0,""pengingShipSixHour"":0,""expediteDelivery"":0,""stockoutPunishAlert"":0,""waybillStatus"":0,""pageNum"":1" +
|
||
@",""onAftersaleOrderExist"":0,""orderStatus"":" + orderStatus + @",""page"":" + pageNum + @"}";
|
||
|
||
//@"{""isSearch"":true,""pageSize"":30,""orderId"":"""",""orderTime"":{""type"":0,""time"":[1777564800000,1779379200000]},""telNumber"":"""",""title"":"""",""receiverName"":"""",""finderNickName"":"""",""merchantNotes"":"""",""merchantNotesTagColor"":0,""waybillId"":"""",""productCode"":"""",""inspectStatus"":"""",""finderWay"":0,""searchOrderType"":0,""payMethod"":0,""orderChannel"":0,""bulkbuyActivityId"":"""",""deliveryNegotiationFlag"":0,""transactionId"":"""",""page"":1,""overTime"":0,""pengingShipOneDay"":0,""pengingShipSixHour"":0,""expediteDelivery"":0,""stockoutPunishAlert"":0,""waybillStatus"":0,""pageNum"":1,""onAftersaleOrderExist"":0,""orderStatus"":30,""startCreateTime"":1777564800000,""endCreateTime"":1779379200000}";
|
||
|
||
if (timeStart != null && timeEnd != null)
|
||
body = @"{""isSearch"":true,""pageSize"":30,""orderId"":"""",""orderTime"":{""type"":0,""time"":[" + timeStart + @"," + timeEnd + @"]},
|
||
""telNumber"":"""",""title"":"""",""receiverName"":"""",""finderNickName"":"""",""merchantNotes"":"""",""merchantNotesTagColor"":0,
|
||
""waybillId"":"""",""productCode"":"""",""inspectStatus"":"""",""finderWay"":0,""searchOrderType"":0,""payMethod"":0,""orderChannel"":0,
|
||
""bulkbuyActivityId"":"""",""deliveryNegotiationFlag"":0,""transactionId"":"""",""page"":" + pageNum + @",""overTime"":0,""pengingShipOneDay"":0,
|
||
""pengingShipSixHour"":0,""expediteDelivery"":0,""stockoutPunishAlert"":0,""waybillStatus"":0,""pageNum"":1,""onAftersaleOrderExist"":0,
|
||
""orderStatus"":" + orderStatus + @",""startCreateTime"":" + timeStart + @",""endCreateTime"":" + timeEnd + @"}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
public static string orderSearch(ShopLoginInfo shop, string orderId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN";
|
||
string body = @"{""isSearch"":true,""pageSize"":30,""overTime"":0,""pengingShipOneDay"":0,""pengingShipSixHour"":0,""expediteDelivery"":0,""stockoutPunishAlert"":0,
|
||
""waybillStatus"":0,""pageNum"":1,""onAftersaleOrderExist"":0,""orderStatus"":0,""orderId"":""" + orderId + @""",
|
||
""orderTime"":{""type"":0,""time"":[null,null]},""telNumber"":"""",""title"":"""",""receiverName"":"""",""finderNickName"":"""",
|
||
""merchantNotes"":"""",""merchantNotesTagColor"":0,""waybillId"":"""",""productCode"":"""",""inspectStatus"":"""",""finderWay"":0,
|
||
""searchOrderType"":0,""payMethod"":0,""orderChannel"":0,""bulkbuyActivityId"":"""",""deliveryNegotiationFlag"":0,""transactionId"":"""",
|
||
""page"":1,""startCreateTime"":null,""endCreateTime"":null}";
|
||
string refere = "https://store.weixin.qq.com/shop/order/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string addNotes(ShopLoginInfo shop, string orderId, string notes, int tagColor = 0)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/common/cgi/batchMerchantNotes?token=&lang=zh_CN";
|
||
string body = @"{""items"":[{""orderId"":""" + orderId + @""",""merchantNotes"":""" + notes + @""",""merchantNotesTagColor"":" + tagColor + @"}]}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string EditPrice(ShopLoginInfo shop, string spuId, string skuId, int newPrice)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/listingUpdatePrice?token=&lang=zh_CN";
|
||
string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
|
||
string refere = "https://store.weixin.qq.com/shop/goods/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑商品价格
|
||
/// </summary>
|
||
/// <param name="shop"></param>
|
||
/// <param name="priceData">@"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";</param>
|
||
/// <returns></returns>
|
||
public static string EditPrice(ShopLoginInfo shop, JObject priceData)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/listingUpdatePrice?token=&lang=zh_CN";
|
||
//string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
|
||
string body = JsonHelper.SerializeObject(priceData);
|
||
string refere = "https://store.weixin.qq.com/shop/goods/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string decryptOrder(ShopLoginInfo shop, string orderId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/common/cgi/decryptOrder?token=&lang=zh_CN";
|
||
string body = @"{""id"":""" + orderId + @"""}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
// 预在线寄件
|
||
public static string preCreateOrderWaybillOnline(ShopLoginInfo shop, WXPreCreateOrderWaybillOnlineParam preWaybillOnlineparam)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodewaybill/alltoall/platPreCreateOrder?token=&lang=zh_CN";
|
||
//string body = @"{""deliveryIds"":[""JTSD"",""YTO"",""YUNDA"",""ZTO"",""STO"",""JD"",""DBKD"",""CNSD"",""SF""],""req"":{""requestContent"":[{""deliveryId"":"""",""orderType"":1,""ecOrderList"":[{""ecOrderId"":""3736506990289905920"",""goodsList"":[{""goodCount"":1,""goodName"":""【抢限量印签】信任养育:你的孩子本来就很好 白瑞家庭教育作品,千万父母追随,20余年经验沉淀"",""productId"":""10000852376968"",""skuId"":""15057811153""}]}],""sender"":{""name"":""陈图书"",""mobile"":""13023098035"",""province"":""安徽省"",""city"":""合肥市"",""county"":""肥西县"",""street"":"""",""address"":""上派镇中盟电子产业园8栋一单元(东电梯3楼快递指定存放点)"",""lat"":"""",""lng"":""""},""deliveryInfo"":{""appointmentType"":1,""datetime"":""20260521""},""extInfo"":{""packageWeightG"":1000},""uuid"":""37f59ae7-32fb-4e7a-89af-1d228c9d933f"",""orderVasList"":[],""source"":3}]}}";
|
||
string body = JsonHelper.SerializeObject(preWaybillOnlineparam);
|
||
string refere = "https://store.weixin.qq.com/shop/waybill/allToAll";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
//{"ret":0,"list":[{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"390","feeDetail":{"totalShippingFee":"390","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":0,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"JTSD","orderType":1,"ewaybillOrderId":"4525894130917130247","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"440","feeDetail":{"totalShippingFee":"440","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":0,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"YTO","orderType":1,"ewaybillOrderId":"4525894132274036739","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"440","feeDetail":{"totalShippingFee":"440","vasPriceDetail":[{"vasType":"","vasDetail":"","vasPrice":0}],"totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":1779537600,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"YUNDA","orderType":1,"ewaybillOrderId":"4525894133585330193","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"成功","totalFee":"499","feeDetail":{"totalShippingFee":"499","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":0,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"ZTO","orderType":1,"ewaybillOrderId":"4525894130125225990","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"440","feeDetail":{"totalShippingFee":"440","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":0,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"STO","orderType":1,"ewaybillOrderId":"4525894133215215616","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"成功","totalFee":"600","feeDetail":{"totalShippingFee":"600","totalVasFee":0,"otherFee":0,"otherFeeName":"其他费用"},"predictedArrivedTime":0,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"JD","orderType":1,"ewaybillOrderId":"4525894136920145936","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"1100","feeDetail":{"totalShippingFee":"1100","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":1779445800,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"DBKD","orderType":1,"ewaybillOrderId":"4525894139054424087","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true},{"code":0,"responseContent":[{"retcode":1000000,"errorMsg":"","deliveryErrorMsg":"获取预估价格失败","uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"CNSD","orderType":1,"deliveryResultCode":"10002","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":false}],"showInsufficientBalance":false},{"code":0,"responseContent":[{"retcode":0,"errorMsg":"","deliveryErrorMsg":"success","totalFee":"1100","feeDetail":{"totalShippingFee":"1100","totalVasFee":0,"otherFee":0,"otherFeeName":""},"predictedArrivedTime":1779530400,"uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","deliveryId":"SF","orderType":231,"ewaybillOrderId":"4525894132961951757","deliveryResultCode":"0","errorType":0,"blockExplainUrl":{},"showInsufficientBalance":true}],"showInsufficientBalance":true}]}
|
||
return result;
|
||
}
|
||
|
||
// 设置在线寄件
|
||
public static string createOrderWaybillOnline(ShopLoginInfo shop, WXCreateOrderWaybillOnlineParam waybillOnlineparam)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodewaybill/alltoall/platCreateOrder?token=&lang=zh_CN";
|
||
//string body = @"{""payMethod"":2,""requestContent"":[{""deliveryId"":""YTO"",""ewaybillOrderId"":""4525894132274036739"",""ecOrderList"":[{""ecOrderId"":""3736528290099110144"",""goodsList"":[{""goodCount"":1,""goodName"":""荣恒教育[青春期男孩要知道的45件事]10-16岁必读告别迷茫与尴尬青春期枕边书送给孩子的成长礼物"",""productId"":""10000826945183"",""skuId"":""14514725990""}]}],""sender"":{""name"":""李"",""mobile"":""17855123321"",""province"":""江苏省"",""city"":""常州市"",""county"":""天宁区"",""street"":"""",""address"":""九洲环宇大酒店(常州青果巷火车站店)201"",""lat"":""31.779615"",""lng"":""119.974997""},""deliveryInfo"":{""appointmentType"":1,""datetime"":""20260522""},""extInfo"":{""packageWeightG"":1000},""remark"":"""",""uuid"":""1ef8b9e2-d68e-4e12-8bda-e188e246d5ae"",""orderVasList"":[],""source"":3}]}";
|
||
string body = JsonHelper.SerializeObject(waybillOnlineparam);
|
||
string refere = "https://store.weixin.qq.com/shop/waybill/allToAll";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
//{"ret":0,"code":0,"responseContent":[{"ewaybillOrderId":"4525894132274036739","retcode":0,"errorMsg":"","deliveryErrorMsg":"success","waybillId":"YT2547223870618","deliveryId":"YTO","uuid":"1ef8b9e2-d68e-4e12-8bda-e188e246d5ae","errorType":0,"deliveryResultCode":"0","blockExplainUrl":{}}],"displayNewuserTips":false,"createSuccTips":"预计 明天上门取件"}
|
||
return result;
|
||
}
|
||
|
||
public static string searchOnlineWaybill(ShopLoginInfo shop, string orderId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodewaybill/alltoall/searchBill?token=&lang=zh_CN";
|
||
string body = @"{""createMode"":1,""orderId"":""" + orderId + @""",""cosignmentOrderId"":"""",""goodsTitle"":"""",""receiverPhone"":"""",""receiverName"":"""",""billStatus"":null,""orderStatus"":null,""offset"":0,""limit"":20,""waybillId"":"""",""payMethodList"":[],""platDisplayOrderStatusList"":[],""cosignmentOrderTime"":[],""cosignmentAssignTime"":[],""storeName"":"""",""orderNote"":"""",""deliveryOrderStatusList"":[10,20,40]}";
|
||
string refere = "https://store.weixin.qq.com/shop/waybill/allToAll";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string cancelOnlineWaybill(ShopLoginInfo shop, string ewaybillOrderId, string waybillId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodewaybill/alltoall/platCancelOrder?token=&lang=zh_CN";
|
||
string body = @"{""requestContent"":[{""ewaybillOrderId"":""" + ewaybillOrderId + @""",""waybillId"":""" + waybillId + @""",""source"":1,""merchCancelReason"":""临时缺货,库存不足""}]}";
|
||
string refere = "https://store.weixin.qq.com/shop/waybill/allToAll";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
|
||
public static string cancelActivity(ShopLoginInfo shop, JObject activityData)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/updateRequestProductList?token=&lang=zh_CN";
|
||
string body = JsonHelper.SerializeObject(activityData);
|
||
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=1016&curTab=2";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
|
||
public static string orderSendOut(ShopLoginInfo shop, string orderId, string waybillId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/ship/cgi/orderSendOut?token=&lang=zh_CN";
|
||
string body = @"{""orderId"":""" + orderId + @""",""deliveryProduct"":{""deliveryId"":""OTHER"",""waybillId"":""" + waybillId + @""",""isAllProduct"":true,""deliverType"":1}}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list?type=3";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string updateDeliveryInfo(ShopLoginInfo shop, UpdateDeliverInfoParam param)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/ship/cgi/updateDeliveryInfo?token=&lang=zh_CN";
|
||
string body = JsonHelper.SerializeObject(param);
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list?type=3";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string initDeliveryInfo(ShopLoginInfo shop, string orderId)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/ship/cgi/initShipData?token=&lang=zh_CN";
|
||
string body = @"{""id"":""" + orderId + @"""}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/order/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static string getSkuBySpu(ShopLoginInfo shop, string spuIds)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/getStockBySpu?token=&lang=zh_CN";
|
||
string body = @"{""productIdList"":[" + spuIds + @"]}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/goods/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
public static string batchUpdateStockAdd(ShopLoginInfo shop, string spuId, string skuId, string num)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchUpdateStock?token=&lang=zh_CN";
|
||
string body = @"{""skuList"":[{""spuId"":""" + spuId + @""",""skuId"":""" + skuId + @""",""diffType"":1,""num"":" + num + "}]}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/goods/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
public static string batchUpdateStockReduce(ShopLoginInfo shop, string spuId, string skuId, string num)
|
||
{
|
||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchUpdateStock?token=&lang=zh_CN";
|
||
string body = @"{""skuList"":[{""spuId"":""" + spuId + @""",""skuId"":""" + skuId + @""",""diffType"":2,""num"":" + num + "}]}";
|
||
|
||
string refere = "https://store.weixin.qq.com/shop/goods/list";
|
||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
|
||
return result;
|
||
}
|
||
|
||
public static List<string> quantifiers1 = new List<string> { "栋", "楼", "幢", "号", "弄", "巷" };
|
||
public static List<string> quantifiers2 = new List<string> { "", "", "", "", "", "", "", "", "", "", "", "", "室", "室", "室", "室", "室", "室", "室", "房间" };
|
||
|
||
public string detailAddress { get; set; } = @"晨辉东路金茂家园栋西侧附房
|
||
云栖巷老供销社后院平房第间
|
||
星桥南路丽景公寓B座顶层复式
|
||
松竹里便民市场北侧临街铺面
|
||
望月路农机大院排号院落
|
||
丹枫街翰林雅居沿街二层商铺
|
||
清荷路水岸人家南区独立小院
|
||
古柏巷原粮管所宿舍西户
|
||
长庚西路天悦花园栋架空层旁住宅
|
||
翠柳街红枫小区北门旁自建房
|
||
石泉路山泉新村中心位置宅院
|
||
烟柳巷纺织厂老宿舍楼东侧
|
||
锦华中路锦绣庭院独栋民居
|
||
柏杨路阳光里小区步梯六楼
|
||
梅香街梅园新村后排平房
|
||
桐荫巷木器厂旧址院内住房
|
||
润和路和乐家园东区一单元
|
||
秋实街丰收大院前排临街房
|
||
兰馨巷兰花苑底层储物间改住房
|
||
洪波东路浪潮公寓临街单间
|
||
青槐路槐香里老宅东厢房
|
||
杏园街杏树园片区自建小楼
|
||
竹溪巷溪畔民居联排住宅
|
||
盛景路盛和府邸小高层中户
|
||
永宁街安宁里老街区临街宅院
|
||
荷风巷荷苑小区边角独立房
|
||
凌霄路凌霄花园顶楼带露台
|
||
梧叶街梧桐大院后排住房
|
||
花溪巷花溪雅居一楼带小院
|
||
景阳西路景阳小区电梯楼西户
|
||
松涛街松涛里老式单元楼
|
||
柳泉巷泉柳民居联排平房
|
||
朝阳里东街号院栋西侧平房
|
||
凤鸣巷中段便民楼后巷
|
||
青槐路辅路老粮站旁独院
|
||
荷风街南支巷铁皮房片区
|
||
松园后街花木市场深处院落
|
||
柳泉巷北口杂货铺隔壁内院
|
||
锦华里二巷三层自建小楼
|
||
玉泉路西巷排水渠旁民居
|
||
丹枫街北头农机站后侧
|
||
紫竹巷中段围墙内老宅
|
||
广福里三巷临街复式宅院
|
||
云溪路东支巷仓储区旁住房
|
||
红梅巷南段果蔬摊后方小院
|
||
翠园后街苗圃园边上住宅
|
||
安和巷南口修车铺内侧院落
|
||
星耀路西二巷老式联排民房
|
||
兰馨里一巷阁楼式民居
|
||
响水街北巷石桥旁农家院
|
||
梧桐巷中段老戏台后方住所
|
||
顺达路南支巷废品站隔壁小院
|
||
福临里四巷坡地自建房屋
|
||
月河路东巷码头旁临街房
|
||
金桂巷北段木器厂后侧民居
|
||
怡园后街假山旁独立院落
|
||
静宁巷中段围墙拐角老宅
|
||
通达路西三巷货运站旁住房
|
||
海棠里二巷台阶上方宅院
|
||
清流街南巷古井边上民房
|
||
白杨巷南段预制板老式楼房
|
||
隆兴路东支巷饲料店后院内宅
|
||
瑞祥里一巷矮墙围合小院
|
||
镜湖路北巷游船码头后侧房
|
||
丁香巷中段裁缝铺深处院落
|
||
桃园后街果林边上自建屋
|
||
平和巷北口理发店内侧住宅
|
||
远航路南二巷物流点旁民房
|
||
茉莉里三巷坡路两侧宅院
|
||
寒溪街西巷河岸边联排房
|
||
古柏巷北段祠堂旁老式民居
|
||
兴盛路东三巷五金店后方小院
|
||
泰和里二巷架空层上方住房
|
||
碧泉路南巷泉眼旁农家院
|
||
蔷薇巷南段花店后侧内院
|
||
枣园后街枣树林深处宅院
|
||
永宁巷中段路牙边小平房
|
||
昌盛路西四巷建材市场旁房
|
||
木槿里一巷跨巷小楼院落
|
||
沙河街北巷河滩边自建房屋
|
||
石榴巷北段糕点铺内侧住宅
|
||
康乐路南支巷诊所后方小院
|
||
吉庆里四巷竹林边上老宅
|
||
寒山路东巷山脚临街民房
|
||
紫薇巷中段书画店深处院落
|
||
梨园后街梨园深处联排房
|
||
崇安巷南口鞋店后方内宅
|
||
鸿达路北三巷货运堆场旁房
|
||
菖蒲里二巷水塘边小平房
|
||
长溪街西巷溪流旁农家院
|
||
腊梅巷南段酱菜铺内侧院落
|
||
杏园后街杏树旁老式民居
|
||
定安巷中段丁字路口内院
|
||
广盛路东四巷农资店后方房
|
||
菱荷里三巷荷塘边上宅院
|
||
岩泉路南巷山石旁自建房屋
|
||
迎春巷北段果蔬市场深处院
|
||
枫香路北支巷木材站后侧房
|
||
顺安里一巷窄巷深处老宅
|
||
渔舟街东巷渔船码头旁民房
|
||
连翘巷中段药铺内侧小院
|
||
梅园后街梅林边上住宅
|
||
泰安巷北口修车行后方内院
|
||
恒通路南四巷中转仓旁房屋
|
||
芦花里二巷芦苇荡边小平房
|
||
深溪街北巷深沟旁农家院
|
||
素馨巷南段杂货摊后方院落
|
||
李园后街李树旁老式民房
|
||
广安巷中段弯道内侧宅院
|
||
汇盛路西五巷钢材市场旁房
|
||
浮萍里三巷池塘边自建小屋
|
||
石泉路东巷石磨旁临街住宅
|
||
探春巷北段农贸市场深处院
|
||
香樟路南支巷苗圃后方房屋
|
||
久安里一巷高墙围合小院
|
||
归舟街西巷渡口边上民房
|
||
忍冬巷中段茶饮店内侧院落
|
||
槐园后街古槐旁老宅宅院
|
||
福安巷南口熟食铺后方内宅
|
||
盛达路北四巷快递站点旁房
|
||
荻花里二巷河湾边小平房
|
||
曲溪街东巷弯道溪流旁院
|
||
晚香巷南段粮油店内侧院落
|
||
橘园后街橘林深处联排房
|
||
乐安巷中段十字路内小院
|
||
宏通路南五巷汽修厂后方房
|
||
菖蒲湾三巷浅滩边自建屋
|
||
冷泉路西巷凉泉旁农家院
|
||
寻芳巷北段花卉市场深处院
|
||
楠木巷北支巷木料厂后侧房
|
||
长安里一巷窄道深处老宅
|
||
泊船街北巷停泊区旁民房
|
||
络石巷中段编织铺内侧院落
|
||
檀园后街檀木树旁老式房
|
||
民安巷北口洗车行后方内院
|
||
万顺路西六巷仓储中心旁房
|
||
萍叶里二巷浅塘边小平房
|
||
环溪街南巷环水区域宅院
|
||
落英巷南段干货店内侧院落
|
||
柚园后街柚树旁自建房屋
|
||
新安巷中段斜坡内侧小院
|
||
卓盛路东六巷水暖店后方房
|
||
荷尖里三巷荷塘浅处住宅
|
||
沸泉路东巷热泉边农家院
|
||
撷翠巷北段花鸟市场深处院
|
||
梓树巷南支巷板材站后侧房
|
||
静安里一巷矮巷深处老宅
|
||
行舟街西巷航道旁临街房
|
||
云苓巷中段草药铺内侧院落
|
||
栎园后街柞树旁老式民居
|
||
裕安巷南口卤味铺后方内宅
|
||
捷通路北五巷配送站旁房屋
|
||
苇叶里二巷苇丛边小平房
|
||
叠溪街东巷叠水景观旁院
|
||
凝香巷南段日杂店内侧院落
|
||
栗园后街栗树林深处房
|
||
熙安巷中段岔路内侧小院
|
||
隆通路南六巷铁艺店后方房
|
||
菱角里三巷菱塘边上住宅
|
||
灵泉路西巷灵泉井旁农家院
|
||
拾翠巷北段宠物市场深处院
|
||
椿树巷北支巷木器加工房后
|
||
泰安里一巷暗巷深处老宅
|
||
系舟街北巷系船桩旁民房
|
||
玉竹巷中段竹编铺内侧院落
|
||
桦园后街桦树旁自建房屋
|
||
淳安巷北口摩配行后方内院
|
||
广顺路西七巷五金仓储旁房
|
||
蒲草里二巷蒲草丛边小平房
|
||
连溪街南巷连河区域宅院
|
||
留香巷南段烟酒铺内侧院落
|
||
枣林后街老枣树旁老式房
|
||
淳和巷中段陡坡内侧小院
|
||
锦盛路东七巷玻璃店后方房
|
||
藕叶里三巷藕塘边上住宅
|
||
甘泉路东巷甜泉旁农家院
|
||
揽芳巷北段生鲜市场深处院
|
||
楝树巷南支巷木材堆场后侧
|
||
清安里一巷曲巷深处老宅
|
||
泛舟街西巷游船泊位旁房
|
||
麦冬巷中段杂粮铺内侧院落
|
||
杨园后街白杨树旁民居
|
||
惠安巷南口炸货铺后方内宅
|
||
畅通路北六巷货运门店旁房
|
||
茅草里二巷茅草丛边小平房
|
||
分支溪街东巷支流旁宅院
|
||
沁香巷南段熟食摊内侧院落
|
||
枫林后街红枫林深处房屋
|
||
仁和巷中段巷口内小院
|
||
鸿盛路南七巷门窗店后方房
|
||
芡实里三巷芡塘边上住宅
|
||
清泉路西巷清潭旁农家院
|
||
采芳巷北段水产市场深处院
|
||
槐树巷北支巷木作坊后侧房
|
||
和安里一巷深巷深处老宅
|
||
停舟街北巷停船区旁民房
|
||
黄精巷中段山货铺内侧院落
|
||
柳园后街垂柳旁自建房屋
|
||
顺和巷北口修理铺后方内院
|
||
通远路西八巷物流仓库旁房
|
||
灯草里二巷草棚边小平房
|
||
汇溪街南巷汇流口旁宅院
|
||
溢香巷南段果蔬店内侧院落
|
||
桃林后街桃林深处老式房
|
||
德和巷中段窄坡内侧小院
|
||
鼎盛路东八巷石材店后方房
|
||
慈姑里三巷浅塘边上住宅
|
||
冷潭路东巷寒潭旁农家院
|
||
撷芳巷北段肉禽市场深处院
|
||
榆树巷南支巷木料加工房后
|
||
睦安里一巷绕巷深处老宅
|
||
渡舟街西巷渡口码头旁房
|
||
首乌巷中段干货摊内侧院落
|
||
樟园后街香樟旁民居宅院
|
||
祥和巷南口面点铺后方内宅
|
||
致远路北七巷中转库房旁房
|
||
蒿草里二巷蒿丛边小平房
|
||
溪口街东巷溪口边上宅院
|
||
飘香巷南段服饰店内侧院落
|
||
杏林后街杏林深处联排房
|
||
谦和巷中段弯道内侧小院
|
||
强盛路南八巷广告店后方房
|
||
荸荠里三巷水田边自建屋
|
||
幽泉路西巷幽泉旁农家院
|
||
寻翠巷北段土产市场深处院
|
||
梧桐巷北支巷家具坊后侧房
|
||
静安里二巷叠巷深处老宅
|
||
摇舟街北巷摇橹船停泊区
|
||
百合巷中段花店摊内侧院落
|
||
杉园后街水杉旁老式民居
|
||
温和巷北口缝纫铺后方内院
|
||
恒远路西九巷货物堆场旁房
|
||
莎草里二巷湿地边小平房
|
||
溪尾街南巷溪尾滩旁宅院
|
||
浓香巷南段鞋靴店内侧院落
|
||
竹林后街翠竹深处房屋
|
||
恭和巷中段岔坡内侧小院
|
||
伟盛路东九巷铁艺加工后房
|
||
慈莲里三巷莲池边上住宅
|
||
深潭路东巷深潭边农家院
|
||
觅芳巷北段熟食市场深处院
|
||
朴树巷南支巷板材堆放区后
|
||
宁安里二巷回廊巷深处老宅
|
||
撑舟街西巷撑船码头旁房
|
||
贝母巷中段山珍铺内侧院落
|
||
枫园后街枫树旁自建房屋
|
||
协和巷北口修鞋铺后方内院
|
||
辽远路北八巷大件物流旁房
|
||
菅草里二巷荒草边小平房
|
||
溪腰街东巷溪流中段宅院
|
||
醇香巷南段箱包店内侧院落
|
||
松林后街松林深处老式房
|
||
善和巷中段墙根内侧小院
|
||
卓盛路南九巷汽配店后方房
|
||
水芹里三巷浅水沟边住宅
|
||
静泉路西巷静井旁农家院
|
||
访翠巷北段日杂市场深处院
|
||
椿芽巷北支巷苗木场后侧房
|
||
永安里二巷夹缝巷深处老宅
|
||
放舟街北巷放船水域旁民房
|
||
石斛巷中段药草摊内侧院落
|
||
桧园后街圆柏旁民居宅院
|
||
怡和巷南口蔬果铺后方内宅
|
||
悠远路北九巷快运站点旁房
|
||
蓑草里二巷坡地边小平房
|
||
岔溪街南巷岔流处旁宅院
|
||
鲜香巷南段家纺店内侧院落
|
||
柏林后街侧柏深处联排房
|
||
乐和巷中段石阶内侧小院
|
||
冠盛路东十巷水暖加工后房
|
||
水葱里三巷湿洼地边住宅
|
||
浅潭路东巷浅潭旁农家院
|
||
探芳巷北段水产摊市深处院
|
||
皂角巷南支巷旧木料区后侧
|
||
康安里二巷盘旋巷深处老宅
|
||
游舟街西巷游船航道旁房屋
|
||
芍药巷中段花艺铺内侧院落
|
||
槐林后街国槐旁自建房屋
|
||
泰和巷北口配锁铺后方内院
|
||
旷远路西十巷大型仓库旁房
|
||
苎草里二巷田埂边小平房
|
||
弯溪街东巷弯流处旁宅院
|
||
清香巷南段文具店内侧院落
|
||
杨林后街白杨深处老式房
|
||
淳和巷南段矮墙内侧小院
|
||
鼎盛路南十巷灯饰店后方房
|
||
泽泻里三巷沟渠边住宅
|
||
冷泉路东巷冷井旁农家院
|
||
撷芳巷南段肉品市场深处院
|
||
桑枝巷北支巷养蚕坊后侧房
|
||
福安里二巷绕墙巷深处老宅
|
||
泊舟街南巷泊船港湾旁民房
|
||
郁金巷中段香品铺内侧院落
|
||
榆园后街榆树旁民居宅院
|
||
永和巷南口面食铺后方内宅
|
||
迢远路北十巷零担物流旁房
|
||
蔺草里二巷塘埂边小平房
|
||
双溪街西巷双河交汇旁宅院
|
||
淡香巷南段玩具店内侧院落
|
||
柳林后街垂柳深处联排房
|
||
清和巷中段土坡内侧小院
|
||
隆盛路东十一巷五金加工后房
|
||
灯芯里三巷低洼地边住宅
|
||
温泉路西巷温池旁农家院
|
||
寻芳巷南段果蔬摊市深处院
|
||
桃枝巷南支巷果木场后侧房
|
||
吉安里二巷转角巷深处老宅
|
||
行舟街南巷行船航道旁房屋
|
||
牵牛巷中段藤蔓铺内侧院落
|
||
枣园后街酸枣旁自建房屋
|
||
祥和巷北口修表铺后方内院
|
||
广远路西十一巷仓储园区旁房
|
||
席草里二巷场院边小平房
|
||
长溪街东巷长流河道旁宅院
|
||
微香巷南段饰品店内侧院落
|
||
杏林后街杏树深处老式房
|
||
安和巷南段石墙内侧小院
|
||
宏盛路南十一巷化工店后方房
|
||
浮萍里四巷积水塘边住宅
|
||
暖泉路东巷暖井旁农家院
|
||
采翠巷南段花鸟摊市深处院
|
||
梅枝巷北支巷花木场后侧房
|
||
瑞安里二巷穿墙巷深处老宅
|
||
系舟街南巷系船码头旁民房
|
||
凤仙巷中段盆栽铺内侧院落
|
||
栗园后街板栗旁民居宅院
|
||
顺和巷南段木栏内侧小院
|
||
怀远路北十一巷配送仓库旁房
|
||
茅草里三巷沟坎边小平房
|
||
短溪街西巷短流河段旁宅院
|
||
余香巷南段皮具店内侧院落
|
||
枫林后街青枫深处联排房
|
||
平和巷北段土坎内侧小院
|
||
锦盛路东十二巷门窗加工后房
|
||
菱叶里四巷河塘边住宅
|
||
冰泉路西巷冰池旁农家院
|
||
访芳巷南段生鲜摊市深处院
|
||
竹枝巷南支巷竹器坊后侧房
|
||
兴安里二巷穿巷深处老宅
|
||
泛舟街南巷泛舟水域旁房屋
|
||
鸡冠巷中段种苗铺内侧院落
|
||
栎园后街青栎旁自建房屋
|
||
温和巷北口弹棉花铺后方院
|
||
超远路西十二巷货运园区旁房
|
||
蒲草里三巷渠边小平房
|
||
曲溪街西巷曲流河道旁宅院
|
||
留香巷南段眼镜店内侧院落
|
||
槐园后街刺槐深处老式房
|
||
仁和巷南段砖垛内侧小院
|
||
鸿盛路南十二巷钢材店后方房
|
||
荷叶里四巷藕塘边住宅
|
||
寒潭路东巷寒池旁农家院
|
||
探翠巷南段水产摊市深处院
|
||
柳枝巷北支巷柳条坊后侧房
|
||
乐安里二巷隐巷深处老宅
|
||
停舟街南巷停船港湾旁民房
|
||
茉莉巷中段香花铺内侧院落
|
||
杨园后街青杨旁民居宅院
|
||
谦和巷北段石栏内侧小院
|
||
腾远路北十二巷中转货场旁房
|
||
菅草里三巷坡埂边小平房
|
||
环溪街东巷环流水域旁宅院
|
||
溢香巷南段钟表店内侧院落
|
||
桑林后街桑树深处联排房
|
||
德和巷南段土墙内侧小院
|
||
强盛路东十二巷广告加工后房
|
||
芡实里四巷水田边住宅
|
||
灵泉路东巷灵池旁农家院
|
||
觅芳巷南段干货摊市深处院
|
||
榆枝巷南支巷木器坊后侧房
|
||
熙安里二巷暗巷深处老宅
|
||
渡舟街南巷渡船码头旁房屋
|
||
紫薇巷中段花苗铺内侧院落
|
||
樟园后街香樟旁自建房屋
|
||
恭和巷北段石坎内侧小院
|
||
逸远路西十三巷大件仓储旁房
|
||
蓑草里三巷垄边小平房
|
||
叠溪街西巷叠流水域旁宅院
|
||
飘香巷南段童装店内侧院落
|
||
柳林后街旱柳深处老式房
|
||
善和巷南段泥墙内侧小院
|
||
伟盛路南十二巷石材店后方房
|
||
慈姑里四巷浅塘边住宅
|
||
幽潭路西巷幽池旁农家院
|
||
寻翠巷南段土产摊市深处院
|
||
松枝巷北支巷木作坊后侧房
|
||
淳安里二巷深隐巷深处老宅
|
||
摇舟街南巷摇船泊位旁民房
|
||
木槿巷中段盆栽铺内侧院落
|
||
杉园后街冷杉旁民居宅院
|
||
睦和巷北段土坡内侧小院
|
||
悠远路北十三巷快运货场旁房
|
||
苎草里三巷地头小平房
|
||
汇溪街东巷汇流河道旁宅院
|
||
浓香巷南段男装店内侧院落
|
||
柏林后街圆柏深处联排房
|
||
谦和巷南段矮坎内侧小院
|
||
冠盛路东十三巷铁艺加工后房
|
||
荸荠里四巷沟渠边住宅
|
||
清泉路东巷清池旁农家院
|
||
撷翠巷南段宠物摊市深处院
|
||
柏枝巷南支巷板材坊后侧房
|
||
惠安里二巷窄隐巷深处老宅
|
||
撑舟街南巷撑船渡口旁房屋
|
||
海棠巷中段鲜果铺内侧院落
|
||
枫园后街红枫旁自建房屋
|
||
怡和巷北段石埂内侧小院
|
||
辽远路西十三巷零担仓储旁房
|
||
蔺草里三巷塘边小平房
|
||
分溪街西巷分流河道旁宅院
|
||
醇香巷南段女装店内侧院落
|
||
杨林后街青杨深处老式房
|
||
温和巷南段砖坎内侧小院
|
||
卓盛路南十三巷汽配店后方房
|
||
水芹里四巷湿地边住宅
|
||
静潭路西巷静池旁农家院
|
||
访芳巷南段熟食摊市深处院
|
||
椿枝巷北支巷苗木坊后侧房
|
||
顺安里二巷曲隐巷深处老宅
|
||
放舟街南巷放船水域旁民房
|
||
丁香巷中段香包铺内侧院落
|
||
桧园后街刺柏旁民居宅院
|
||
祥和巷北段土埂内侧小院
|
||
旷远路北十三巷配送货场旁房
|
||
席草里三巷场边小平房
|
||
合溪街东巷合流河道旁宅院
|
||
鲜香巷南段内衣店内侧院落
|
||
枣林后街灰枣深处联排房
|
||
泰和巷南段泥坎内侧小院
|
||
隆盛路东十四巷灯饰加工后房
|
||
水葱里四巷洼地处住宅
|
||
甘泉路西巷甘池旁农家院
|
||
探芳巷南段肉品摊市深处院
|
||
槐枝巷南支巷木货坊后侧房
|
||
广安里二巷绕隐巷深处老宅
|
||
游舟街南巷游船航道旁房屋
|
||
蔷薇巷中段花艺铺内侧院落
|
||
桑园后街桑树旁自建房屋
|
||
永和巷北段石坡内侧小院
|
||
迢远路西十四巷综合仓储旁房
|
||
灯草里三巷沟边小平房
|
||
支流溪街西巷支流河道旁宅院
|
||
淡香巷南段童鞋店内侧院落
|
||
榆林后街榆树深处老式房
|
||
淳和巷北段砖坡内侧小院
|
||
宏盛路南十四巷化工店后方房
|
||
泽泻里四巷渠塘边住宅
|
||
温泉路东巷温潭旁农家院
|
||
觅翠巷南段果蔬摊市深处院
|
||
柳枝巷北支巷柳货坊后侧房
|
||
福安里三巷穿隐巷深处老宅
|
||
泊舟街西巷泊船航道旁民房
|
||
牡丹巷中段盆花铺内侧院落
|
||
柳园后街杞柳旁民居宅院
|
||
祥和巷北段土坡内侧小院
|
||
广远路北十四巷大型货场旁房
|
||
莎草里三巷滩边小平房
|
||
干流溪街东巷干流河道旁宅院
|
||
微香巷南段箱包店内侧院落
|
||
桃林后街碧桃深处联排房
|
||
安和巷北段泥坡内侧小院
|
||
锦盛路东十四巷门窗加工后房
|
||
灯芯里四巷低洼塘边住宅
|
||
冷潭路西巷冷池旁农家院
|
||
寻芳巷北段水产摊市深处院
|
||
桃枝巷南支巷果货坊后侧房
|
||
吉安里三巷转角隐巷老宅
|
||
系舟街西巷系船航道旁房屋
|
||
芍药巷中段花束铺内侧院落
|
||
栗园后街锥栗旁自建房屋
|
||
平和巷北段石坡内侧小院
|
||
怀远路西十四巷快递仓储旁房
|
||
茅草里四巷崖边小平房
|
||
浅溪街西巷浅流河道旁宅院
|
||
余香巷南段帽饰店内侧院落
|
||
杏林后街山杏深处老式房
|
||
清和巷北段砖坡内侧小院
|
||
鸿盛路南十四巷钢材店后方房
|
||
菱角里四巷河湾边住宅
|
||
冰泉路东巷冰潭旁农家院
|
||
采芳巷北段花鸟摊市深处院
|
||
竹枝巷北支巷竹货坊后侧房
|
||
瑞安里三巷穿墙隐巷老宅
|
||
泛舟街西巷泛舟航道旁民房
|
||
凤仙巷中段花籽铺内侧院落
|
||
栎园后街麻栎旁民居宅院
|
||
乐和巷北段土坡内侧小院
|
||
腾远路北十四巷快运货场旁房
|
||
蒲草里四堰边小平房
|
||
深溪街东巷深流河道旁宅院
|
||
留香巷南段袜品店内侧院落
|
||
枫林后街五角枫深处联排房
|
||
仁和巷北段泥坡内侧小院
|
||
强盛路东十四巷广告加工后房
|
||
荷叶里五巷塘湾边住宅
|
||
幽泉路东巷幽潭旁农家院
|
||
访翠巷北段生鲜摊市深处院
|
||
桑枝巷南支巷桑货坊后侧房
|
||
熙安里三巷回廊隐巷老宅
|
||
停舟街西巷停船航道旁房屋
|
||
牵牛巷中段花藤铺内侧院落
|
||
枣园后街圆枣旁自建房屋
|
||
德和巷北段石坡内侧小院
|
||
逸远路西十五巷大件货场旁房
|
||
菅草里四埂边小平房
|
||
急溪街西巷急流河道旁宅院
|
||
溢香巷南段围巾店内侧院落
|
||
槐林后街龙爪槐深处老式房
|
||
谦和巷北段砖坡内侧小院
|
||
伟盛路南十四巷石材店后方房
|
||
芡实里五巷滩田边住宅
|
||
灵潭路西巷灵池旁农家院
|
||
撷芳巷北段干货摊市深处院
|
||
榆枝巷北支巷榆货坊后侧房
|
||
淳安里三巷夹缝隐巷老宅
|
||
渡舟街西巷渡船航道旁民房
|
||
茉莉巷中段花干铺内侧院落
|
||
杨园后街钻天杨旁民居宅院
|
||
善和巷北段土坡内侧小院
|
||
悠远路北十五巷零担货场旁房
|
||
蓑草里四垄边小平房
|
||
缓溪街东巷缓流河道旁宅院
|
||
飘香巷南段手套店内侧院落
|
||
柳林后街馒头柳深处联排房
|
||
恭和巷北段泥坡内侧小院
|
||
冠盛路东十五巷铁艺加工后房
|
||
慈姑里五巷浅滩边住宅
|
||
静泉路东巷静潭旁农家院
|
||
寻翠巷北段土产摊市深处院
|
||
松枝巷南支巷松货坊后侧房
|
||
睦安里三巷盘旋隐巷老宅
|
||
摇舟街西巷摇船航道旁房屋
|
||
紫薇巷中段花根铺内侧院落
|
||
樟园后街黄樟旁自建房屋
|
||
温和巷北段石坡内侧小院
|
||
辽远路西十五巷配送仓储旁房
|
||
苎草里四畦边小平房
|
||
静溪街西巷静流河道旁宅院
|
||
浓香巷南段皮带店内侧院落
|
||
柏林后街侧柏丛深处老式房
|
||
怡和巷北段砖坡内侧小院
|
||
卓盛路南十五巷汽配店后方房
|
||
荸荠里五巷浅沟边住宅
|
||
清泉路西巷清潭旁农家院
|
||
探翠巷北段宠物摊市深处院
|
||
柏枝巷北支巷柏货坊后侧房
|
||
惠安里三巷盘旋隐巷老宅
|
||
撑舟街西巷撑船航道旁民房
|
||
海棠巷中段果干铺内侧院落
|
||
枫园后街三角枫旁民居宅院
|
||
祥和巷北段土坡内侧小院
|
||
旷远路北十五巷综合货场旁房
|
||
蔺草里四塘埂小平房
|
||
动溪街东巷流动河道旁宅院
|
||
醇香巷南段鞋帽店内侧院落
|
||
杨林后街银白杨深处联排房
|
||
泰和巷北段泥坡内侧小院
|
||
隆盛路东十五巷灯饰加工后房
|
||
水芹里五巷浅湿地住宅
|
||
甘泉路东巷甘潭旁农家院
|
||
觅芳巷北段熟食摊市深处院
|
||
椿枝巷南支巷椿货坊后侧房
|
||
顺安里三巷穿墙隐巷老宅
|
||
放舟街西巷放船航道旁房屋
|
||
丁香巷中段花籽铺内侧院落
|
||
桧园后街铺地柏旁自建房屋
|
||
祥和巷北段石坡内侧小院
|
||
迢远路西十五巷快运仓储旁房
|
||
席草里四场边小平房
|
||
幽溪街西巷幽流河道旁宅院
|
||
鲜香巷南段袜饰店内侧院落
|
||
枣林后街酸枣丛深处老式房
|
||
永和巷北段砖坡内侧小院
|
||
宏盛路南十五巷化工店后方房
|
||
水葱里五巷浅洼地住宅
|
||
温泉路西巷温泉池旁农家院
|
||
访芳巷北段肉品摊市深处院
|
||
槐枝巷北支巷槐货坊后侧房
|
||
广安里三巷绕墙隐巷老宅
|
||
游舟街西巷游船航道旁民房
|
||
蔷薇巷中段花肥铺内侧院落
|
||
桑园后街龙桑旁民居宅院
|
||
淳和巷北段土坡内侧小院
|
||
广远路北十五巷大型仓储旁房
|
||
灯草里四渠边小平房
|
||
明溪街东巷明流河道旁宅院
|
||
淡香巷南段童装铺内侧院落
|
||
榆林后街垂枝榆深处联排房
|
||
安和巷北段泥坡内侧小院
|
||
锦盛路东十五巷门窗加工后房
|
||
泽泻里五巷浅渠边住宅
|
||
冷泉路西巷冷泉池旁农家院
|
||
撷翠巷北段果蔬摊市深处院
|
||
柳枝巷南支巷柳货坊后侧房
|
||
福安里四巷暗巷深处老宅
|
||
泊舟街东巷泊船码头旁房屋
|
||
牡丹巷中段花盆铺内侧院落
|
||
柳园后街龙爪柳旁自建房屋
|
||
平和巷北段石坎内侧小院
|
||
怀远路西十六巷快递货场旁房
|
||
莎草里四滩埂小平房
|
||
暗溪街西巷暗流河道旁宅院
|
||
微香巷南段箱包铺内侧院落
|
||
桃林后街垂枝桃深处老式房
|
||
清和巷北段砖坎内侧小院
|
||
鸿盛路南十六巷钢材店后方房
|
||
灯芯里五巷浅塘边住宅
|
||
寒潭路西巷寒潭池旁农家院
|
||
寻芳巷中段水产摊市深处院
|
||
桃枝巷北支巷桃货坊后侧房
|
||
吉安里四巷转角深巷老宅
|
||
系舟街东巷系船码头旁民房
|
||
芍药巷中段花土铺内侧院落
|
||
栗园后街欧洲栗旁民居宅院
|
||
仁和巷北段土坎内侧小院
|
||
腾远路北十六巷零担货场旁房
|
||
茅草里五崖埂小平房
|
||
清溪街东巷清流河道旁宅院
|
||
余香巷南段帽饰铺内侧院落
|
||
杏林后街垂枝杏深处联排房
|
||
德和巷北段泥坎内侧小院
|
||
强盛路东十六巷广告加工后房
|
||
菱角里五巷河浅湾住宅
|
||
冰泉路西巷冰泉池旁农家院
|
||
采芳巷中段花鸟摊市深处院
|
||
竹枝巷南支巷竹货坊后侧房
|
||
瑞安里四巷穿墙深巷老宅
|
||
泛舟街东巷泛舟码头旁房屋
|
||
凤仙巷中段花铲铺内侧院落
|
||
栎园后街白栎旁自建房屋
|
||
谦和巷北段石坎内侧小院
|
||
逸远路西十六巷大件货场旁房
|
||
蒲草里五堰埂小平房
|
||
浊溪街西巷浊流河道旁宅院
|
||
留香巷南段手套铺内侧院落
|
||
枫林后街鸡爪槭深处老式房
|
||
善和巷北段砖坎内侧小院
|
||
伟盛路南十六巷石材店后方房
|
||
荷叶里六巷塘浅湾住宅
|
||
幽泉路西巷幽泉池旁农家院
|
||
访翠巷中段生鲜摊市深处院
|
||
桑枝巷北支巷桑货坊后侧房
|
||
熙安里四巷回廊深巷老宅
|
||
停舟街东巷停船码头旁民房
|
||
牵牛巷中段花架铺内侧院落
|
||
枣园后街扁枣旁民居宅院
|
||
恭和巷北段土坎内侧小院
|
||
悠远路北十六巷配送货场旁房
|
||
菅草里五垄埂小平房
|
||
甘溪街东巷甘流河道旁宅院
|
||
溢香巷南段围巾铺内侧院落
|
||
槐林后街紫穗槐深处联排房
|
||
温和巷北段泥坎内侧小院
|
||
冠盛路东十六巷铁艺加工后房
|
||
芡实里六巷滩浅田住宅
|
||
灵潭路东巷灵潭池旁农家院
|
||
觅芳巷中段干货摊市深处院
|
||
榆枝巷南支巷榆货坊后侧房
|
||
淳安里四巷夹缝深巷老宅
|
||
渡舟街东巷渡船码头旁房屋
|
||
茉莉巷中段花剪铺内侧院落
|
||
杨园后街新疆杨旁自建房屋
|
||
怡和巷北段石坎内侧小院
|
||
辽远路西十六巷综合仓储旁房
|
||
蓑草里五畦埂小平房
|
||
苦溪街西巷苦流河道旁宅院
|
||
飘香巷南段皮带铺内侧院落
|
||
柳林后街龙柳深处老式房
|
||
祥和巷北段砖坎内侧小院
|
||
卓盛路南十六巷汽配店后方房
|
||
慈姑里六巷滩浅洼住宅
|
||
静泉路东巷静泉池旁农家院
|
||
寻翠巷中段土产摊市深处院
|
||
松枝巷北支巷松货坊后侧房
|
||
睦安里四巷盘旋深巷老宅
|
||
摇舟街东巷摇船码头旁民房
|
||
紫薇巷中段花壶铺内侧院落
|
||
樟园后街红樟旁民居宅院
|
||
泰和巷北段土坎内侧小院
|
||
旷远路北十六巷快运货场旁房
|
||
苎草里五地头小平房
|
||
乐溪街东巷乐流河道旁宅院
|
||
浓香巷南段鞋袜铺内侧院落
|
||
柏林后街圆柏苗深处联排房
|
||
祥和巷北段泥坎内侧小院
|
||
隆盛路东十六巷灯饰加工后房
|
||
荸荠里六巷沟浅洼住宅
|
||
清泉路东巷清泉池旁农家院
|
||
探翠巷中段宠物摊市深处院
|
||
柏枝巷南支巷柏货坊后侧房
|
||
惠安里四巷绕墙深巷老宅
|
||
撑舟街东巷撑船码头旁房屋
|
||
海棠巷中段果篮铺内侧院落
|
||
枫园后街元宝枫旁自建房屋
|
||
永和巷北段石坎内侧小院
|
||
迢远路西十六巷快递仓储旁房
|
||
蔺草里五塘边小平房
|
||
喜溪街西巷喜流河道旁宅院
|
||
醇香巷南段服饰铺内侧院落
|
||
杨林后街胡杨深处老式房
|
||
淳和巷北段砖坎内侧小院
|
||
宏盛路南十六巷化工店后方房
|
||
水芹里六巷湿浅地住宅
|
||
甘泉路西巷甘泉池旁农家院
|
||
撷芳巷中段熟食摊市深处院
|
||
椿枝巷北支巷椿货坊后侧房
|
||
顺安里四巷穿墙深巷老宅
|
||
放舟街东巷放船码头旁民房
|
||
丁香巷中段花肥铺内侧院落
|
||
桧园后街真柏旁民居宅院
|
||
安和巷北段土坎内侧小院
|
||
广远路北十六巷大型货场旁房
|
||
席草里五场边小平房
|
||
思溪街东巷思流河道旁宅院
|
||
鲜香巷南段内衣铺内侧院落
|
||
枣林后街壶枣深处联排房
|
||
清和巷北段泥坎内侧小院
|
||
锦盛路东十六巷门窗加工后房
|
||
水葱里六巷洼浅地住宅
|
||
温泉路东巷温泉潭旁农家院
|
||
访芳巷中段肉品摊市深处院
|
||
槐枝巷南支巷槐货坊后侧房
|
||
广安里四巷暗巷深宅院落
|
||
游舟街东巷游船码头旁房屋
|
||
蔷薇巷中段花架铺内侧院落
|
||
桑园后街鸡桑旁自建房屋
|
||
仁和巷北段石坎内侧小院
|
||
怀远路西十七巷零担仓储旁房
|
||
灯草里五沟边小平房
|
||
忆溪街西巷忆流河道旁宅院
|
||
淡香巷南段玩具铺内侧院落
|
||
榆林后街榔榆深处老式房
|
||
德和巷北段砖坎内侧小院
|
||
鸿盛路南十七巷钢材门店后方院
|
||
泽泻里六渠浅洼处住宅
|
||
冷泉路东巷冷泉潭旁农家院
|
||
觅翠巷中段果蔬摊市深处院落
|
||
柳枝巷北支巷柳编坊后侧民居
|
||
福安里五巷转角深巷老宅
|
||
泊船街中段旧码头旁联排房
|
||
牡丹巷中段花土铺内侧小院
|
||
柳园后街簸箕柳旁自建宅院
|
||
谦和巷北段土坎内侧小院
|
||
腾远路北十七巷大件物流货场
|
||
莎草里五滩边小平房
|
||
寻溪街东巷寻流河道旁院落
|
||
微香巷南段饰品铺内侧小院
|
||
桃林后街寿星桃深处联排房
|
||
善和巷北段泥坎内侧小院
|
||
强盛路东十七巷广告制作后场
|
||
灯芯里六塘浅洼处住宅
|
||
寒潭路东巷寒泉潭旁农家院
|
||
寻芳巷后段水产摊市深处院落
|
||
桃枝巷南支巷桃编坊后侧民居
|
||
吉安里五巷回廊深巷老宅
|
||
系船街中段老泊位旁住房
|
||
芍药巷中段花铲铺内侧小院
|
||
栗园后街毛栗旁自建宅院
|
||
恭和巷北段石坎内侧小院
|
||
逸远路西十七巷综合仓储园区
|
||
茅草里六崖边小平房
|
||
望溪街西巷望流河道旁院落
|
||
余香巷南段皮具铺内侧小院
|
||
杏林后街山桃深处老式民房
|
||
温和巷北段砖坎内侧小院
|
||
伟盛路南十七巷石材加工后场
|
||
菱角里六河浅滩处住宅
|
||
冰泉路东巷冰泉潭旁农家院
|
||
采芳巷后段花鸟摊市深处院落
|
||
竹枝巷北支巷竹编坊后侧民居
|
||
瑞安里五巷盘旋深巷老宅
|
||
泛舟街中段新码头旁住房
|
||
凤仙巷中段花壶铺内侧小院
|
||
栎园后街栓皮栎旁自建宅院
|
||
怡和巷北段土坎内侧小院
|
||
悠远路北十七巷快运中转货场
|
||
蒲草里六堰边小平房
|
||
听溪街东巷听流河道旁院落
|
||
留香巷南段鞋靴铺内侧小院
|
||
枫林后街红槭深处联排民房
|
||
祥和巷北段泥坎内侧小院
|
||
冠盛路东十七巷铁艺制作后场
|
||
荷叶里七塘浅滩处住宅
|
||
幽泉路东巷幽泉潭旁农家院
|
||
访翠巷后段生鲜摊市深处院落
|
||
桑枝巷南支巷桑编坊后侧民居
|
||
熙安里五巷夹缝深巷老宅
|
||
停船街中段旧泊位旁住房
|
||
牵牛巷中段花剪铺内侧小院
|
||
枣园后街葫芦枣旁自建宅院
|
||
泰和巷北段石坎内侧小院
|
||
辽远路西十七巷配送仓储中心
|
||
菅草里六垄边小平房
|
||
观溪街西巷观流河道旁院落
|
||
溢香巷南段服饰铺内侧小院
|
||
槐林后街紫槐深处老式民房
|
||
祥和巷北段砖坎内侧小院
|
||
卓盛路南十七巷汽配维修后场
|
||
芡实里七滩浅田处住宅
|
||
灵潭路西巷灵泉潭旁农家院
|
||
觅芳巷后段干货摊市深处院落
|
||
榆枝巷北支巷榆编坊后侧民居
|
||
淳安里五巷穿墙深巷老宅
|
||
渡船街中段老渡口旁住房
|
||
茉莉巷中段花籽铺内侧小院
|
||
杨园后街箭杆杨旁自建宅院
|
||
永和巷北段土坎内侧小院
|
||
旷远路北十七巷零担货运货场
|
||
蓑草里六畦边小平房
|
||
探溪街东巷探流河道旁院落
|
||
飘香巷南段箱包铺内侧小院
|
||
柳林后街金丝柳深处联排民房
|
||
淳和巷北段泥坎内侧小院
|
||
隆盛路东十七巷灯饰制作后场
|
||
慈姑里七滩浅洼处住宅
|
||
静泉路西巷静泉潭旁农家院
|
||
寻翠巷后段土产摊市深处院落
|
||
松枝巷南支巷松编坊后侧民居
|
||
睦安里五巷绕墙深巷老宅
|
||
摇船街中段新渡口旁住房
|
||
紫薇巷中段花肥铺内侧小院
|
||
樟园后街香樟苗旁自建宅院
|
||
安和巷北段石坎内侧小院
|
||
迢远路西十七巷快递分拣仓储
|
||
苎草里六地头小平房
|
||
寻泉街西巷寻泉溪流旁院落
|
||
浓香巷南段帽饰铺内侧小院
|
||
柏林后街翠柏深处老式民房
|
||
清和巷北段砖坎内侧小院
|
||
宏盛路南十七巷化工原料后场
|
||
荸荠里七沟浅洼处住宅
|
||
清泉路西巷清泉潭旁农家院
|
||
探翠巷后段宠物摊市深处院落
|
||
柏枝巷北支巷柏编坊后侧民居
|
||
惠安里五巷暗巷深巷老宅
|
||
撑船街中段老码头旁住房
|
||
海棠巷中段花土铺内侧小院
|
||
枫园后街青枫苗旁自建宅院
|
||
仁和巷北段土坎内侧小院
|
||
广远路北十七巷大型中转货场
|
||
蔺草里六塘边小平房
|
||
望泉街东巷望泉溪流旁院落
|
||
醇香巷南段袜饰铺内侧小院
|
||
杨林后街白杨苗深处联排民房
|
||
德和巷中段泥坎内侧小院
|
||
锦盛路东十七巷门窗制作后场
|
||
水芹里七湿浅地处住宅
|
||
甘泉路东巷甘泉潭旁农家院
|
||
撷芳巷后段熟食摊市深处院落
|
||
椿枝巷南支巷椿编坊后侧民居
|
||
顺安里五巷转角深巷老宅
|
||
放船街中段新码头旁住房
|
||
丁香巷中段花铲铺内侧小院
|
||
桧园后街桧柏苗旁自建宅院
|
||
谦和巷中段石坎内侧小院
|
||
怀远路西十八巷大件仓储园区
|
||
席草里六场边小平房
|
||
听泉街西巷听泉溪流旁院落
|
||
鲜香巷南段手套铺内侧小院
|
||
枣林后街枣树苗深处老式民房
|
||
善和巷中段砖坎内侧小院
|
||
鸿盛路南十八巷钢材堆放后场
|
||
水葱里七洼浅地处住宅
|
||
华亭路华亭别院二层民居
|
||
枫香街枫香园片区临街商铺楼上住宅
|
||
溪云巷云溪小院独门独户
|
||
德顺路德顺家园南区步梯房
|
||
善和街和善里老街深处宅院
|
||
月溪巷月溪雅居后排小楼
|
||
崇光路光明里厂区配套宿舍
|
||
锦云路云锦公寓北侧民房
|
||
福临街福临小院老式砖房
|
||
泉林巷林泉民居独栋小院
|
||
安泽西路泽安家园电梯中层
|
||
望湖街湖畔里临湖平房
|
||
风荷巷风荷园临街单间住房
|
||
云岭路岭云小区步梯顶楼
|
||
柏溪街溪柏里老旧单元房
|
||
桃溪巷桃溪别院农家风格宅院
|
||
乐安路安乐家园东区临街房
|
||
竹影巷影竹小院厢房住宅
|
||
龙兴南路兴龙公寓B栋低层
|
||
柏香街香柏里老院落住房
|
||
莲池巷池莲民居联排小院
|
||
吉庆西路庆吉家园电梯西户
|
||
映月街月映里巷弄深处民居
|
||
松溪巷溪松雅居一楼临街房
|
||
荣达路达荣小区后排单元楼
|
||
芳林街林芳小院老式民居
|
||
秋荷巷荷秋里自建二层楼
|
||
明远路远明家园北区步梯房
|
||
翠云街云翠大院厂区宿舍
|
||
芷兰巷兰芷雅居独门小院
|
||
康盛路盛康公寓临街复式房
|
||
清晏街晏清里老街砖瓦房
|
||
云松巷松云小院后院住房
|
||
泰平西路平泰家园小高层东户
|
||
江柳街柳江民居临江平房
|
||
雨桐巷桐雨雅居二楼单间
|
||
昌隆路隆昌小区老式住宅楼
|
||
芝兰街兰芝里联排民居
|
||
静溪巷溪静小院围墙内住宅
|
||
汇通路路汇家园南区电梯房
|
||
瑞祥街祥瑞里临街小楼
|
||
枫溪巷溪枫雅居后排平房
|
||
广泽路泽广家园步梯中层
|
||
荷柳街柳荷里巷口民居
|
||
青藤巷藤青小院老式厢房
|
||
兴达路达兴公寓顶层单间
|
||
玉竹街竹玉民居联排砖房
|
||
安馨巷馨安小院一楼带院落
|
||
宏远东路远宏花园栋东侧住房
|
||
槐香街香槐里老宅主楼
|
||
菱湖巷湖菱雅居临湖小院
|
||
顺和路和顺小区电梯楼中户
|
||
檀木巷木檀里老旧自建楼
|
||
怡景街景怡家园北区临街房
|
||
芦溪巷溪芦民居后排联排房
|
||
盛安路安盛公寓低层住宅
|
||
松月巷月松小院老式单元房
|
||
灵泉街泉灵里泉边民居
|
||
建明西路明建家园步梯顶楼
|
||
桐花巷花桐雅居二楼临街房
|
||
丰裕路裕丰小区厂区宿舍
|
||
蔓藤巷藤蔓小院围墙外附房
|
||
惠风街风惠里老街深处小楼
|
||
岳溪巷溪岳民居山地风格宅院
|
||
同兴路路同家园东区步梯房
|
||
菊香街香菊里平房院落
|
||
柏荷巷荷柏雅居一楼单间
|
||
恒昌路昌恒花园电梯东户
|
||
云柏街柏云里联排小楼
|
||
涧溪巷溪涧小院溪边住房
|
||
裕民路民裕家园南区临街铺面楼上
|
||
梅柳街柳梅雅居老式砖房
|
||
巧竹巷竹巧里自建附属房
|
||
安泰东路泰安公寓B栋中层
|
||
芦荻巷荻芦小院临河平房
|
||
隆盛街盛隆里老旧单元楼
|
||
松兰巷兰松雅居后排小院
|
||
嘉和路和嘉家园步梯西户
|
||
青兰巷兰青里巷弄厢房
|
||
启明星路星启小区顶楼带阁楼
|
||
桂香街香桂里老宅西院
|
||
溪柳巷柳溪雅居联排民居
|
||
隆达路达隆花园北区低层
|
||
芷荷巷荷芷小院一楼住房
|
||
顺安街安顺里临街二层小楼
|
||
梧溪巷溪梧民居老式院落
|
||
昌和路和昌公寓电梯中户
|
||
紫菱巷菱紫雅居临湖附房
|
||
茂林街林茂里自建二层民居
|
||
月柏巷柏月小院顶楼单间
|
||
宝庆西路庆宝家园步梯中层
|
||
竹荷巷荷竹里老街平房
|
||
灵溪巷溪灵雅居巷口小院
|
||
宏盛路盛宏小区厂区配套房
|
||
秋桐巷桐秋里后排联排房
|
||
仁合街合仁家园电梯东户
|
||
藤萝巷萝藤小院围墙内厢房
|
||
明溪路溪明公寓低层住宅
|
||
枫柏巷柏枫雅居老式单元房
|
||
景盛街盛景里临街小院
|
||
杏溪巷溪杏民居杏树旁住房
|
||
德裕路裕德家园步梯顶楼
|
||
荷藤巷藤荷里临河小楼
|
||
清和街和清雅居联排砖房
|
||
云桐巷桐云小院独门宅院
|
||
康达路达康花园电梯西户
|
||
兰柳巷柳兰里巷深处民居
|
||
泉溪巷溪泉雅居泉边小院
|
||
广安路安广小区后排单元楼
|
||
松芝巷芝松里老式平房院落
|
||
望桐街桐望雅居二楼单间
|
||
汇盛路盛汇家园北区临街房
|
||
青菱巷菱青里临湖附房
|
||
和风街风和小院一楼带院子
|
||
梧柏巷柏梧民居老旧自建楼
|
||
荣盛路盛荣公寓顶层阁楼
|
||
菊荷巷荷菊雅居联排小楼
|
||
安明街明安里厂区老宿舍
|
||
桃柏巷柏桃小院桃树旁住房
|
||
远通路路远花园步梯中户
|
||
溪芝巷芝溪雅居溪边平房
|
||
嘉裕路裕嘉家园电梯低层
|
||
檀荷巷荷檀里老街深处砖房
|
||
静和街和静小院围墙外住房
|
||
云芦巷芦云民居临河联排房
|
||
昌达路达昌小区老式住宅楼
|
||
梅芝巷芝梅雅居后排小院
|
||
惠明街明惠里临街二层附房
|
||
柏藤巷藤柏小院藤架旁民居
|
||
兴盛西路盛兴公寓B栋顶楼
|
||
柳芝巷芝柳雅居巷口平房
|
||
丰和路和丰家园步梯东户
|
||
菱桐巷桐菱里临湖小楼
|
||
安芦巷芦安民居老式院落
|
||
景和街和景小院一楼单间
|
||
桐藤巷藤桐雅居自建厢房
|
||
广明路明广花园电梯中层
|
||
松芦巷芦松里临河平房院落
|
||
灵荷巷荷灵雅居泉边住房
|
||
裕盛路盛裕家园北区步梯房
|
||
青梧巷梧青里老旧单元房
|
||
明和街和明小院临街小院
|
||
杏柏巷柏杏雅居杏树下民居
|
||
康裕路裕康公寓电梯中户
|
||
秋兰巷兰秋里后排联排平房
|
||
顺桐街桐顺雅居二楼住房
|
||
瑞达路达瑞花园老式宿舍楼
|
||
芝桐巷桐芝小院围墙内小楼
|
||
安和东路和安家园临街铺面住宅
|
||
枫芦巷芦枫民居临河附房
|
||
景桐街桐景雅居顶楼单间
|
||
茂裕路裕茂小区厂区宿舍房
|
||
云芝巷芝云里巷弄深处小院
|
||
清桐街桐清小院一楼带院落
|
||
柏菱巷菱柏雅居临湖民居
|
||
隆和路和隆家园步梯西户
|
||
兰梧巷梧兰里老式砖瓦房
|
||
桐泉巷泉桐雅居泉边联排房
|
||
宝盛路盛宝花园电梯东户
|
||
秋柏巷柏秋里老宅东厢房
|
||
静桐街桐静雅居后排小楼
|
||
仁裕路裕仁家园低层住宅
|
||
蔓荷巷荷蔓里老街平房
|
||
明桐路桐明公寓顶层住房
|
||
枫芝巷芝枫雅居巷口小院
|
||
昌明街明昌里临街联排房
|
||
菊梧巷梧菊民居老旧院落
|
||
安桐巷桐安小院独门独户住房
|
||
星悦里原农机站院内北屋
|
||
老粮站后巷第三排民房
|
||
东河沿码头旁自建小楼
|
||
西坡路坡顶连片民居
|
||
北巷口杂货铺楼上住宅
|
||
南堤岸防洪堤内侧平房
|
||
大槐树下临街老式砖房
|
||
老学堂旧址西侧民居
|
||
石桥旁桥洞上方附属房
|
||
古井巷古井周边院落住房
|
||
碾子巷老碾盘旁民房
|
||
磨盘街旧磨坊后院住房
|
||
水车巷老式水车旁平房
|
||
老戏台后侧临街小楼
|
||
牌坊里石牌坊后方宅院
|
||
门楼巷古门楼内侧民居
|
||
照壁巷影壁墙旁院落
|
||
天井里老式天井院主楼
|
||
回廊巷带回廊的老式民居
|
||
厢房街连片厢房式住房
|
||
后院巷主宅后方附属房
|
||
夹道里窄巷深处单间住房
|
||
过街楼过街楼下层住宅
|
||
山墙巷房屋山墙旁附房
|
||
檐下街屋檐下方临街单间
|
||
阶台里高台阶之上民居
|
||
巷尾街整条巷子最后一户
|
||
巷头巷整条巷子第一户
|
||
岔路口三岔路口旁小楼
|
||
拐角巷街道拐角处民房
|
||
围墙巷红砖围墙内小院
|
||
竹篱笆巷竹篱围合院落
|
||
木门里老式木大门内住房
|
||
石库门巷石库门样式民居
|
||
土坯墙街老式土坯房住宅
|
||
青瓦巷青瓦屋顶连片平房
|
||
灰砖街青砖砌筑老式楼房
|
||
石板路巷石板路面两侧民房
|
||
泥路里乡间土路旁自建屋
|
||
田埂巷临近农田的小院
|
||
菜地街房前带小菜地民居
|
||
果园巷果树园旁独栋小楼
|
||
竹林深处竹林间民居
|
||
杨树林巷白杨树林边住房
|
||
柳树林街垂柳旁临河民房
|
||
桃林里桃树园深处宅院
|
||
杏林巷杏树林边平房
|
||
枣树林街枣树旁老式砖房
|
||
槐树林里洋槐树下小院
|
||
梧桐巷梧桐树旁二层小楼
|
||
池塘边池塘北岸民居
|
||
沟渠巷农田沟渠旁住房
|
||
堰塘里小型堰塘西侧院落
|
||
水坝巷小型水坝下方平房
|
||
水渠街灌溉水渠边民房
|
||
河湾里河道转弯处临河屋
|
||
滩涂巷河滩内侧自建房
|
||
渡口街老旧渡口旁小楼
|
||
码头里小型货运码头住宅
|
||
堤岸巷河堤之上连片住房
|
||
陡坡街山坡陡坡处民居
|
||
平地里山间平地自建小院
|
||
山坳巷山体凹陷处民房
|
||
半山腰路山体中层小楼
|
||
山脚下街山脚临街平房
|
||
村落主街村庄主干道住宅
|
||
村后巷村庄后排院落
|
||
村头里村庄入口处小楼
|
||
村尾巷村庄末端民房
|
||
邻里巷农户相邻连片住房
|
||
集体院旧时集体大院主楼
|
||
家属院老式单位家属院西户
|
||
职工楼企业职工住宅楼低层
|
||
临时工棚旁改建民居
|
||
仓库区旧仓库改造住房
|
||
厂房后侧工厂厂房后方民房
|
||
车间旁生产车间附属用房
|
||
门卫室大院门卫室楼上住宅
|
||
传达室街区传达室后侧住房
|
||
锅炉房巷老式锅炉房旁平房
|
||
配电室周边配套民居
|
||
泵房里供水泵房旁小院
|
||
机房巷老旧机房改建住房
|
||
货场街货物堆放场旁小楼
|
||
堆场里物料堆场内侧民房
|
||
门店楼上沿街商铺二层住宅
|
||
门头巷临街店铺后侧单间
|
||
摊位后方市场摊位上方住房
|
||
集市里乡村集市深处院落
|
||
菜市巷生鲜市场周边民房
|
||
粮店旧址老式粮油店后院
|
||
油坊巷传统油坊改建民居
|
||
酒坊里酿酒作坊旁小院
|
||
染坊巷旧式染坊后方住房
|
||
铁匠铺街老式铁匠铺楼上
|
||
木匠坊里木工作坊侧屋
|
||
裁缝铺巷老裁缝店后院
|
||
剃头铺旧址老式理发铺楼上
|
||
药铺巷乡村药铺后方民居
|
||
茶馆里老式茶馆二楼单间
|
||
客栈旧址旧式小客栈客房
|
||
饭铺巷乡村小饭馆楼上住宅
|
||
面馆后侧面食店铺附属房
|
||
杂货铺里日用杂货铺后院
|
||
典当行旧址老式典当行偏房
|
||
私塾巷旧时私塾学堂侧屋
|
||
学堂后巷乡村学校后方民房
|
||
操场旁校园操场周边小院
|
||
教室楼后侧教学楼附属房
|
||
宿舍区外围学校宿舍外围民居
|
||
卫生院旧址乡村卫生院偏房
|
||
诊所巷私人诊所楼上住房
|
||
药堂里中药堂后方院落
|
||
兽医站旁畜禽兽医站侧屋
|
||
广播站旧址乡村广播站后院
|
||
邮电所巷老式邮电所楼上
|
||
电话亭周边老式电话亭旁民房
|
||
信用社后侧农村信用社附属房
|
||
供销社主楼基层供销社主楼
|
||
代销点旧址乡村代销点后院
|
||
税务点旁基层税务点侧屋
|
||
派出所旧址小型派出所偏房
|
||
村委会大院村委大院西侧住房
|
||
大队部里旧时大队部后院
|
||
活动室巷乡村活动室楼上
|
||
文化站后侧村级文化站附属房
|
||
礼堂里乡村大礼堂后方民居
|
||
戏台旁露天戏台两侧小院
|
||
影院旧址老式乡村影院侧屋
|
||
图书室巷乡村图书室楼上
|
||
篮球场周边村级篮球场旁民房
|
||
晒谷场里大型晒谷场周边院落
|
||
谷仓巷老式粮食谷仓改建房
|
||
粮囤旁露天粮囤后方住房
|
||
磨坊大院传统磨坊大院主楼
|
||
油库周边小型油料仓库侧屋
|
||
煤场巷煤炭堆放场内侧民房
|
||
柴草垛旁农户柴草垛旁小院
|
||
农具房里农用农具存放房楼上
|
||
牲口棚旧址旧式牲口棚改建房
|
||
猪圈巷农家猪圈上方附属房
|
||
牛栏里老式牛栏旁住房
|
||
羊圈后侧农户羊圈侧屋
|
||
鸡舍周边连片鸡舍旁民居
|
||
鸭棚巷水上鸭棚岸边住房
|
||
渔排旁水上渔排岸边小楼
|
||
渔网屋里存放渔网的附属房
|
||
渔船码头小型渔船码头住宅
|
||
竹排巷竹排停靠点旁平房
|
||
木船里老式木船停放处院落
|
||
竹楼片区简易竹楼式民居
|
||
木屋巷原木搭建老式木屋
|
||
草房里传统茅草屋顶住房
|
||
土房巷夯土建造老式土房
|
||
石屋里石块垒砌山间石屋
|
||
窑洞片区黄土窑洞式民居
|
||
吊脚楼巷简易吊脚楼底层房
|
||
骑楼街岭南风格骑楼下层住宅
|
||
廊房里带长廊的连片廊房
|
||
棚屋巷临时搭建简易棚屋
|
||
阁楼里老式房屋顶层阁楼
|
||
暗楼巷房屋夹层暗楼住房
|
||
夹层房墙体夹层改造单间
|
||
地下室片区民用地下室改建房
|
||
半地下室半地下结构民居
|
||
架空层楼栋底层架空层住房
|
||
复式楼老式复式结构住宅
|
||
跃层房上下跃层式民房
|
||
错层巷户型错层结构小楼
|
||
单间房临街独立单间住房
|
||
套间里老式一厨一卫套间
|
||
通间巷大开间老式通屋
|
||
偏房主建筑一侧偏屋住房
|
||
耳房里传统建筑两侧耳房
|
||
后罩房院落最后一排住房
|
||
倒座巷院落入口倒座房
|
||
正房里院落主体正屋住宅
|
||
堂屋旁老式堂屋侧屋
|
||
客房里农家待客客房
|
||
储物间改建原储物间改造住房
|
||
杂物间巷老式杂物间楼上
|
||
柴火间里柴火存放间改建房
|
||
煤房巷燃煤存放间侧屋
|
||
水箱间楼顶水箱间旁单间
|
||
电梯机房高层电梯机房附属房
|
||
楼梯间楼栋楼梯间旁住房
|
||
楼道尽头单元楼道末端单间
|
||
走廊边长走廊两侧民居
|
||
过道里房屋内部过道旁住房
|
||
门厅后侧楼房门厅后方住宅
|
||
门斗里建筑门斗上方小楼
|
||
雨棚下临街雨棚下方单间
|
||
阳台房外置阳台连通住房
|
||
露台里楼顶露天露台旁住宅
|
||
天井房室内天井周边民居
|
||
庭院巷自带小庭院的民房
|
||
小院里独门小型院落主楼
|
||
大院片区大型合院式民居
|
||
联排巷多户联排自建小楼
|
||
独栋房独立独栋民用住宅
|
||
双拼巷两户拼接式民居
|
||
叠拼里上下叠合式小楼
|
||
围合巷房屋围合形成院落房
|
||
合围里多栋房屋合围住宅
|
||
临街主楼街道临街主体楼房
|
||
背街房街道背面隐蔽民房
|
||
内环巷片区内部内环道路住房
|
||
外环里片区外围外环小楼
|
||
主干道旁区域主干道两侧民居
|
||
次干道巷城市次干道临街房
|
||
支路里小型支路深处小院
|
||
小道巷乡间狭窄小道旁住房
|
||
便道里临时便民便道侧屋
|
||
捷径巷行人捷径两侧民房
|
||
环线道路环线内侧低层住宅
|
||
交叉路口大型路口拐角小楼
|
||
丁字巷丁字路口旁平房
|
||
十字街十字路口周边民居
|
||
环岛里环形环岛内侧住房
|
||
桥头巷公路桥梁桥头小楼
|
||
桥尾里公路桥梁末端民房
|
||
桥下空间桥梁下方改建住房
|
||
涵洞旁公路涵洞上方附属房
|
||
隧道口隧道出入口侧屋
|
||
边坡巷道路边坡上方民居
|
||
路肩里公路路肩旁自建房
|
||
绿化带后侧道路绿化带后方住房
|
||
行道树旁道路行道树边民房
|
||
花坛巷街边花坛周边小院
|
||
路灯杆旁路灯杆后方单间
|
||
公交站牌后侧公交站牌楼上
|
||
候车亭里公交候车亭上方住房
|
||
站牌巷乡村站牌旁平房
|
||
广告牌后方大型广告牌侧屋
|
||
宣传栏里社区宣传栏楼上
|
||
围墙转角小区围墙转角处民房
|
||
大门内侧小区主大门内住房
|
||
侧门旁小区侧门周边小院
|
||
后门巷楼栋后门后方住宅
|
||
边门里房屋侧边小门旁住房
|
||
栅栏内铁艺栅栏内部小楼
|
||
护栏旁道路护栏内侧民房
|
||
铁丝网片区铁丝网围合院落房
|
||
铁门里老式铁皮大门内住房
|
||
木门巷实木大门后方小楼
|
||
石门里石材大门内侧民居
|
||
拱门巷拱形大门旁平房
|
||
圆门里圆形院门内部院落
|
||
方门巷方形院门侧屋
|
||
高墙内高大围墙深处住房
|
||
矮墙旁低矮围墙上方小楼
|
||
花墙巷镂空花墙内侧民房
|
||
影壁后方装饰影壁背后住房
|
||
照墙里挡风照墙旁小院
|
||
假山旁庭院假山周边民居
|
||
鱼池巷庭院小鱼池侧屋
|
||
花池里院内花池上方住房
|
||
盆景区庭院盆景摆放区旁房
|
||
葡萄架下庭院葡萄架下方单间
|
||
花架巷景观花架后方民房
|
||
藤架里藤蔓攀爬架旁小院
|
||
花廊巷花卉长廊两侧住房
|
||
游廊里休闲游廊连通民房
|
||
亭台旁休闲亭台后方小楼
|
||
石凳巷休闲石凳周边平房
|
||
石桌里庭院石桌上方住宅
|
||
石阶旁室外石阶两侧民房
|
||
台阶里高台阶顶端小楼
|
||
坡道巷无障碍坡道旁住房
|
||
梯步里室外梯步侧屋
|
||
平台里室外休闲平台住房
|
||
空地旁片区闲置空地周边民房
|
||
荒地巷城郊荒地内侧小院
|
||
裸地里裸露地块旁自建房
|
||
荒坡巷城郊荒坡之上民居
|
||
土丘旁小型土丘顶端小楼
|
||
洼地里地势低洼处平房
|
||
高地巷地势高处连片住房
|
||
平坡里平缓坡地自建小院
|
||
陡坡旁陡峭坡地侧屋
|
||
沟谷巷小型沟谷两侧民房
|
||
沟壑里浅沟壑周边院落
|
||
溪谷巷山间溪谷岸边住房
|
||
山谷里小型山谷深处小楼
|
||
崖边巷山体崖壁下方平房
|
||
岩边里岩石边缘民居
|
||
石堆旁乱石堆后方小院
|
||
土堆巷黄土堆侧屋
|
||
沙堆里沙土堆上方住房
|
||
石子巷碎石堆周边民房
|
||
河滩里干涸河滩内侧小楼
|
||
河床旁老旧河床岸边平房
|
||
湿地巷小型湿地周边院落
|
||
沼泽边缘浅沼泽边缘住房
|
||
芦苇荡里芦苇荡岸边民房
|
||
草丛巷野生草丛深处小院
|
||
灌木丛旁灌木丛侧屋
|
||
杂树林里野生杂树林边住房
|
||
密林巷小型密林边缘民房
|
||
疏林里稀疏林木旁小楼
|
||
长顺里三排六号后院主房
|
||
久安巷临街第四间二层住宅
|
||
万康路北侧自建联排西户
|
||
恒乐街中段老式单元楼顶楼
|
||
永泰巷中段围墙内独立小院
|
||
祥宁路南侧商铺楼上三居室
|
||
吉安里五组连片民居东屋
|
||
瑞丰巷农资店后方附属住房
|
||
福顺路农机门市后侧小楼
|
||
寿康街粮油铺隔壁民房
|
||
喜安巷裁缝店楼上单间住房
|
||
和泰路中段老式砖瓦房院落
|
||
宁祥里集市北侧后排平房
|
||
安瑞巷村口大槐树旁小楼
|
||
丰吉路池塘东侧自建民居
|
||
乐福里水渠南岸联排住房
|
||
康祥巷晒谷场西侧院落主楼
|
||
顺宁路老磨坊旁二层小楼
|
||
吉安里古井西侧老式厢房
|
||
瑞寿巷石牌坊后方独门小院
|
||
福乐路石桥北侧临街民房
|
||
安泰里老学堂旧址西院住房
|
||
永宁巷碾子旁砖结构小楼
|
||
康瑞路磨盘街深处单间
|
||
顺祥里水车北侧院落住房
|
||
吉乐巷老戏台东侧附属房
|
||
福宁路门楼巷中段民房
|
||
寿祥里照壁墙南侧小院
|
||
乐安巷天井院西侧偏房
|
||
康宁路回廊巷末端联排平房
|
||
顺瑞里厢房街北排住房
|
||
吉寿巷后院巷第一户小楼
|
||
福安路夹道里深处单间房
|
||
宁乐里过街楼下层住宅西户
|
||
安康巷山墙巷北侧附房
|
||
瑞宁路檐下街中段临街房
|
||
祥乐里阶台里高台上民居
|
||
寿安巷巷尾街最后一户砖房
|
||
乐祥路巷头巷第一户二层楼
|
||
康安里岔路口西北侧小楼
|
||
顺乐巷拐角巷西南角民房
|
||
吉宁路围墙巷红砖院内住房
|
||
福祥里竹篱笆巷东侧小院
|
||
寿乐巷木门里老式木房主楼
|
||
瑞安路石库门巷南侧民居
|
||
宁安里土坯墙街中段住房
|
||
安祥巷青瓦巷北排连片平房
|
||
康乐路灰砖街老式楼房东户
|
||
顺安里石板路巷西侧民房
|
||
吉乐巷泥路里乡间自建小楼
|
||
福宁路田埂巷农田旁小院
|
||
寿宁里菜地街房前菜地住宅
|
||
乐瑞巷果园巷苹果园旁民房
|
||
康吉路竹林深处北侧住房
|
||
顺寿里杨树林巷白杨树下小楼
|
||
吉安巷柳树林街垂柳边平房
|
||
福乐路桃林里桃树园深处院
|
||
寿安里杏林巷杏树旁联排房
|
||
乐宁巷枣树林街枣树下方住宅
|
||
康瑞路槐树林里槐树下小院
|
||
顺祥里梧桐巷梧桐树侧小楼
|
||
吉安巷池塘边南岸民居
|
||
福寿路沟渠巷灌溉渠旁住房
|
||
寿乐里堰塘里堰塘西侧小院
|
||
乐安巷水坝巷水坝下方平房
|
||
康宁路水渠街渠边联排民房
|
||
顺宁里河湾里河道转弯处屋
|
||
吉瑞巷滩涂巷河滩内侧小楼
|
||
福安路渡口街老旧渡口住宅
|
||
寿祥里码头里货运码头侧房
|
||
乐吉巷堤岸巷河堤中段住房
|
||
康寿路陡坡街山坡中部民房
|
||
顺乐里平地里山间平地小院
|
||
吉宁巷山坳巷山坳深处平房
|
||
福瑞路半山腰路中层小楼
|
||
寿安里山脚下街山脚临街房
|
||
乐祥巷村落主街中段民居
|
||
康安路村后巷村庄后排院落
|
||
顺寿里村头里村口东侧小楼
|
||
吉乐巷村尾巷村尾末端平房
|
||
福宁路邻里巷农户相邻联排房
|
||
寿瑞里集体院大院西厢房
|
||
乐安巷家属院老式家属楼中户
|
||
康祥路职工楼企业职工房低层
|
||
顺吉里临时工棚旁改建住宅
|
||
吉安巷仓库区旧仓库改造房
|
||
福寿路厂房后侧工厂附属住房
|
||
乐宁里车间旁生产车间楼上
|
||
康瑞巷门卫室大院门卫楼上房
|
||
顺安路传达室街区传达室后院
|
||
吉祥里锅炉房巷锅炉房旁平房
|
||
福乐巷配电室周边配套民房
|
||
寿安路泵房里供水泵房侧屋
|
||
乐瑞巷机房巷老旧机房楼上
|
||
康吉路货场街货场北侧小楼
|
||
顺寿里堆场里物料堆场内侧房
|
||
吉安巷门店楼上商铺二层住宅
|
||
福宁路门头巷店铺后侧单间
|
||
寿乐里摊位后方市场摊位上房
|
||
乐安巷集市里集市深处院落
|
||
康祥路菜市巷生鲜市场周边房
|
||
顺吉里粮店旧址粮油店后院房
|
||
吉寿巷油坊巷传统油坊改建房
|
||
福安路酒坊里酿酒作坊侧屋
|
||
寿祥里染坊巷旧式染坊后方房
|
||
乐吉巷铁匠铺街铁匠铺楼上房
|
||
康寿路木匠坊里木工坊侧屋
|
||
顺乐里裁缝铺巷裁缝店后院房
|
||
吉宁巷剃头铺旧址理发铺楼上
|
||
福瑞路药铺巷乡村药铺后方房
|
||
寿安里茶馆里老式茶馆二楼房
|
||
乐祥巷客栈旧址小客栈客房间
|
||
康安路饭铺巷小饭馆楼上住宅
|
||
顺寿里面馆后侧面食店附属房
|
||
吉乐巷杂货铺里杂货铺后院房
|
||
福宁路典当行旧址典当行偏房
|
||
寿瑞里私塾巷旧时私塾侧屋
|
||
乐安巷学堂后巷学校后方民房
|
||
康祥路操场旁校园操场边小院
|
||
顺吉里教室楼后侧教学楼附房
|
||
吉安巷宿舍区外围宿舍周边房
|
||
福寿路卫生院旧址卫生院偏房
|
||
乐宁里诊所巷私人诊所楼上房
|
||
康瑞巷药堂里中药堂后方院落
|
||
顺安路兽医站旁兽医站侧屋
|
||
吉祥里广播站旧址广播站后院
|
||
福乐巷邮电所巷邮电所楼上房
|
||
寿安路电话亭周边电话亭旁房
|
||
乐瑞巷信用社后侧信用社附房
|
||
康吉路供销社主楼供销社主楼房
|
||
顺寿里代销点旧址代销点后院
|
||
吉安巷税务点旁税务点侧屋房
|
||
福宁路派出所旧址派出所偏房
|
||
寿乐里村委会大院村委院西房
|
||
乐安巷大队部里大队部后院房
|
||
康祥路活动室巷活动室楼上房
|
||
顺吉里文化站后侧文化站附房
|
||
吉寿巷礼堂里乡村大礼堂后房
|
||
福安路戏台旁露天戏台两侧房
|
||
寿祥里影院旧址乡村影院侧屋
|
||
乐吉巷图书室巷图书室楼上房
|
||
康寿路篮球场周边篮球场旁房
|
||
顺乐里晒谷场里晒谷场周边院
|
||
吉宁巷谷仓巷老式谷仓改建房
|
||
福瑞路粮囤旁粮囤后方住房
|
||
寿安里磨坊大院磨坊大院主楼
|
||
乐祥巷油库周边油料仓库侧屋
|
||
康安路煤场巷煤场内侧民房
|
||
顺寿里柴草垛旁柴垛旁小院房
|
||
吉乐巷农具房里农具房楼上住宅
|
||
福宁路牲口棚旧址牲口棚改建房
|
||
寿瑞里猪圈巷猪圈上方附属房
|
||
乐安巷牛栏里老式牛栏旁住房
|
||
康祥路羊圈后侧羊圈侧屋民房
|
||
顺吉里鸡舍周边连片鸡舍旁房
|
||
吉安巷鸭棚巷水上鸭棚岸边房
|
||
福寿路渔排旁水上渔排岸边楼
|
||
乐宁里渔网屋里渔网存放附房
|
||
康瑞巷渔船码头渔船码头住宅
|
||
顺安路竹排巷竹排停靠点平房
|
||
吉祥里木船里木船停放处院落
|
||
福乐巷竹楼片区简易竹楼底层房
|
||
寿安路木屋巷原木老式木屋房
|
||
乐瑞巷草房里茅草屋顶老式房
|
||
康吉路土房巷夯土建造土坯房
|
||
顺寿里石屋里石块垒砌山间房
|
||
吉安巷窑洞片区黄土窑洞主房
|
||
福宁路吊脚楼巷简易吊脚楼底房
|
||
寿乐里骑楼街岭南骑楼下层房
|
||
乐安巷廊房里带长廊连片廊房
|
||
康祥路棚屋巷临时搭建简易棚房
|
||
顺吉里阁楼里老式房屋顶层阁房
|
||
吉寿巷暗楼巷房屋夹层暗楼房
|
||
福安路夹层房墙体夹层改造房
|
||
寿祥里地下室片区民用地下室房
|
||
乐吉巷半地下室半地下结构民房
|
||
康寿路架空层楼栋底层架空住房
|
||
顺乐里复式楼老式复式结构住宅
|
||
吉宁巷跃层房上下跃层自建小楼
|
||
福瑞路错层巷户型错层结构房
|
||
寿安里单间房临街独立单间民房
|
||
乐祥巷套间里老式一厨一卫套间
|
||
康安路通间巷大开间老式通屋
|
||
顺寿里偏房主建筑一侧偏屋房
|
||
吉乐巷耳房里传统建筑两侧耳房
|
||
福宁路后罩房院落最后一排住房
|
||
寿瑞里倒座巷院落入口倒座房
|
||
乐安巷正房里院落主体正屋住房
|
||
康祥路堂屋旁老式堂屋侧边住房
|
||
顺吉里客房里农家待客专用客房
|
||
吉安巷储物间改建储物间改造住房
|
||
福寿路杂物间巷杂物间楼上单间
|
||
乐宁里柴火间里柴火间改建民房
|
||
康瑞巷煤房巷燃煤存放间侧屋房
|
||
顺安路水箱间楼顶水箱间旁单间
|
||
吉祥里电梯机房电梯机房附属房
|
||
福乐巷楼梯间楼栋楼梯间旁住房
|
||
寿安路楼道尽头楼道末端单间房
|
||
乐瑞巷走廊边长走廊两侧民房
|
||
康吉路过道里房屋过道旁住房
|
||
顺寿里门厅后侧楼房门厅后方房
|
||
吉安巷门斗里建筑门斗上方小楼
|
||
福宁路雨棚下临街雨棚下方单间
|
||
寿乐里阳台房外置阳台连通住房
|
||
乐安巷露台里楼顶露台旁住宅
|
||
康祥路天井房室内天井周边民房
|
||
顺吉里庭院巷自带小院民居主楼
|
||
吉寿巷小院里独门小型院落主楼
|
||
福安路大院片区大型合院式民房
|
||
寿祥里联排巷多户联排自建小楼
|
||
乐吉巷独栋房独立独栋民用住宅
|
||
康寿路双拼巷两户拼接式民居房
|
||
顺乐里叠拼里上下叠合式自建小楼
|
||
吉宁巷围合巷房屋围合院落住房
|
||
福瑞路合围里多栋房屋合围民房
|
||
寿安里临街主楼街道临街主体楼房
|
||
乐祥巷背街房街道背面隐蔽民房
|
||
康安路内环巷片区内环道路住房
|
||
顺寿里外环里片区外围外环小楼
|
||
吉乐巷主干道旁主干道两侧民房
|
||
福宁路次干道巷次干道临街平房
|
||
寿瑞里支路里小型支路深处小院
|
||
乐安巷小道巷乡间小道旁自建房
|
||
康祥路便道里便民便道侧边民房
|
||
顺吉里捷径巷行人捷径两侧住房
|
||
吉安巷环线道路环线内侧低层房
|
||
福寿路交叉路口大型路口拐角楼
|
||
乐宁里丁字巷丁字路口旁平房
|
||
康瑞巷十字街十字路口周边民房
|
||
顺安路环岛里环形环岛内侧房
|
||
吉祥里桥头巷公路桥梁桥头小楼
|
||
福乐巷桥尾里公路桥梁末端民房
|
||
寿安路桥下空间桥梁下方改建房
|
||
乐瑞巷涵洞旁公路涵洞上方附房
|
||
康吉路隧道口隧道出入口侧屋房
|
||
顺寿里边坡巷道路边坡上方民房
|
||
吉安巷路肩里公路路肩旁自建房
|
||
福宁路绿化带后侧绿化带后方房
|
||
寿乐里行道树旁行道树边民房
|
||
乐安巷花坛巷街边花坛周边小院
|
||
康祥路路灯杆旁路灯杆后方单间
|
||
顺吉里公交站牌后侧站牌楼上房
|
||
吉寿巷候车亭里候车亭上方住房
|
||
福安路站牌巷乡村站牌旁平房
|
||
寿祥里广告牌后方大型广告侧屋
|
||
乐吉巷宣传栏里社区宣传栏楼上
|
||
康寿路围墙转角围墙转角处民房
|
||
顺乐里大门内侧小区主大门内房
|
||
吉宁巷侧门旁小区侧门周边小院
|
||
福瑞路后门巷楼栋后门后方住宅
|
||
寿安里边门里房屋侧边小门旁房
|
||
乐祥巷栅栏内铁艺栅栏内部小楼
|
||
康安路护栏旁道路护栏内侧民房
|
||
顺寿里铁丝网片区铁丝网围合院房
|
||
吉乐巷铁门里铁皮大门内部住房
|
||
福宁路木门巷实木大门后方小楼
|
||
寿瑞里石门里石材大门内侧民房
|
||
乐安巷拱门巷拱形大门旁平房
|
||
康祥路圆门里圆形院门内部院落
|
||
顺吉里方门巷方形院门侧边民房
|
||
吉安巷高墙内高大围墙深处住房
|
||
福寿路矮墙旁低矮围墙上方小楼
|
||
乐宁里花墙巷镂空花墙内侧民房
|
||
康瑞巷影壁后方装饰影壁背后房
|
||
顺安路照墙里挡风照墙旁小院房
|
||
吉祥里假山旁庭院假山周边民房
|
||
福乐巷鱼池巷庭院小鱼池侧屋房
|
||
寿安路花池里院内花池上方住房
|
||
乐瑞巷盆景区盆景摆放区旁住房
|
||
康吉路葡萄架下葡萄架下方单间
|
||
顺寿里花架巷景观花架后方民房
|
||
吉安巷藤架里藤蔓攀爬架旁小院
|
||
福宁路花廊巷花卉长廊两侧住房
|
||
寿乐里游廊里休闲游廊连通民房
|
||
乐安巷亭台旁休闲亭台后方小楼
|
||
康祥路石凳巷休闲石凳周边平房
|
||
顺吉里石桌里庭院石桌上方住宅
|
||
吉寿巷石阶旁室外石阶两侧民房
|
||
福安路台阶里高台阶顶端小楼房
|
||
寿祥里坡道巷无障碍坡道旁住房
|
||
乐吉巷梯步里室外梯步侧边民房
|
||
康寿路平台里室外休闲平台住房
|
||
顺乐里空地旁闲置空地周边民房
|
||
吉宁巷荒地巷城郊荒地内侧小院
|
||
福瑞路裸地里裸露地块旁自建房
|
||
寿安里荒坡巷城郊荒坡之上民房
|
||
乐祥巷土丘旁小型土丘顶端小楼
|
||
康安路洼地里地势低洼处平房房
|
||
顺寿里高地巷地势高处连片住房
|
||
吉乐巷平坡里平缓坡地自建小院
|
||
福宁路陡坡旁陡峭坡地侧边民房
|
||
寿瑞里沟谷巷小型沟谷两侧住房
|
||
乐安巷沟壑里浅沟壑周边院落房
|
||
康祥路溪谷巷山间溪谷岸边住房
|
||
顺吉里山谷里小型山谷深处小楼
|
||
吉安巷崖边巷山体崖壁下方平房
|
||
福寿路岩边里岩石边缘自建民房
|
||
乐宁里石堆旁乱石堆后方小院房
|
||
康瑞巷土堆巷黄土堆侧边民房
|
||
顺安路沙堆里沙土堆上方住宅房
|
||
吉祥里石子巷碎石堆周边民房
|
||
福乐巷河滩里干涸河滩内侧小楼
|
||
寿安路河床旁老旧河床岸边平房
|
||
乐瑞巷湿地巷小型湿地周边院落
|
||
康吉路沼泽边缘浅沼泽边缘住房
|
||
顺寿里芦苇荡里芦苇荡岸边民房
|
||
吉安巷草丛巷野生草丛深处小院
|
||
福宁路灌木丛旁灌木丛侧边民房
|
||
寿乐里杂树林里杂树林边自建房
|
||
乐安巷密林巷小型密林边缘民房
|
||
康祥路疏林里稀疏林木旁边小楼
|
||
顺吉里汇贤巷文教片区后排民居
|
||
吉寿巷博文街书铺隔壁二层住宅
|
||
福安路知书里书屋后方独立小院
|
||
寿祥里劝学巷校园外围临街平房
|
||
乐吉巷思学路培训机构楼上住房
|
||
康寿路敏学里补习点后侧附属房
|
||
顺乐里笃行巷实训场地旁小楼
|
||
吉宁巷崇德街文化广场周边民房
|
||
福瑞路尚礼里礼仪场地侧边平房
|
||
寿安里仁和巷便民服务点楼上房
|
||
乐祥巷信义街便民超市后院住房
|
||
康安路友善里果蔬店上方单间房
|
||
顺寿里和睦巷生鲜摊后方小楼房
|
||
吉乐巷温情路便民菜店侧屋民房
|
||
福宁路暖心里社区驿站楼上住宅
|
||
寿瑞里邻里巷社区活动室旁小院
|
||
乐安巷互助街老年活动中心侧房
|
||
康祥路康乐里健身场地周边民房
|
||
顺吉里颐养巷老年日间照料点附房
|
||
吉安巷休闲路棋牌活动室楼上房
|
||
福寿路怡情里茶饮小店后方住房
|
||
乐宁里逸趣巷休闲摊位上方小楼
|
||
康瑞巷观景路街边观景台侧屋房
|
||
顺安路揽胜里观景长廊下方住房
|
||
吉祥里漫步巷休闲步道旁民房
|
||
福乐巷闲游里游园深处独门小院
|
||
寿安路清趣巷景观小品侧边平房
|
||
乐瑞巷幽径里林间小径深处民房
|
||
康吉路静逸巷安静片区后排小楼
|
||
顺寿里清幽巷绿化片区内侧住房
|
||
吉安巷雅致路景观绿化带侧屋房
|
||
福宁路秀美里小型游园主楼住房
|
||
寿乐里芳菲巷花卉种植区旁民房
|
||
乐安巷翠色路绿植片区边上小楼
|
||
康祥路绿茵里草坪周边连片平房
|
||
顺吉里浓荫巷大树树荫下方住房
|
||
吉寿巷浅绿巷低矮植被旁小院房
|
||
锦苑东里区排独栋院落
|
||
古巷南头老供销社后侧平房
|
||
翠柳支路便民市场内侧深巷
|
||
长坡巷中段围墙内老式宅院
|
||
星桥巷石桥西侧联排民房
|
||
福安二巷粮油店后方内院
|
||
青禾路苗圃园区边角住宅
|
||
龙潭巷古井周边低矮民居
|
||
和风里大院西单元附属房
|
||
石坝街堤坝下方自建小屋
|
||
丹桂巷中段裁缝铺隔壁院落
|
||
松涛后街林地边缘住户房
|
||
云帆巷渡口旁临街老房
|
||
安宁西巷修车行后侧小院
|
||
金荷里荷塘沿岸联排住宅
|
||
响泉路泉眼旁农家小院
|
||
梧桐南巷古树下老宅
|
||
顺河支巷河道内侧坡地房
|
||
瑞丰里四巷杂物间旁住房
|
||
白杨路木材堆场后方民居
|
||
静溪巷溪流转弯处院落
|
||
红梅后街果蔬摊群深处房屋
|
||
广乐巷北口杂货铺内院
|
||
碧园里假山北侧小平房
|
||
通运路物流网点后侧住宅
|
||
紫萱巷中段花艺店隔壁宅院
|
||
枣林西巷枣树林深处民房
|
||
平宁里丁字路口内侧院落
|
||
远航西巷货运站旁自建屋
|
||
菱塘巷水塘边连片小屋
|
||
清芬里香铺后方隐蔽小院
|
||
寒石路山石堆旁老式住房
|
||
迎春西巷农贸市场边角房
|
||
枫木巷木料坊后侧宅院
|
||
归雁里窄巷深处老旧民居
|
||
渔浦街码头后方临建房
|
||
药香巷中草药摊内侧院落
|
||
梅岭后街梅林边上住户
|
||
崇善巷北口修配铺内院
|
||
恒达西巷中转仓库旁房屋
|
||
芦荡里芦苇丛边低矮房
|
||
深沟巷沟壑两侧自建屋
|
||
素果巷干货店后方小院
|
||
李树后街果林深处民房
|
||
广曲巷道路弯道内侧宅院
|
||
汇材路建材市场后侧房
|
||
浮叶里积水洼旁小平房
|
||
磨盘巷老石磨周边住宅
|
||
探花巷生鲜集市深处院落
|
||
香樟西巷苗木基地旁住房
|
||
久静里高墙围合独立院落
|
||
渡头街渡口内侧老房
|
||
藤花巷编织铺后方宅院
|
||
檀木后街古树旁老式民居
|
||
民和巷洗车坊后侧小院
|
||
万仓西巷仓储区边角住房
|
||
浅滩里河滩沿岸小屋
|
||
环水巷环形水系内侧院落
|
||
落果巷零食店后方民房
|
||
柚树后街果树旁自建屋
|
||
新平巷斜坡上方院落
|
||
卓材路水暖门店后侧房
|
||
荷尖西巷荷塘浅区住宅
|
||
热泉巷温泉池周边农家院
|
||
撷英巷花鸟市集深处房屋
|
||
梓木巷板材堆放区后方
|
||
幽静里矮巷深处老宅
|
||
行船街航道内侧临街房
|
||
山苓巷山货铺后方院落
|
||
柞木后街林木旁老式住房
|
||
裕和巷卤味铺内侧小院
|
||
捷运西巷配送站点旁房屋
|
||
苇丛里芦苇滩边小平房
|
||
叠水巷叠流景观旁宅院
|
||
凝味巷日杂店后方民房
|
||
栗树后街栗林深处住宅
|
||
熙平巷岔路口内侧小院
|
||
铁艺路铁艺加工坊后侧房
|
||
菱角西巷菱塘沿岸小屋
|
||
灵井巷老井周边农家院
|
||
拾趣巷宠物集市深处院落
|
||
椿木巷木器加工间后方
|
||
泰平里暗巷深处老宅
|
||
系缆街系船桩旁民居
|
||
玉笋巷竹编工坊内侧院落
|
||
桦木后街林木旁自建屋
|
||
淳善巷摩配店后方小院
|
||
广配西巷五金仓储区旁房
|
||
蒲丛里蒲草滩边小平房
|
||
连河巷河道连通处宅院
|
||
留味巷烟酒铺后方民房
|
||
老枣巷古枣树周边住宅
|
||
淳平巷陡坡上方小院
|
||
锦玻路玻璃工坊后侧房
|
||
藕叶西巷藕塘沿岸小屋
|
||
甜井巷甘泉井旁农家院
|
||
揽鲜巷生鲜市集深处院落
|
||
苦楝巷木料堆场后方
|
||
清和里曲巷深处老宅
|
||
泛舟街游船泊位内侧房
|
||
谷香巷杂粮铺后方院落
|
||
白杨后街林木旁民居
|
||
惠平巷炸货摊内侧小院
|
||
畅行西巷货运门店旁房屋
|
||
茅草丛里荒滩边小平房
|
||
支流巷河道分支处宅院
|
||
沁香巷熟食铺后方民房
|
||
枫林西巷红枫林深处住宅
|
||
仁善巷巷口内侧小院
|
||
鸿门窗路门窗工坊后侧房
|
||
芡实西巷水田沿岸小屋
|
||
清潭巷清水潭旁农家院
|
||
采鲜巷水产市集深处院落
|
||
槐木巷木作工坊后方
|
||
和静里深巷深处老宅
|
||
停船街停泊区内侧民居
|
||
黄芝巷山珍铺后方院落
|
||
垂柳后街河岸林木旁住房
|
||
顺善巷修理铺内侧小院
|
||
通远西巷物流仓库旁房屋
|
||
灯草里草棚连片小屋
|
||
汇流巷河道汇口处宅院
|
||
溢味巷果蔬店后方民房
|
||
桃林西巷桃林深处住宅
|
||
德平巷窄坡上方小院
|
||
鼎石路石材加工坊后侧房
|
||
慈姑西巷浅水田沿岸小屋
|
||
寒潭巷冷水潭旁农家院
|
||
撷味巷肉品市集深处院落
|
||
榆木巷木料加工间后方
|
||
睦静里绕巷深处老宅
|
||
渡客街渡口码头内侧房
|
||
首乌巷干货摊后方院落
|
||
香樟后街大树旁民居
|
||
祥平巷面点铺内侧小院
|
||
致远西巷中转库房旁房屋
|
||
蒿草丛里荒坡边小平房
|
||
溪口巷溪流入口处宅院
|
||
飘香巷服饰店后方民房
|
||
杏林西巷杏林深处住宅
|
||
谦平巷弯道内侧小院
|
||
强广路广告工坊后侧房
|
||
荸荠西巷沟渠沿岸小屋
|
||
幽泉巷幽冷泉旁农家院
|
||
寻味巷土产市集深处院落
|
||
梧桐西巷家具工坊后方
|
||
静和里叠巷深处老宅
|
||
摇橹街船泊区内侧民居
|
||
百合巷花坊后方院落
|
||
水杉后街林木旁住房
|
||
温善巷缝纫铺内侧小院
|
||
恒远西巷货物堆场旁房屋
|
||
莎草丛里湿地边小平房
|
||
溪尾巷溪流末端处宅院
|
||
浓味巷鞋靴店后方民房
|
||
翠竹后街竹林深处住宅
|
||
恭平巷岔坡上方小院
|
||
伟铁路铁艺加工坊后侧房
|
||
慈莲西巷莲池沿岸小屋
|
||
深潭巷深水潭旁农家院
|
||
觅鲜巷熟食市集深处院落
|
||
朴木巷板材堆放区后方
|
||
宁和里回廊巷深处老宅
|
||
撑船街撑船码头内侧房
|
||
贝母巷山货摊后方院落
|
||
枫树后街林木旁自建屋
|
||
协平巷修鞋铺内侧小院
|
||
辽长西巷大件物流旁房屋
|
||
菅草丛里荒草坡边小平房
|
||
溪腰巷溪流中段处宅院
|
||
醇味巷箱包店后方民房
|
||
松林西巷松林深处住宅
|
||
善平巷墙根内侧小院
|
||
卓汽路汽配工坊后侧房
|
||
水芹西巷浅沟沿岸小屋
|
||
静井巷静水泉旁农家院
|
||
访鲜巷日杂市集深处院落
|
||
椿芽巷苗木基地后方
|
||
永静里夹缝巷深处老宅
|
||
放船街行船水域内侧民居
|
||
石斛巷药草摊后方院落
|
||
圆柏后街林木旁住房
|
||
怡平巷蔬果铺内侧小院
|
||
悠远西巷快运站点旁房屋
|
||
蓑草丛里坡地边小平房
|
||
岔流巷河道分叉处宅院
|
||
鲜味巷家纺店后方民房
|
||
柏林西巷柏树林深处住宅
|
||
乐平巷石阶上方小院
|
||
冠水暖路水暖工坊后侧房
|
||
水葱西巷低洼地沿岸小屋
|
||
浅潭巷浅水潭旁农家院
|
||
探鲜巷水产摊群深处院落
|
||
皂角巷旧木料区后方
|
||
康和里盘旋巷深处老宅
|
||
游舟街游船航道内侧房
|
||
芍药巷花艺铺后方院落
|
||
国槐后街古树旁自建屋
|
||
泰善巷配锁铺内侧小院
|
||
旷仓西巷大型仓库旁房屋
|
||
苎草丛里田埂边小平房
|
||
弯流巷河道弯道处宅院
|
||
清味巷文具店后方民房
|
||
白杨西巷杨林深处住宅
|
||
淳善里矮墙内侧小院
|
||
鼎灯饰路灯饰工坊后侧房
|
||
泽泻西巷沟渠沿岸小屋
|
||
冷井巷冷泉井旁农家院
|
||
撷鲜巷肉品摊群深处院落
|
||
桑枝巷养蚕工坊后方
|
||
福和里绕墙巷深处老宅
|
||
泊船街港湾内侧民居
|
||
郁金巷香品铺后方院落
|
||
榆树后街林木旁住房
|
||
永平巷面食铺内侧小院
|
||
迢远西巷零担物流旁房屋
|
||
蔺草丛里塘埂边小平房
|
||
双流巷两河交汇处宅院
|
||
淡味巷玩具店后方民房
|
||
垂柳西巷柳林深处住宅
|
||
清善巷土坡内侧小院
|
||
隆五金路五金工坊后侧房
|
||
灯芯西巷积水洼沿岸小屋
|
||
暖井巷暖泉井旁农家院
|
||
寻鲜巷果蔬摊群深处院落
|
||
桃枝巷果木园区后方
|
||
吉和里转角巷深处老宅
|
||
行舟街航道内侧房
|
||
牵牛巷藤蔓铺后方院落
|
||
酸枣后街林木旁自建屋
|
||
祥善巷修表铺内侧小院
|
||
广仓西巷仓储园区旁房屋
|
||
席草丛里场院边小平房
|
||
长流巷长河沿岸宅院
|
||
微味巷饰品店后方民房
|
||
杏树西巷杏林深处住宅
|
||
安善巷石墙内侧小院
|
||
宏化工路化工门店后侧房
|
||
浮萍西巷积水塘沿岸小屋
|
||
温井巷温泉井旁农家院
|
||
采趣巷花鸟摊群深处院落
|
||
梅枝巷花木基地后方
|
||
瑞和里穿墙巷深处老宅
|
||
系缆街码头内侧民居
|
||
凤仙巷盆栽铺后方院落
|
||
板栗后街林木旁住房
|
||
顺善里木栏内侧小院
|
||
怀仓西巷配送仓库旁房屋
|
||
茅草丛二巷沟坎边小平房
|
||
短流巷短河沿岸宅院
|
||
余味巷皮具店后方民房
|
||
青枫西巷枫林深处住宅
|
||
平善巷土坎内侧小院
|
||
锦门窗路门窗工坊后侧房
|
||
菱叶西巷河塘沿岸小屋
|
||
冰井巷冰泉井旁农家院
|
||
访鲜巷生鲜摊群深处院落
|
||
竹枝巷竹器工坊后方
|
||
兴和里穿巷深处老宅
|
||
泛舟街水域内侧民居
|
||
鸡冠巷种苗铺后方院落
|
||
青栎后街林木旁自建屋
|
||
温善里弹花铺内侧小院
|
||
超仓西巷货运园区旁房屋
|
||
蒲草丛二巷渠沟边小平房
|
||
曲流巷曲河沿岸宅院
|
||
留味二巷眼镜店后方民房
|
||
刺槐西巷槐林深处住宅
|
||
仁善里砖垛内侧小院
|
||
鸿钢材路钢材门店后侧房
|
||
荷叶西巷藕塘沿岸小屋
|
||
寒井巷寒泉井旁农家院
|
||
探趣巷水产摊群深处院落
|
||
柳枝巷柳条工坊后方
|
||
乐和里隐巷深处老宅
|
||
停缆街港湾内侧民居
|
||
茉莉巷香花铺后方院落
|
||
青杨后街林木旁住房
|
||
谦善巷石栏内侧小院
|
||
腾仓西巷中转货场旁房屋
|
||
菅草丛二巷坡埂边小平房
|
||
环流巷环水区域宅院
|
||
溢味二巷钟表店后方民房
|
||
桑树西巷桑林深处住宅
|
||
德善巷土墙内侧小院
|
||
强广告路广告工坊后侧房
|
||
芡实二西巷水田沿岸小屋
|
||
灵井二巷灵泉井旁农家院
|
||
觅鲜二巷干货摊群深处院落
|
||
榆枝巷木器工坊后方
|
||
熙和里暗巷深处老宅
|
||
渡客二街码头内侧民居
|
||
紫薇巷花苗铺后方院落
|
||
香樟西巷樟林深处住宅
|
||
恭善巷石坎内侧小院
|
||
逸仓西巷大件仓储旁房屋
|
||
蓑草丛二巷垄边小平房
|
||
叠流巷叠河沿岸宅院
|
||
飘香二巷童装店后方民房
|
||
0旱柳后街林木旁自建屋
|
||
0善善巷泥墙内侧小院
|
||
0伟石材路石材门店后侧房
|
||
0慈姑二西巷浅塘沿岸小屋
|
||
0幽井巷幽泉井旁农家院
|
||
0寻趣巷土产摊群深处院落
|
||
0松枝巷木作工坊后方
|
||
0淳和里深隐巷深处老宅
|
||
0摇橹二街船泊区内侧民居
|
||
0木槿巷盆栽铺后方院落
|
||
冷杉后街林木旁住房
|
||
睦善巷土坡内侧小院
|
||
悠仓西巷快运货场旁房屋
|
||
苎草丛二巷地头小平房
|
||
汇流二巷河道汇口宅院
|
||
浓味二巷男装店后方民房
|
||
圆柏西巷柏林深处住宅
|
||
谦善里矮坎内侧小院
|
||
冠铁艺路铁艺工坊后侧房
|
||
荸荠二西巷沟渠沿岸小屋
|
||
清井巷清泉井旁农家院
|
||
撷趣巷宠物摊群深处院落
|
||
柏枝巷板材工坊后方
|
||
惠和里窄隐巷深处老宅
|
||
撑船二街渡口内侧民居
|
||
海棠巷鲜果铺后方院落
|
||
红枫后街林木旁自建屋
|
||
怡善巷石埂内侧小院
|
||
辽仓西巷零担仓储旁房屋
|
||
蔺草丛二巷塘边小平房
|
||
分流巷河道分支宅院
|
||
醇味二巷女装店后方民房
|
||
银白杨西巷杨林深处住宅
|
||
温善里砖坎内侧小院
|
||
卓汽配路汽配门店后侧房
|
||
水芹二西巷湿地沿岸小屋
|
||
静井二巷静泉井旁农家院
|
||
访鲜二巷熟食摊群深处院落
|
||
椿枝巷苗木工坊后方
|
||
顺和里曲隐巷深处老宅
|
||
放船二街水域内侧民居
|
||
丁香巷香包铺后方院落
|
||
刺柏后街林木旁住房
|
||
祥善里土埂内侧小院
|
||
旷仓二西巷配送货场旁房屋
|
||
席草丛二巷场边小平房
|
||
合流巷河道合流宅院
|
||
鲜味二巷内衣店后方民房
|
||
灰枣西巷枣林深处住宅
|
||
泰善里泥坎内侧小院
|
||
隆灯饰路灯饰工坊后侧房
|
||
水葱二西巷洼地沿岸小屋
|
||
甘泉巷甘泉井旁农家院
|
||
探鲜二巷肉品摊群深处院落
|
||
槐枝巷木货工坊后方
|
||
广和里绕隐巷深处老宅
|
||
游舟二街航道内侧民居
|
||
蔷薇巷花艺铺后方院落
|
||
桑树后街林木旁自建屋
|
||
永善巷石坡内侧小院
|
||
迢仓西巷综合仓储旁房屋
|
||
灯草二巷沟边小平房
|
||
干流巷主河道沿岸宅院
|
||
淡味二巷童鞋店后方民房
|
||
榆树西巷榆林深处住宅
|
||
淳善里砖坡内侧小院
|
||
宏化工二路化工门店后侧房
|
||
泽泻二西巷渠塘沿岸小屋
|
||
温泉巷温泉潭旁农家院
|
||
觅趣巷果蔬摊群深处院落
|
||
柳枝巷柳货工坊后方
|
||
福和二里穿隐巷深处老宅
|
||
泊船二街航道内侧民居
|
||
牡丹巷盆花铺后方院落
|
||
杞柳后街林木旁住房
|
||
祥善里二巷土坡内侧小院
|
||
广仓二西巷大型货场旁房屋
|
||
莎草丛二巷滩边小平房
|
||
支流二巷河道支流宅院
|
||
微味二巷箱包店后方民房
|
||
碧桃西巷桃林深处住宅
|
||
安善里泥坡内侧小院
|
||
锦门窗二路门窗工坊后侧房
|
||
灯芯二西巷低洼塘沿岸小屋
|
||
寒井二巷寒泉潭旁农家院
|
||
寻鲜二巷水产摊群深处院落
|
||
桃枝二巷果货工坊后方
|
||
吉和二里转角隐巷老宅
|
||
系缆二街航道内侧民居
|
||
芍药二巷花束铺后方院落
|
||
锥栗后街林木旁自建屋
|
||
平善里石坡内侧小院
|
||
怀仓二西巷快递仓储旁房屋
|
||
茅草三巷崖边小平房
|
||
浅流巷浅河沿岸宅院
|
||
余味二巷帽饰店后方民房
|
||
山杏西巷杏林深处住宅
|
||
清善里砖坡内侧小院
|
||
鸿钢材二路钢材门店后侧房
|
||
菱角二西巷河湾沿岸小屋
|
||
冰井二巷冰泉潭旁农家院
|
||
采鲜二巷花鸟摊群深处院落
|
||
竹枝二巷竹货工坊后方
|
||
瑞和二里穿墙隐巷老宅
|
||
泛舟二街航道内侧民居
|
||
凤仙二巷花籽铺后方院落
|
||
麻栎后街林木旁住房
|
||
乐善巷土坡内侧小院
|
||
腾仓二西巷快运货场旁房屋
|
||
蒲草丛三巷堰边小平房
|
||
深流巷深河沿岸宅院
|
||
留味三巷袜品店后方民房
|
||
五角枫西巷枫林深处住宅
|
||
仁善里泥坡内侧小院
|
||
强广告二路广告工坊后侧房
|
||
荷叶三西巷塘湾沿岸小屋
|
||
幽井二巷幽泉潭旁农家院
|
||
访趣巷生鲜摊群深处院落
|
||
桑枝二巷桑货工坊后方
|
||
熙和二里回廊隐巷老宅
|
||
停缆二街航道内侧民居
|
||
牵牛二巷花藤铺后方院落
|
||
圆枣后街林木旁自建屋
|
||
德善里石坡内侧小院
|
||
逸仓二西巷大件货场旁房屋
|
||
菅草丛三巷埂边小平房
|
||
急流巷急河沿岸宅院
|
||
溢味三巷围巾店后方民房
|
||
龙爪槐西巷槐林深处住宅
|
||
谦善里砖坡内侧小院
|
||
伟石材二路石材门店后侧房
|
||
芡实三西巷滩田沿岸小屋
|
||
灵井三巷灵泉潭旁农家院
|
||
撷鲜二巷干货摊群深处院落
|
||
榆枝二巷榆货工坊后方
|
||
淳和二里夹缝隐巷老宅
|
||
渡客三街航道内侧民居
|
||
茉莉二巷花干铺后方院落
|
||
钻天杨后街林木旁住房
|
||
善善里土坡内侧小院
|
||
悠仓二西巷零担货场旁房屋
|
||
蓑草丛三巷垄边小平房
|
||
缓流巷缓河沿岸宅院
|
||
飘香三巷手套店后方民房
|
||
馒头柳西巷柳林深处住宅
|
||
恭善里泥坡内侧小院
|
||
冠铁艺二路铁艺工坊后侧房
|
||
慈姑三西巷浅滩沿岸小屋
|
||
静井三巷静泉潭旁农家院
|
||
寻趣二巷土产摊群深处院落
|
||
松枝二巷松货工坊后方
|
||
睦和二里盘旋隐巷老宅
|
||
摇橹三街航道内侧民居
|
||
紫薇二巷花根铺后方院落
|
||
黄樟后街林木旁自建屋
|
||
温善二巷石坡内侧小院
|
||
辽仓二西巷配送仓储旁房屋
|
||
苎草丛三巷畦边小平房
|
||
静流巷静河沿岸宅院
|
||
浓味三巷皮带店后方民房
|
||
翠柏西巷柏林深处住宅
|
||
怡善里砖坡内侧小院
|
||
卓汽配二路汽配门店后侧房
|
||
荸荠三西巷浅沟沿岸小屋
|
||
清井二巷清泉潭旁农家院
|
||
探趣二巷宠物摊群深处院落
|
||
柏枝二巷柏货工坊后方
|
||
惠和二里盘旋隐巷老宅
|
||
撑船三街航道内侧民居
|
||
海棠二巷果干铺后方院落
|
||
三角枫后街林木旁住房
|
||
仁和里土坡内侧小院
|
||
广仓三西巷综合货场旁房屋
|
||
蔺草丛三巷塘埂小平房
|
||
动流巷流动河道宅院
|
||
醇味三巷鞋帽店后方民房
|
||
银白杨后街林木深处住宅
|
||
泰善二巷泥坡内侧小院
|
||
隆灯饰二路灯饰工坊后侧房
|
||
水芹三西巷浅湿地沿岸小屋
|
||
甘泉二巷甘泉潭旁农家院
|
||
觅鲜三巷熟食摊群深处院落
|
||
椿枝二巷椿货工坊后方
|
||
顺和二里穿墙隐巷老宅
|
||
放船三街航道内侧民居
|
||
丁香二巷花籽铺后方院落
|
||
铺地柏后街林木旁自建屋
|
||
祥善二巷石坡内侧小院
|
||
迢仓二西巷快运仓储旁房屋
|
||
席草丛三巷场边小平房
|
||
幽流巷幽河沿岸宅院
|
||
鲜味三巷袜饰店后方民房
|
||
酸枣西巷枣林深处住宅
|
||
永和里砖坡内侧小院
|
||
宏化工三路化工门店后侧房
|
||
水葱三西巷浅洼地沿岸小屋
|
||
温泉二巷温泉池旁农家院
|
||
访鲜三巷肉品摊群深处院落
|
||
槐枝二巷槐货工坊后方
|
||
广和二里绕墙隐巷老宅
|
||
游舟三街航道内侧民居
|
||
蔷薇二巷花肥铺后方院落
|
||
龙桑后街林木旁住房
|
||
淳善二巷土坡内侧小院
|
||
广仓四西巷大型仓储旁房屋
|
||
灯草三巷渠边小平房
|
||
明流巷明河沿岸宅院
|
||
淡味三巷童装铺后方民房
|
||
垂枝榆西巷榆林深处住宅
|
||
安善二巷泥坡内侧小院
|
||
锦门窗三路门窗工坊后侧房
|
||
泽泻三西巷浅渠沿岸小屋
|
||
冷井三巷冷泉池旁农家院
|
||
撷趣二巷果蔬摊群深处院落
|
||
柳枝二巷柳货工坊后方
|
||
福和三里暗巷深处老宅
|
||
泊船三街码头内侧民居
|
||
牡丹二巷花盆铺后方院落
|
||
龙爪柳后街林木旁自建屋
|
||
平善二巷石坎内侧小院
|
||
怀仓三西巷快递货场旁房屋
|
||
莎草丛三巷滩埂小平房
|
||
暗流巷暗河沿岸宅院
|
||
微味三巷箱包铺后方民房
|
||
垂枝桃西巷桃林深处住宅
|
||
清善二巷砖坎内侧小院
|
||
鸿钢材三路钢材门店后侧房
|
||
灯芯三西巷浅塘沿岸小屋
|
||
寒井三巷寒潭池旁农家院
|
||
寻鲜三巷水产摊群深处院落
|
||
桃枝三巷桃货工坊后方
|
||
吉和三里转角深巷老宅
|
||
系缆三街码头内侧民居
|
||
芍药三巷花土铺后方院落
|
||
欧洲栗后街林木旁住房
|
||
仁和二巷土坎内侧小院
|
||
腾仓三西巷零担货场旁房屋
|
||
茅草四巷崖埂小平房
|
||
清流巷清河沿岸宅院
|
||
余味三巷帽饰铺后方民房
|
||
垂枝杏西巷杏林深处住宅
|
||
德善二巷泥坎内侧小院
|
||
强广告三路广告工坊后侧房
|
||
菱角三西巷河浅湾沿岸小屋
|
||
冰井三巷冰泉池旁农家院
|
||
采鲜三巷花鸟摊群深处院落
|
||
竹枝三巷竹货工坊后方
|
||
瑞和三里穿墙深巷老宅
|
||
泛舟三街码头内侧民居
|
||
凤仙三巷花铲铺后方院落
|
||
白栎后街林木旁自建屋
|
||
谦善二巷石坎内侧小院
|
||
逸仓三西巷大件货场旁房屋
|
||
蒲草丛四巷堰埂小平房
|
||
浊流巷浊河沿岸宅院
|
||
留味四巷手套铺后方民房
|
||
鸡爪槭西巷枫林深处住宅
|
||
善善二巷砖坎内侧小院
|
||
伟石材三路石材门店后侧房
|
||
荷叶四西巷塘浅湾沿岸小屋
|
||
幽井三巷幽泉池旁农家院
|
||
访趣二巷生鲜摊群深处院落
|
||
桑枝三巷桑货工坊后方
|
||
熙和三里回廊深巷老宅
|
||
停缆三街码头内侧民居
|
||
牵牛三巷花架铺后方院落
|
||
扁枣后街林木旁住房
|
||
恭善二巷土坎内侧小院
|
||
悠仓三西巷配送货场旁房屋
|
||
菅草丛四巷垄埂小平房
|
||
甘流巷甘河沿岸宅院
|
||
溢味四巷围巾铺后方民房
|
||
紫穗槐西巷槐林深处住宅
|
||
温善三巷泥坎内侧小院
|
||
冠铁艺三路铁艺工坊后侧房
|
||
芡实四西巷滩浅田沿岸小屋
|
||
灵井四巷灵潭池旁农家院
|
||
觅鲜四巷干货摊群深处院落
|
||
榆枝三巷榆货工坊后方
|
||
淳和三里夹缝深巷老宅
|
||
渡客四街码头内侧民居
|
||
茉莉三巷花剪铺后方院落
|
||
新疆杨后街林木旁自建屋
|
||
怡善二巷石坎内侧小院
|
||
辽仓三西巷综合仓储旁房屋
|
||
蓑草丛四巷畦埂小平房
|
||
苦流巷苦河沿岸宅院
|
||
飘香四巷皮带铺后方民房
|
||
龙柳西巷柳林深处住宅
|
||
祥善三巷砖坎内侧小院
|
||
卓汽配三路汽配门店后侧房
|
||
慈姑四西巷滩浅洼沿岸小屋
|
||
静井四巷静泉池旁农家院
|
||
寻趣三巷土产摊群深处院落
|
||
松枝三巷松货工坊后方
|
||
睦和三里盘旋深巷老宅
|
||
摇橹四街码头内侧民居
|
||
紫薇三巷花壶铺后方院落
|
||
红樟后街林木旁住房
|
||
泰和里土坎内侧小院
|
||
旷仓三西巷快运货场旁房屋
|
||
苎草丛四巷地头小平房
|
||
乐流巷乐河沿岸宅院
|
||
浓味四巷鞋袜铺后方民房
|
||
圆柏苗西巷柏林深处住宅
|
||
祥善四巷泥坎内侧小院
|
||
隆灯饰三路灯饰工坊后侧房
|
||
荸荠四西巷沟浅洼沿岸小屋
|
||
清井三巷清泉池旁农家院
|
||
探趣三巷宠物摊群深处院落
|
||
柏枝三巷柏货工坊后方
|
||
惠和三里绕墙深巷老宅
|
||
撑船四街码头内侧民居
|
||
海棠三巷果篮铺后方院落
|
||
元宝枫后街林木旁自建屋
|
||
永和二巷石坎内侧小院
|
||
迢仓三西巷快递仓储旁房屋
|
||
蔺草丛四巷塘边小平房
|
||
喜流巷喜河沿岸宅院
|
||
醇味四巷服饰铺后方民房
|
||
胡杨西巷杨林深处住宅
|
||
淳善三巷砖坎内侧小院
|
||
宏化工四路化工门店后侧房
|
||
水芹四西巷湿浅地沿岸小屋
|
||
甘泉三巷甘泉池旁农家院
|
||
撷鲜四巷熟食摊群深处院落
|
||
椿枝三巷椿货工坊后方
|
||
顺和三里穿墙深巷老宅
|
||
放船四街码头内侧民居
|
||
丁香三巷花肥铺后方院落
|
||
真柏后街林木旁住房
|
||
安善三巷土坎内侧小院
|
||
广仓五西巷大型货场旁房屋
|
||
席草丛四巷场边小平房
|
||
思流巷思河沿岸宅院
|
||
鲜味四巷内衣铺后方民房
|
||
壶枣西巷枣林深处住宅
|
||
清善三巷泥坎内侧小院
|
||
锦门窗四路门窗工坊后侧房
|
||
水葱四西巷洼浅地沿岸小屋
|
||
温泉三巷温泉潭旁农家院
|
||
访鲜四巷肉品摊群深处院落
|
||
槐枝三巷槐货工坊后方
|
||
广安三里暗巷深宅院落
|
||
游舟四街码头内侧民居
|
||
蔷薇三巷花架铺后方院落
|
||
鸡桑后街林木旁自建屋
|
||
仁和三巷石坎内侧小院
|
||
怀仓四西巷零担仓储旁房屋
|
||
灯草四巷沟边小平房
|
||
忆流巷忆河沿岸宅院
|
||
淡味四巷玩具铺后方民房
|
||
榔榆西巷榆林深处住宅
|
||
德善三巷砖坎内侧小院
|
||
鸿钢材四路钢材门店后侧房
|
||
泽泻四西巷渠浅洼沿岸小屋
|
||
冷井四巷冷泉潭旁农家院
|
||
觅趣三巷果蔬摊群深处院落
|
||
柳枝三巷柳货工坊后方
|
||
福和四里转角深巷老宅
|
||
泊船四街旧码头旁联排房
|
||
牡丹三巷花土铺后方院落
|
||
簸箕柳后街林木旁宅院
|
||
谦和里土坎内侧小院
|
||
腾仓四西巷大件物流货场
|
||
莎草丛四巷滩边小平房
|
||
寻流巷寻河沿岸宅院
|
||
微味四巷饰品铺后方民房
|
||
寿星桃西巷桃林深处住宅
|
||
善善三巷泥坎内侧小院
|
||
强广告四路广告制作后场
|
||
灯芯四巷塘浅洼沿岸小屋
|
||
寒井四巷寒泉潭旁农家院
|
||
寻鲜四巷水产摊群深处院落
|
||
桃枝四巷桃货工坊后方
|
||
吉和四里回廊深巷老宅
|
||
系缆四街老泊位旁住房
|
||
芍药四巷花铲铺后方院落
|
||
毛栗后街林木旁宅院
|
||
恭善三巷石坎内侧小院
|
||
逸仓四西巷综合仓储园区
|
||
茅草五巷崖边小平房
|
||
望流巷望河沿岸宅院
|
||
余味四巷皮具铺后方民房
|
||
山桃西巷杏林深处住宅
|
||
温和里砖坎内侧小院
|
||
伟石材四路石材加工后场
|
||
菱角四巷河浅滩沿岸小屋
|
||
冰井四巷冰泉潭旁农家院
|
||
采鲜四巷花鸟摊群深处院落
|
||
竹枝四巷竹货工坊后方
|
||
瑞安四里盘旋深巷老宅
|
||
泛舟四街新码头旁住房
|
||
凤仙四巷花壶铺后方院落
|
||
栓皮栎后街林木旁宅院
|
||
怡善三巷土坎内侧小院
|
||
悠远四西巷快运中转货场
|
||
蒲草丛五巷堰边小平房
|
||
听流巷听河沿岸宅院
|
||
留味五巷鞋靴铺后方民房
|
||
红槭西巷枫林深处住宅
|
||
祥和里泥坎内侧小院
|
||
冠铁艺四路铁艺制作后场
|
||
荷叶五巷塘浅滩沿岸小屋
|
||
幽井四巷幽泉潭旁农家院
|
||
访趣四巷生鲜摊群深处院落
|
||
桑枝四巷桑货工坊后方
|
||
熙和四里夹缝深巷老宅
|
||
停缆四街旧泊位旁住房
|
||
牵牛四巷花剪铺后方院落
|
||
葫芦枣后街林木旁宅院
|
||
泰和二巷石坎内侧小院
|
||
辽仓四西巷配送仓储中心
|
||
菅草丛五巷垄边小平房
|
||
观流巷观河沿岸宅院
|
||
溢味五巷服饰铺后方民房
|
||
紫槐西巷槐林深处住宅
|
||
祥和二巷砖坎内侧小院
|
||
卓汽配四路汽配维修后场
|
||
芡实五巷滩浅田沿岸小屋
|
||
灵井五巷灵泉潭旁农家院
|
||
觅鲜五巷干货摊群深处院落
|
||
榆枝四巷榆货工坊后方
|
||
淳安四里穿墙深巷老宅
|
||
渡客五街老渡口旁住房
|
||
茉莉四巷花籽铺后方院落
|
||
箭杆杨后街林木旁宅院
|
||
永和三巷土坎内侧小院
|
||
旷仓四西巷零担货运货场
|
||
蓑草丛五巷畦边小平房
|
||
探流巷探河沿岸宅院
|
||
飘香五巷箱包铺后方民房
|
||
金丝柳西巷柳林深处住宅
|
||
淳和三巷泥坎内侧小院
|
||
隆灯饰四路灯饰制作后场
|
||
慈姑五巷滩浅洼沿岸小屋
|
||
静井五巷静泉潭旁农家院
|
||
寻趣四巷土产摊群深处院落
|
||
松枝四巷松货工坊后方
|
||
睦安四里绕墙深巷老宅
|
||
摇橹五街新渡口旁住房
|
||
紫薇四巷花肥铺后方院落
|
||
香樟苗后街林木旁宅院
|
||
安善四巷石坎内侧小院
|
||
迢仓四西巷快递分拣仓储
|
||
苎草丛五巷地头小平房
|
||
寻泉巷寻泉溪流宅院
|
||
浓味五巷帽饰铺后方民房
|
||
翠柏苗西巷柏林深处住宅
|
||
清善四巷砖坎内侧小院
|
||
宏化工五路化工原料后场
|
||
荸荠五巷沟浅洼沿岸小屋
|
||
清井四巷清泉潭旁农家院
|
||
探趣四巷宠物摊群深处院落
|
||
柏枝四巷柏货工坊后方
|
||
惠安四里暗巷深巷老宅
|
||
撑船五街老码头旁住房
|
||
海棠四巷花土铺后方院落
|
||
青枫苗后街林木旁宅院
|
||
仁和四巷土坎内侧小院
|
||
广仓六西巷大型中转货场
|
||
蔺草丛五巷塘边小平房
|
||
望泉巷望泉溪流宅院
|
||
醇味五巷袜饰铺后方民房
|
||
白杨苗西巷杨林深处住宅
|
||
德善四巷泥坎内侧小院
|
||
锦门窗五路门窗制作后场
|
||
水芹五巷湿浅地沿岸小屋
|
||
甘泉四巷甘泉潭旁农家院
|
||
撷鲜五巷熟食摊群深处院落
|
||
椿枝四巷椿货工坊后方
|
||
顺安四里转角深巷老宅
|
||
放船五街新码头旁住房
|
||
丁香四巷花铲铺后方院落
|
||
桧柏苗后街林木旁宅院
|
||
谦和三巷石坎内侧小院
|
||
怀仓五西巷大件仓储园区
|
||
席草丛五巷场边小平房
|
||
听泉巷听泉溪流宅院
|
||
鲜味五巷手套铺后方民房
|
||
枣树苗西巷枣林深处住宅
|
||
善善四巷砖坎内侧小院
|
||
鸿钢材五路钢材堆放后场
|
||
水葱五巷洼浅地沿岸小屋
|
||
温泉四巷温泉潭旁农家院
|
||
访鲜五巷肉品摊群深处院落
|
||
槐枝四巷槐货工坊后方
|
||
广安四里绕墙隐巷老宅
|
||
游舟五街码头内侧民居
|
||
蔷薇四巷花肥铺后方院落
|
||
龙桑苗后街林木旁宅院
|
||
淳善四巷土坎内侧小院
|
||
广仓七西巷大型仓储园区
|
||
灯草五巷渠边小平房
|
||
明泉巷明泉溪流宅院
|
||
淡味五巷童装铺后方民房
|
||
垂枝榆苗西巷榆林深处住宅
|
||
安善五巷泥坎内侧小院
|
||
宏化工六路化工门店后侧房
|
||
泽泻五巷渠浅洼沿岸小屋
|
||
冷井五巷冷泉池旁农家院
|
||
撷趣四巷果蔬摊群深处院落
|
||
柳枝四巷柳货工坊后方
|
||
福安五里暗巷深处老宅
|
||
泊船五街码头内侧民居
|
||
牡丹四巷花盆铺后方院落
|
||
龙爪柳苗后街林木旁宅院
|
||
平和二巷石坎内侧小院
|
||
怀远五西巷快递货场旁房屋
|
||
莎草丛五巷滩埂小平房
|
||
暗泉巷暗泉溪流宅院
|
||
微味五巷箱包铺后方民房
|
||
垂枝桃苗西巷桃林深处住宅
|
||
清善五巷砖坎内侧小院
|
||
鸿钢材六路钢材门店后侧房
|
||
灯芯五巷浅塘沿岸小屋
|
||
寒井五巷寒潭池旁农家院
|
||
寻鲜五巷水产摊群深处院落
|
||
桃枝五巷桃货工坊后方
|
||
吉安五里转角深巷老宅
|
||
系缆五街码头内侧民居
|
||
芍药五巷花土铺后方院落
|
||
欧洲栗苗后街林木旁宅院
|
||
仁和五巷土坎内侧小院
|
||
腾仓五西巷零担货场旁房屋
|
||
茅草六巷崖埂小平房
|
||
清泉二巷清泉溪流宅院
|
||
余味五巷帽饰铺后方民房
|
||
垂枝杏苗西巷杏林深处住宅
|
||
德善五巷泥坎内侧小院
|
||
强广告五路广告加工后场
|
||
菱角五巷河浅湾沿岸小屋
|
||
冰井五巷冰泉池旁农家院
|
||
采鲜五巷花鸟摊群深处院落
|
||
竹枝五巷竹货工坊后方
|
||
瑞安五里穿墙深巷老宅
|
||
泛舟五街码头内侧民居
|
||
凤仙五巷花铲铺后方院落
|
||
白栎苗后街林木旁宅院
|
||
谦和四巷石坎内侧小院
|
||
逸仓五西巷大件货场旁房屋
|
||
蒲草丛六巷堰埂小平房
|
||
浊泉巷浊泉溪流宅院
|
||
留味六巷手套铺后方民房
|
||
鸡爪槭苗西巷枫林深处住宅
|
||
善善五巷砖坎内侧小院
|
||
伟石材五路石材门店后侧房
|
||
荷叶六巷塘浅湾沿岸小屋
|
||
幽井五巷幽泉池旁农家院
|
||
访趣五巷生鲜摊群深处院落
|
||
桑枝五巷桑货工坊后方
|
||
熙安五里回廊深巷老宅
|
||
停缆五街码头内侧民居
|
||
牵牛五巷花架铺后方院落
|
||
扁枣苗后街林木旁宅院
|
||
恭善三巷土坎内侧小院
|
||
悠远五西巷配送货场旁房屋
|
||
菅草丛六巷垄埂小平房
|
||
甘泉二巷甘泉溪流宅院
|
||
溢味六巷围巾铺后方民房
|
||
紫穗槐苗西巷槐林深处住宅
|
||
温和四巷泥坎内侧小院
|
||
冠铁艺五路铁艺加工后场
|
||
芡实六巷滩浅田沿岸小屋
|
||
灵井六巷灵潭池旁农家院
|
||
觅鲜六巷干货摊群深处院落
|
||
榆枝五巷榆货工坊后方
|
||
淳安五里夹缝深巷老宅
|
||
渡客六街码头内侧民居
|
||
茉莉五巷花剪铺后方院落
|
||
新疆杨苗后街林木旁宅院
|
||
怡善四巷石坎内侧小院
|
||
辽仓五西巷综合仓储旁房屋
|
||
蓑草丛六巷畦埂小平房
|
||
苦泉巷苦泉溪流宅院
|
||
飘香六巷皮带铺后方民房
|
||
龙柳苗西巷柳林深处住宅
|
||
祥和三巷砖坎内侧小院
|
||
卓汽配五路汽配门店后侧房
|
||
慈姑六巷滩浅洼沿岸小屋
|
||
静井六巷静泉池旁农家院
|
||
寻趣五巷土产摊群深处院落
|
||
松枝五巷松货工坊后方
|
||
睦安五里盘旋深巷老宅
|
||
摇橹六街码头内侧民居
|
||
紫薇五巷花壶铺后方院落
|
||
红樟苗后街林木旁宅院
|
||
泰和三巷土坎内侧小院
|
||
旷仓五西巷快运货场旁房屋
|
||
苎草丛六巷地头小平房
|
||
乐泉巷乐泉溪流宅院
|
||
浓味六巷鞋袜铺后方民房
|
||
圆柏大苗西巷柏林深处住宅
|
||
祥和四巷泥坎内侧小院
|
||
隆灯饰五路灯饰加工后场
|
||
荸荠六巷沟浅洼沿岸小屋
|
||
清井五巷清泉池旁农家院
|
||
探趣五巷宠物摊群深处院落
|
||
柏枝五巷柏货工坊后方
|
||
惠安五里绕墙深巷老宅
|
||
撑船六街码头内侧民居
|
||
海棠五巷果篮铺后方院落
|
||
元宝枫苗后街林木旁宅院
|
||
永和四巷石坎内侧小院
|
||
迢仓五西巷快递仓储旁房屋
|
||
蔺草丛六巷塘边小平房
|
||
喜泉巷喜泉溪流宅院
|
||
醇味六巷服饰铺后方民房
|
||
胡杨苗西巷杨林深处住宅
|
||
淳善五巷砖坎内侧小院
|
||
宏化工七路化工门店后侧房
|
||
水芹六巷湿浅地沿岸小屋
|
||
甘泉五巷甘泉池旁农家院
|
||
撷鲜六巷熟食摊群深处院落
|
||
椿枝五巷椿货工坊后方
|
||
顺安五里穿墙深巷老宅
|
||
放船六街码头内侧民居
|
||
丁香五巷花肥铺后方院落
|
||
真柏苗后街林木旁宅院
|
||
安善六巷土坎内侧小院
|
||
广仓八西巷大型货场旁房屋
|
||
席草丛六巷场边小平房
|
||
思泉巷思泉溪流宅院
|
||
鲜味六巷内衣铺后方民房
|
||
壶枣苗西巷枣林深处住宅
|
||
清善六巷泥坎内侧小院
|
||
锦门窗六路门窗加工后场
|
||
水葱六巷洼浅地沿岸小屋
|
||
温泉五巷温泉潭旁农家院
|
||
访鲜六巷肉品摊群深处院落
|
||
槐枝五巷槐货工坊后方
|
||
广安五里暗巷深宅院落
|
||
游舟六街码头内侧民居
|
||
蔷薇五巷花架铺后方院落
|
||
鸡桑苗后街林木旁宅院
|
||
仁和六巷石坎内侧小院
|
||
怀远六西巷零担仓储旁房屋
|
||
灯草六巷沟边小平房
|
||
忆泉巷忆泉溪流宅院
|
||
淡味六巷玩具铺后方民房
|
||
榔榆苗西巷榆林深处住宅
|
||
德善六巷砖坎内侧小院
|
||
鸿钢材七路钢材门店后侧房
|
||
泽泻六巷渠浅洼沿岸小屋
|
||
冷井六巷冷泉潭旁农家院
|
||
觅趣五巷果蔬摊群深处院落
|
||
柳枝五巷柳货工坊后方
|
||
福安六里转角深巷老宅
|
||
泊船六街中段旧码头旁联排房
|
||
牡丹五巷花土铺后方院落
|
||
簸箕柳苗后街林木旁宅院
|
||
谦和五巷土坎内侧小院
|
||
腾仓六西巷大件物流货场
|
||
莎草丛六巷滩边小平房
|
||
寻泉二巷寻泉溪流宅院
|
||
微味六巷饰品铺后方民房
|
||
寿星桃苗西巷桃林深处住宅";
|
||
}
|
||
|
||
}
|