SmsManager/DLG_Corp_User_Add.cpp
2025-01-14 10:46:18 +08:00

156 lines
3.9 KiB
C++

// DLG_Corp_User_Add.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_User_Add.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_User_Add dialog
#include "DLG_Corp_User.h"
DLG_Corp_User_Add::DLG_Corp_User_Add(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_User_Add::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Corp_User_Add)
m_strLoginName = _T("");
m_strMsg = _T("");
m_strName = _T("");
m_strPasswd = _T("");
m_bSDK = FALSE;
//}}AFX_DATA_INIT
m_pUserDlg = (DLG_Corp_User *)pParent;
memset( &m_User,0,sizeof(m_User));
m_Pos = 0;
m_bAdd = true;
m_lCorpID = 0;
}
void DLG_Corp_User_Add::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_User_Add)
DDX_Text(pDX, IDC_CORP_USERADD_LOGINNAME, m_strLoginName);
DDV_MaxChars(pDX, m_strLoginName, 16);
DDX_Text(pDX, IDC_CORP_USERADD_MSG, m_strMsg);
DDX_Text(pDX, IDC_CORP_USERADD_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 16);
DDX_Text(pDX, IDC_CORP_USERADD_PASSWD, m_strPasswd);
DDX_Check(pDX, IDC_CORP_USERADD_SDK, m_bSDK);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Corp_User_Add, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_User_Add)
ON_BN_CLICKED(IDC_CORP_USERADD_RESETPASSWD, OnCorpUseraddResetpasswd)
ON_EN_CHANGE(IDC_CORP_USERADD_LOGINNAME, OnChangeCorpUseraddLoginname)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_User_Add message handlers
BOOL DLG_Corp_User_Add::OnInitDialog()
{
CDialog::OnInitDialog();
m_strLoginName = m_User.szLoginName;
m_strName = m_User.szName;
OnCorpUseraddResetpasswd(); //重置密码
if ( !m_bAdd ) //不是新增
{
GetDlgItem(IDC_CORP_USERADD_LOGINNAME)->EnableWindow(false);
GetDlgItem(IDC_CORP_USERADD_NAME)->EnableWindow(false);
}
OnChangeCorpUseraddLoginname(); //显示信息
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_User_Add::SetParam(ANS_Corp_UserData2 User, POSITION pos, long lCorpID , BOOL bAdd)
{
m_User = User;
m_Pos = pos;
m_lCorpID = lCorpID;
m_bAdd = bAdd;
}
ANS_Corp_UserData2 DLG_Corp_User_Add::GetParam()
{
return m_User;
}
void DLG_Corp_User_Add::OnCorpUseraddResetpasswd()
{
/*
srand(::GetTickCount());
CString strTemp;
strTemp.Format( _T("%03d%03d") , rand(),rand());
strTemp.SetAt( 6 , 0 );
m_strPasswd = strTemp;
*/
m_strPasswd = ::LuGetRandPassword();
UpdateData( false );
OnChangeCorpUseraddLoginname(); //重置密码
}
void DLG_Corp_User_Add::OnChangeCorpUseraddLoginname()
{
UpdateData(true);
m_strMsg.Format( _T("企业ID:%d\r\n登录用户:%s\r\n密码:%s\r\n"),m_lCorpID,m_strLoginName,m_strPasswd );
UpdateData(false);
}
void DLG_Corp_User_Add::OnOK()
{
UpdateData(true);
if ( m_strLoginName.GetLength() <= 0 )
{
MessageBox( _T("登录名不能为空,请输入!") , _T("错误") , MB_ICONWARNING );
GetDlgItem(IDC_CORP_USERADD_LOGINNAME)->SetFocus();
return ;
}
if ( m_pUserDlg->FindLoginName( m_strLoginName,m_Pos ) )
{
MessageBox( _T("此登录名已输入,请输入其它登录名!") , _T("错误") , MB_ICONWARNING );
GetDlgItem( IDC_CORP_USERADD_LOGINNAME )->SetFocus();
return ;
}
memset( &m_User , 0 , sizeof(m_User) );
_tcscpy( m_User.szLoginName , m_strLoginName );
_tcscpy( m_User.szName , m_strName );
m_User.bSDK = m_bSDK;
//加密
char szUser[32]={0};
char szPasswd[64]={0};
char szPasswd2[64]={0};
#ifdef _UNICODE
strcpy(szUser , CW2A(m_User.szLoginName) );
strcpy(szPasswd , CW2A(m_strPasswd));
#else
strcpy(szUser , m_User.szLoginName );
strcpy(szPasswd , m_strPasswd);
#endif
CDes des;
long lOut=sizeof(szPasswd2);
des.Encrypt( szPasswd , strlen(szPasswd) , szPasswd2 , lOut , szUser , 8 );
#ifdef _UNICODE
_tcscpy(m_User.szPasswd , CA2W(szPasswd2));
#else
strcpy(m_User.szPasswd , szPasswd2);
#endif
CDialog::OnOK();
}