Files
KJD/TEMUKJD/WXForms/ShopForms/WXOemAccountForm.cs
T

509 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using AllBase;
using AllBase.Helper;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.Extension;
using Work;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXOemAccountForm
: BaseForm
{
public static List<UserSubAccountInfo> AllUsers { get; set; } = new List<UserSubAccountInfo>();
public MainForm Mf { get; set; } = null;
public string Uid { get; set; } = "";
public WXOemAccountForm()
{
InitializeComponent();
}
private void btnOpUser_Click(object sender, EventArgs e)
{
if (txtPassword.Text != txtRePass.Text)
{
BaseMsgForm.ShowInfo("两次密码不正确", "提示");
return;
}
if (btnOpUser.Text == "添加用户" && txtPassword.Text.Length < 6)
{
BaseMsgForm.ShowInfo("密码最少6位", "提示");
return;
}
if (string.IsNullOrEmpty(txtNickName.Text) || string.IsNullOrEmpty(txtMobile.Text) ||
txtMobile.Text.Length != 11)
{
BaseMsgForm.ShowInfo("信息不正确", "提示");
return;
}
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&add_nick_name=" + GetHtml.UrlEncodeUtf8(txtNickName.Text));
data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text));
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(BaseClass.OemId.Trim()));
if (!string.IsNullOrEmpty(txtPassword.Text))
data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower());
// 主账户
data.Append("&group_id=3");
string url = BaseClass.BuildObjString("user/add_user");
if (btnOpUser.Text != "添加用户" && !string.IsNullOrEmpty(Uid))
{
data.Append("&id=" + Uid);
url = BaseClass.BuildObjString("user/update_user");
}
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
btnOpUser.Text = "添加用户";
EmptyInput();
btnCancel.Visible = false;
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("出现异常,添加失败", "错误");
}
private void GetUser()
{
dgvUser.Rows.Clear();
AllUsers.Clear();
if (BaseClass.OemId.IsNullOrEmpty() || BaseClass.IsOemOwner == false)
return;
string url = BaseClass.BuildObjString("user/get_all_user");
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
// 主账户
data.Append("&group_id=3");
data.Append("&oem_id=" + BaseClass.OemId);
if (!string.IsNullOrWhiteSpace(txtSearch.Text))
data.Append("&search=" + txtSearch.Text.Replace("'","'"));
string html = GetHtml.PostUtf8(url, data.ToString());
if (string.IsNullOrEmpty(html))
return;
if (html.Contains("\"data\""))
{
var userObj = Newtonsoft.Json.Linq.JObject.Parse(html);
foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"])
{
string oStr = JsonHelper.SerializeObject(obj);
UserSubAccountInfo user = new UserSubAccountInfo();
user.id = BaseRegex.GetIntJson(ref oStr, "id");
user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name");
user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name");
user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile");
user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id");
user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count");
user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name");
user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level");
user.authority = BaseRegex.GetStringJson(ref oStr, "authority");
user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
user.postage_per_order = BaseRegex.GetDecimalJson(ref oStr, "postage_per_order");
user.oem_id = BaseRegex.GetStringJson(ref oStr, "oem_id");
user.oem_name = BaseRegex.GetStringJson(ref oStr, "oem_name");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user);
dgvUser.Rows.Add(
false,
user.id,
user.nick_name,
user.user_name,
parent_user_name,
user.group_id,
user.group_name,
user.company_name,
user.shop_count,
user.sa_level,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority,
user.oem_id,
user.oem_name,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.balance.ParseToDecimal(),
"+",
Math.Max(2.2m, user.postage_per_order.ParseToDecimal()),
(user.group_id == "3") ? "改" : null,
user.group_id == "3" ? "添加店铺" : "",
"编辑",
"删除");
}
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
btnOpUser.Text = "添加用户";
Uid = "";
EmptyInput();
btnCancel.Visible = false;
}
private void EmptyInput()
{
txtNickName.Clear();
txtPassword.Clear();
txtRePass.Clear();
txtMobile.Clear();
txtCompany.Clear();
}
private void btnRefresh_Click(object sender, EventArgs e)
{
GetUser();
}
private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvUser.Columns[e.ColumnIndex].HeaderText;
string columName = dgvUser.Columns[e.ColumnIndex].Name;
string uid = dgvUser.Rows[e.RowIndex].Cells["UseridColumn"].Value.ToString();
string nickName = dgvUser.Rows[e.RowIndex].Cells["UserNickNameColumn"].Value.ToString();
string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString();
string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString();
string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString();
string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString();
string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString();
int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt();
decimal postagePerOrder = dgvUser.Rows[e.RowIndex].Cells["colPostagePerOrder"].Value.ParseToDecimal();
var row = dgvUser.Rows[e.RowIndex];
if (columText == "编辑")
{
Uid = uid;
txtNickName.Text = nickName;
txtMobile.Text = mobile;
txtPassword.Text = "";
txtRePass.Text = "";
txtCompany.Text = company;
btnOpUser.Text = "保存用户";
btnCancel.Visible = true;
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
Delete(uid);
}
}
if (columText == "+")
{
if (columName == "colPlus")
{
this.lblUserInfo.Text = mobile + " - " + nickName;
this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true;
this.pnlTopUp.BringToFront();
}
if (columName == "colBalancePlus")
{
this.lblUserBalanceInfo.Text = mobile + " - " + nickName;
this.numAddBalance.Value = 0;
this.pnlBalance.Tag = row;
this.pnlBalance.Visible = true;
this.pnlBalance.BringToFront();
}
}
if (columText == "改")
{
if (columName == "colChangePointsPerMonth")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.pnlShopPointsPerMonth.BringToFront();
this.lblShopPointsPerMonthUserId.Text = uid;
}
if (columName == "colChangePostagePerOrder")
{
this.lblPostagePerOrderUserInfo.Text = mobile + " - " + nickName;
this.numPostagePerOrder.Value = postagePerOrder;
this.pnlPostagePerOrder.Tag = row;
this.pnlPostagePerOrder.Visible = true;
this.pnlPostagePerOrder.BringToFront();
this.lblPostagePerOrderUserId.Text = uid;
}
}
if (columText == "")
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
}
public void Delete(string uid)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&id=" + uid);
string url = BaseClass.BuildObjString("user/delete_user");
string html = GetHtml.PostUtf8(url, data.ToString());
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
BaseMsgForm.ShowInfo("删除成功", "提示");
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("返回异常", "错误");
}
private void MainAccountForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible)
{
GetUser();
}
}
private void MainAccountForm_Load(object sender, EventArgs e)
{
this.dgvUser.AddSelectorColumn("colCheck");
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlPostagePerOrder.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额");
this.dgvUser.AddMergeColumn(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" }, "每单快递费");
}
private void TxtSearch_LostFocus(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtSearch.Text))
lblWatermark.Visible = true;
}
private void TxtSearch_GotFocus(object sender, EventArgs e)
{
lblWatermark.Visible = false;
}
private void lblWatermark_Click(object sender, EventArgs e)
{
this.txtSearch.Focus();
this.lblWatermark.Visible = false;
}
private void btnExportShopErp_Click(object sender, EventArgs e)
{
foreach (var user in AllUsers)
{
//if (user.group_id != "3")
// continue;
//string prodDataStr = "{\"userName\":\"15288888888\",\"password\":\"Andy@1984\",\"phonenumber\":\"15288888888\",\"status\": \"0\",\"remark\":\"a15288888888.\",\"roleIds\":[\"5\"]}";
//prodDataStr = "{\"userName\":\"" + user.user_name + "\",\"password\":\"" + user.user_name + "\",\"phonenumber\":\"" + user.mobile +
// "\",\"status\": \"0\",\"nickName\":\"" + user.nick_name + "\",\"roleIds\":[\"5\"]}";
//string url = "https://po.e57.cn/prod-api/api/sys-api/system/user";
//var exportRst = WXHttpResponseBLL.e57PostResponse(url, prodDataStr, "", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlODI2ZjNiLTFhMzItNDEwOS04ODlmLTIzYmEwOTUyMDYxYiJ9.L68qzzZZxaQoxrUeB8pBt4TWB7UbTwHkxlmQduzy-VEFkBI4oxtj4VrH-2yJpSD--ZdM-5Wm3VtTvy57nMaFMQ");
//Thread.Sleep(500);
//if (!exportRst.Contains("\"code\":200"))
//{
//}
}
}
private void pnlCancel_Click(object sender, EventArgs e)
{
pnlTopUp.Visible = false;
}
private void btnTopUpOK_Click(object sender, EventArgs e)
{
var userName = lblUserInfo.Text.Split('-')[0].Trim();
var userNick = lblUserInfo.Text.Split('-')[1].Trim();
string url = BaseClass.BuildObjString("user/update_user_points");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + userName;
data += "&update_user_nick=" + userNick;
data += "&option_type=转移";
data += "&operator_type=代理商";
data += "&operator_name=" + BaseClass.UserName;
data += "&operator_nick=" + BaseClass.NickName;
data += "&delta_points=" + numAddTopUp.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
BaseClass.Points = BaseRegex.GetIntJson(ref html, "newOperatorPoints");
MainForm.instance.lblPoints.Text = "账户积分:" + BaseClass.Points;
var operatorRow = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == BaseClass.UserName);
if (operatorRow != null)
operatorRow.Cells["colPoints"].Value = BaseClass.Points;
var newUserPoints = BaseRegex.GetIntJson(ref html, "newUserPoints");
var row = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == userName);
if (row != null)
{
row.Cells["colPoints"].Value = newUserPoints;
}
pnlTopUp.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{
if (updateShopPointsPerMonth(lblShopPointsPerMonthUserId.Text))
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updateShopPointsPerMonth(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&shop_points_per_month=" + numShopPointsPerMonth.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; }));
}
return true;
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
}
private void btnChangeBalanceOK_Click(object sender, EventArgs e)
{
string url = BaseClass.BuildObjString("user/update_user_balance");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + lblUserBalanceInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserBalanceInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值";
data += "&operator_name=" + BaseClass.UserName;
data += "&delta_balance=" + numAddBalance.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
var row = pnlBalance.Tag as DataGridViewRow;
if (row != null)
{
row.Cells["colBalance"].Value = row.Cells["colBalance"].Value.ParseToDecimal() + numAddBalance.Value;
}
pnlBalance.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnChangeBalanceCancel_Click(object sender, EventArgs e)
{
pnlBalance.Visible = false;
}
private void btnPostagePerOrder_Click(object sender, EventArgs e)
{
if (updatePostagePerOrder(lblPostagePerOrderUserId.Text))
{
pnlPostagePerOrder.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updatePostagePerOrder(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&postage_per_order=" + numPostagePerOrder.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colPostagePerOrder"].Value = numPostagePerOrder.Value; }));
}
return true;
}
private void btnPostagePerOrderCancel_Click(object sender, EventArgs e)
{
pnlPostagePerOrder.Visible = false;
}
}
}