Commit 062d9e35 authored by 吴春's avatar 吴春

提交代码

parent bea77fbc
......@@ -252,8 +252,7 @@ namespace Mall.Module.Finance
model.RecordDetailList.ForEach(x => x.FinanceId = model.FinanceId);
financeRecordDetailRepository.InsertBatch(model.RecordDetailList, trans);
}
if (flag)//更新订单商品的财务单据
{
foreach (var item in model.RecordDetailList)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>()
......@@ -270,7 +269,6 @@ namespace Mall.Module.Finance
goods_OrderDetailRepository.Update(keyValues, whereHelpers, trans);
}
}
}
financeRecordRepository.DBSession.Commit();
}
catch (Exception ex)
......
......@@ -984,96 +984,6 @@ namespace Mall.Module.User
return subscriptionRepository.GetList(new RB_Member_Subscription_Extend() { OpenId = openId, Type = 1, MallBaseId = MallBaseId, TenantId = TenantId });
}
/// <summary>
/// 下单成功发送订阅消息
/// </summary>
/// <param name="TenantId"></param>
/// <param name="MallBaseId"></param>
/// <param name="OpenId"></param>
/// <param name="OrderNo">订单编号</param>
/// <param name="OrderCreate">下单时间</param>
/// <param name="OrderPay">支付金额</param>
/// <param name="GoodsName">商品</param>
/// <returns></returns>
public bool SendOrderSucceedMsg(int TenantId, int MallBaseId, string OpenId, string OrderNo, string OrderCreate, string OrderPay, string GoodsName)
{
var appletWeChatModel = programRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
string token = WeiXinReidsCache.Get(appletWeChatModel.MiniAppId);
if (string.IsNullOrEmpty(token))
{
token = Mall.Common.Pay.WeChatPat.TokenHelper.GetLXYToken(token, appletWeChatModel.MiniAppId, appletWeChatModel.MiniAppSecret);
System.Threading.Tasks.Task.Run(() => WeiXinReidsCache.Set(appletWeChatModel.MiniAppId, token));
}
if (string.IsNullOrEmpty(token))
{
return false;
}
string wenXinResult = string.Empty;
if (!string.IsNullOrWhiteSpace(token))
{
string Url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token;
var postdata = new
{
touser = OpenId,
template_id = appletWeChatModel.OrderSuccessTpl,
page = "pages/index/index.html",
data = new
{
character_string6 = new
{
value = OrderNo
},
date5 = new
{
value = OrderCreate
},
amount3 = new
{
value = OrderPay
},
thing1 = new
{
value = GoodsName
}
},
miniprogram_state = "developer"
};
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
int errcode = Convert.ToInt32(jo["errcode"].ToString());
if (errcode == 0)
{ //成功
//var list = subscriptionRepository.GetList(new RB_Member_Subscription_Extend() { OpenId = OpenId, Type = 1, TempleteId = appletWeChatModel.OrderSuccessTpl, MallBaseId = MallBaseId, TenantId = TenantId });
//if (list.Any())
//{
// // 减少订阅次数
// var model = list.FirstOrDefault();
// Dictionary<string, object> files = new Dictionary<string, object>() {
// { nameof(RB_Member_Subscription.Count),model.Count>0?( model.Count--):0 }
// };
// List<WhereHelper> wheres = new List<WhereHelper>() {
// new WhereHelper(){
// FiledName=nameof(RB_Member_Subscription.Id),
// FiledValue=model.Id,
// OperatorEnum=OperatorEnum.Equal
// }
// };
// subscriptionRepository.Update(files, wheres);
//}
return true;
}
else
{
LogHelper.Write(string.Format("SendOrderSucceedMsg:wenXinResult:{0}", wenXinResult));
}
}
return false;
}
/// <summary>
/// 下单取消发送订阅消息
/// </summary>
......@@ -1107,7 +1017,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.OrderCancelTpl,
page = "index",
page = "pages/order/index/index",
data = new
{
character_string1 = new
......@@ -1120,7 +1030,7 @@ namespace Mall.Module.User
},
amount4 = new
{
value = OrderMoney
value = "¥" + OrderMoney
},
name8 = new
{
......@@ -1198,7 +1108,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.OrderDeliverGoodsTpl,
page = "index",
page = "pages/order/index/index",
data = new
{
thing8 = new
......@@ -1287,7 +1197,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.RefundTpl,
page = "index",
page = "pages/order/index/index",
data = new
{
character_string4 = new
......@@ -1300,7 +1210,7 @@ namespace Mall.Module.User
},
amount2 = new
{
value = OrderMoney
value = OrderMoney + "元"
},
thing1 = new
{
......@@ -1375,7 +1285,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.ActiveStateTpl,
page = "index",
page = Mall.Common.Config.FirstPage,
data = new
{
thing1 = new
......@@ -1459,7 +1369,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.AuditResultTpl,
page = "index",
page = Mall.Common.Config.FirstPage,
data = new
{
thing4 = new
......@@ -1522,7 +1432,7 @@ namespace Mall.Module.User
/// <param name="OpenId"></param>
/// <param name="Monry">提现金额</param>
/// <param name="ServiceCharge">手续费</param>
/// <param name="Type">Type</param>
/// <param name="Type">打款方式</param>
/// <param name="Remark">打款原因</param>
/// <returns></returns>
public bool SendWithdrawSucceedMsg(int TenantId, int MallBaseId, string OpenId, string Monry, string ServiceCharge, string Type, string Remark)
......@@ -1547,16 +1457,16 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.ReflectSuccessTpl,
page = "index",
page = Mall.Common.Config.FirstPage,
data = new
{
amount1 = new
{
value = Monry
value = "¥" + Monry
},
amount2 = new
{
value = ServiceCharge
value = "¥" + ServiceCharge
},
thing3 = new
{
......@@ -1633,7 +1543,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.ReflectFailTpl,
page = "index",
page = Mall.Common.Config.FirstPage,
data = new
{
amount1 = new
......@@ -1711,7 +1621,7 @@ namespace Mall.Module.User
{
touser = OpenId,
template_id = appletWeChatModel.MembersLevelChangeTpl,
page = "index",
page = Mall.Common.Config.FirstPage,
data = new
{
thing3 = new
......@@ -1757,8 +1667,6 @@ namespace Mall.Module.User
return false;
}
/// <summary>
/// 检查是否返回图片路径
/// </summary>
......
......@@ -22,10 +22,12 @@ namespace Mall.Repository.Product
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderAfterSale_Extend> GetERPPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel) {
public List<RB_Goods_OrderAfterSale_Extend> GetERPPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderAfterSale_Extend dmodel)
{
string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0) {
if (dmodel.TenantId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
......@@ -36,19 +38,24 @@ namespace Mall.Repository.Product
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.UserId)}={dmodel.UserId}";
}
if (!string.IsNullOrEmpty(dmodel.UserName)) {
if (!string.IsNullOrEmpty(dmodel.UserName))
{
where += $" and mu.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
}
if (dmodel.OrderId > 0) {
if (dmodel.OrderId > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderId)}={dmodel.OrderId}";
}
if (!string.IsNullOrEmpty(dmodel.ReOrderNo)) {
if (!string.IsNullOrEmpty(dmodel.ReOrderNo))
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderNo)} like '%{dmodel.ReOrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.OrderNo)) {
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'";
}
if (dmodel.OrderSource > 0) {
if (dmodel.OrderSource > 0)
{
where += $" and o.{nameof(RB_Goods_Order.OrderSource)} ={dmodel.OrderSource}";
}
if (!string.IsNullOrEmpty(dmodel.Consignee))
......@@ -59,13 +66,16 @@ namespace Mall.Repository.Product
{
where += $" and o.{nameof(RB_Goods_Order.Mobile)} like '%{dmodel.Mobile}%'";
}
if (!string.IsNullOrEmpty(dmodel.GoodsName)) {
if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like '%{dmodel.GoodsName}%'";
}
if (!string.IsNullOrEmpty(dmodel.StartTime)) {
if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.CreateDate)} >='{dmodel.StartTime}'";
}
if (!string.IsNullOrEmpty(dmodel.EndTime)) {
if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
}
if (dmodel.SelectStatus == 1)//待审核
......@@ -76,7 +86,8 @@ namespace Mall.Repository.Product
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}=2";
}
else if (dmodel.SelectStatus == 3) {//待卖家处理
else if (dmodel.SelectStatus == 3)
{//待卖家处理
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)} in(3,4)";
}
else if (dmodel.SelectStatus == 4)//已完成
......@@ -121,7 +132,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderId)}={dmodel.OrderId}";
}
if (dmodel.ReOrderStatus > 0) {
if (dmodel.ReOrderStatus.HasValue && dmodel.ReOrderStatus > 0)
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}={(int)dmodel.ReOrderStatus}";
}
if (!string.IsNullOrEmpty(dmodel.ReOrderNo))
......@@ -139,7 +151,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderAfterSale_Extend> GetList(RB_Goods_OrderAfterSale_Extend dmodel) {
public List<RB_Goods_OrderAfterSale_Extend> GetList(RB_Goods_OrderAfterSale_Extend dmodel)
{
string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0)
......@@ -170,7 +183,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderNo)} like '%{dmodel.ReOrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.OrderDetailIds)) {
if (!string.IsNullOrEmpty(dmodel.OrderDetailIds))
{
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)} in({dmodel.OrderDetailIds})";
}
......
......@@ -240,7 +240,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
}
var appletWeChatModel = appletWeChatModule.GetTenantListModule(new RB_MiniProgram_Extend { TenantId = Convert.ToInt32(parmsInfo.uid), MallBaseId = parmsInfo.MallBaseId }).FirstOrDefault();
string OpenId = "ow_7I5XC1-RGwwk8QANBmWKYKmOc"; //GetHelpByWx(code, appletWeChatModel);
bool flag = appletWeChatModule.SendOrderSucceedMsg(Convert.ToInt32(parmsInfo.uid), parmsInfo.MallBaseId, OpenId, "SNO215445555", "2020-05-12 14:01:12", "¥500", "测试商品请勿购买");
bool flag = appletWeChatModule.SendOrderDeliverMsg(Convert.ToInt32(parmsInfo.uid), parmsInfo.MallBaseId, OpenId, "发货拉拉了", "SNO215445555", "中通", "测试商品请勿购买");
if (flag)
{
return ApiResult.Success();
......
......@@ -853,11 +853,13 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed("您已领取优惠券");
}
if (oldLogisticsModel.IndateType==Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon)
{
if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{
return ApiResult.Failed("优惠券时间已过期");
}
}
var allMemberInfo = userModule.GetMemberUserInfo(userInfo.UserId);
//判断优惠券是否有等级限制
if (oldLogisticsModel.OnlyMember == 1)
......
......@@ -357,6 +357,10 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed("财务单据生成失败");
}
}
else
{
return ApiResult.Failed(parmsJob.GetStringValue("message"));
}
}
return ApiResult.Success("");
......
......@@ -27,7 +27,7 @@ namespace Mall.WindowsService
Helper.LogHelper.Write("主服务开始运行......");
TimersHelper helper = new TimersHelper();
timer1 = new System.Timers.Timer();
timer1.Interval = 1000 * (60 * 30); //60分钟
timer1.Interval = 1000 * (60 * 60); //60分钟
timer1.Elapsed += new System.Timers.ElapsedEventHandler(helper.RevenueFinance);
timer1.Enabled = true;
......
......@@ -39,7 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.Module.MarketingCenter
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{E56AB52A-2396-4A34-82AE-344EBF51F248}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mall.WindowsService", "Mall.WindowsService\Mall.WindowsService.csproj", "{FC1D11B4-E016-485A-A5E3-906697362658}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.WindowsService", "Mall.WindowsService\Mall.WindowsService.csproj", "{FC1D11B4-E016-485A-A5E3-906697362658}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......
using Newtonsoft.Json.Linq;
using Test.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Text.RegularExpressions;
using Test.DBHelper;
using MySql.Data.MySqlClient;
using System.Linq;
namespace Test.Helper
{
public class FreightRulesHelper
{
/// <summary>
/// 获取数据
/// </summary>
public static void GetData()
{
string cookie = "_identity=c964edefdd891bb281844324071fea4e2c1e7d2b21aef031ed81730f4e753d06a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_identity%22%3Bi%3A1%3Bs%3A48%3A%22%5B19740%2C%22Cktp5k6Wf3lVS_yjQI_uTgEEE6_ANe-5%22%2C86400%5D%22%3B%7D; HJ_SESSION_ID=tnajne35hev8qdajddg9pkg2cu; _csrf=df6aaa8c5fdb2364e3cd74f8e1a6e3036d4553a3e2ad7df9e5934907a5beabd8a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22URmzdlSexWftTrS829hdWnMLSiKhY0gP%22%3B%7D";
// GetGategoryImgList(cookie);
GetRemitsList(cookie);
}
#region 物流规则
static void GetFreightRules(string cookie)
{
int pageIndex = 1;
int pageCount = 1;
List<FreightRules> imgList = new List<FreightRules>();
int priceId = 1;
while (pageIndex <= pageCount)
{
var tempImgList = GetFreightRulesList(cookie, pageIndex, out pageCount);
Console.WriteLine(pageIndex + "/" + pageCount + "运费规则ing");
if (tempImgList != null && tempImgList.Count > 0)
{
foreach (var subItem in tempImgList)
{
try
{
FreightRules model = GetFreightRulesList(cookie, subItem.id);
if (model != null)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendFormat("INSERT INTO rb_logistics_rules(ID,MallBaseId,TenantId,CreateDate,UpdateDate,RulesName,ChargeMode,IsDefault,RulesType)");
stringBuilder.AppendFormat(" VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}');", model.id, 1, 1, model.created_at, model.updated_at, model.name, model.type, model.status, 1);
if (model.detail != null && model.detail.Any())
{
foreach (var itemdetail in model.detail)
{
stringBuilder.AppendFormat("INSERT INTO rb_logistics_rulesprice(First,FirstPrice,CreateDate,UpdateDate,Second,SecondPrice,RulesId,MallBaseId,TenantId,ID)");
stringBuilder.AppendFormat(" VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}',{9});", itemdetail.first, itemdetail.firstPrice, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), itemdetail.second, itemdetail.secondPrice, model.id, 1, 1, priceId);
if (itemdetail.list != null && itemdetail.list.Any())
{
foreach (var itemlist in itemdetail.list)
{
stringBuilder.AppendFormat("INSERT INTO rb_logistics_rulesregion(TenantId,MallBaseId,RulesPriceId,RegionId,CreateDate,UpdateDate,RulesType)");
stringBuilder.AppendFormat(" VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}');", 1, 1, priceId, itemlist.id, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), 1);
}
}
priceId += 1;
}
}
var newResult = DBHelper.MySqlHelper.ExecuteNonQuery(DBHelper.MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null);
}
}
catch (Exception ex)
{
}
}
}
pageIndex++;
var ranDomNum = new Random().Next(1, 20);
Thread.Sleep(1000 * ranDomNum);
}
}
static List<FreightRules> GetFreightRulesList(string cookie, int pageIndex, out int pageCount)
{
pageCount = 0;
List<FreightRules> list = new List<FreightRules>();
string imgApi = "https://wx.weibaoge.cn/web/index.php?r=mall%2Fpostage-rule%2Findex&page={0}&keyword=";
string newImaApi = string.Format(imgApi, pageIndex);
string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
JObject obj = JObject.Parse(jsonData);
JObject dataObj = JObject.Parse(obj["data"].ToString());
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FreightRules>>(dataObj["list"].ToString());
var pageObj = JObject.Parse(dataObj["pagination"].ToString());
Int32.TryParse(pageObj["page_count"].ToString(), out pageCount);
}
return list;
}
static FreightRules GetFreightRulesList(string cookie, int id)
{
FreightRules model = new FreightRules();
string imgApi = "https://wx.weibaoge.cn/web/index.php?r=mall%2Fpostage-rule%2Fedit&id={0}";
string newImaApi = string.Format(imgApi, id);
string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
JObject obj = JObject.Parse(jsonData);
JObject dataObj = JObject.Parse(obj["data"].ToString());
model = Newtonsoft.Json.JsonConvert.DeserializeObject<FreightRules>(dataObj["model"].ToString());
}
return model;
}
#endregion
#region 佣金
static void GetRemitsList(string cookie)
{
int pageIndex = 1;
int pageCount = 1;
List<Remit> imgList = new List<Remit>();
while (pageIndex <= pageCount)
{
var tempImgList = GetRemits(cookie, pageIndex, out pageCount);
Console.WriteLine(pageIndex + "/" + pageCount + "分销提现ing");
if (tempImgList != null && tempImgList.Count > 0)
{
StringBuilder stringBuilder = new StringBuilder();
foreach (var subItem in tempImgList)
{
try
{
int userId = 0;
//获取用户信息
try
{
string existsSubSql = string.Format("SELECT Id FROM rb_member_user WHERE Photo='{0}' ", subItem.user.avatar);
var existsSubObj = DBHelper.MySqlHelper.ExecuteScalar(DBHelper.MySqlHelper.defaultConnection, System.Data.CommandType.Text, existsSubSql, null);
if (existsSubObj != null && Convert.ToInt32(existsSubObj) > 0)
{
userId = Convert.ToInt32(existsSubObj);
}
}
catch (Exception ex)
{
}
if (userId == 0)
{
try
{
string existsSubSql = string.Format("SELECT Id FROM rb_member_user WHERE Name='{0}' ", subItem.user.nickname);
var existsSubObj = DBHelper.MySqlHelper.ExecuteScalar(DBHelper.MySqlHelper.defaultConnection, System.Data.CommandType.Text, existsSubSql, null);
if (existsSubObj != null && Convert.ToInt32(existsSubObj) > 0)
{
userId = Convert.ToInt32(existsSubObj);
}
}
catch (Exception ex)
{
}
}
int WithdrawalWay = subItem.type == "auto" ? 1 : 2;
stringBuilder.AppendFormat("INSERT INTO rb_distributor_remit(Id,OrderNum,UserId,WithdrawalWay,AppliedMoney,Fee,RemitMoney,AuditStatus,AuditDate,RemitDate,RejectDate,AuditRemark,RemitRemark,RejectRemark,TenantId,MallBaseId,CreateDate,AccountName,AccountNumber)");
stringBuilder.AppendFormat($" VALUES('{subItem.id}','{subItem.order_no}','{userId}','{WithdrawalWay}','{subItem.cash.actual_price}','{subItem.cash.service_charge}','{subItem.cash.actual_price}','{subItem.status + 1}','{subItem.time.apply_at}','{subItem.time.remittance_at}','{subItem.time.reject_at}','{subItem.content.apply_content}','{subItem.content.remittance_content}','{subItem.content.reject_content}','{1}','{1}','{subItem.time.created_at}','{subItem.extra.mobile}','{subItem.extra.name}');");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
var newResult = DBHelper.MySqlHelper.ExecuteNonQuery(DBHelper.MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null);
}
pageIndex++;
var ranDomNum = new Random().Next(1, 20);
Thread.Sleep(1000 * ranDomNum);
}
}
static List<Remit> GetRemits(string cookie, int pageIndex, out int pageCount)
{
pageCount = 0;
List<Remit> list = new List<Remit>();
string imgApi = "http://wx.weibaoge.cn/web/index.php?r=mall%2Fshare%2Fcash-data&status=3&page={0}";
string newImaApi = string.Format(imgApi, pageIndex);
string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
JObject obj = JObject.Parse(jsonData);
JObject dataObj = JObject.Parse(obj["data"].ToString());
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Remit>>(dataObj["list"].ToString());
var pageObj = JObject.Parse(dataObj["pagination"].ToString());
Int32.TryParse(pageObj["page_count"].ToString(), out pageCount);
}
return list;
}
#endregion
/// <summary>
/// Get获取数据
/// </summary>
/// <param name="url">url地址</param>
/// <param name="encode">编码方式</param>
/// <param name="Source">来源</param>
/// <returns></returns>
static string HttpGet(string url, string cookie)
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Headers.Add("cookie", cookie);
myRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
//x-requested-with: XMLHttpRequest
myRequest.Method = "GET";
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
reader.Close();
return content;
}
}
}
......@@ -23,9 +23,9 @@ namespace Test.Helper
/// </summary>
public static void GetData()
{
string cookie = "__login_route=%2Fadmin%2Fpassport%2Flogin; __login_role=admin; HJ_SESSION_ID=7vk71fa0f18fbqh525spku825f; _csrf=a8195370a076c6ca402e1bcfe99202bab6fe6db797e12d3b3c962b8ab05858c6a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22LKtJyYWEFsOkis_aatuA-fbrGZvhC3fp%22%3B%7D";
string cookie = "_identity=c964edefdd891bb281844324071fea4e2c1e7d2b21aef031ed81730f4e753d06a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_identity%22%3Bi%3A1%3Bs%3A48%3A%22%5B19740%2C%22Cktp5k6Wf3lVS_yjQI_uTgEEE6_ANe-5%22%2C86400%5D%22%3B%7D; HJ_SESSION_ID=tnajne35hev8qdajddg9pkg2cu; _csrf=df6aaa8c5fdb2364e3cd74f8e1a6e3036d4553a3e2ad7df9e5934907a5beabd8a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22URmzdlSexWftTrS829hdWnMLSiKhY0gP%22%3B%7D";
// GetGategoryImgList(cookie);
GetDestinationList(cookie);
GetDestinationModel(cookie);
}
public static void GetPage(string cookie)
......@@ -279,7 +279,7 @@ namespace Test.Helper
/// <summary>
/// 获取分类
/// 获取省市区
/// </summary>
/// <param name="cookie"></param>
static void GetDestinationList(string cookie)
......@@ -414,7 +414,7 @@ namespace Test.Helper
/// <summary>
/// 获取商品分类
/// 获取省市区
/// </summary>
/// <param name="cookie"></param>
/// <returns></returns>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test.Model
{
public class FreightRules
{
//http://wx.weibaoge.cn/web/index.php?r=mall%2Fpostage-rule%2Findex&page=1&keyword= 列表接口
//http://wx.weibaoge.cn/web/index.php?r=mall%2Fpostage-rule%2Fedit&id=209 详情接口
public int id { get; set; }
public string name { get; set; }
/// <summary>
/// 默认0-否,1-是
/// </summary>
public int status { get; set; }
/// <summary>
/// 计费方式 2-件 1-重量
/// </summary>
public int type { get; set; }
public string updated_at { get; set; }
public string created_at { get; set; }
public List<FreightPrice> detail { get; set; }
}
public class FreightPrice
{
public int first { get; set; }
public decimal firstPrice { get; set; }
public int second { get; set; }
public decimal secondPrice { get; set; }
public List<FreightArea> list { get; set; }
}
public class FreightArea
{
public int id { get; set; }
public string name { get; set; }
}
/// <summary>
/// 提现
/// </summary>
public class Remit
{
//http://wx.weibaoge.cn/web/index.php?r=mall%2Fshare%2Fcash-data&status=-1&page=1 接口请求地址
public int id { get; set; }
public string order_no { get; set; }
public string pay_type { get; set; }
/// <summary>
/// 提现方式,auto-自动打款,wechat-微信线下转账
/// </summary>
public string type { get; set; }
/// <summary>
/// 提现状态0-未审核,1-待打款,2-已打款,3-驳回
/// </summary>
public int status { get; set; }
public string status_text { get; set; }
public UserInfo user { get; set; }
public CashInfo cash { get; set; }
public ExtraInfo extra { get; set; }
public TimeInfo time { get; set; }
public ContentInfo content { get; set; }
}
public class UserInfo
{
/// <summary>
/// 头像
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string nickname { get; set; }
/// <summary>
/// 平台
/// </summary>
public string platform { get; set; }
}
public class CashInfo
{
public string price { get; set; }
/// <summary>
/// 手续费
/// </summary>
public string service_charge { get; set; }
public string actual_price { get; set; }
}
public class ExtraInfo
{
/// <summary>
/// 微信昵称
/// </summary>
public string name { get; set; }
/// <summary>
/// 微信号
/// </summary>
public string mobile { get; set; }
public string bank_name { get; set; }
}
public class TimeInfo
{
/// <summary>
/// 申请时间
/// </summary>
public string created_at { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public string apply_at { get; set; }
/// <summary>
/// 打款时间
/// </summary>
public string remittance_at { get; set; }
/// <summary>
/// 驳回时间
/// </summary>
public string reject_at { get; set; }
}
public class ContentInfo
{
/// <summary>
/// 审核备注
/// </summary>
public string apply_content { get; set; }
/// <summary>
/// 打款备注
/// </summary>
public string remittance_content { get; set; }
public string remittance_at { get; set; }
/// <summary>
/// 驳回备注
/// </summary>
public string reject_content { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test.Model
{
public class RB_Member_User
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 用户名称
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 别名
/// </summary>
public string AliasName
{
get;
set;
}
/// <summary>
/// 头像
/// </summary>
public string Photo
{
get;
set;
}
/// <summary>
/// 唯一识别码
/// </summary>
public string OpenId
{
get;
set;
}
/// <summary>
/// 手机号码
/// </summary>
public string Moblie
{
get;
set;
}
}
}
......@@ -11,7 +11,7 @@ namespace Test
static void Main(string[] args)
{
Console.WriteLine("Start......");
Helper.MallHelper.GetData();
Helper.FreightRulesHelper.GetData();
Console.WriteLine("End......");
Console.ReadLine();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment