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

提交代码

parent bea77fbc
...@@ -252,23 +252,21 @@ namespace Mall.Module.Finance ...@@ -252,23 +252,21 @@ namespace Mall.Module.Finance
model.RecordDetailList.ForEach(x => x.FinanceId = model.FinanceId); model.RecordDetailList.ForEach(x => x.FinanceId = model.FinanceId);
financeRecordDetailRepository.InsertBatch(model.RecordDetailList, trans); financeRecordDetailRepository.InsertBatch(model.RecordDetailList, trans);
} }
if (flag)//更新订单商品的财务单据
foreach (var item in model.RecordDetailList)
{ {
foreach (var item in model.RecordDetailList) Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{ {
{ nameof(RB_Goods_OrderDetail.CostFinanceId),model.FinanceId} { nameof(RB_Goods_OrderDetail.CostFinanceId),model.FinanceId}
}; };
List<WhereHelper> whereHelpers = new List<WhereHelper>() { new WhereHelper() List<WhereHelper> whereHelpers = new List<WhereHelper>() { new WhereHelper()
{ {
FiledName=nameof(RB_Finance_Configurine_Extend.Id), FiledName=nameof(RB_Finance_Configurine_Extend.Id),
FiledValue=item.OrderDetailId, FiledValue=item.OrderDetailId,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
goods_OrderDetailRepository.Update(keyValues, whereHelpers, trans); goods_OrderDetailRepository.Update(keyValues, whereHelpers, trans);
}
} }
} }
financeRecordRepository.DBSession.Commit(); financeRecordRepository.DBSession.Commit();
......
...@@ -984,96 +984,6 @@ namespace Mall.Module.User ...@@ -984,96 +984,6 @@ namespace Mall.Module.User
return subscriptionRepository.GetList(new RB_Member_Subscription_Extend() { OpenId = openId, Type = 1, MallBaseId = MallBaseId, TenantId = TenantId }); 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>
/// 下单取消发送订阅消息 /// 下单取消发送订阅消息
/// </summary> /// </summary>
...@@ -1107,7 +1017,7 @@ namespace Mall.Module.User ...@@ -1107,7 +1017,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.OrderCancelTpl, template_id = appletWeChatModel.OrderCancelTpl,
page = "index", page = "pages/order/index/index",
data = new data = new
{ {
character_string1 = new character_string1 = new
...@@ -1120,7 +1030,7 @@ namespace Mall.Module.User ...@@ -1120,7 +1030,7 @@ namespace Mall.Module.User
}, },
amount4 = new amount4 = new
{ {
value = OrderMoney value = "¥" + OrderMoney
}, },
name8 = new name8 = new
{ {
...@@ -1198,7 +1108,7 @@ namespace Mall.Module.User ...@@ -1198,7 +1108,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.OrderDeliverGoodsTpl, template_id = appletWeChatModel.OrderDeliverGoodsTpl,
page = "index", page = "pages/order/index/index",
data = new data = new
{ {
thing8 = new thing8 = new
...@@ -1287,7 +1197,7 @@ namespace Mall.Module.User ...@@ -1287,7 +1197,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.RefundTpl, template_id = appletWeChatModel.RefundTpl,
page = "index", page = "pages/order/index/index",
data = new data = new
{ {
character_string4 = new character_string4 = new
...@@ -1300,7 +1210,7 @@ namespace Mall.Module.User ...@@ -1300,7 +1210,7 @@ namespace Mall.Module.User
}, },
amount2 = new amount2 = new
{ {
value = OrderMoney value = OrderMoney + "元"
}, },
thing1 = new thing1 = new
{ {
...@@ -1375,7 +1285,7 @@ namespace Mall.Module.User ...@@ -1375,7 +1285,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.ActiveStateTpl, template_id = appletWeChatModel.ActiveStateTpl,
page = "index", page = Mall.Common.Config.FirstPage,
data = new data = new
{ {
thing1 = new thing1 = new
...@@ -1459,7 +1369,7 @@ namespace Mall.Module.User ...@@ -1459,7 +1369,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.AuditResultTpl, template_id = appletWeChatModel.AuditResultTpl,
page = "index", page = Mall.Common.Config.FirstPage,
data = new data = new
{ {
thing4 = new thing4 = new
...@@ -1522,7 +1432,7 @@ namespace Mall.Module.User ...@@ -1522,7 +1432,7 @@ namespace Mall.Module.User
/// <param name="OpenId"></param> /// <param name="OpenId"></param>
/// <param name="Monry">提现金额</param> /// <param name="Monry">提现金额</param>
/// <param name="ServiceCharge">手续费</param> /// <param name="ServiceCharge">手续费</param>
/// <param name="Type">Type</param> /// <param name="Type">打款方式</param>
/// <param name="Remark">打款原因</param> /// <param name="Remark">打款原因</param>
/// <returns></returns> /// <returns></returns>
public bool SendWithdrawSucceedMsg(int TenantId, int MallBaseId, string OpenId, string Monry, string ServiceCharge, string Type, string Remark) 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 ...@@ -1547,16 +1457,16 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.ReflectSuccessTpl, template_id = appletWeChatModel.ReflectSuccessTpl,
page = "index", page = Mall.Common.Config.FirstPage,
data = new data = new
{ {
amount1 = new amount1 = new
{ {
value = Monry value = "¥" + Monry
}, },
amount2 = new amount2 = new
{ {
value = ServiceCharge value = "¥" + ServiceCharge
}, },
thing3 = new thing3 = new
{ {
...@@ -1633,7 +1543,7 @@ namespace Mall.Module.User ...@@ -1633,7 +1543,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.ReflectFailTpl, template_id = appletWeChatModel.ReflectFailTpl,
page = "index", page = Mall.Common.Config.FirstPage,
data = new data = new
{ {
amount1 = new amount1 = new
...@@ -1711,7 +1621,7 @@ namespace Mall.Module.User ...@@ -1711,7 +1621,7 @@ namespace Mall.Module.User
{ {
touser = OpenId, touser = OpenId,
template_id = appletWeChatModel.MembersLevelChangeTpl, template_id = appletWeChatModel.MembersLevelChangeTpl,
page = "index", page = Mall.Common.Config.FirstPage,
data = new data = new
{ {
thing3 = new thing3 = new
...@@ -1757,8 +1667,6 @@ namespace Mall.Module.User ...@@ -1757,8 +1667,6 @@ namespace Mall.Module.User
return false; return false;
} }
/// <summary> /// <summary>
/// 检查是否返回图片路径 /// 检查是否返回图片路径
/// </summary> /// </summary>
......
...@@ -22,10 +22,12 @@ namespace Mall.Repository.Product ...@@ -22,10 +22,12 @@ namespace Mall.Repository.Product
/// <param name="count"></param> /// <param name="count"></param>
/// <param name="dmodel"></param> /// <param name="dmodel"></param>
/// <returns></returns> /// <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"; 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}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.TenantId)}={dmodel.TenantId}";
} }
if (dmodel.MallBaseId > 0) if (dmodel.MallBaseId > 0)
...@@ -36,19 +38,24 @@ namespace Mall.Repository.Product ...@@ -36,19 +38,24 @@ namespace Mall.Repository.Product
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.UserId)}={dmodel.UserId}"; 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}%'"; 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}"; 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}%'"; 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}%'"; 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}"; where += $" and o.{nameof(RB_Goods_Order.OrderSource)} ={dmodel.OrderSource}";
} }
if (!string.IsNullOrEmpty(dmodel.Consignee)) if (!string.IsNullOrEmpty(dmodel.Consignee))
...@@ -59,13 +66,16 @@ namespace Mall.Repository.Product ...@@ -59,13 +66,16 @@ namespace Mall.Repository.Product
{ {
where += $" and o.{nameof(RB_Goods_Order.Mobile)} like '%{dmodel.Mobile}%'"; 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}%'"; 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}'"; 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'"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
} }
if (dmodel.SelectStatus == 1)//待审核 if (dmodel.SelectStatus == 1)//待审核
...@@ -76,7 +86,8 @@ namespace Mall.Repository.Product ...@@ -76,7 +86,8 @@ namespace Mall.Repository.Product
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}=2"; 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)"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)} in(3,4)";
} }
else if (dmodel.SelectStatus == 4)//已完成 else if (dmodel.SelectStatus == 4)//已完成
...@@ -121,7 +132,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -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}"; 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}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.ReOrderStatus)}={(int)dmodel.ReOrderStatus}";
} }
if (!string.IsNullOrEmpty(dmodel.ReOrderNo)) if (!string.IsNullOrEmpty(dmodel.ReOrderNo))
...@@ -139,7 +151,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -139,7 +151,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
/// </summary> /// </summary>
/// <param name="dmodel"></param> /// <param name="dmodel"></param>
/// <returns></returns> /// <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"; string where = $" where 1=1 and oas.{nameof(RB_Goods_OrderAfterSale.Status)}=0";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
...@@ -162,7 +175,7 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -162,7 +175,7 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)}={dmodel.OrderDetialId}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)}={dmodel.OrderDetialId}";
} }
if (dmodel.Type > 0) if (dmodel.Type > 0)
{ {
where += $" and oas.{nameof(RB_Goods_OrderAfterSale.Type)}={dmodel.Type}"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.Type)}={dmodel.Type}";
} }
...@@ -170,7 +183,8 @@ INNER JOIN rb_member_user mu on mu.Id=oas.UserId ...@@ -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}%'"; 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})"; where += $" and oas.{nameof(RB_Goods_OrderAfterSale.OrderDetialId)} in({dmodel.OrderDetailIds})";
} }
......
...@@ -240,7 +240,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -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(); 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); 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) if (flag)
{ {
return ApiResult.Success(); return ApiResult.Success();
......
...@@ -853,10 +853,12 @@ namespace Mall.WebApi.Controllers.User ...@@ -853,10 +853,12 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed("您已领取优惠券"); return ApiResult.Failed("您已领取优惠券");
} }
if (oldLogisticsModel.IndateType==Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon)
if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{ {
return ApiResult.Failed("优惠券时间已过期"); if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{
return ApiResult.Failed("优惠券时间已过期");
}
} }
var allMemberInfo = userModule.GetMemberUserInfo(userInfo.UserId); var allMemberInfo = userModule.GetMemberUserInfo(userInfo.UserId);
//判断优惠券是否有等级限制 //判断优惠券是否有等级限制
......
...@@ -357,6 +357,10 @@ namespace Mall.WebApi.Controllers.User ...@@ -357,6 +357,10 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed("财务单据生成失败"); return ApiResult.Failed("财务单据生成失败");
} }
} }
else
{
return ApiResult.Failed(parmsJob.GetStringValue("message"));
}
} }
return ApiResult.Success(""); return ApiResult.Success("");
......
...@@ -27,7 +27,7 @@ namespace Mall.WindowsService ...@@ -27,7 +27,7 @@ namespace Mall.WindowsService
Helper.LogHelper.Write("主服务开始运行......"); Helper.LogHelper.Write("主服务开始运行......");
TimersHelper helper = new TimersHelper(); TimersHelper helper = new TimersHelper();
timer1 = new System.Timers.Timer(); 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.Elapsed += new System.Timers.ElapsedEventHandler(helper.RevenueFinance);
timer1.Enabled = true; timer1.Enabled = true;
......
...@@ -39,7 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.Module.MarketingCenter ...@@ -39,7 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.Module.MarketingCenter
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{E56AB52A-2396-4A34-82AE-344EBF51F248}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{E56AB52A-2396-4A34-82AE-344EBF51F248}"
EndProject 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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution 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 ...@@ -23,9 +23,9 @@ namespace Test.Helper
/// </summary> /// </summary>
public static void GetData() 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); // GetGategoryImgList(cookie);
GetDestinationList(cookie); GetDestinationModel(cookie);
} }
public static void GetPage(string cookie) public static void GetPage(string cookie)
...@@ -279,7 +279,7 @@ namespace Test.Helper ...@@ -279,7 +279,7 @@ namespace Test.Helper
/// <summary> /// <summary>
/// 获取分类 /// 获取省市区
/// </summary> /// </summary>
/// <param name="cookie"></param> /// <param name="cookie"></param>
static void GetDestinationList(string cookie) static void GetDestinationList(string cookie)
...@@ -414,7 +414,7 @@ namespace Test.Helper ...@@ -414,7 +414,7 @@ namespace Test.Helper
/// <summary> /// <summary>
/// 获取商品分类 /// 获取省市区
/// </summary> /// </summary>
/// <param name="cookie"></param> /// <param name="cookie"></param>
/// <returns></returns> /// <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 ...@@ -11,7 +11,7 @@ namespace Test
static void Main(string[] args) static void Main(string[] args)
{ {
Console.WriteLine("Start......"); Console.WriteLine("Start......");
Helper.MallHelper.GetData(); Helper.FreightRulesHelper.GetData();
Console.WriteLine("End......"); Console.WriteLine("End......");
Console.ReadLine(); 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