Files
KJD/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs
T

462 lines
20 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.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.AdminForms
{
public partial class WXAdminAccountForm
: BaseForm
{
public static List<UserSubAccountInfo> AllUsers { get; set; } = new List<UserSubAccountInfo>();
public MainForm Mf { get; set; } = null;
public string Uid { get; set; } = "";
public WXAdminAccountForm()
{
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("&card_id=");
if (cmbGroup.Text == "主账户")
{
data.Append("&group_id=3");
}
else if(cmbGroup.Text == "客服")
{
data.Append("&group_id=4");
}
else
{
BaseMsgForm.ShowInfo("分组不正确", "提示");
return;
}
if (!string.IsNullOrEmpty(txtPassword.Text))
data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower());
if (cmbSaLevel.Text=="一级超管")
data.Append("&sa_level=1");
else if (cmbSaLevel.Text == "二级超管")
data.Append("&sa_level=2");
else
data.Append("&sa_level=0");
string authority = "";
if (chkWXComplateProd.Checked)
authority += "微信回采,";
if (chkWXShowProdGetFromType.Checked)
authority += "货源选择,";
if (chkChanceProdCollect.Checked)
authority += "商品采集,";
if (chkHot.Checked)
authority += "爆款数据,";
if (chkShopOptimize.Checked)
authority += "评分考核,";
if (chkEcWaybill.Checked)
authority += chkEcWaybill.Text + ","; // 在线寄件
if (chkCommissionUpdate.Checked)
authority += chkCommissionUpdate.Text + ","; // 佣金上货
if (chkShopPoints.Checked)
authority += chkShopPoints.Text + ","; // 充值用户
if (chkProdFission.Checked)
authority += chkProdFission.Text + ","; // 裂变调试
if (chkTraineeData.Checked)
authority += chkTraineeData.Text + ","; // 学员数据
data.Append("&authority=" + authority.Trim(','));
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();
string url = BaseClass.BuildObjString("user/get_all_user");
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
if (cmbSearchGroup.Text == "主账户")
{
data.Append("&group_id=3");
}
else if (cmbSearchGroup.Text == "客服")
{
data.Append("&group_id=4");
}
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.group_id = BaseRegex.GetStringJson(ref oStr, "group_id");
user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user);
dgvUser.Rows.Add(
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.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && 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();
cmbGroup.Text = "主账户";
cmbSaLevel.Text = "普通用户";
chkWXComplateProd.Checked = false;
chkWXShowProdGetFromType.Checked = false;
chkChanceProdCollect.Checked = false;
chkTraineeData.Checked = false;
chkShopOptimize.Checked = false;
chkEcWaybill.Checked = false;
chkCommissionUpdate.Checked = false;
chkHot.Checked = false;
chkShopPoints.Checked = false;
chkProdFission.Checked = false;
}
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 columname = dgvUser.Columns[e.ColumnIndex].HeaderText;
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();
var row = dgvUser.Rows[e.RowIndex];
if (columname == "编辑")
{
Uid = uid;
txtNickName.Text = nickName;
txtMobile.Text = mobile;
cmbGroup.Text = groupName;
txtPassword.Text = "";
txtRePass.Text = "";
txtCompany.Text = company;
btnOpUser.Text = "保存用户";
btnCancel.Visible = true;
cmbSaLevel.Text = saLevelName;
chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text);
chkShopPoints.Checked = authority.Contains(chkShopPoints.Text);
chkProdFission.Checked = authority.Contains(chkProdFission.Text);
chkChanceProdCollect.Checked = authority.Contains(chkChanceProdCollect.Text);
chkTraineeData.Checked = authority.Contains(chkTraineeData.Text);
chkShopOptimize.Checked = authority.Contains(chkShopOptimize.Text);
chkEcWaybill.Checked = authority.Contains(chkEcWaybill.Text);
chkCommissionUpdate.Checked = authority.Contains(chkCommissionUpdate.Text);
chkHot.Checked = authority.Contains(chkHot.Text);
chkWXShowProdGetFromType.Checked = authority.Contains(chkWXShowProdGetFromType.Text);
}
if (columname == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
Delete(uid);
}
}
if (columname == "添加店铺")
{
WXAdminShopListForm shopListForm = new WXAdminShopListForm();
shopListForm.UserAccountInfo = AllUsers.FirstOrDefault(u => u.user_name == mobile);
shopListForm.lblAddToAccount.Visible = true;
shopListForm.btnAddToAccount.Visible = true;
shopListForm.ShowDialog();
}
if (columname == "+")
{
this.lblUserInfo.Text = mobile + " - " + nickName;
this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true;
}
if (columname == "改")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.lblShopPointsPerMonthUserId.Text = uid;
}
}
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)
{
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.cmbGroup.Items.Clear();
this.cmbGroup.Items.Add("主账户");
this.cmbGroup.Items.Add("客服");
this.cmbSearchGroup.Items.Clear();
this.cmbSearchGroup.Items.Add("主账户");
this.cmbSearchGroup.Items.Add("客服");
this.cmbSearchGroup.Items.Add("全部");
this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
}
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)
{
string url = BaseClass.BuildObjString("user/update_user_points");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + lblUserInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值";
data += "&operator_type=" + "管理员";
data += "&operator_name=" + BaseClass.UserName;
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;
}
var row = pnlTopUp.Tag as DataGridViewRow;
if (row != null)
{
row.Cells["colPoints"].Value = row.Cells["colPoints"].Value.ParseToInt() + numAddTopUp.Value;
}
pnlTopUp.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnFilter_Click(object sender, EventArgs e)
{
foreach(DataGridViewRow row in dgvUser.Rows)
{
if (row.Cells["colAuthority"].Value.ParseToString().Contains(txtAuth.Text.Trim()))
row.Visible = true;
else
row.Visible = false;
}
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
}
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + lblShopPointsPerMonthUserId.Text;
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");
BaseMsgForm.ShowError(msg);
return;
}
var row = pnlShopPointsPerMonth.Tag as DataGridViewRow;
if (row != null)
{
row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value;
}
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
}