You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.4 KiB
C#
123 lines
4.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using POSV.HttpApi;
|
|
using POSV.Utils;
|
|
|
|
namespace POSV.Card
|
|
{
|
|
public class WorkerUtils
|
|
{
|
|
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
|
|
|
protected static Dictionary<string , string> _errorDesc = new Dictionary<string , string>();
|
|
|
|
static WorkerUtils()
|
|
{
|
|
//------------------------------------------------------
|
|
_errorDesc.Add("isv.card-trade-pay-service-error:CARD_TRADE_PAY_TRADE_EXCEPTION_ERROR" , "交易失败,请稍候再试");
|
|
|
|
//系统没有定义的错误代码
|
|
_errorDesc.Add("9999" , "应答的报文解析异常");
|
|
}
|
|
/// <summary>
|
|
/// 员工密码修改
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public static Tuple<bool, string, WorkerUpdatePwdResponse> WorkerUpdatePwd(WorkerUpdatePwdRequest request)
|
|
{
|
|
Tuple<bool, string, WorkerUpdatePwdResponse> result = null;
|
|
|
|
try
|
|
{
|
|
OpenApi api = OpenApiUtils.Instance.NextApi(ApiType.Business);
|
|
SortedList<string, string> parameters = OpenApiUtils.Instance.NewParameters(api);
|
|
|
|
parameters.Add("method", "worker.update.pwd");
|
|
|
|
parameters.Add("storeId", request.StoreId);
|
|
parameters.Add("posNo", request.PosNo);
|
|
parameters.Add("workerId", request.WorkerId);
|
|
parameters.Add("workerNo", request.WorkerNo);
|
|
parameters.Add("passwd", request.Passwd);
|
|
parameters.Add("newPasswd", request.NewPasswd);
|
|
var ignoreParameters = new List<string>();
|
|
ignoreParameters.Add("passwd");
|
|
ignoreParameters.Add("newPasswd");
|
|
parameters.Add("sign", OpenApiUtils.Instance.Sign(api, parameters, ignoreParameters));
|
|
string response = HttpClientUtils.PostAsync(api, api.Url, parameters);
|
|
|
|
//获取成功
|
|
if (Constant.IsSuccessful(response))
|
|
{
|
|
var data = JsonUtils.Deserialize<WorkerEntityResponse<WorkerUpdatePwdResponse>>(response);
|
|
if (data.Status == 1)
|
|
{
|
|
result = new Tuple<bool, string, WorkerUpdatePwdResponse>(true, data.Message, data.Data);
|
|
}
|
|
else
|
|
{
|
|
result = new Tuple<bool, string, WorkerUpdatePwdResponse>(false, data.ErrMessage, null);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string errorMessage = PaserErrors(response);
|
|
result = new Tuple<bool, string, WorkerUpdatePwdResponse>(false, errorMessage, null);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.Error(ex, "员工修改密码异常");
|
|
|
|
result = new Tuple<bool, string, WorkerUpdatePwdResponse>(false, "员工修改密码异常,本次操作无效", null);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
protected static string PaserErrors(string response)
|
|
{
|
|
string result = string.Empty;
|
|
try
|
|
{
|
|
logger.Error(response);
|
|
|
|
Errors mainError = JsonUtils.Deserialize<Errors>(response);
|
|
if (_errorDesc.ContainsKey(mainError.Code))
|
|
{
|
|
result = _errorDesc[mainError.Code];
|
|
}
|
|
else
|
|
{
|
|
result = mainError.Message;
|
|
}
|
|
|
|
List<SubErrors> subError = mainError.SubErrors;
|
|
if (subError != null && subError.Count > 0)
|
|
{
|
|
SubErrors error = subError[0];
|
|
if (_errorDesc.ContainsKey(error.Code))
|
|
{
|
|
result = _errorDesc[error.Code];
|
|
}
|
|
else
|
|
{
|
|
result = error.Message;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.Error(ex , "非法的错误信息格式");
|
|
|
|
result = _errorDesc["9999"];
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|