// DLG_User_Modify.cpp : implementation file // #include "stdafx.h" #include "SmsManager.h" #include "DLG_User_Modify.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_User_Modify dialog #include "MainFrm.h" #include "C_User.h" #include "DLG_YJ.H" #include "DLG_ChangeCM.h" DLG_User_Modify::DLG_User_Modify(CWnd* pParent /*=NULL*/) : CDialog(DLG_User_Modify::IDD, pParent) , m_strMMSUsed(_T("")) { //{{AFX_DATA_INIT(DLG_User_Modify) m_bGAddress_ModifyPurview = FALSE; m_bGAddress_Add = FALSE; m_bGAddress_Del = FALSE; m_bGAddress_Modify = FALSE; m_bGAddress_ResetPasswd = FALSE; m_bGAddress_See = FALSE; m_tBirthday = COleDateTime::GetCurrentTime(); m_bLogin = FALSE; m_bRecvG = FALSE; m_bRecvP = FALSE; m_bSeeBill = FALSE; m_bSeeList = FALSE; m_bSendG = FALSE; m_bSendP = FALSE; m_strBZ = _T(""); m_strCreateTime = _T(""); m_strCreateUser = _T(""); m_strEmail = _T(""); m_strFax = _T(""); m_strJob = _T(""); m_strLoginCount = _T(""); m_strLoginName = _T(""); m_strMobile = _T(""); m_strName = _T(""); m_strNickName = _T(""); m_strQQ = _T(""); m_lSex = -1; m_strNum = _T(""); m_strSMSSendedAll = _T(""); m_strSMSUsed = _T(""); m_strTel = _T(""); m_strLoginMsg = _T(""); m_strLocal = _T(""); m_bPAddress = FALSE; m_lPurviewType = -1; m_bSmsEmail = FALSE; m_bCalendar = FALSE; m_bSP = FALSE; m_bSDK = FALSE; m_strSDKIP = _T(""); m_strCM2 = _T(""); m_bRTX = FALSE; m_strGAddress_Group = _T(""); //}}AFX_DATA_INIT m_pCUser = (CC_User *)pParent; memset( &m_Address , 0 , sizeof(m_Address)); m_bModifyPurview = true; m_bResetPasswd = false; m_bSetPasswd = false; m_bAdd = false; m_bModify = false; m_bGJ = false; m_lCorpID = 0; m_lUserID = 0; memset( m_szPasswd , 0 , sizeof(m_szPasswd) ); memset( m_szIP , 0 , sizeof(m_szIP)); memset( m_szLocal,0, sizeof(m_szLocal)); m_Pos = 0; m_pDlgChangeCM = NULL; } void DLG_User_Modify::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_User_Modify) DDX_Control(pDX, IDC_USERMODIFY_SDK, m_B_SDK); DDX_Control(pDX, IDC_USERMODIFY_RTX, m_B_RTX); DDX_Control(pDX, IDC_USERMODIFY_S1, m_S_S1); DDX_Control(pDX, IDC_USERMODIFY_PASSWD, m_B_Passwd); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS__MODIFYPRUVIEW, m_bGAddress_ModifyPurview); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS_ADD, m_bGAddress_Add); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS_DEL, m_bGAddress_Del); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS_MODIFY, m_bGAddress_Modify); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS_RESETPASSWD, m_bGAddress_ResetPasswd); DDX_Check(pDX, IDC_USERMODIFY_BGADDRESS_SEE, m_bGAddress_See); DDX_DateTimeCtrl(pDX, IDC_USERMODIFY_BIRTHDAY, m_tBirthday); DDX_Check(pDX, IDC_USERMODIFY_BLOGIN, m_bLogin); DDX_Check(pDX, IDC_USERMODIFY_BRECVG, m_bRecvG); DDX_Check(pDX, IDC_USERMODIFY_BRECVP, m_bRecvP); DDX_Check(pDX, IDC_USERMODIFY_BSEEBILL, m_bSeeBill); DDX_Check(pDX, IDC_USERMODIFY_BSEELIST, m_bSeeList); DDX_Check(pDX, IDC_USERMODIFY_BSENDGADDRESS, m_bSendG); DDX_Check(pDX, IDC_USERMODIFY_BSENDPADDRESS, m_bSendP); DDX_Text(pDX, IDC_USERMODIFY_BZ, m_strBZ); DDV_MaxChars(pDX, m_strBZ, 49); DDX_Text(pDX, IDC_USERMODIFY_CREATETIME, m_strCreateTime); DDX_Text(pDX, IDC_USERMODIFY_CREATEUSER, m_strCreateUser); DDX_Text(pDX, IDC_USERMODIFY_EMAIL, m_strEmail); DDV_MaxChars(pDX, m_strEmail, 28); DDX_Text(pDX, IDC_USERMODIFY_FAX, m_strFax); DDV_MaxChars(pDX, m_strFax, 15); DDX_Text(pDX, IDC_USERMODIFY_JOB, m_strJob); DDV_MaxChars(pDX, m_strJob, 15); DDX_Text(pDX, IDC_USERMODIFY_LOGINCOUNT, m_strLoginCount); DDX_Text(pDX, IDC_USERMODIFY_LOGINNAME, m_strLoginName); DDV_MaxChars(pDX, m_strLoginName, 15); DDX_Text(pDX, IDC_USERMODIFY_MOBILE, m_strMobile); DDV_MaxChars(pDX, m_strMobile, 15); DDX_Text(pDX, IDC_USERMODIFY_NAME, m_strName); DDV_MaxChars(pDX, m_strName, 15); DDX_Text(pDX, IDC_USERMODIFY_NICKNAME, m_strNickName); DDV_MaxChars(pDX, m_strNickName, 15); DDX_Text(pDX, IDC_USERMODIFY_QQ, m_strQQ); DDV_MaxChars(pDX, m_strQQ, 15); DDX_CBIndex(pDX, IDC_USERMODIFY_SEX, m_lSex); DDX_Text(pDX, IDC_USERMODIFY_SMSNUM, m_strNum); DDX_Text(pDX, IDC_USERMODIFY_SMSSENDEDALL, m_strSMSSendedAll); DDX_CBString(pDX, IDC_USERMODIFY_SMSUSED, m_strSMSUsed); DDV_MaxChars(pDX, m_strSMSUsed, 8); DDX_Text(pDX, IDC_USERMODIFY_TEL, m_strTel); DDV_MaxChars(pDX, m_strTel, 15); DDX_Text(pDX, IDC_USERMODIFY_LOGINMSG, m_strLoginMsg); DDX_Text(pDX, IDC_USERMODIFY_LOCAL, m_strLocal); DDX_Check(pDX, IDC_USERMODIFY_BPADDRESS, m_bPAddress); DDX_CBIndex(pDX, IDC_USERMODIFY_PURVIEWTYPE, m_lPurviewType); DDX_Check(pDX, IDC_USERMODIFY_SMSEMAIL, m_bSmsEmail); DDX_Check(pDX, IDC_USERMODIFY_CALENDAR, m_bCalendar); DDX_Check(pDX, IDC_USERMODIFY_SMSSP, m_bSP); DDX_Check(pDX, IDC_USERMODIFY_SDK, m_bSDK); DDX_Text(pDX, IDC_USERMODIFY_IP, m_strSDKIP); DDV_MaxChars(pDX, m_strSDKIP, 15); DDX_Text(pDX, IDC_USERMODIFY_QQ2, m_strCM2); DDV_MaxChars(pDX, m_strCM2, 30); DDX_Check(pDX, IDC_USERMODIFY_RTX, m_bRTX); DDX_Text(pDX, IDC_USERMODIFY_BGADDRESS_GROUP, m_strGAddress_Group); //}}AFX_DATA_MAP DDX_CBString(pDX, IDC_USERMODIFY_MMSUSED, m_strMMSUsed); DDV_MaxChars(pDX, m_strMMSUsed, 8); } BEGIN_MESSAGE_MAP(DLG_User_Modify, CDialog) //{{AFX_MSG_MAP(DLG_User_Modify) ON_BN_CLICKED(IDC_USERMODIFY_PASSWD, OnUsermodifyPasswd) ON_EN_CHANGE(IDC_USERMODIFY_LOGINNAME, OnChangeUsermodifyLoginname) ON_EN_KILLFOCUS(IDC_USERMODIFY_NAME, OnKillfocusUsermodifyName) ON_BN_CLICKED(IDC_USERMODIFY_BLOGIN, OnUsermodifyBlogin) ON_BN_CLICKED(IDC_USERMODIFY_SMSNUM_AUTO, OnUsermodifySmsnumAuto) ON_BN_CLICKED(IDC_USERMODIFY_PURVIEWGJ, OnUsermodifyPurviewgj) ON_CBN_SELCHANGE(IDC_USERMODIFY_PURVIEWTYPE, OnSelchangeUsermodifyPurviewtype) ON_BN_CLICKED(IDC_USERMODIFY_SMSNUM_CHANGE, OnUsermodifySmsnumChange) ON_BN_CLICKED(IDC_USERMODIFY_RTX, OnUsermodifyRtx) //}}AFX_MSG_MAP ON_BN_CLICKED(IDCANCEL, &DLG_User_Modify::OnBnClickedCancel) ON_WM_TIMER() END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_User_Modify message handlers BOOL DLG_User_Modify::OnInitDialog() { CDialog::OnInitDialog(); m_strLoginName = m_Address.szLoginName; m_strNum = m_Address.szSMSNum; if ( m_Address.lSMSUsed == -100 ) //无限制 { m_strSMSUsed = _T("无限制"); } else { m_strSMSUsed.Format( _T("%d") , m_Address.lSMSUsed ); } if ( m_Address.lMmsUsed == -100 ) //无限制 { m_strMMSUsed = _T("无限制"); } else { m_strMMSUsed.Format( _T("%d") , m_Address.lMmsUsed ); } m_strName = m_Address.szName; m_strNickName = m_Address.szNickName; long lSex = 0; if ( CString(m_Address.szSex)==_T("男") ) lSex = 1; if ( CString(m_Address.szSex)==_T("女") ) lSex = 2; m_lSex = lSex; COleDateTime tTemp(m_Address.tBirthday); if ( tTemp.GetStatus() != COleDateTime::valid ) //无效时间 { m_tBirthday.SetStatus( COleDateTime::null ); } else { m_tBirthday = tTemp; } m_strJob = m_Address.szJob; m_strTel = m_Address.szTel; m_strFax = m_Address.szFax; m_strMobile = m_Address.szMobile; m_strEmail = m_Address.szEmail; m_strQQ = m_Address.szQQ; m_strCM2 = m_Address.szCM2; m_strBZ = m_Address.szBZ; m_strLocal = m_szLocal; m_strSDKIP = m_Address.szSDKIP; m_strSMSSendedAll.Format( _T("%d") , m_Address.lSMSSendAll ); m_strCreateUser = m_Address.szCreateUser; m_strCreateTime.Format( _T("%04d.%02d.%02d") , m_Address.tCreateTime.wYear,m_Address.tCreateTime.wMonth,m_Address.tCreateTime.wDay); m_strLoginCount.Format( _T("%d") , m_Address.lLoginCount ); //权限类型 m_lPurviewType = m_Address.ulPurviewType; m_bSDK = m_Address.bSDK & SDK_SDK ? true:false;; m_bRTX = m_Address.bSDK & SDK_RTX ? true:false;; //权限 m_bLogin = m_Address.ulPurview & PURVIEW_LOGIN ? true:false; m_bSendG = m_Address.ulPurview & PURVIEW_SENDG? true:false; m_bSendP = m_Address.ulPurview & PURVIEW_SENDP? true:false; m_bRecvG = m_Address.ulPurview & PURVIEW_RECVG? true:false; m_bRecvP = m_Address.ulPurview & PURVIEW_RECVP? true:false; m_bSeeBill = m_Address.ulPurview & PURVIEW_SEEBILL? true:false; m_bSeeList = m_Address.ulPurview & PURVIEW_SEELIST? true:false; m_bGAddress_See = m_Address.ulPurview & PURVIEW_GADDRESS_SEE? true:false; m_bGAddress_Modify = m_Address.ulPurview & PURVIEW_GADDRESS_MODIFY? true:false; m_bGAddress_ModifyPurview = m_Address.ulPurview & PURVIEW_USER_MANAGER? true:false; m_bGAddress_ResetPasswd = m_Address.ulPurview & PURVIEW_USER_MODIFY ? true:false; m_bGAddress_Add = m_Address.ulPurview & PURVIEW_GADDRESS_ADD? true:false; m_bGAddress_Del = m_Address.ulPurview & PURVIEW_GADDRESS_DEL? true:false; m_bPAddress = m_Address.ulPurview & PURVIEW_PADDRESS? true:false; m_bSmsEmail = m_Address.ulPurview & PURVIEW_SMSEMAIL? true:false; m_bCalendar = m_Address.ulPurview & PURVIEW_CALENDAR? true:false; m_bSP = m_Address.ulPurview & PURVIEW_SMSSP? true:false; //限制用户组 m_strGAddress_Group.Format( _T("%d") , m_Address.lAccessGroupID ); UpdateData(false); if ( m_bAdd ) { SetTimer(1, 1000, NULL); //this->OnUsermodifyPasswd(); //因为是添加管理员,所以先要设置密码 if (m_Address.ulPurview & PURVIEW_RECVP) OnUsermodifySmsnumAuto(); //取得默认特服号 GetDlgItem( IDOK )->SetWindowText( _T("添 加") ); GetDlgItem(IDC_USERMODIFY_SMSNUM_CHANGE)->ShowWindow(SW_HIDE); } if ( !m_bResetPasswd ) { m_B_Passwd.EnableWindow( false ); } if ( !m_bModify ) //没有修改权限 { GetDlgItem(IDOK)->EnableWindow(false); } if (!m_bModifyPurview) { DisableAllPurview(); } else { //如果自己没有的权限,也不能分配给别人 if ( !(m_ulMainPurview & PURVIEW_LOGIN) ) { GetDlgItem(IDC_USERMODIFY_BLOGIN)->EnableWindow(false); m_bLogin = false; } if ( !(m_ulMainPurview & PURVIEW_SENDG) ) { GetDlgItem(IDC_USERMODIFY_BSENDGADDRESS)->EnableWindow(false); m_bSendG = false; } if ( !(m_ulMainPurview & PURVIEW_SENDP) ) { GetDlgItem(IDC_USERMODIFY_BSENDPADDRESS)->EnableWindow(false); m_bSendP = false; } if ( !(m_ulMainPurview & PURVIEW_RECVG) ) { GetDlgItem(IDC_USERMODIFY_BRECVG)->EnableWindow(false); m_bRecvG = false; } if ( !(m_ulMainPurview & PURVIEW_RECVP) ) { GetDlgItem(IDC_USERMODIFY_BRECVP)->EnableWindow(false); m_bRecvP = false; } if ( !(m_ulMainPurview & PURVIEW_SEEBILL) ) { GetDlgItem(IDC_USERMODIFY_BSEEBILL)->EnableWindow(false); m_bSeeBill = false; } if ( !(m_ulMainPurview & PURVIEW_SEELIST) ) { GetDlgItem(IDC_USERMODIFY_BSEELIST)->EnableWindow(false); m_bSeeList = false; } if ( !(m_ulMainPurview & PURVIEW_GADDRESS_SEE) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS_SEE)->EnableWindow(false); m_bGAddress_See = false; } if ( !(m_ulMainPurview & PURVIEW_GADDRESS_MODIFY) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS_MODIFY)->EnableWindow(false); m_bGAddress_Modify = false; } if ( !(m_ulMainPurview & PURVIEW_GADDRESS_ADD ) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS_ADD)->EnableWindow(false); m_bGAddress_Add = false; } if ( !(m_ulMainPurview & PURVIEW_GADDRESS_DEL) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS_DEL)->EnableWindow(false); m_bGAddress_Del = false; } if ( !(m_ulMainPurview & PURVIEW_USER_MANAGER ) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS__MODIFYPRUVIEW)->EnableWindow(false); m_bGAddress_ModifyPurview = false; } if ( !(m_ulMainPurview & PURVIEW_USER_MODIFY ) ) { GetDlgItem(IDC_USERMODIFY_BGADDRESS_RESETPASSWD)->EnableWindow(false); m_bGAddress_ResetPasswd = false; } if ( !(m_ulMainPurview & PURVIEW_PADDRESS) ) { GetDlgItem(IDC_USERMODIFY_BPADDRESS)->EnableWindow(false); m_bPAddress = false; } if ( !(m_ulMainPurview & PURVIEW_SMSEMAIL) ) { GetDlgItem(IDC_USERMODIFY_SMSEMAIL)->EnableWindow(false); m_bSmsEmail = false; } if ( !(m_ulMainPurview & PURVIEW_CALENDAR) ) { GetDlgItem(IDC_USERMODIFY_CALENDAR)->EnableWindow(false); m_bCalendar = false; } if ( !(m_ulMainPurview & PURVIEW_SMSSP) ) { GetDlgItem(IDC_USERMODIFY_SMSSP)->EnableWindow(false); m_bSP = false; } } UpdateData(false); ShowLoginMsg(); //显示登录信息 OnUsermodifyBlogin(); //是否是否有登录权限 OnUsermodifyPurviewgj(); //不显示高级选项 CEdit * pEdit = (CEdit *)GetDlgItem(IDC_USERMODIFY_SMSNUM); long lUserNumLen = m_pCUser->m_MUser.lUserNumLen; //取用户可分配号码长度 pEdit->LimitText(lUserNumLen); if ( m_bAdd ) { GetDlgItem(IDC_USERMODIFY_SMSNUM_CHANGE)->EnableWindow(false); //新添加,不能更改签名 } GetDlgItem(IDC_USERMODIFY_RTX)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USERMODIFY_SDK)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USERMODIFY_IP)->ShowWindow(SW_HIDE); if ( m_pCUser->m_pMainFrame->m_lType ==1 ) //应用代理商,支持自行开设接口权限 { GetDlgItem(IDC_USERMODIFY_SDK)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USERMODIFY_IP)->ShowWindow(SW_SHOW); } if ( (m_pCUser->m_pMainFrame->m_bYJ & AGENT_RTX) ) { GetDlgItem(IDC_USERMODIFY_RTX)->ShowWindow(SW_SHOW); } m_tooltip.Create(this); m_tooltip.AddTool(GetDlgItem(IDC_USERMODIFY_PASSWD), _T("重置的新密码必须要确认后才生效!")); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_User_Modify::OnUsermodifyPasswd() { m_bSetPasswd = true; srand(::GetTickCount()); CString strTemp; //strTemp.Format( _T("%03d%03d") , rand(),rand()); //strTemp.SetAt( 6 , 0 ); strTemp = ::LuGetRandPassword(); m_B_Passwd.SetWindowText(strTemp); ShowLoginMsg(); RECT rect = { 0 }; GetDlgItem(IDC_USERMODIFY_PASSWD)->GetWindowRect(&rect); POINT pt = { 0 }; pt.x = rect.left; pt.y = rect.top; m_tooltip.ShowHelpTooltip(&pt, _T("重置密码成功,确认退出此窗口后生效!")); } ANS_Corp_UserData DLG_User_Modify::GetParam() { return m_Address; } void DLG_User_Modify::SetParam(ANS_Corp_UserData data, ULONG ulPurviewType,ULONG ulPurview, long lCorpID,CString strCorpName,long lUserID,const TCHAR * pIP,POSITION pos,BOOL bAdd) { m_Address = data; m_ulMainPurviewType = ulPurviewType; m_ulOldPurviewType = ulPurviewType; m_ulMainPurview = ulPurview; m_bModify = ulPurview&PURVIEW_GADDRESS_MODIFY; m_bModifyPurview = ulPurview&PURVIEW_USER_MANAGER; m_bResetPasswd = ulPurview&PURVIEW_USER_MODIFY; m_bAdd = bAdd; m_lUserID = lUserID; m_lCorpID = lCorpID; m_strCorpName = strCorpName; _tcscpy( m_szIP , pIP ); //_tcscpy( m_szLocal , pLocal ); m_Pos = pos; if ( _tcslen(m_Address.szLoginName) > 0 ) { CDes des; char szUser[32]={0}; char szPasswd[64]={0}; char szPasswd2[64]={0}; #ifdef _UNICODE strcpy(szUser , CW2A(m_Address.szLoginName)); strcpy(szPasswd , CW2A(m_Address.szPasswd)); #else strcpy(szUser , m_Address.szLoginName); strcpy(szPasswd , m_Address.szPasswd); #endif long lOut = sizeof(szPasswd2); des.Decrypt( szPasswd,strlen(szPasswd) , szPasswd2 , lOut,szUser,8); #ifdef _UNICODE _tcscpy(m_szPasswd , CA2W(szPasswd2)); #else strcpy(m_szPasswd , szPasswd2); #endif } } void DLG_User_Modify::OnOK() { UpdateData(true); BOOL bReMakePasswd = false; if (m_strName.GetLength() <= 0 ) { GetDlgItem(IDC_USERMODIFY_NAME)->SetFocus(); MessageBox( _T("用户姓名不能为空,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } //查重,姓名不能重复 if ( CString(m_Address.szName) != m_strName) { if ( m_pCUser->FindUserName( m_strName,m_Pos ) ) { GetDlgItem(IDC_USERMODIFY_NAME)->SetFocus(); MessageBox( _T("此姓名已使用,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } } if ( m_bLogin ) //如果有登录权限,则需要检测登录名的情况 { if (m_strLoginName.GetLength() <= 0 ) { GetDlgItem(IDC_USERMODIFY_LOGINNAME)->SetFocus(); MessageBox( _T("登录名不能为空,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } if ( CString(m_Address.szLoginName) != m_strLoginName) { if ( m_pCUser->FindLoginName( m_strLoginName,m_Pos ) ) { GetDlgItem(IDC_USERMODIFY_LOGINNAME)->SetFocus(); MessageBox( _T("此登录名已使用,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } bReMakePasswd = true; //登录不同,需要修改密码 } //特服号不能为空 //if ( m_bRecvP || m_bSendG || m_bSendP ) if ( m_bRecvP ) { if ( m_strNum.GetLength()<=0 ) { GetDlgItem(IDC_USERMODIFY_SMSNUM)->SetFocus(); if ( MessageBox( _T("如果你不为此用户分配特服号,将无法接收私人短信!\r\n是否继续?") , _T("错误") , MB_ICONQUESTION|MB_YESNO ) != IDYES ) return ; } } } long lUserNumLen = m_pCUser->m_MUser.lUserNumLen; //取用户可分配号码长度 if ( m_strNum.GetLength() > 0 && m_strNum.GetLength() != lUserNumLen ) //查重,短信特服号 { GetDlgItem(IDC_USERMODIFY_SMSNUM)->SetFocus(); MessageBox( _T("特服号位数不对,请确认!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_strNum.GetLength() > 0 && m_strNum!=CString(m_Address.szSMSNum)) //查重,短信特服号 { if ( m_pCUser->FindSMSNum( m_strNum,m_Pos ) ) { GetDlgItem(IDC_USERMODIFY_SMSNUM)->SetFocus(); MessageBox( _T("此特服号已使用,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } } _tcscpy( m_Address.szLoginName , m_strLoginName ); _tcscpy( m_Address.szSMSNum, m_strNum); if ( m_strSMSUsed == _T("无限制") || _ttol( m_strSMSUsed ) < 0) { m_Address.lSMSUsed = -100; } else { m_Address.lSMSUsed = _ttol(m_strSMSUsed); } if ( m_strMMSUsed == _T("无限制") || _ttol( m_strMMSUsed ) < 0) { m_Address.lMmsUsed = -100; } else { m_Address.lMmsUsed = _ttol(m_strMMSUsed); } _tcscpy( m_Address.szName , m_strName ); _tcscpy( m_Address.szNickName , m_strNickName ); if ( m_lSex == 0 ) _tcscpy( m_Address.szSex , _T("") ); else if ( m_lSex == 1 ) _tcscpy( m_Address.szSex , _T("男") ); else _tcscpy( m_Address.szSex , _T("女") ); _tcscpy( m_Address.szJob , m_strJob ); _tcscpy( m_Address.szTel , m_strTel ); _tcscpy( m_Address.szFax , m_strFax ); _tcscpy( m_Address.szMobile , m_strMobile ); _tcscpy( m_Address.szEmail , m_strEmail ); _tcscpy( m_Address.szQQ , m_strQQ ); _tcscpy( m_Address.szCM2 , m_strCM2 ); _tcscpy( m_Address.szBZ , m_strBZ ); if ( m_tBirthday.GetStatus() == COleDateTime::valid ) m_tBirthday.GetAsSystemTime( m_Address.tBirthday ); else memset(&m_Address.tBirthday,0,sizeof(m_Address.tBirthday)); //权限类型 m_Address.ulPurviewType = m_lPurviewType; m_Address.bSDK = 0; if ( m_bSDK ) m_Address.bSDK |= SDK_SDK; if ( m_bRTX ) m_Address.bSDK |= SDK_RTX; _tcscpy(m_Address.szSDKIP , m_strSDKIP ); if ( m_bModifyPurview ) { m_Address.ulPurview = 0; if ( m_bLogin ) m_Address.ulPurview |= PURVIEW_LOGIN ; if ( m_bSendG ) m_Address.ulPurview |= PURVIEW_SENDG ; if ( m_bSendP ) m_Address.ulPurview |= PURVIEW_SENDP ; if ( m_bRecvG ) m_Address.ulPurview |= PURVIEW_RECVG ; if ( m_bRecvP ) m_Address.ulPurview |= PURVIEW_RECVP ; if ( m_bSeeBill ) m_Address.ulPurview |= PURVIEW_SEEBILL ; if ( m_bSeeList ) m_Address.ulPurview |= PURVIEW_SEELIST ; if ( this->m_bGAddress_See ) m_Address.ulPurview |= PURVIEW_GADDRESS_SEE; if ( this->m_bGAddress_Modify ) m_Address.ulPurview |= PURVIEW_GADDRESS_MODIFY; if ( this->m_bGAddress_ModifyPurview ) m_Address.ulPurview |= PURVIEW_USER_MANAGER; if ( this->m_bGAddress_ResetPasswd ) m_Address.ulPurview |= PURVIEW_USER_MODIFY; if ( this->m_bGAddress_Add ) m_Address.ulPurview |= PURVIEW_GADDRESS_ADD; if ( this->m_bGAddress_Del ) m_Address.ulPurview |= PURVIEW_GADDRESS_DEL; if ( this->m_bPAddress ) m_Address.ulPurview |= PURVIEW_PADDRESS; if ( this->m_bSmsEmail ) m_Address.ulPurview |= PURVIEW_SMSEMAIL; if ( this->m_bCalendar ) m_Address.ulPurview |= PURVIEW_CALENDAR; if ( this->m_bSP ) m_Address.ulPurview |= PURVIEW_SMSSP; } //取得新密码 if ( m_bResetPasswd && m_bSetPasswd ) //有重置密码的权限并且已重置过密码 { bReMakePasswd = true; m_B_Passwd.GetWindowText(m_szPasswd , sizeof(m_szPasswd)); } if ( bReMakePasswd ) { CDes des; char szUser[32]={0}; char szPasswd[64]={0}; char szPasswd2[64]={0}; #ifdef _UNICODE strcpy(szUser , CW2A(m_Address.szLoginName)); strcpy(szPasswd , CW2A(m_szPasswd)); #else strcpy(szUser , m_Address.szLoginName); strcpy(szPasswd , m_szPasswd); #endif long lOut = sizeof(szPasswd2); des.Encrypt( szPasswd,strlen(szPasswd) , szPasswd2 , lOut,szUser,8); #ifdef _UNICODE _tcscpy(m_Address.szPasswd , CA2W(szPasswd2)); #else strcpy(m_Address.szPasswd , szPasswd2); #endif } /* if ( m_bAdd ) //添加 { m_pFGAddress->AddUser( m_Address ); m_strName = _T(""); m_strNickName = _T(""); m_strLoginName = _T(""); m_tBirthday.SetStatus( COleDateTime::null ); m_strMobile = _T(""); m_strEmail = _T(""); m_strQQ = _T(""); UpdateData(false); OnUsermodifyPasswd(); //因为是添加管理员,所以先要设置密码 if (m_Address.ulPurview & PURVIEW_RECVP) { _tcscpy( m_Address.szLoginName , _T("") ); _tcscpy( m_Address.szSMSNum , _T("") ); //自动加1,取特服号 { long lSmsNum = _ttol(m_strNum); //取得New Num long lAllNum = 1; lSmsNum ++; for ( int i=0;i lAllNum-1 ) { MessageBox( _T("对不起,特服号分配已满,不能再分配!") , _T("错误") , MB_ICONWARNING ); return ; } TCHAR szBuf[32]; TCHAR szNum[32]; _stprintf( szBuf , _T("%%0%dd") , lUserNumLen ); _stprintf( szNum,szBuf , lSmsNum); GetDlgItem(IDC_USERMODIFY_SMSNUM)->SetWindowText(szNum); } } GetDlgItem(IDC_USERMODIFY_NAME)->SetFocus(); return ; } */ CDialog::OnOK(); } void DLG_User_Modify::ShowLoginMsg() { UpdateData(true); if (m_bSetPasswd) { CString strPasswd ; m_B_Passwd.GetWindowText(strPasswd); m_strLoginMsg.Format( _T("服务器地址:%s\r\n企业ID:%d\r\n登录用户:%s\r\n密码:%s\r\n"),m_szIP,m_lCorpID,m_strLoginName,strPasswd ); } else { m_strLoginMsg.Format( _T("服务器地址:%s\r\n企业ID:%d\r\n登录用户:%s\r\n密码:******\r\n"),m_szIP,m_lCorpID,m_strLoginName ); } UpdateData(false); } void DLG_User_Modify::OnChangeUsermodifyLoginname() { ShowLoginMsg(); } void DLG_User_Modify::OnKillfocusUsermodifyName() { UpdateData(true); if ( m_strLoginName.GetLength() <= 0 && m_bLogin) { m_strLoginName = m_strName; UpdateData(false); ShowLoginMsg(); } } void DLG_User_Modify::OnUsermodifyBlogin() { CButton * pButton = (CButton *)GetDlgItem(IDC_USERMODIFY_BLOGIN); if ( pButton->GetCheck() ) { GetDlgItem(IDC_USERMODIFY_LOGINNAME)->EnableWindow(true); if ( m_bResetPasswd ) GetDlgItem(IDC_USERMODIFY_PASSWD)->EnableWindow(true); GetDlgItem(IDC_USERMODIFY_SMSNUM)->EnableWindow(true); GetDlgItem(IDC_USERMODIFY_SMSUSED)->EnableWindow(true); GetDlgItem(IDC_USERMODIFY_MMSUSED)->EnableWindow(true); } else { GetDlgItem(IDC_USERMODIFY_LOGINNAME)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_PASSWD)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_SMSNUM)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_SMSUSED)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_MMSUSED)->EnableWindow(false); } } void DLG_User_Modify::OnUsermodifySmsnumAuto() { TCHAR szNum[16]={0}; int i=m_pCUser->FindSMSNum(); long lSmsNum = i; //取得New Num long lAllNum = 1; long lUserNumLen = m_pCUser->m_MUser.lUserNumLen; //取用户可分配号码长度 for ( i=0;i lAllNum-1 ) { MessageBox( _T("对不起,特服号分配已满,不能再分配!") , _T("错误") , MB_ICONWARNING ); return ; } TCHAR szBuf[32]; _stprintf( szBuf , _T("%%0%dd") , lUserNumLen ); _stprintf( szNum,szBuf , lSmsNum); GetDlgItem(IDC_USERMODIFY_SMSNUM)->SetWindowText(szNum); } void DLG_User_Modify::OnUsermodifyPurviewgj() { CRect rectwnd; this->GetWindowRect( &rectwnd ); CRect rectS1; m_S_S1.GetWindowRect( &rectS1 ); // CRect rectS2; // m_S_S2.GetWindowRect( &rectS2 ); if ( m_bGJ ) { rectwnd.right = rectS1.right+=10; this->MoveWindow( rectwnd ); this->CenterWindow(); GetDlgItem(IDC_USERMODIFY_PURVIEWGJ)->SetWindowText(_T("高级 <<") ); // m_wndSetup.SetWindowText( _T("设置 <<") ); } else { rectwnd.right = rectS1.left; this->MoveWindow( rectwnd ); this->CenterWindow(); GetDlgItem(IDC_USERMODIFY_PURVIEWGJ)->SetWindowText(_T("高级 >>") ); // m_wndSetup.SetWindowText( _T("设置 >>") ); } m_bGJ = !m_bGJ; } void DLG_User_Modify::OnSelchangeUsermodifyPurviewtype() { UpdateData( true ); if ( m_lPurviewType < (long)m_ulMainPurviewType ) { MessageBox( _T("你不能分配比你权限更大的用户!") , _T("错误") , MB_ICONWARNING ); m_lPurviewType = this->m_ulOldPurviewType; UpdateData(false); return ; } m_ulOldPurviewType = m_lPurviewType; //先清空所有权限 m_bGAddress_ModifyPurview = false; m_bGAddress_Add = false; m_bGAddress_Del = false; m_bGAddress_Modify = false; m_bGAddress_ResetPasswd = false; m_bGAddress_See = false; m_bLogin = false; m_bRecvG = false; m_bRecvP = false; m_bSeeBill = false; m_bSeeList = false; m_bSendG = false; m_bSendP = false; m_bPAddress = false; m_bSmsEmail = false; m_bCalendar = false; m_bSP = false; if ( m_lPurviewType == PURVIEWTYPE_ADDRESS ) //纯通讯录 { m_strNum = _T("") ; //无需特服号 m_strLoginName=_T(""); //无需登录名 } if ( m_lPurviewType == PURVIEWTYPE_INPUT ) //资料录入员 { //如果自己没有的权限,也不能分配给别人 if ( m_ulMainPurview & PURVIEW_LOGIN ) m_bLogin = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_SEE ) m_bGAddress_See = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_MODIFY ) m_bGAddress_Modify = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_ADD ) m_bGAddress_Add = true; } if ( m_lPurviewType == PURVIEWTYPE_USERS ) //一般员工 { //如果自己没有的权限,也不能分配给别人 if ( m_ulMainPurview & PURVIEW_LOGIN ) m_bLogin = true; if ( m_ulMainPurview & PURVIEW_SENDG ) m_bSendG = true; if ( m_ulMainPurview & PURVIEW_RECVP ) m_bRecvP = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_SEE ) m_bGAddress_See = true; if ( m_ulMainPurview & PURVIEW_SMSEMAIL ) m_bSmsEmail = true; if ( m_ulMainPurview & PURVIEW_CALENDAR ) m_bCalendar = true; if ( m_ulMainPurview & PURVIEW_SMSSP ) m_bSP = true; } if ( m_lPurviewType == PURVIEWTYPE_KF ) //客户服务员 { //如果自己没有的权限,也不能分配给别人 if ( m_ulMainPurview & PURVIEW_LOGIN ) m_bLogin = true; if ( m_ulMainPurview & PURVIEW_SENDG ) m_bSendG = true; if ( m_ulMainPurview & PURVIEW_SENDP ) m_bSendP = true; // if ( m_ulMainPurview & PURVIEW_RECVG ) //不给接收公用信息的权限 // m_bRecvG = true; if ( m_ulMainPurview & PURVIEW_RECVP ) m_bRecvP = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_SEE ) m_bGAddress_See = true; if ( m_ulMainPurview & PURVIEW_PADDRESS ) m_bPAddress = true; if ( m_ulMainPurview & PURVIEW_SMSEMAIL ) m_bSmsEmail = true; if ( m_ulMainPurview & PURVIEW_CALENDAR ) m_bCalendar = true; if ( m_ulMainPurview & PURVIEW_SMSSP ) m_bSP = true; } if ( m_lPurviewType == PURVIEWTYPE_ADMIN ) //管理员 { //如果自己没有的权限,也不能分配给别人 if ( m_ulMainPurview & PURVIEW_LOGIN ) m_bLogin = true; if ( m_ulMainPurview & PURVIEW_SENDG ) m_bSendG = true; if ( m_ulMainPurview & PURVIEW_SENDP ) m_bSendP = true; if ( m_ulMainPurview & PURVIEW_RECVG ) m_bRecvG = true; if ( m_ulMainPurview & PURVIEW_RECVP ) m_bRecvP = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_SEE ) m_bGAddress_See = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_MODIFY ) m_bGAddress_Modify = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_ADD ) m_bGAddress_Add = true; if ( m_ulMainPurview & PURVIEW_GADDRESS_DEL ) m_bGAddress_Del = true; if ( m_ulMainPurview & PURVIEW_USER_MANAGER ) m_bGAddress_ModifyPurview = true; if ( m_ulMainPurview & PURVIEW_USER_MODIFY ) m_bGAddress_ResetPasswd = true; if ( m_ulMainPurview & PURVIEW_SEEBILL ) m_bSeeBill = true; if ( m_ulMainPurview & PURVIEW_SEELIST ) m_bSeeList = true; if ( m_ulMainPurview & PURVIEW_PADDRESS ) m_bPAddress = true; if ( m_ulMainPurview & PURVIEW_SMSEMAIL ) m_bSmsEmail = true; if ( m_ulMainPurview & PURVIEW_CALENDAR ) m_bCalendar = true; if ( m_ulMainPurview & PURVIEW_SMSSP ) m_bSP = true; } UpdateData(false); OnUsermodifyBlogin(); //是否显示登录信息 return; } void DLG_User_Modify::DisableAllPurview() { GetDlgItem(IDC_USERMODIFY_BLOGIN)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BSENDGADDRESS)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BSENDPADDRESS)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BRECVG)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BRECVP)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BSEEBILL)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BSEELIST)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS_SEE)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS_MODIFY)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS__MODIFYPRUVIEW)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS_RESETPASSWD)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS_ADD)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BGADDRESS_DEL)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_BPADDRESS)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_EMAIL)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_CALENDAR)->EnableWindow(false); GetDlgItem(IDC_USERMODIFY_SMSSP)->EnableWindow(false); } void DLG_User_Modify::OnUsermodifySmsnumChange() { if ( GetTickCount()-m_pCUser->m_pMainFrame->m_dwLastCMTime < 120000 ) { MessageBox( _T("请不要连续提交更改签名申请,请稍后再试!"),_T("错误") ,MB_ICONWARNING); return ; } DLG_ChangeCM dlg(this); m_pDlgChangeCM = &dlg; #ifdef MANAGER_VER_YWY long lAgentID = 0; #else long lAgentID = this->m_pCUser->m_pMainFrame->m_lUserID; #endif dlg.SetParam(m_Address.lCorpID, m_Address.lUserID, lAgentID, this->m_pCUser->m_pMainFrame, m_strCorpName, m_Address.szLoginName, 1); if (dlg.DoModal() == IDOK) { } m_pDlgChangeCM = NULL; /* CString strCorpID; strCorpID.Format( _T("%d") , m_Address.lCorpID ); CString strBZ=_T(""); strBZ += _T("\r\n 企业ID:"); strBZ += strCorpID; strBZ += _T("\r\n"); strBZ += _T("企业名称:"); strBZ += m_pCUser->m_strCorpName; strBZ += _T("\r\n"); strBZ += _T("用户名:"); strBZ += this->m_Address.szLoginName; dlg.SetBZ(_T("改用户签名"),strBZ); if ( dlg.DoModal()==IDOK ) { m_pCUser->m_pMainFrame->m_dwLastCMTime = GetTickCount(); REQ_YJ2 * pYJ = new REQ_YJ2; memset(pYJ,0,sizeof(REQ_YJ2)); pYJ->lCorpID = -200; pYJ->lUserID = m_pCUser->m_pMainFrame->m_lUserID; _tcscpy(pYJ->szCorpName , m_pCUser->m_pMainFrame->m_strAgentName ); _tcscpy(pYJ->szLoginName, m_pCUser->m_pMainFrame->m_Setup.szUser ); _tcscpy(pYJ->szType , _T("改用户签名") ); _stprintf(pYJ->szEmail , _T("%s-%s"),m_pCUser->m_strCorpName,m_Address.szLoginName ); _tcscpy(pYJ->szTel , m_pCUser->m_pMainFrame->m_pUserView->m_dlgInfo.m_strMobile ); _tcscpy(pYJ->szBZ , dlg.m_strMsg ); _tcscat(pYJ->szBZ , _T("\r\n新签名:") ); _tcscat(pYJ->szBZ , dlg.m_strCM ); pYJ->lCMCorpID = m_Address.lCorpID; pYJ->lCMUserID = m_Address.lUserID; _tcscpy(pYJ->szCM , dlg.m_strCM ); m_pCUser->m_pMainFrame->SendFrame( SMSFUNC_YJ2 , (BYTE*)pYJ , sizeof(REQ_YJ2) ); } */ } void DLG_User_Modify::OnUsermodifyRtx() { if ( m_B_RTX.GetCheck() ) { m_B_SDK.SetCheck(true); } else { m_B_SDK.SetCheck(false); } } BOOL DLG_User_Modify::PreTranslateMessage(MSG* pMsg) { m_tooltip.RelayEvent(pMsg); return CDialog::PreTranslateMessage(pMsg); } void DLG_User_Modify::OnBnClickedCancel() { if (!m_bAdd &&m_bSetPasswd) { int iRet = MessageBox(_T("你已重置密码,取消后新密码不会生效!\r\n是否继续取消?"), _T("提示"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2); if (iRet != IDYES) return; } CDialog::OnCancel(); } BOOL DLG_User_Modify::ProcessSocket(Socket_Head *pHead) { if (m_pDlgChangeCM) { return m_pDlgChangeCM->ProcessSocket(pHead); } return false; } BOOL DLG_User_Modify::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame) { if (m_pDlgChangeCM) { return m_pDlgChangeCM->ProcessSocket(pHead, pFrame); } return false; } void DLG_User_Modify::OnTimer(UINT_PTR nIDEvent) { if (nIDEvent == 1) { KillTimer(nIDEvent); OnUsermodifyPasswd(); } CDialog::OnTimer(nIDEvent); }