TG.WXCRM.V4/WEB/Controllers/WeiXin/WorkWeixinController.cs

781 lines
32 KiB
C#
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Base;
using WX.CRM.IBLL.Res;
using WX.CRM.IBLL.Wx;
using WX.CRM.Model.Entity;
using WX.CRM.WebHelper;
namespace WX.CRM.WEB.Controllers.WeiXin
{
public class WorkWeixinController : BaseController
{
private IWX_WORKWEIXIN wx_WorkWeixin_BL { get; set; }
private IRES_CUSTOMER res_Customer_BL { get; set; }
private IRES_CUSTOMER_Q res_Customer_Q_BL;
[Inject]
public CACHE_BL cache_BL { get; set; }
[Inject]
public IBAS_INNERUSERROLE_Q _inneruserRole { get; set; }
ValidationErrors errors = new ValidationErrors();
public WorkWeixinController(IWX_WORKWEIXIN wx_WorkWeixin_BL, IRES_CUSTOMER res_Customer_BL, IRES_CUSTOMER_Q res_Customer_Q_BL)
{
this.wx_WorkWeixin_BL = wx_WorkWeixin_BL;
this.res_Customer_BL = res_Customer_BL;
this.res_Customer_Q_BL = res_Customer_Q_BL;
}
[AuthorizeRedirect(Roles = InitRights.CONST_工作微信号录入)]
public ActionResult Index()
{
//ToolBar
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
//tool.AllowButton("Create", "Edit", "Details", "Delete");
ViewBag.ToolBar = tool;
//table
Pager pager = new Pager() { page = 1, rows = 20 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHiddenHeadCol("PKID", "编号");
tab.AddHeadCol("ALIAS", "", "微信号");
tab.AddHeadCol("EID", "", "员工编号");
tab.AddHeadCol("MOBILE", "", "手机号");
tab.AddHeadCol("RESID", "", "客户ID");
tab.AddHeadCol("AUDITSTATUS", "", "审核状态");
tab.AddHeadCol("QRCODEURL", "", "二维码");
tab.AddHeadCol("QRCODESIZE", "", "二维码大小");
tab.AddHeadCol("CTIME", "", "创建时间");
tab.AddHeadCol("QUANTITY", "", "微信序号");
tab.AddHeadCol("AUDITMEMO", "", "审核备注");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20");
return View();
}
[AuthorizeRedirect(Roles = InitRights.CONST_待审核工作微信)]
public ActionResult AuditIndex()
{
//ToolBar
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
//tool.AllowButton("Create", "Edit", "Details", "Delete");
tool.AddOtherButton("Other1", "审核", "icon-detail", "Audit_Click", true);
tool.AddOtherButton("Other2", "下线", "icon-detail", "Stop_Click", true);
tool.AddOtherButton("Other3", "暂停", "icon-detail", "Pause_Click", true);
tool.AddOtherButton("Other4", "启用", "icon-detail", "ReUse_Click", true);
tool.AddOtherButton("Other5", "修改二维码", "icon-detail", "QRCode_Click", true);
ViewBag.ToolBar = tool;
//table
//Pager pager = new Pager() { page = 1, rows = 20 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHiddenHeadCol("PKID", "编号");
tab.AddHeadCol("ALIAS", "", "微信号");
tab.AddHeadCol("EID", "", "员工编号");
tab.AddHeadCol("Name", "", "员工姓名");
tab.AddHeadCol("MOBILE", "", "手机号");
tab.AddHeadCol("RESID", "", "客户ID");
tab.AddHeadCol("AUDITSTATUS", "", "审核状态");
tab.AddHeadCol("IsValid", "", "微信状态");
tab.AddHeadCol("CTIME", "", "创建时间");
tab.AddHeadCol("QRCODESIZE", "", "二维码大小");
tab.AddHeadCol("QUANTITY", "", "微信序号");
tab.AddHeadCol("AUDITMEMO", "", "审核备注");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead();
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_工作微信号录入)]
public JsonResult GetWorkWeixinHtmlList(Pager pager, string columns)
{
List<WX_WORKWEIXIN> list = wx_WorkWeixin_BL.GetList(ref pager, null, null, Eid, null, null, null, null);
Table table = new Table(columns, true);
table.gridPager = pager;
foreach (var model in list)
{
table.AddHiddenCol(model.PKID);
table.AddCol(model.ALIAS);
table.AddCol(model.EID);
table.AddCol(model.MOBILE);
table.AddCol(model.RESID);
table.AddCol(model.AUDITSTATAUS == -1 ? string.Format("<span style=\"color:red\">{0}</span>", getAuditStatusText(model.AUDITSTATAUS.Value)) : getAuditStatusText(model.AUDITSTATAUS.Value));
table.AddCol(string.Format("<img src=\"{0}\" height=\"140\" width=\"140\"/>", model.QRCODEURL));
table.AddCol(model.QRCODESIZE.HasValue ? string.Format("{0}K", Math.Round(model.QRCODESIZE.Value / (1024)).ToString()) : "");
table.AddCol(model.CTIME);
table.AddCol(model.QUANTITY);
table.AddCol(model.AUDITSTATAUS != 1 ? model.AUDITMEMO : "");
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_待审核工作微信)]
public JsonResult GetAuditWorkWeixinHtmlList(Pager pager, string alias, decimal? auditStatus, string resID, string eid, string isValid, string stime, string etime, string columns)
{
decimal parseEid;
decimal.TryParse(eid, out parseEid);
decimal? valid = null;
if (!string.IsNullOrWhiteSpace(isValid))
{
valid = Convert.ToDecimal(isValid);
}
pager.page = 1;
pager.rows = int.MaxValue;
List<WX_WORKWEIXIN> list = wx_WorkWeixin_BL.GetList(ref pager, alias, auditStatus, parseEid, resID, valid, stime, etime);
Table table = new Table(columns, true);
table.gridPager = pager;
foreach (var model in list)
{
table.AddHiddenCol(model.PKID);
table.AddCol(model.ALIAS);
table.AddCol(model.EID);
table.AddCol(InnerUserHelper.Instance.GetUsername(model.INNERUSERID));
table.AddCol(model.MOBILE);
table.AddCol(model.RESID);
table.AddCol(getAuditStatusText(model.AUDITSTATAUS.Value));
table.AddCol(model.AUDITSTATAUS == 1 ? (getWeixinValidText(model.ISVALID)) : "待审");
table.AddCol(model.CTIME);
table.AddCol(model.QRCODESIZE.HasValue ? string.Format("{0}K", Math.Round(model.QRCODESIZE.Value / (1024)).ToString()) : "");
table.AddCol(model.QUANTITY);
table.AddCol(model.AUDITMEMO);
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_工作微信号录入, InitToolBar.CONST_Edit)]
public ActionResult Edit(string id)
{
WX_WORKWEIXIN model = null;
if (id == null)
{
model = new WX_WORKWEIXIN();
// 数据初始化
}
else
{
var pkid = Convert.ToDecimal(id);
model = wx_WorkWeixin_BL.Get(m => m.PKID == pkid);
}
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_工作微信号录入, InitToolBar.CONST_Edit)]
public JsonResult Edit(WX_WORKWEIXIN model)
{
if (!ModelState.IsValid)
{
return JsonHandler.ValidateFailMessage();
}
if (model.PKID == 0)
{
var alias = model.ALIAS.Trim();
var isHaveAlias = wx_WorkWeixin_BL.Get(m => m.ALIAS == alias) != null;
if (isHaveAlias)
{
errors.Add("该微信号已经存在,不能重复添加!");
return JsonHandler.InsertMessage(errors, false);
}
var weixinCount = 0;
var quantity = 1;
var myWeiXinList = wx_WorkWeixin_BL.GetList(m => m.EID == Eid); //客服的工作微信号列表
if (myWeiXinList != null)
{
weixinCount = myWeiXinList.Count();
var list = myWeiXinList.Where(m => m.AUDITSTATAUS == 1 && m.ISVALID == 0); //客服被封号的微信号列表
if (list != null)
{
weixinCount = weixinCount - list.Count(); //客服非封号的微信号数量
}
var notTerminalist = myWeiXinList.Where(m => m.ISVALID != 0);
for (int i = 1; i <= 100; i++)
{
if (notTerminalist.Any(m => m.QUANTITY == i))
{
continue;
}
else
{
quantity = i;
break;
}
}
}
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);//获取员工角色
if (roleCodes.IndexOf("SJZL") < 0 && roleCodes.IndexOf("GLY") < 0)
{
//后台配置的客服添加工作微信号数量
var setCount = cache_BL.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.WeiXin_WorkAccountInitCount);
int i = 1;
int.TryParse(setCount, out i);
if (weixinCount > (i - 1))
{
errors.Add(string.Format("一个用户最多添加{0}个微信号", setCount));
return JsonHandler.InsertMessage(errors, false);
}
}
var resultFilePath = UploadFile();
if (resultFilePath == null || string.IsNullOrWhiteSpace(resultFilePath[0]))
{
errors.Add("请上传微信二维码图片");
return JsonHandler.InsertMessage(errors, false);
}
model.PKID = new SEQUENCES_BL().Seq_base_get();
model.QRCODEURL = resultFilePath[0];
model.QRCODESIZE = Convert.ToDecimal(resultFilePath[1]);
model.RESID = ResUtil.CreateResId(model.MOBILE.Trim());
if (res_Customer_Q_BL.getResCustomerByResId(model.RESID) == null)
{
res_Customer_BL.ResgisterCustomer(model.MOBILE.Trim(), model.RESID, "workaccountinit");
}
model.CTIME = DateTime.Now;
model.EID = Eid;
model.MOBILE = model.MOBILE.Trim();
model.ALIAS = alias;
model.INNERUSERID = UserId;// InnerUserHelper.Instance.GetUserIdByEid(Eid);
model.AUDITSTATAUS = 0;
model.QUANTITY = quantity;
bool result = wx_WorkWeixin_BL.Add(model) == 1;
return JsonHandler.InsertMessage(errors, result);
}
else
{
var resultFilePath = UploadFile();
model.RESID = ResUtil.CreateResId(model.MOBILE.Trim());
if (res_Customer_Q_BL.getResCustomerByResId(model.RESID) == null)
{
res_Customer_BL.ResgisterCustomer(model.MOBILE.Trim(), model.RESID, "workaccountinit");
}
bool result = wx_WorkWeixin_BL.Update(ref errors, model.PKID, model.ALIAS, model.MOBILE, resultFilePath[0], 0, Convert.ToDecimal(resultFilePath[1]));
return JsonHandler.UpdateMessage(errors, result);
}
}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other5)]
public ActionResult QRCodeEdit(string id)
{
WX_WORKWEIXIN model = null;
if (id == null)
{
model = new WX_WORKWEIXIN();
// 数据初始化
}
else
{
var pkid = Convert.ToDecimal(id);
model = wx_WorkWeixin_BL.Get(m => m.PKID == pkid);
ViewBag.AuditText = getAuditStatusText(model.AUDITSTATAUS.Value);
}
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other5)]
public JsonResult QRCodeEdit(WX_WORKACCOUNT_INIT model)
{
if (!ModelState.IsValid)
{
return JsonHandler.ValidateFailMessage();
}
if (model.PKID == 0)
{
errors.Add("请选择操作记录");
return JsonHandler.UpdateMessage(errors, false);
}
var workAccountInit = wx_WorkWeixin_BL.Get(m => m.PKID == model.PKID);
if (workAccountInit == null)
{
errors.Add("请选择操作记录");
return JsonHandler.UpdateMessage(errors, false);
}
var resultFilePath = UploadFile();
if (resultFilePath == null || string.IsNullOrWhiteSpace(resultFilePath[0]))
{
errors.Add("请上传微信二维码图片");
return JsonHandler.InsertMessage(errors, false);
}
bool result = wx_WorkWeixin_BL.UpdateQRCode(ref errors, model.PKID, resultFilePath[0], Convert.ToDecimal(resultFilePath[1]));
//当微信号开启的状态时候,推送图片数据,到网站数据库
//if (workAccountInit.ISVALID == 1)
//{
// wx_WorkWeixin_BL.PushWordAccountData(ref errors, workAccountInit.ALIAS, 1);
//}
return JsonHandler.UpdateMessage(errors, result);
}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other1)]
public ActionResult AuditEdit(string id)
{
WX_WORKWEIXIN model = null;
if (id == null)
{
model = new WX_WORKWEIXIN();
// 数据初始化
}
else
{
var pkid = Convert.ToDecimal(id);
model = wx_WorkWeixin_BL.Get(m => m.PKID == pkid);
}
List<SelectListItem> list = new List<SelectListItem>()
{
new SelectListItem() {Text="待审核",Value="0" },
new SelectListItem() {Text ="审核通过",Value="1"},
new SelectListItem() {Text ="审核未通过",Value="-1"}
};
ViewBag.AuditStatusList = list;
ViewBag.AuditText = getAuditStatusText(model.AUDITSTATAUS.Value);
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other1)]
public JsonResult AuditEdit(WX_WORKWEIXIN model)
{
if (!ModelState.IsValid)
{
return JsonHandler.ValidateFailMessage();
}
if (model.PKID == 0)
{
errors.Add("没有选择操作记录");
return JsonHandler.InsertMessage(errors, false);
}
else
{
var workWeixin = wx_WorkWeixin_BL.Get(m => m.PKID == model.PKID);
if (workWeixin == null)
{
errors.Add("没有选择操作记录");
return JsonHandler.InsertMessage(errors, false);
}
var auditStatus = model.AUDITSTATAUS.Value;
var auditUser = InnerUserHelper.Instance.GetUserIdByEid(Eid);
if (auditStatus == 1)
{
bool flag = canAddWeixin(workWeixin.EID);
if (!flag)
{
errors.Add("该用户名下的微信数,已经达到上限!不能再增加!");
return JsonHandler.UpdateMessage(errors, false);
}
}
bool result = wx_WorkWeixin_BL.Audit(ref errors, model.PKID, auditStatus, model.AUDITMEMO, auditUser.ToString());
return JsonHandler.UpdateMessage(errors, result);
}
}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other3)]
public ActionResult AuditPause(string id)
{
WX_WORKWEIXIN model = null;
if (id == null)
{
model = new WX_WORKWEIXIN();
// 数据初始化
}
else
{
var pkid = Convert.ToDecimal(id);
model = wx_WorkWeixin_BL.Get(m => m.PKID == pkid);
}
return View(model);
}
/// <summary>
/// 暂停微信号操作
/// </summary>
/// <param name="model"></param>
/// <param name="etime"></param>
/// <returns></returns>
//[HttpPost]
//[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other3)]
//public JsonResult AuditPause(WX_WORKACCOUNT_INIT model,string etime)
//{
// if (!ModelState.IsValid)
// {
// return JsonHandler.ValidateFailMessage();
// }
// if (model.PKID == 0)
// {
// errors.Add("没有选择操作记录");
// return JsonHandler.UpdateMessage(errors, false);
// }
// else
// {
// var workAccountInit = wx_WorkWeixin_BL.Get(m => m.PKID == model.PKID);
// if (workAccountInit == null)
// {
// errors.Add("操作记录不存在");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (!workAccountInit.ISVALID.HasValue || workAccountInit.ISVALID == 0 || workAccountInit.ISVALID == 3)
// {
// errors.Add("只有正常和手工暂停的微信状态才能执行暂停操作!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (string.IsNullOrWhiteSpace(etime))
// {
// errors.Add("暂停截止时间必须要大于等于当前日期!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if(Convert.ToDateTime(etime)<DateTime.Now.Date)
// {
// errors.Add("暂停截止时间必须要大于等于当前日期!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (string.IsNullOrWhiteSpace(model.AUDITMEMO))
// {
// errors.Add("备注信息不能为空!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// //var flag = wx_WorkWeixin_BL.ModifyWorkAccountIsValid(ref errors, workAccountInit.ALIAS, 2, etime, model.AUDITMEMO, UserId, 1);
// //推送数据操作已经集成在oracle存储过程中
// //flag = wx_WorkAccount_Init_BL.PushWordAccountData(ref errors, workAccountInit.ALIAS, 0);
// return JsonHandler.UpdateMessage(errors, flag);
// }
//}
/// <summary>
/// 封号微信号操作
/// </summary>
/// <param name="alias"></param>
/// <returns></returns>
//[HttpPost]
//[AuthorizeToolBar(InitRights.CONST_待审核工作微信,InitToolBar.CONST_Other2)]
//public JsonResult ModifyWorkAccountIsValid(string alias)
//{
// if (string.IsNullOrWhiteSpace(alias))
// {
// errors.Add("请选择操作记录");
// return JsonHandler.UpdateMessage(errors, false);
// }
// var model = wx_WorkWeixin_BL.Get(m => m.ALIAS == alias);
// if (model == null)
// {
// errors.Add("请选择操作记录");
// return JsonHandler.UpdateMessage(errors, false);
// }
// else
// {
// if (model.ISVALID == 0)
// {
// errors.Add("该微信号已经下线,无需重复操作");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (model.AUDITSTATAUS != 1)
// {
// errors.Add("只有审核通过的微信,才能执行下线操作!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// }
// //var flag = wx_WorkWeixin_BL.ModifyWorkAccountIsValid(ref errors, alias, 0, "", "", UserId, 1);
// //推送数据操作已经集成在oracle存储过程中
// //if (flag)
// //{
// // flag = wx_WorkAccount_Init_BL.PushWordAccountData(ref errors, alias, 0);//推送微信工作号数据
// //}
// return JsonHandler.UpdateMessage(errors, flag);
//}
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other2)]
public ActionResult AuditStop(string id)
{
WX_WORKWEIXIN model = null;
if (id == null)
{
model = new WX_WORKWEIXIN();
// 数据初始化
}
else
{
var pkid = Convert.ToDecimal(id);
model = wx_WorkWeixin_BL.Get(m => m.PKID == pkid);
}
return View(model);
}
//[HttpPost]
//[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other2)]
//public JsonResult AuditStop(WX_WORKACCOUNT_INIT model)
//{
// if (!ModelState.IsValid)
// {
// return JsonHandler.ValidateFailMessage();
// }
// if (model.PKID == 0)
// {
// errors.Add("没有选择操作记录");
// return JsonHandler.UpdateMessage(errors, false);
// }
// else
// {
// var workAccountInit = wx_WorkWeixin_BL.Get(m => m.PKID == model.PKID);
// if (workAccountInit == null)
// {
// errors.Add("操作记录不存在");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (workAccountInit.ISVALID == 0)
// {
// errors.Add("该微信号已经停用,无需重复操作");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (workAccountInit.AUDITSTATAUS != 1)
// {
// errors.Add("只有审核通过的微信,才能执行下线操作!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// if (string.IsNullOrWhiteSpace(model.AUDITMEMO))
// {
// errors.Add("备注信息不能为空!");
// return JsonHandler.UpdateMessage(errors, false);
// }
// var flag = wx_WorkAccount_Init_BL.ModifyWorkAccountIsValid(ref errors, workAccountInit.ALIAS, 0, "", model.AUDITMEMO, UserId, 1);
// //推送数据操作已经集成在oracle存储过程中
// //flag = wx_WorkAccount_Init_BL.PushWordAccountData(ref errors, workAccountInit.ALIAS, 0);
// return JsonHandler.UpdateMessage(errors, flag);
// }
//}
/// <summary>
/// 重新启用暂停的微信号操作
/// </summary>
/// <param name="alias"></param>
/// <returns></returns>
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_待审核工作微信, InitToolBar.CONST_Other4)]
public JsonResult ReUseWorkAccount(string alias)
{
if (string.IsNullOrWhiteSpace(alias))
{
errors.Add("请选择操作记录");
return JsonHandler.UpdateMessage(errors, false);
}
var model = wx_WorkWeixin_BL.Get(m => m.ALIAS == alias);
if (model == null)
{
errors.Add("请选择操作记录");
return JsonHandler.UpdateMessage(errors, false);
}
else
{
var useList = wx_WorkWeixin_BL.GetList(m => m.INNERUSERID == model.INNERUSERID && m.ISVALID > 0 && m.ISVALID != 2 && m.ALIAS != alias).ToList();
if (useList != null && useList.Count > 0)
{
errors.Add("该用户已有一个微信号在推广,不能再次开启第二个推广微信");
return JsonHandler.UpdateMessage(errors, false);
}
if (model.ISVALID != 2 && model.ISVALID != 3)
{
errors.Add("只有暂停的微信号,才能执行此操作");
return JsonHandler.UpdateMessage(errors, false);
}
}
//var flag = wx_WorkAccount_Init_BL.ModifyWorkAccountIsValid(ref errors, alias, 1, "", "", UserId, 1);
//推送数据操作已经集成在oracle存储过程中
//if (flag)
//{
// flag = wx_WorkAccount_Init_BL.PushWordAccountData(ref errors, alias, 1);//推送微信工作号数据
//}
return JsonHandler.UpdateMessage(errors, true);
}
public string[] UploadFile()
{
var result = new string[] { "", "0" };
var resultFilePath = "";
try
{
string vPath = System.Configuration.ConfigurationManager.AppSettings["UploadWeixinQRCode"];
HttpFileCollectionBase files = Request.Files;
HttpPostedFileBase file = files["FileQRCodeUrl"];
if (file != null && file.ContentLength > 0)
{
result[1] = file.ContentLength.ToString();
string fileName = file.FileName;
string extName = fileName.Substring(fileName.LastIndexOf('.'), fileName.Length - fileName.LastIndexOf('.')).ToLower();
if (extName != ".jpg" && extName != ".png" && extName != ".gif" && extName != ".jpeg" && extName != ".bmp")
{
return result;
}
//判断文件名字是否包含路径名,如果有则提取文件名
//if (fileName.LastIndexOf("\\") > -1)
//{
// fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
//}
//vPath = string.Format("{0}/{1:yyyy}/{1:MM}", vPath, DateTime.Now);
fileName = string.Format("{0}{1}", Guid.NewGuid().ToString(), extName);
if (!System.IO.Directory.Exists(Server.MapPath(vPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(vPath));
}
string path = Server.MapPath((vPath + "/") + fileName);
file.SaveAs(path);
resultFilePath = string.Format("{0}/{1}", vPath, fileName); //上传带路径的图片
System.Net.WebClient client = new System.Net.WebClient();
var buffer = System.IO.File.ReadAllBytes(Server.MapPath(resultFilePath));
//client.UploadDataCompleted += UploadWc_UploadDataCompleted;
var UploadQrCodeUrl = System.Configuration.ConfigurationManager.AppSettings["UploadQrCodeUrl"].ToString();
var url = string.Format("{0}?filePath={1}", UploadQrCodeUrl, resultFilePath);
byte[] byteArray = client.UploadData(new Uri(url), buffer);
string res = System.Text.Encoding.Default.GetString(byteArray); //返回结果是一个xml值
var flag = res.Replace("</boolean>", "").Replace("<boolean xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">", ""); //去掉xml标签
if (flag != "true")
{
resultFilePath = "";//如果接口上传二维码出错,返回空值
}
result[0] = resultFilePath;
}
return result;
}
catch (Exception ex)
{
LogHelper.Error("WorkAccountInitController:【UploadFile】:" + ex.Message + ex.StackTrace);
return result;
}
}
private string getAuditStatusText(decimal auditStatus)
{
if (auditStatus == 0)
return "待审核";
else if (auditStatus == -1)
return "审核未通过";
else
return "审核通过";
}
private string getWeixinValidText(decimal? valid)
{
if (!valid.HasValue)
return "待审";
if (valid == 0)
return string.Format("<span style=\"color:red\">{0}</span>", "下线");
else if (valid == 1)
return "正常";
else if (valid == 2)
return string.Format("<span style=\"color:red\">{0}</span>", "手工暂停");
else if (valid == 3)
return string.Format("<span style=\"color:red\">{0}</span>", "系统暂停");
else
return "待审";
}
private bool canAddWeixin(decimal? eid)
{
if (!eid.HasValue)
return false;
var roleList = _inneruserRole.GetInneruserRoleByUserId(InnerUserHelper.Instance.GetUserIdByEid(eid));
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(roleList.Select(m => m.ROLEID).ToArray<decimal>());//获取员工角色
if (roleCodes.IndexOf("SJZL") < 0 && roleCodes.IndexOf("GLY") < 0)
{
var weixinCount = 0;
var myWeiXinList = wx_WorkWeixin_BL.GetList(m => m.EID == eid && m.AUDITSTATAUS == 1); //客服审核通过的工作微信号列表
if (myWeiXinList != null)
{
weixinCount = myWeiXinList.Count();
var list = myWeiXinList.Where(m => m.AUDITSTATAUS == 1 && m.ISVALID == 0); //客服被封号的微信号列表
if (list != null)
{
weixinCount = weixinCount - list.Count(); //客服非封号的微信号数量
}
}
//后台配置的客服添加工作微信号数量
var setCount = cache_BL.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.WeiXin_WorkAccountInitCount);
int i = 1;
int.TryParse(setCount, out i);
if (weixinCount > (i - 1))
{
return false;
}
return true;
}
else
{
return true;
}
}
}
}