增加OEM返现列表

This commit is contained in:
chfei committed 2026-09-17 14:50:45 +08:00
1 parent 2f6b0deb1c
commit a9c3e5e301
11 files changed
+932 -175

No files matched your search

+5 -5
View File
@@ -25,11 +25,7 @@ namespace AllBase.Model.Result
{
public TData Data { get; set; }
}
public class PageResult<TData> : Result<List<TData>>
{
public int Page { get; set; }
public int Total { get; set; }
}
public class PageData<T>
{
public long Total { get; set; }
@@ -48,4 +44,8 @@ namespace AllBase.Model.Result
PageSize = pageSize;
}
}
public class ApiPageResult<T> : Result<PageData<T>>
{
}
}
+4 -1
View File
@@ -10,7 +10,7 @@
<ErrorReportUrlHistory />
<FallbackCulture>zh-CN</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
<ActiveDebugProfile>Production</ActiveDebugProfile>
<ActiveDebugProfile>Development</ActiveDebugProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
@@ -187,6 +187,9 @@
</Compile>
<Compile Update="WXForms\ShopForms\WXShopOemWithdrawalForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\ShopForms\WXShopOemRebateRecordsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\ShopForms\WXTaxManage.cs">
<SubType>Form</SubType>
@@ -216,7 +216,7 @@ namespace TemuKJD.WXForms.AdminForms
data = JsonHelper.SerializeObject(obj);
var html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<PageResult<WXOemWithdrawalInfo>>(html);
var ret = JsonConvert.DeserializeObject<ApiPageResult<WXOemWithdrawalInfo>>(html);
if (ret.Code != 200)
{
Invoke(new Action(() =>
@@ -227,10 +227,10 @@ namespace TemuKJD.WXForms.AdminForms
}
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
pageCount = Math.Ceiling(1.0 * ret.Total / pageSize).ParseToInt();
pageCount = Math.Ceiling(1.0 * ret.Data.Total / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
return ret.Data;
return ret.Data.List;
}
@@ -990,8 +990,8 @@ namespace Work._29Tools.Forms.UserForms
this.KeyPreview = true;
this.Name = "WXOemAccountBalanceForm";
this.Padding = new System.Windows.Forms.Padding(2);
this.Text = "OEM返现明细";
this.TitleText = "OEM返现明细";
this.Text = "运费流水明细";
this.TitleText = "运费流水明细";
this.Load += new System.EventHandler(this.WXGetTopUpQrCode_Load);
this.Controls.SetChildIndex(this.panel1, 0);
this.panel1.ResumeLayout(false);
@@ -357,8 +357,8 @@ namespace Work._29Tools.Forms.UserForms
this.KeyPreview = true;
this.Name = "WXOemPointsTopUpListForm";
this.Padding = new System.Windows.Forms.Padding(2);
this.Text = "OEM积分明细";
this.TitleText = "OEM积分明细";
this.Text = "积分流水明细";
this.TitleText = "积分流水明细";
this.Load += new System.EventHandler(this.WXGetTopUpQrCode_Load);
this.Controls.SetChildIndex(this.panel1, 0);
this.panel1.ResumeLayout(false);
+158 -154
View File
@@ -28,169 +28,173 @@ namespace TemuKJD.WXForms.ShopForms
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("OEM账号管理");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("OEM返现明细");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("OEM积分明细");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("店铺地址管理");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("店铺经营统计");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("税务申报");
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("积分充值");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("OEM提现管理");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("OEM账号管理");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("运费流水明细");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("积分流水明细");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("OEM提现管理");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("店铺地址管理");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("店铺经营统计");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("税务申报");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("积分充值");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("OEM返利明细");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5,
treeNode11,
treeNode6,
treeNode12,
treeNode7,
treeNode8,
treeNode9,
treeNode10});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.lblName = new System.Windows.Forms.Label();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tv = new TemuKJD.UserComponent.UcTreeView();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.panel3);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(792, 461);
this.panel1.TabIndex = 2;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 28);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(792, 433);
this.panel3.TabIndex = 1;
this.panel3.Paint += new System.Windows.Forms.PaintEventHandler(this.panel3_Paint);
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
this.panel2.Controls.Add(this.lblName);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(792, 28);
this.panel2.TabIndex = 0;
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(5, 6);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(57, 17);
this.lblName.TabIndex = 0;
this.lblName.Text = "lblName";
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tv);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(933, 461);
this.splitContainer1.SplitterDistance = 140;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 3;
//
// tv
//
this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251)))));
this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.tv.Cursor = System.Windows.Forms.Cursors.Hand;
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.tv.FullRowSelect = true;
this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tv.HideCollapsedGroup = false;
this.tv.ItemHeight = 32;
this.tv.Location = new System.Drawing.Point(0, 0);
this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tv.Name = "tv";
treeNode1.Name = "店铺列表";
treeNode1.Text = "店铺列表";
treeNode2.Name = "子账号管理";
treeNode2.Text = "子账号管理";
treeNode3.Name = "OEM账号管理";
treeNode3.Text = "OEM账号管理";
treeNode4.Name = "OEM返现明细";
treeNode4.Text = "OEM返现明细";
treeNode5.Name = "OEM积分明细";
treeNode5.Text = "OEM积分明细";
treeNode6.Name = "店铺地址管理";
treeNode6.Text = "店铺地址管理";
treeNode7.Name = "店铺经营统计";
treeNode7.Text = "店铺经营统计";
treeNode8.Name = "评分考核";
treeNode8.Text = "评分考核";
treeNode9.Name = "税务申报";
treeNode9.Text = "税务申报";
treeNode10.Name = "积分充值";
treeNode10.Text = "积分充值";
treeNode11.Name = "OEM提现管理";
treeNode11.Text = "OEM提现管理";
treeNode12.Name = "店铺管理";
treeNode12.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode12});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 461);
this.tv.TabIndex = 1;
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
//
// WXShopForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(933, 461);
this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "WXShopForm";
this.Text = "ShopForm";
this.Load += new System.EventHandler(this.ShopForm_Load);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
treeNode10,
treeNode11});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.lblName = new System.Windows.Forms.Label();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tv = new TemuKJD.UserComponent.UcTreeView();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.panel3);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(792, 461);
this.panel1.TabIndex = 2;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 28);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(792, 433);
this.panel3.TabIndex = 1;
this.panel3.Paint += new System.Windows.Forms.PaintEventHandler(this.panel3_Paint);
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
this.panel2.Controls.Add(this.lblName);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(792, 28);
this.panel2.TabIndex = 0;
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(5, 6);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(57, 17);
this.lblName.TabIndex = 0;
this.lblName.Text = "lblName";
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tv);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(933, 461);
this.splitContainer1.SplitterDistance = 140;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 3;
//
// tv
//
this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251)))));
this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.tv.Cursor = System.Windows.Forms.Cursors.Hand;
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.tv.FullRowSelect = true;
this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tv.HideCollapsedGroup = false;
this.tv.ItemHeight = 32;
this.tv.Location = new System.Drawing.Point(0, 0);
this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tv.Name = "tv";
treeNode1.Name = "店铺列表";
treeNode1.Text = "店铺列表";
treeNode2.Name = "子账号管理";
treeNode2.Text = "子账号管理";
treeNode3.Name = "OEM账号管理";
treeNode3.Text = "OEM账号管理";
treeNode4.Name = "运费流水明细";
treeNode4.Text = "运费流水明细";
treeNode5.Name = "积分流水明细";
treeNode5.Text = "积分流水明细";
treeNode6.Name = "OEM提现管理";
treeNode6.Text = "OEM提现管理";
treeNode7.Name = "店铺地址管理";
treeNode7.Text = "店铺地址管理";
treeNode8.Name = "店铺经营统计";
treeNode8.Text = "店铺经营统计";
treeNode9.Name = "评分考核";
treeNode9.Text = "评分考核";
treeNode10.Name = "税务申报";
treeNode10.Text = "税务申报";
treeNode11.Name = "积分充值";
treeNode11.Text = "积分充值";
treeNode12.Name = "OEM返利明细";
treeNode12.Text = "OEM返利明细";
treeNode13.Name = "店铺管理";
treeNode13.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode13});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 461);
this.tv.TabIndex = 1;
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
//
// WXShopForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(933, 461);
this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "WXShopForm";
this.Text = "ShopForm";
this.Load += new System.EventHandler(this.ShopForm_Load);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
+10 -5
View File
@@ -34,6 +34,7 @@ namespace TemuKJD.WXForms.ShopForms
public Lazy<WXOemAccountBalanceForm> oemAccountBalanceForm = new Lazy<WXOemAccountBalanceForm>();
public Lazy<WXOemPointsTopUpListForm> oemAccountPointsForm = new Lazy<WXOemPointsTopUpListForm>();
public Lazy<WXShopOemWithdrawalForm> oemWithdrawalForm = new Lazy<WXShopOemWithdrawalForm>();
public Lazy<WXShopOemRebateRecordsForm> oemRebateRecordsForm = new Lazy<WXShopOemRebateRecordsForm>();
public WXShopForm()
@@ -61,7 +62,7 @@ namespace TemuKJD.WXForms.ShopForms
public List<string> getHideTreeNodes()
{
List<string> hideNames = new List<string>() { "积分充值", "OEM账号管理", "OEM返现明细", "OEM积分明细", "OEM提现管理", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
List<string> hideNames = new List<string>() { "积分充值", "OEM账号管理", "运费流水明细", "积分流水明细", "OEM提现管理", "OEM返利明细", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
if (BaseClass.SaLevel == 1)
{
@@ -84,9 +85,10 @@ namespace TemuKJD.WXForms.ShopForms
if (!BaseClass.OemId.IsNullOrEmpty() && BaseClass.IsOemOwner)
{
hideNames.Remove("OEM账号管理");
hideNames.Remove("OEM返现明细");
hideNames.Remove("OEM积分明细");
hideNames.Remove("运费流水明细");
hideNames.Remove("积分流水明细");
hideNames.Remove("OEM提现管理");
hideNames.Remove("OEM返利明细");
}
foreach (var forbiddenPage in BaseClass.ForbiddenPage.Split(','))
@@ -141,15 +143,18 @@ namespace TemuKJD.WXForms.ShopForms
case "OEM账号管理":
SetForm(oemAccountForm.Value);
break;
case "OEM返现明细":
case "运费流水明细":
SetForm(oemAccountBalanceForm.Value);
break;
case "OEM积分明细":
case "积分流水明细":
SetForm(oemAccountPointsForm.Value);
break;
case "OEM提现管理":
SetForm(oemWithdrawalForm.Value);
break;
case "OEM返利明细":
SetForm(oemRebateRecordsForm.Value);
break;
}
}));
}).Start();
@@ -0,0 +1,368 @@
namespace TemuKJD.WXForms.ShopForms
{
partial class WXShopOemRebateRecordsForm
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXShopOemRebateRecordsForm));
this.panel1 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxFilter = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.lblTo = new System.Windows.Forms.Label();
this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
this.lblDateRange = new System.Windows.Forms.Label();
this.cmbType = new System.Windows.Forms.ComboBox();
this.lblType = new System.Windows.Forms.Label();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvRebateRecords = new TemuKJD.UserComponent.DataGridViewEx();
this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAmount = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colRebate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCreateTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.ucGroupBoxFilter.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvRebateRecords)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.splitContainer1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(1, 33);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1222, 586);
this.panel1.TabIndex = 0;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxFilter);
this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(2);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
this.splitContainer1.Size = new System.Drawing.Size(1222, 586);
this.splitContainer1.SplitterDistance = 75;
this.splitContainer1.TabIndex = 0;
//
// ucGroupBoxFilter
//
this.ucGroupBoxFilter.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxFilter.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxFilter.Controls.Add(this.btnSearch);
this.ucGroupBoxFilter.Controls.Add(this.dtpEndTime);
this.ucGroupBoxFilter.Controls.Add(this.lblTo);
this.ucGroupBoxFilter.Controls.Add(this.dtpStartTime);
this.ucGroupBoxFilter.Controls.Add(this.lblDateRange);
this.ucGroupBoxFilter.Controls.Add(this.cmbType);
this.ucGroupBoxFilter.Controls.Add(this.lblType);
this.ucGroupBoxFilter.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucGroupBoxFilter.Location = new System.Drawing.Point(2, 2);
this.ucGroupBoxFilter.Name = "ucGroupBoxFilter";
this.ucGroupBoxFilter.Size = new System.Drawing.Size(1218, 71);
this.ucGroupBoxFilter.TabIndex = 0;
this.ucGroupBoxFilter.TabStop = false;
this.ucGroupBoxFilter.Text = "查询条件";
//
// btnSearch
//
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSearch.Location = new System.Drawing.Point(677, 26);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(68, 25);
this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnSearch.Style.GradientAngle = 90;
this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSearch.TabIndex = 5;
this.btnSearch.Text = "查询";
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(492, 26);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.ShowCheckBox = true;
this.dtpEndTime.Size = new System.Drawing.Size(145, 23);
this.dtpEndTime.TabIndex = 4;
//
// lblTo
//
this.lblTo.AutoSize = true;
this.lblTo.Location = new System.Drawing.Point(466, 30);
this.lblTo.Name = "lblTo";
this.lblTo.Size = new System.Drawing.Size(20, 17);
this.lblTo.TabIndex = 3;
this.lblTo.Text = "至";
//
// dtpStartTime
//
this.dtpStartTime.CustomFormat = "yyyy-MM-dd";
this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStartTime.Location = new System.Drawing.Point(312, 26);
this.dtpStartTime.Name = "dtpStartTime";
this.dtpStartTime.ShowCheckBox = true;
this.dtpStartTime.Size = new System.Drawing.Size(145, 23);
this.dtpStartTime.TabIndex = 2;
//
// lblDateRange
//
this.lblDateRange.AutoSize = true;
this.lblDateRange.Location = new System.Drawing.Point(240, 30);
this.lblDateRange.Name = "lblDateRange";
this.lblDateRange.Size = new System.Drawing.Size(68, 17);
this.lblDateRange.TabIndex = 1;
this.lblDateRange.Text = "日期范围:";
//
// cmbType
//
this.cmbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbType.FormattingEnabled = true;
this.cmbType.Items.AddRange(new object[] {
"运费",
"续费"});
this.cmbType.Location = new System.Drawing.Point(83, 26);
this.cmbType.Name = "cmbType";
this.cmbType.Size = new System.Drawing.Size(120, 25);
this.cmbType.TabIndex = 0;
//
// lblType
//
this.lblType.AutoSize = true;
this.lblType.Location = new System.Drawing.Point(35, 30);
this.lblType.Name = "lblType";
this.lblType.Size = new System.Drawing.Size(44, 17);
this.lblType.TabIndex = 0;
this.lblType.Text = "类型:";
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
this.splitContainer2.Panel1.Controls.Add(this.dgvRebateRecords);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Size = new System.Drawing.Size(1222, 507);
this.splitContainer2.SplitterDistance = 478;
this.splitContainer2.TabIndex = 0;
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(586, 214);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 1;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// dgvRebateRecords
//
this.dgvRebateRecords.AllowUserToAddRows = false;
this.dgvRebateRecords.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvRebateRecords.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvRebateRecords.AutoRowNumber = true;
this.dgvRebateRecords.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvRebateRecords.BackgroundColor = System.Drawing.Color.White;
this.dgvRebateRecords.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvRebateRecords.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvRebateRecords.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvRebateRecords.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colUserName,
this.colAmount,
this.colRebate,
this.colCreateTime});
this.dgvRebateRecords.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvRebateRecords.Location = new System.Drawing.Point(4, 0);
this.dgvRebateRecords.MultiSelectCheckBox = false;
this.dgvRebateRecords.Name = "dgvRebateRecords";
this.dgvRebateRecords.ReadOnly = true;
this.dgvRebateRecords.RowTemplate.Height = 28;
this.dgvRebateRecords.ShowCellErrors = false;
this.dgvRebateRecords.Size = new System.Drawing.Size(1214, 478);
this.dgvRebateRecords.TabIndex = 0;
//
// colUserName
//
this.colUserName.FillWeight = 30F;
this.colUserName.HeaderText = "用户账号";
this.colUserName.Name = "colUserName";
this.colUserName.ReadOnly = true;
//
// colAmount
//
this.colAmount.FillWeight = 24F;
this.colAmount.HeaderText = "订单金额(元)";
this.colAmount.Name = "colAmount";
this.colAmount.ReadOnly = true;
//
// colRebate
//
dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(140)))), ((int)(((byte)(0)))));
this.colRebate.DefaultCellStyle = dataGridViewCellStyle3;
this.colRebate.FillWeight = 24F;
this.colRebate.HeaderText = "返利金额(元)";
this.colRebate.Name = "colRebate";
this.colRebate.ReadOnly = true;
//
// colCreateTime
//
this.colCreateTime.FillWeight = 32F;
this.colCreateTime.HeaderText = "创建时间";
this.colCreateTime.Name = "colCreateTime";
this.colCreateTime.ReadOnly = true;
//
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.IsShowPageSize = true;
this.ucSplitPage1.IsShowTotalCount = false;
this.ucSplitPage1.Location = new System.Drawing.Point(833, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.MaxPageSizeValue = 5000;
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.PageSize = 200;
this.ucSplitPage1.Size = new System.Drawing.Size(389, 25);
this.ucSplitPage1.TabIndex = 1;
this.ucSplitPage1.TotalCount = ((long)(0));
this.ucSplitPage1.TotalPage = 1;
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
//
// statusBar
//
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1222, 25);
this.statusBar.TabIndex = 0;
//
// WXShopOemRebateRecordsForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1224, 620);
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Name = "WXShopOemRebateRecordsForm";
this.Text = "OEM返利明细";
this.TitleText = "OEM返利明细";
this.VisibleChanged += new System.EventHandler(this.WXShopOemRebateRecordsForm_VisibleChanged);
this.Controls.SetChildIndex(this.panel1, 0);
this.panel1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ucGroupBoxFilter.ResumeLayout(false);
this.ucGroupBoxFilter.PerformLayout();
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvRebateRecords)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.SplitContainer splitContainer1;
private TemuKJD.UserComponent.UcGroupBoxEx ucGroupBoxFilter;
private System.Windows.Forms.Label lblType;
private System.Windows.Forms.ComboBox cmbType;
private System.Windows.Forms.Label lblDateRange;
private System.Windows.Forms.DateTimePicker dtpStartTime;
private System.Windows.Forms.Label lblTo;
private System.Windows.Forms.DateTimePicker dtpEndTime;
private DevComponents.DotNetBar.PanelEx btnSearch;
private System.Windows.Forms.SplitContainer splitContainer2;
private TemuKJD.UserComponent.DataGridViewEx dgvRebateRecords;
private System.Windows.Forms.PictureBox pbLoading;
private TemuKJD.UserControls.UcSplitPage ucSplitPage1;
private TemuKJD.UserControls.StatusBarUserControl statusBar;
private System.Windows.Forms.DataGridViewTextBoxColumn colUserName;
private System.Windows.Forms.DataGridViewTextBoxColumn colAmount;
private System.Windows.Forms.DataGridViewTextBoxColumn colRebate;
private System.Windows.Forms.DataGridViewTextBoxColumn colCreateTime;
}
}
@@ -0,0 +1,207 @@
using AllBase;
using AllBase.Model.Result;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using Work;
namespace TemuKJD.WXForms.ShopForms
{
/// <summary>
/// OEM返利明细。
/// 支持按类型(运费、续费)和日期范围查询返利记录。
/// </summary>
public partial class WXShopOemRebateRecordsForm : BaseGeneralForm
{
private readonly BindingList<RebateRecordResponse> dataList = new BindingList<RebateRecordResponse>();
private bool first = true;
private bool loading;
public WXShopOemRebateRecordsForm()
{
InitializeComponent();
InitBindingDataGridView();
this.cmbType.SelectedIndex = 0;
this.dtpStartTime.Value = DateTime.Now.Date.AddMonths(-3);
this.dtpEndTime.Value = DateTime.Now.Date;
}
#region 列表绑定
private void InitBindingDataGridView()
{
this.dgvRebateRecords.AutoGenerateColumns = false;
this.colUserName.DataPropertyName = nameof(RebateRecordResponse.UserName);
this.colAmount.DataPropertyName = nameof(RebateRecordResponse.Amount);
this.colRebate.DataPropertyName = nameof(RebateRecordResponse.Rebate);
this.colCreateTime.DataPropertyName = nameof(RebateRecordResponse.CreateTime);
this.colCreateTime.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
this.colAmount.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
this.colRebate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
this.dgvRebateRecords.CellFormatting += DgvRebateRecords_CellFormatting;
this.dgvRebateRecords.DataSource = dataList;
}
private void DgvRebateRecords_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.Value == null || e.Value == DBNull.Value)
return;
if (e.ColumnIndex != this.colAmount.Index && e.ColumnIndex != this.colRebate.Index)
return;
if (long.TryParse(e.Value.ToString(), out long amountInFen))
{
e.Value = (amountInFen / 100m).ToString("F2");
e.FormattingApplied = true;
}
}
#endregion
#region 数据加载
private void WXShopOemRebateRecordsForm_VisibleChanged(object sender, EventArgs e)
{
//if (this.Visible && first)
//{
// first = false;
// GetRebateRecords(1);
//}
}
private async Task GetRebateRecords(int page)
{
if (loading)
return;
if (this.dtpStartTime.Checked && this.dtpEndTime.Checked && this.dtpStartTime.Value.Date > this.dtpEndTime.Value.Date)
{
BaseMsgForm.ShowError("开始日期不能大于结束日期!");
return;
}
int type = GetRebateType(this.cmbType.Text);
int pageSize = this.ucSplitPage1.PageSize;
string startTime = this.dtpStartTime.Checked
? this.dtpStartTime.Value.ToString("yyyy-MM-dd 00:00:00")
: null;
string endTime = this.dtpEndTime.Checked
? this.dtpEndTime.Value.ToString("yyyy-MM-dd 23:59:59")
: null;
this.loading = true;
this.btnSearch.Enabled = false;
this.ucSplitPage1.Enabled = false;
this.pbLoading.Visible = true;
this.dgvRebateRecords.Rows.Clear();
this.dataList.Clear();
try
{
var ret = await RequestRebateRecords(type, page, pageSize, startTime, endTime);
if (ret == null)
throw new Exception("接口未返回数据");
List<RebateRecordResponse> list = ret?.List ?? new List<RebateRecordResponse>();
int pageCount = Math.Max((int)Math.Ceiling((double)ret.Total / Math.Max(pageSize, 1)), 1);
this.ucSplitPage1.TotalPage = pageCount;
list.ForEach(item => this.dataList.Add(item));
this.statusBar.lblTaskStatus.Text = "返利明细查询完毕";
}
catch (Exception ex)
{
this.statusBar.lblTaskStatus.Text = "返利明细查询失败";
BaseMsgForm.ShowError("返利明细获取失败:" + ex.Message);
}
finally
{
if (!this.IsDisposed)
{
this.pbLoading.Visible = false;
this.btnSearch.Enabled = true;
this.ucSplitPage1.Enabled = true;
this.loading = false;
}
}
}
private async Task<PageData<RebateRecordResponse>> RequestRebateRecords(
int type,
int page,
int pageSize,
string startTime,
string endTime)
{
var url = BaseClass.BuildObjString("oem/GetRebateRecords");
var obj = UserLogin.GetSignPostData(new
{
Type = type,
PageIndex = page,
PageSize = pageSize,
StartTime = startTime,
EndTime = endTime
});
// GetSignPostData 会将 null 转为空字符串,这里恢复为接口约定的 null。
var postData = obj as IDictionary<string, object>;
if (postData != null)
{
postData["StartTime"] = startTime;
postData["EndTime"] = endTime;
}
string html = await GetHtml.PostJsonAsync(url, obj);
if (string.IsNullOrWhiteSpace(html))
throw new Exception("接口未返回数据");
var ret= JsonConvert.DeserializeObject<ApiPageResult<RebateRecordResponse>>(html);
if (ret.Code != 200)
{
throw new Exception("查询失败,请重试!" + ret.Msg);
}
return ret.Data;
}
private static int GetRebateType(string typeName)
{
return string.Equals(typeName, "续费", StringComparison.Ordinal) ? 1 : 0;
}
#endregion
#region 事件
private async void btnSearch_Click(object sender, EventArgs e)
{
if (this.ucSplitPage1.CurrentPage != 1)
{
this.ucSplitPage1.CurrentPage = 1;
return;
}
await GetRebateRecords(1);
}
private async void ucSplitPage1_PageChange(object obj)
{
await GetRebateRecords(this.ucSplitPage1.CurrentPage);
}
#endregion
}
/// <summary>
/// OEM返利记录。
/// </summary>
public class RebateRecordResponse
{
public string UserName { get; set; }
public long Amount { get; set; }
public long Rebate { get; set; }
public DateTime CreateTime { get; set; }
}
}
@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAQYAAAAABoCgAAFgAAACgAAABAAAAAgAAAAAEABAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAAAAAHd3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3cAAABXd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAHd3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d4/4d3d3d3d3
d3d3d3d3d3d3d3d4/4d3d3dwV3d3d3d/iI/3d3d3d3d3d3d3d3d3d3d3d4+Ij3d3d3V3d3d3d/h3d/h3
d3d3d3d3d3d3d3d3d3d493d/93d3d3d4iIiH+Hd3f4iIiIiIiIiIiP///////4j3d3iIiId3d4////93
d3d/////////////h3d3d3d4iPd3f3j4/3d3d3d3f4d3d493d3d3d3d3d3d3d3d3d3f3j4j4f3d/h3d3
d3d4+Hd3+HeIiIiIiIiIiIiIiIiId/h4/4ePd3iHd3d3d3eP+I+HeP/////////////////4f4d3ePh3
f4d3d3d3d3eIh3d3d3d3d3d3d3d3d3d3d493j4j/h3eIh3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f4d4
iId3d3d3d3+I93d3j3j3j///iP+Hf3iHj///h3d/h3d3d3d3f4d3f4f/d3j4d/iIiIj/iId/+P/4iIh3
d3+Hd3d3d3d/h3d/h3+Hf4d3j3d3d493d3+Hj3d/h3d3f4d3d3d3d3iHd3+HeId4d3ePd/h4j3d3f4eP
iI+Id3d/h3d3d3d4j4d3f4j/////h493949/h3f/+I+Ij/h3d3+Hd3iI//iPh3d/h4+Ij4h3j3j3j3j3
d4+Hj3d/h3d3f4d4/4iHd3+HeP+Hf4d/h3ePj4f4d/h3f4f/j///d3d/h3iHd3d3j4d3/4d/h3+Hd4+I
d/h3+HeP+IiPj4d3d3+HeId3d3f4d3ePh/////93j4d3d3d3ePd3d3iId3d3f4d4h3d3ePd3d3j3j/iP
iHeP//////+H//iPj/iPd3d/h3iHd3d/h3d3d/h/h3+Hd3iIiP+IiHePh/h4/4h3d3+HePiIh493d3d3
iHiHeId3d3d3+Hd3d3h3h3eId3d3f4d3iIh393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d/+IiIiI+H
d3d3d3d3d3d3d4+Hd3d3d3d3d3d3d3d3d3+IiIiIh3d3d3d3d3d3d3d3ePh3d3d3d3d3d3d3d3d3f4d3
d3d3d3d3d4/////////4ePd3d3d3d3d3d3d3d3d/h3d3d3d3d3d3d3d3d3j///+Hj4d4iIj/////iIiI
iPh3d3d3d3d3d3d3d3d3eIiIiHj4d3iIiIj/iP+IiIiIh3d3d3d3d3d3d3d3d3d3d3d3j4d3d3d3d4+H
j4d3d3d3d3d3d3d3d3d3d3d3d3f///////////h3ePh4+Hd3d3d3d3d3d3d3d3d3d3d3d/+IiIiIiIiI
h3d3j4ePh3d3d3d3d3d3d3d3d3d3d3d3+Hd3d3d3d3d3d3d493/3d3d3d3d3d3d3d3d3d3d3d3ePh4//
//////h3d3f/d/93d3d3d3d3d3d3d3d3d3d3d3j4eP+IiIiIh3d3d3/3f/d3d3d3d3d3d3d3d3d3d3d3
d4+Hj4d3d3d3d3d3d/h4+Hd3d3d3d3d3d3d3d3d3d3d3ePh4/3d3d3d3d3d3f4ePh3d3d3d3d3d3d3d3
d3d3d3d3j4d/93d3d3d3d4j/+Hj4d3d3d3d3d3d3d3d3d3d3d3d4+Hf/d3d3d3eP/4iIh4+Hd3d3d3d3
d3d3d3d3d3d3d3eP93j4d3d3eP+Hd3d3ePd3d3d3d3d3d3d3d3d3d3d3d3f/d4+Hd3ePh3j//4d3/3d3
d3d3d3d3d3d3d3d3d3d3d3j4ePh3d/93/4iI/4ePh3d3d3d3d3d3d3d3d3d3d3d3d4+Hj4d4+H/4d3d/
+H/4d3d3d3d3d3d3d3d3d3d3d3d3ePd/h3/3j4d3d3f4ePh3d3d3d3d3d3d3d3d3d3d3d3d3/3j3f4f/
d3d3d494+Hd3d3d3d3d3d3d3d3d3d3d3d3ePePh/h/93d3d3j3f4d3d3d3d3d3d3d3d3d3d4h3d3d493
+H/3j3d3d3ePePh3d3d3d3d3d3d3d3d3eHj4d3d3j3j4ePePh3d3d/h4+Hd3d3d3d3d3d3d3d3d/h4+H
d3j4ePd3+Hj4d3eP93+Hd3d3d3d3d3d3d3d3d3j4eP+I/4d/h3ePh4/4j/93j3d3d3d3d3d3d3d3d3d3
d4+HeIiId/93d3j4d4/4h3j4d3d3d3d3d3d3d3d3d3d3ePiHd3eP93d3d4+Id3d4/4d3d3d3d3d3d3d3
d3d3d3d3j/////h3d3d3eP/4j//4d3d3d3d3d3d3V3d3d3d3d3d3iP+Ih3d3d3d3eI//iHd3d3d3d3d3
d3UHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d1AAAAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAAAAAV3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3UAAAD/gAAAAAAB//gAAAAAAAAf4AAAAAAAAAfAAAAAAAAAA8AAAAAAAAADgAAAAAAA
AAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAA
AAAAAAABwAAAAAAAAAPAAAAAAAAAA+AAAAAAAAAH+AAAAAAAAB//gAAAAAAB/w==
</value>
</data>
</root>
@@ -193,7 +193,7 @@ namespace TemuKJD.WXForms.ShopForms
string data = JsonHelper.SerializeObject(obj);
var html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<PageResult<WXOemWithdrawalInfo>>(html);
var ret = JsonConvert.DeserializeObject<ApiPageResult<WXOemWithdrawalInfo>>(html);
if (ret.Code != 200)
{
Invoke(new Action(() =>
@@ -205,10 +205,10 @@ namespace TemuKJD.WXForms.ShopForms
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
pageCount = Math.Ceiling(1.0 * ret.Total / pageSize).ParseToInt();
pageCount = Math.Ceiling(1.0 * ret.Data.Total / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
return ret.Data;
return ret.Data.List;
}
#endregion