// K_Agent.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "K_Agent.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CK_Agent dialog #include "MainFrm.h" #include "ProcessSocket.h" #include "DLG_Agent_Modify.h" #include "DLG_Agent_Pay.h" #include "DLG_Agent_MmsPay.h" #include "DLG_Corp_BZ.h" #include "DLG_Corp_Oper_Open.h" #include "DLG_Corp_Oper.h" #include "DLG_Corp_Open_ChangeA.h" #include "DLG_Corp_LXR.h" #include "DLG_Corp_FP.h" #include "DLG_Corp_SF.h" #include "DLG_Corp_Extension.h" #include "DLG_Corp_ExpiryRecycling.h" CK_Agent::CK_Agent(CWnd* pParent /*=NULL*/) : CDialog(CK_Agent::IDD, pParent) { //{{AFX_DATA_INIT(CK_Agent) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; m_pDlgFile = false; m_pLXRDlg = NULL; m_pFPDlg = NULL; m_pSFDlg = NULL; m_bModify = false; m_pAnalyseDlg = NULL; m_pTransferDlg = NULL; m_lQueryType2 = 0; //正常查询 } void CK_Agent::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CK_Agent) DDX_Control(pDX, IDC_AGENT_YWYID, m_E_YWYID); DDX_Control(pDX, IDC_AGENT_YWY, m_L_YWY); DDX_Control(pDX, IDC_AGENT_AGENTID, m_E_AgentID); DDX_Control(pDX, IDC_AGENT_S1, m_S_S1); DDX_Control(pDX, IDC_AGENT_LIST, m_wndList); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CK_Agent, CDialog) //{{AFX_MSG_MAP(CK_Agent) ON_WM_SIZE() ON_NOTIFY(NM_DBLCLK, IDC_AGENT_LIST, OnDblclkAgentList) ON_NOTIFY(NM_RCLICK, IDC_AGENT_LIST, OnRclickAgentList) ON_NOTIFY(LVN_KEYDOWN, IDC_AGENT_LIST, OnKeydownAgentList) ON_BN_CLICKED(IDC_AGENT_QUERY, OnAgentQuery) ON_BN_CLICKED(IDC_AGENT_QUERY2, OnAgentQuery2) ON_CBN_SELCHANGE(IDC_AGENT_YWY, OnSelchangeAgentYwy) //}}AFX_MSG_MAP ON_COMMAND( MENU_AGENT_ADD , On_Agent_Add ) ON_COMMAND( MENU_AGENT_MODIFY , On_Agent_Modify ) ON_COMMAND( MENU_AGENT_DEL , On_Agent_Del ) ON_COMMAND( MENU_AGENT_JF , On_Agent_Pay ) ON_COMMAND( MENU_AGENT_MMSPAY , On_Agent_MmsPay ) ON_COMMAND( MENU_AGENT_REFRESH, On_Agent_Refresh ) ON_COMMAND( MENU_AGENT_BZ_MAN , On_Agent_BZ_Man ) ON_COMMAND( MENU_AGENT_BZ_YWY , On_Agent_BZ_YWY ) ON_COMMAND( MENU_AGENT_HS , On_Agent_HS ) ON_COMMAND( MENU_AGENT_PAYTOUSER , On_Agent_PayToUser ) ON_COMMAND( MENU_AGENT_FILE , On_Agent_File ) ON_COMMAND( MENU_AGENT_LXR , On_Agent_LXR ) ON_COMMAND( MENU_AGENT_FP , On_Agent_FP ) ON_COMMAND(MENU_AGENT_SF , On_Agent_SF) ON_COMMAND(MENU_AGENT_ANALYSE, On_Agent_Analyse) ON_COMMAND(MENU_AGENT_QUERYBAKAGENT, On_Agent_QueryBackAgent) ON_COMMAND( MENU_AGENT_OPER_OPEN , On_User_Oper_Open ) ON_COMMAND( MENU_AGENT_OPER_CLOSE , On_User_Oper_Close ) ON_COMMAND( MENU_AGENT_OPER_YWY , On_User_Oper_YWY ) ON_COMMAND( MENU_AGENT_OPER_ADDCOUNT , On_User_Oper_AddCount ) ON_COMMAND( MENU_AGENT_OPER , On_User_Oper ) ON_COMMAND( MENU_AGENT_OPER_HTSEND , On_User_Oper_HTSend ) ON_COMMAND( MENU_AGENT_OPER_HTRECV , On_User_Oper_HTRecv ) ON_COMMAND( MENU_AGENT_OPER_REGTIME , On_User_Oper_RegTime ) ON_COMMAND( MENU_AGENT_OPER_PRICEONE , On_User_Oper_PriceOne ) ON_COMMAND( MENU_AGENT_OPER_MMSPRICEONE , On_User_Oper_MmsPriceOne ) ON_COMMAND( MENU_AGENT_OPER_TCPER , On_User_Oper_TCPer ) ON_COMMAND( MENU_AGENT_OPER_CLOSECLI , On_User_Oper_CloseCLI) ON_COMMAND(MENU_AGENT_OPER_AGENTNAME, On_User_Oper_AgentName) ON_COMMAND(MENU_AGENT_OPER_RESETPASSWD, On_User_Oper_ResetPasswd) ON_COMMAND(MENU_AGENT_ASSIST_EXTENSION, On_User_Assist_Extension) ON_COMMAND(MENU_AGENT_ASSIST_SMSTRANSFER, On_User_Assist_SmsTransfer) ON_COMMAND(MENU_AGENT_ASSIST_MMSTRANSFER, On_User_Assist_MmsTransfer) ON_COMMAND(MENU_AGENT_ASSIST_SMSMMSTRANSFER, On_User_Assist_SmsMmsTransfer) ON_COMMAND(MENU_AGENT_ASSIST_EXPIRYRECYCLING, On_User_Assist_ExpiryRecycling) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CK_Agent message handlers BOOL CK_Agent::RefreshInfo() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return false; } //m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE,NULL,0); m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //取代理信息 return true; } void CK_Agent::Close() { Close_Agent(); Close_YWY(); } BOOL CK_Agent::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CK_Agent::ReShow(BOOL bRefresh) { ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } return true; } BOOL CK_Agent::OnInitDialog() { CDialog::OnInitDialog(); //取得共用参数 //CMainFrame * pFrame = static_cast ((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_AGENT) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_AGENT_DISABLE) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LOCK) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP2)); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP3)); m_wndList.SubClassWindow2(); //m_wndList.SetHeadings(_T("序号,50; 代理商名称,180; 登录名,100; ID,60;可用余额,90; 信用额,90; 总量,100;创建时间,90;业务员,60;")); #ifdef SMSMANAGER_KF m_wndList.SetHeadings(_T("序号,50; 代理商名称,180; 登录名,100; ID,60;短信余额,90;彩信余额,90;过期时间,90;业务员,90; 提示,150;")); #else m_wndList.SetHeadings(_T("序号,50; 代理商名称,180; 登录名,100; ID,60;短信单价,70;短信余额,90;短信总量,100;短信充值,100;彩信单价,70;彩信余额,90;彩信总量,100;彩信充值,100;帐号数量,90;最后登录,90;创建时间,90;过期时间,90;业务员,90;合同寄出,90;合同回收,90; 提示,150;")); #endif m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); m_bInit = true; #ifdef SMSMANAGER_KF GetDlgItem(IDC_AGENT_YWY_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_YWY)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_YWYID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_QUERY2)->ShowWindow(SW_HIDE); #endif #if defined(SMSCENTER_NX) || defined(SMSCENTER_GDDX) || defined(SMSCENTER_GDYD_ADC) GetDlgItem(IDC_AGENT_YWY_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_YWY)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_YWYID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_AGENT_QUERY2)->ShowWindow(SW_HIDE); #endif return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CK_Agent::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if ( m_bInit ) { CRect rect; m_S_S1.GetWindowRect(&rect); m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5); } } BOOL CK_Agent::ProcessSocket(Socket_Head *pHead) { CString strTemp,str; //取过滤信息 if (pHead->lFuncType == SMSFUNC_AGENT_SEE|| pHead->lFuncType == SMSFUNC_AGENT_SEE3) { m_bRefresh = true; //已经刷新过 m_wndList.ShowWindow(SW_HIDE); //加快显示速度 ANS_Agent_See * pSee = (ANS_Agent_See *)pHead->pFrame; ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_See)); if (pSee->lCount == -1) { MessageBox(_T("权限不足或已超出当天查询总量!"), _T("错误"), MB_ICONWARNING); return true; } #ifdef SMSMANAGER_KF if (pSee->lCount >= 3) { CString str; str.Format(_T("查询返回的记录数过多,只返回前%d条记录。\r\n建议使用更精确的关键字查询。"), pSee->lCount); MessageBox(str, _T("提示"), MB_ICONINFORMATION); } #endif m_wndList.DeleteAllItems(); //删除原有的内容 this->Close_Agent(); //关闭原队列 for ( int i=0;ilCount;i++ ) { ANS_Agent_SeeData * pNewData = new ANS_Agent_SeeData; *pNewData = *pData; POSITION pos = m_Agent.AddTail(pNewData); ReShowUser(); pData ++; } m_wndList.ShowWindow(SW_SHOW); //加快显示速度 return true; } //取业务员名字 if (pHead->lFuncType == SMSFUNC_YWY_NAME) { ANS_YWY_Name * pYWY = (ANS_YWY_Name *)pHead->pFrame; ANS_YWY_NameData * pData = (ANS_YWY_NameData *)(pHead->pFrame+sizeof(ANS_YWY_Name)); m_L_YWY.ResetContent(); //删除原已有的企业 this->Close_YWY(); //关闭原队列 long lItem; CString strTemp; lItem = m_L_YWY.AddString( _T("所有业务员") ); m_L_YWY.SetItemData( lItem , (DWORD)-10); for ( int i=0;ilCount;i++ ) { ANS_YWY_NameData * pNewData = new ANS_YWY_NameData; *pNewData = *pData; m_YWY.AddTail(pNewData); strTemp.Format( _T("%d-%s"),pNewData->lYWYID,pNewData->szYWYName); lItem = m_L_YWY.AddString( strTemp ); //m_L_Agent.SetItemData( lItem , (DWORD)pos); m_L_YWY.SetItemData( lItem , (DWORD)pNewData->lYWYID); pData ++; } m_L_YWY.SetCurSel(0); return true; } //添加过滤词语 if (pHead->lFuncType == SMSFUNC_AGENT_ADD) { ANS_Agent_Add * pAdd = (ANS_Agent_Add *)pHead->pFrame; ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_Add)); if (pAdd->lCount == -14) { MessageBox(_T("添加新代理商产生错误:代理名称已存在!"), _T("错误"), MB_ICONWARNING); } if ( pAdd->lCount == 1 ) //等于1时表示修改成功 { long lCount = m_wndList.GetItemCount(); //设置新的数据 TCHAR Buf[32]; _stprintf( Buf, _T("%d") , lCount +1 ); m_wndList.InsertItem( lCount , Buf , pData->lStatus ); long lTemp=1; m_wndList.SetItemText(lCount,lTemp++,pData->szName); m_wndList.SetItemText(lCount,lTemp++,pData->szLoginName); strTemp.Format( _T("%d") , pData->lAgentID ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%5.2f"),pData->fPriceOne ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fJFTotal ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsUsed ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsTotal ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fMmsJFTotal ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount ); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay); m_wndList.SetItemText(lCount,lTemp++,strTemp); strTemp.Format( _T("%6d"),pData->lYWYID ); m_wndList.SetItemText(lCount,lTemp++,strTemp); ANS_Agent_SeeData * pData2 = new ANS_Agent_SeeData; *pData2 = *pData; POSITION pos = m_Agent.AddTail( pData2 ); m_wndList.SetItemData( lCount, (DWORD)pos ); //如果返回的用户ID错误,则重新刷新 if ( pData->lAgentID <= 0 ) { RefreshInfo(); } } return true; } //修改过滤信息 if (pHead->lFuncType == SMSFUNC_AGENT_MODIFY) { ANS_Agent_Modify * pModify = (ANS_Agent_Modify *)pHead->pFrame; ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_Modify)); SetLockItem( pModify->lItem , false ); //解锁 if (pModify->lCount == -14) { MessageBox(_T("修改代理商产生错误:代理名称已存在!"), _T("错误"), MB_ICONWARNING); } if ( pModify->lCount == 1 ) //等于1时表示修改成功 { POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos ); if ( pData2 ) { *pData2 = *pData; //取到新的数据 //设置新的数据 TCHAR Buf[32]={0}; int i = pModify->lItem; long lTemp = 1; m_wndList.SetItemText(i,lTemp++,pData->szName); m_wndList.SetItemText(i,lTemp++,pData->szLoginName); m_wndList.SetIconIndex(i,pData->lStatus ); lTemp++; //代理商ID strTemp.Format( _T("%5.2f"),pData->fPriceOne ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fJFTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsUsed ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fMmsJFTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay); m_wndList.SetItemText(i,lTemp++,strTemp); //strTemp.Format( _T("%6d"),pData->lYWYID ); //m_wndList.SetItemText(i,lTemp++,strTemp); } } return true; } //删除过滤词语 if (pHead->lFuncType == SMSFUNC_AGENT_DEL) { ANS_Agent_Del * pDel = (ANS_Agent_Del *)pHead->pFrame; ANS_Agent_DelData * pDelData = (ANS_Agent_DelData *)(pHead->pFrame+sizeof(ANS_Agent_Del)); POSITION pos,pos2; ANS_Agent_SeeData * pSPData; for ( int i = pDel->lCount-1 ; i>=0 ; i-- ) { if ( pDelData[i].lAgentID ) //删除成功 { pos = (POSITION)m_wndList.GetItemData( pDelData[i].lItem ); pos2 = pos; pSPData = m_Agent.GetNext( pos ); if ( pSPData->lAgentID == pDelData[i].lAgentID ) //ID相同的才可删除 { delete pSPData; //先删除数据 m_Agent.RemoveAt(pos2); //从列表中删除 m_wndList.DeleteItem(pDelData[i].lItem); //从ListCtrl中删除 } } } return true; } //查看支付记录 if (pHead->lFuncType == SMSFUNC_AGENT_PAY) { ANS_Agent_Pay * pPay = (ANS_Agent_Pay *)pHead->pFrame; ANS_Agent_PayData * pData= (ANS_Agent_PayData *)(pHead->pFrame+sizeof(ANS_Agent_Pay)); ANS_Corp_MemberData * pMemberData= (ANS_Corp_MemberData *)(pHead->pFrame+sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount); if ( pPay->lCount < 0 ) //权限不足,返回错误 return true; #ifndef SMSCENTER_NX if ( pHead->lFrameLen == sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount+sizeof(ANS_Agent_Exp) ) //带扩展头的 { ANS_Agent_Exp * pExp = (ANS_Agent_Exp *)(pHead->pFrame+sizeof(ANS_Agent_Pay)+sizeof(ANS_Agent_PayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount); if ( pExp->lExpID == CORP_AGENT_EXP_ID&& !pExp->bOK) { str.Format(_T("%s缺以下资料,建议补全后再充值,是否继续?\r\n%s") , pPay->szAgentName,pExp->szNoData); int iRet=MessageBox(str,_T("提示") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( iRet != IDYES ) { return true; } } } #endif //取用户类型 POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lItem); ANS_Agent_SeeData * pDataC = m_Agent.GetNext( pos ); if ( !pDataC ) return true; DLG_Agent_Pay dlg(this); dlg.SetParam( *pPay , pData , pMemberData, *pDataC ); dlg.m_bSOS = this->m_pMainFrame->m_bSOS; dlg.m_pMainFrame = this->m_pMainFrame; if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 ) { long lSize = sizeof(REQ_Agent_PayModify) + sizeof(ANS_Agent_PayData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Agent_PayModify * pModifySend = (REQ_Agent_PayModify*)pDataSend; ANS_Agent_PayData * pPaySend = (ANS_Agent_PayData *)(pDataSend+sizeof(REQ_Agent_PayModify)); pModifySend->lAgentID = pPay->lAgentID; pModifySend->lItem = pPay->lItem; pModifySend->fTotal = dlg.m_PayReq.fTotal; //取得修改后的总额 pModifySend->fUsed= dlg.m_PayReq.fUsed; // pModifySend->fJFTotal= dlg.m_PayReq.fJFTotal; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Agent_PayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); if (pPayTemp->ucStatus != 0 ) //不为0,需要修改 { *pPaySend = *pPayTemp; if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) ) //不是财务,不能置应收时间 { memset(&pPaySend->tYSTime,0,sizeof(pPaySend->tYSTime)); } pPaySend ++; } delete pPayTemp; } m_pMainFrame->SendFrame( SMSFUNC_AGENT_PAYMODIFY , pDataSend , lSize ); } else { //清除队列中的内容 ANS_Agent_PayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); delete pPayTemp; } } return true; } //充值记录修改 if (pHead->lFuncType == SMSFUNC_AGENT_PAYMODIFY) { ANS_Agent_PayModify* pModify = (ANS_Agent_PayModify*)pHead->pFrame; ANS_Agent_PayData * pData = (ANS_Agent_PayData *)(pHead->pFrame+sizeof(ANS_Agent_PayModify)); if ( pModify->lCount == -12 ) { MessageBox( _T("添加短信失败,你的信用余额不足!") , _T("错误") , MB_ICONWARNING ); return true; } if ( pModify->lCount<0 ) { MessageBox( _T("添加短信失败,未知原因!") , _T("错误") , MB_ICONWARNING ); return true; } if ( pModify->lItem >= 0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos ); if ( pData2 ) { pData2->fTotal = pModify->fTotal; pData2->fUsed = pModify->fUsed; // pData2->fJFTotal = pModify->fJFTotal; strTemp.Format( _T("%10d"),(long)(pData2->fUsed*10.0f) ); m_wndList.SetItemText(pModify->lItem,5,strTemp); strTemp.Format( _T("%10d"),(long)(pData2->fTotal*10.0f) ); m_wndList.SetItemText(pModify->lItem,6,strTemp); //strTemp.Format( _T("%.2f"),pData2->fJFTotal ); //m_wndList.SetItemText(pModify->lItem,7,strTemp); } } return true; } //查看备注 if (pHead->lFuncType == SMSFUNC_CORP_BZ_SEE) { ANS_Corp_BZ_See * pSee = (ANS_Corp_BZ_See *)pHead->pFrame; ANS_Corp_BZ_Data * pSeeData = (ANS_Corp_BZ_Data *)(pHead->pFrame+sizeof(ANS_Corp_BZ_See)); DLG_Corp_BZ dlg(this); dlg.SetParam(pSee , pSeeData ); if ( dlg.DoModal() == IDOK && pSee->lBZType ==0 ) //管理员备注才能新增 { REQ_Corp_BZ_Add * pBZ = new REQ_Corp_BZ_Add; memset( pBZ , 0 , sizeof(REQ_Corp_BZ_Add)); pBZ->lCorpID = pSee->lCorpID; pBZ->lUserType = 1; //代理商备注 pBZ->lBZType = 0; //管理员备注 _tcscpy( pBZ->szBZ , dlg.m_strBZ ); m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_ADD , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_Add) ); //取联系人信息 } return true; } //查看操作记录 if (pHead->lFuncType == SMSFUNC_CORP_OPER_SEE) { ANS_Corp_Oper_See * pSee = (ANS_Corp_Oper_See *)pHead->pFrame; ANS_Corp_Oper_Data * pSeeData = (ANS_Corp_Oper_Data *)(pHead->pFrame+sizeof(ANS_Corp_Oper_See)); DLG_Corp_Oper dlg(this); dlg.SetParam(pSee , pSeeData ); dlg.DoModal(); return true; } //查看用户记录 if (pHead->lFuncType == SMSFUNC_CORP_FILE) { ANS_Corp_File * pFile = (ANS_Corp_File *)pHead->pFrame; if ( pFile->lCount < 0 ) //权限不足,返回错误 return true; if ( pFile->ret.lReqType == 0 ) //查询文件信息 { ANS_Corp_FileData * pData = (ANS_Corp_FileData *)(pHead->pFrame+sizeof(ANS_Corp_File)); DLG_Corp_File dlg(this); m_pDlgFile = &dlg; dlg.SetParam( *pFile , pData , 1); dlg.DoModal(); } if ( pFile->ret.lReqType == 1 ) //添加 { if ( m_pDlgFile ) m_pDlgFile->ProcessSocket(pHead); } if ( pFile->ret.lReqType == 2 ) //修改 { if ( m_pDlgFile ) m_pDlgFile->ProcessSocket(pHead); } if ( pFile->ret.lReqType == 3 ) //删除 { if ( m_pDlgFile ) m_pDlgFile->ProcessSocket(pHead); } if ( pFile->ret.lReqType == 4 ) //上传 { if ( m_pDlgFile ) m_pDlgFile->ProcessSocket(pHead); } if ( pFile->ret.lReqType == 5 ) //下载 { if ( m_pDlgFile ) m_pDlgFile->ProcessSocket(pHead); } return true; } //查看联系人 if (pHead->lFuncType == SMSFUNC_CORP_LXR) { ANS_Corp_LXR * pLXR = (ANS_Corp_LXR *)pHead->pFrame; if (pLXR->lCount < 0) //权限不足 return true; ANS_Corp_LXRData * pData= (ANS_Corp_LXRData *)(pHead->pFrame+sizeof(ANS_Corp_LXR)); ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pHead->pFrame + sizeof(ANS_Corp_LXR) + sizeof(ANS_Corp_LXRData)*pLXR->lCount); DLG_Corp_LXR dlg(this); m_pLXRDlg = &dlg; dlg.SetParam( *pLXR , pData,1, pYWYData); //企业类型为:1(代理商) if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0) { long lSize = sizeof(REQ_Corp_LXRModify) + sizeof(ANS_Corp_LXRData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Corp_LXRModify * pModifySend = (REQ_Corp_LXRModify*)pDataSend; ANS_Corp_LXRData * pLXRSend = (ANS_Corp_LXRData *)(pDataSend+sizeof(REQ_Corp_LXRModify)); pModifySend->lCorpID= pLXR->lCorpID; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Corp_LXRData * pLXRTemp; while (!dlg.m_LXR.IsEmpty()) { pLXRTemp = dlg.m_LXR.GetHead(); //pLXRTemp->lCorpType = 1; //强制设置企业类型为:0(代理商) dlg.m_LXR.RemoveHead(); if (pLXRTemp->ucStatus != 0 ) //不为0,需要修改 { *pLXRSend = *pLXRTemp; pLXRSend ++; } delete pLXRTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_LXRMODIFY , pDataSend , lSize ); } else { //清除队列中的内容 ANS_Corp_LXRData * pLXRTemp; while (!dlg.m_LXR.IsEmpty()) { pLXRTemp = dlg.m_LXR.GetHead(); dlg.m_LXR.RemoveHead(); delete pLXRTemp; } } m_pLXRDlg = NULL; return true; } //联系人修改 if (pHead->lFuncType == SMSFUNC_CORP_LXRMODIFY) { return true; } if (pHead->lFuncType == SMSFUNC_CORP_SENDSMSNOW ) { ANS_Corp_SendSmsNow * pSend = (ANS_Corp_SendSmsNow*)pHead->pFrame; if ( pSend->bOK ) { MessageBox( pSend->szMsg , _T("信息") , MB_ICONINFORMATION ); } else { MessageBox( pSend->szMsg , _T("错误") , MB_ICONWARNING ); } return true; } if (pHead->lFuncType == SMSFUNC_CORP_OPER_ADD) //添加修改设置 { ANS_Corp_Oper_Add* pAdd = (ANS_Corp_Oper_Add*)pHead->pFrame; if (pAdd->bOK) { OnAgentQuery(); //修改设置后刷新数据 switch (pAdd->data.lOperType) { case 43: //重置密码 MessageBox(_T("已通过短信下发链接,请提醒客户操作重置密码!"), _T("消息"), MB_ICONINFORMATION | MB_OK); break; default: if (_tcslen(pAdd->szErrMsg) > 0) str = pAdd->szErrMsg; else str = _T("添加操作成功,请等待数据刷新验证后再操作下一步!"); MessageBox(str, _T("消息"), MB_ICONINFORMATION | MB_OK); break; } } else { switch (pAdd->data.lOperType) { case 13: case 15: MessageBox(_T("所输入的合同号不存在或已分配,请检查!"), _T("错误"), MB_ICONWARNING | MB_OK); break; case 18: MessageBox(_T("更改子帐号签名失败,有可能企业ID或登录名错误!"), _T("错误"), MB_ICONWARNING | MB_OK); break; case 32: switch (pAdd->lYWYID) { case -1: MessageBox(_T("强制踢出用户失败,用户不存在!"), _T("错误"), MB_ICONWARNING | MB_OK); break; case -2: MessageBox(_T("强制踢出用户失败,用户未登录!"), _T("错误"), MB_ICONWARNING | MB_OK); break; default: MessageBox(_T("强制踢出用户失败,未知错误!"), _T("错误"), MB_ICONWARNING | MB_OK); break; } break; case 43: //重置密码 MessageBox(_T("重置登录密码失败,请检登录名与手机号码是否正确!"), _T("错误"), MB_ICONWARNING | MB_OK); break; default: if (_tcslen(pAdd->szErrMsg) > 0) str = pAdd->szErrMsg; else str = _T("添加操作失败,请检查!"); MessageBox(str, _T("错误"), MB_ICONWARNING | MB_OK); break; } } return true; } return false; } BOOL CK_Agent::isLockItem(long lItem, BOOL bShowWarning) { BOOL b = (m_wndList.GetIconIndex(lItem) == 2); if ( b && bShowWarning ) { MessageBox( _T("正录被锁定,请等待服务器返回后再操作!") , _T("锁定中") , MB_ICONINFORMATION ); } return b; } void CK_Agent::SetLockItem(long lItem, BOOL bLock) { if ( bLock ) m_wndList.SetIconIndex( lItem , 2 ); else m_wndList.SetIconIndex( lItem , 0 ); } BOOL CK_Agent::FindAgentame(const TCHAR *pAgentName, POSITION exPos) { POSITION pos = m_Agent.GetHeadPosition(); POSITION pos2; while (pos) { pos2 = pos; ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pos2 != exPos ) { if ( !_tcscmp( pData->szName , pAgentName ) ) return true; } } return false; } void CK_Agent::OnDblclkAgentList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; #ifndef SMSMANAGER_KF On_Agent_Modify(); #endif } void CK_Agent::OnRclickAgentList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; ShowRMenu(); } void CK_Agent::OnKeydownAgentList(NMHDR* pNMHDR, LRESULT* pResult) { LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR; // TODO: Add your control notification handler code here *pResult = 0; } void CK_Agent::ShowRMenu() { if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT,false)) //没有查看权限 return ; CMenu menu; menu.CreatePopupMenu(); BOOL bLock = false; ANS_Agent_SeeData * pData = NULL; long lItem = this->GetCurrentSelected(); if ( lItem >= 0 && lItem0 ) { pData = m_Agent.GetNext( pos ); } } #ifndef SMSMANAGER_KF //添加 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_ADD, false)) { menu.AppendMenu(MF_STRING, MENU_AGENT_ADD, _T(" 添 加 ")); } else { //menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_ADD, _T(" 添 加 ")); } //修改 if ( lItem >=0 && !bLock && m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY, false)) { menu.AppendMenu(MF_STRING , MENU_AGENT_MODIFY, _T(" 修 改 ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MODIFY , _T(" 修 改 ") ); } //删除 if ( lItem >=0 && !bLock && m_pMainFrame->GetUserPurview(PURVIEW_CORP_DEL, false) ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_AGENT_DEL, _T(" 删 除 ") ); //暂不提供删除功能 } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_DEL , _T(" 删 除 ") ); } menu.AppendMenu(MF_SEPARATOR ); #endif //充值 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0) { menu.AppendMenu(MF_STRING , MENU_AGENT_JF, _T(" 短信充值... ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_JF , _T(" 短信充值... ") ); } //充值 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0) { menu.AppendMenu(MF_STRING , MENU_AGENT_MMSPAY, _T(" 彩信充值... ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MMSPAY , _T(" 彩信充值... ") ); } #ifndef SMSMANAGER_KF //查看支付记录 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY, false) && lItem >= 0) #else //if ( false ) if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY, false) && lItem >= 0) #endif { CMenu MenuAssist; MenuAssist.CreatePopupMenu(); if (lItem >= 0 && !bLock && pData) { MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_EXTENSION, _T(" 代理商延期 ")); MenuAssist.AppendMenu(MF_SEPARATOR); MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_SMSTRANSFER, _T(" 短信互转 ")); MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_MMSTRANSFER, _T(" 彩信互转 ")); MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_SMSMMSTRANSFER, _T(" 短彩互转 ")); MenuAssist.AppendMenu(MF_SEPARATOR); if ( m_pMainFrame->GetUserPurview(PURVIEW_TAB, false)) { MenuAssist.AppendMenu(MF_STRING, MENU_AGENT_ASSIST_EXPIRYRECYCLING, _T(" 过期回收 ")); } } //menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING | MF_POPUP, (UINT)MenuAssist.GetSafeHmenu(), _T(" 账务辅助操作 ")); } #if !defined(SMSCENTER_NX) //文件管理 if (m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY,false)&&lItem >=0 && m_pMainFrame->GetUserPurview(PURVIEW_TAB,false)) { menu.AppendMenu(MF_STRING , MENU_AGENT_FILE, _T(" 文件管理... ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_FILE , _T(" 文件管理... ") ); } #endif //查看联系人 #ifdef SMSMANAGER_KF if ( lItem >=0 && m_pMainFrame->GetUserPurview(PURVIEW_SP,false) ) #else if (lItem >=0) #endif { menu.AppendMenu(MF_STRING , MENU_AGENT_LXR, _T(" 联系人... ") ); menu.AppendMenu(MF_STRING , MENU_AGENT_FP, _T(" 发票抬头管理... ") ); menu.AppendMenu(MF_STRING , MENU_AGENT_SF, _T(" 快递寄送查询... ")); } // else // { // menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_LXR, _T(" 联系人... ") ); // } //充值 if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD, false) && lItem >= 0) { menu.AppendMenu(MF_STRING, MENU_AGENT_ANALYSE, _T(" 代理商数据分析... ")); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_MMSPAY , _T(" 彩信充值... ") ); } #if !defined(SMSMANAGER_KF) && !defined(SMSCENTER_NX) menu.AppendMenu(MF_SEPARATOR ); //回收所有短信 if ( lItem >=0 && !bLock && pData && pData->lType!=2 ) { menu.AppendMenu(MF_STRING , MENU_AGENT_HS, _T(" 回收所的短信 ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_HS , _T(" 回收所的短信 ") ); } //退款 if ( lItem >=0 && !bLock ) { menu.AppendMenu(MF_STRING , MENU_AGENT_PAYTOUSER, _T(" 退款... ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_PAYTOUSER , _T(" 退款... ") ); } menu.AppendMenu(MF_SEPARATOR ); if ( lItem >=0 ) { menu.AppendMenu(MF_STRING , MENU_AGENT_BZ_MAN, _T(" 管理员备注 ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_BZ_MAN , _T(" 管理员备注 ") ); } if ( lItem >=0 ) { menu.AppendMenu(MF_STRING , MENU_AGENT_BZ_YWY, _T(" 业务员备注 ") ); } else { //menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_AGENT_BZ_YWY , _T(" 业务员备注 ") ); } #endif //以下为操作菜单 if (lItem >=0) { CMenu MenuType; MenuType.CreatePopupMenu(); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_OPEN , _T(" 开通操作 ") ); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_CLOSE , _T(" 关闭操作 ") ); if (m_pMainFrame->GetUserPurview(PURVIEW_TAB, false)) { MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_AGENTNAME, _T(" 更改代理商名称 ")); } #ifndef SMSMANAGER_KF MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_ADDCOUNT, _T(" 更改允许添加企业数量 ") ); MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_YWY, _T(" 更改客户经理 ")); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_REGTIME , _T(" 更改企业注册时间 ") ); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_PRICEONE , _T(" 更改短信单价 ") ); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_MMSPRICEONE , _T(" 更改彩信单价 ") ); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_TCPER , _T(" 更改提成比例 ") ); #endif if (m_pMainFrame->GetUserPurview(PURVIEW_TAB, false)) { MenuType.AppendMenu(MF_STRING, MENU_AGENT_OPER_RESETPASSWD, _T(" 重置代理商登录密码 ")); } MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_CLOSECLI, _T(" 踢出用户 ")); MenuType.AppendMenu(MF_SEPARATOR ); #ifdef SMSMANAGER_KF if (m_pMainFrame->GetUserPurview(PURVIEW_SP,false) || m_pMainFrame->GetUserPurview(PURVIEW_TAB, false)) #endif { MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_HTSEND , _T(" 改合同发出时间 ") ); MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER_HTRECV , _T(" 改合同回收时间 ") ); } MenuType.AppendMenu(MF_SEPARATOR ); #ifdef SMSMANAGER_KF if ( m_pMainFrame->GetUserPurview(PURVIEW_TAB,false) ) #else if ( true ) #endif MenuType.AppendMenu(MF_STRING , MENU_AGENT_OPER , _T(" 操作记录 ") ); menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING|MF_POPUP,(UINT)MenuType.GetSafeHmenu(), _T(" 企业操作 ") ); } #ifndef SMSMANAGER_KF menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_AGENT_QUERYBAKAGENT, _T(" 查询已销户数据 ")); #endif #ifndef SMSMANAGER_KF menu.AppendMenu(MF_SEPARATOR ); //刷新 menu.AppendMenu(MF_STRING , MENU_AGENT_REFRESH, _T(" 刷 新 ") ); #endif //显示菜单 POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } long CK_Agent::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void CK_Agent::On_Agent_Add() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } ANS_Agent_SeeData SPData={0}; ::GetLocalTime(&SPData.tCreateTime); #ifdef SMSCENTER_NX SPData.lType = 1; #endif SPData.lReportPer = 75; //新添加企业的状态报告反馈率 SPData.fMmsPriceOne = 0.30; //默认费率 SPData.fPriceOne = 0.10;//默认费率 DLG_Agent_Modify dlg(this); dlg.SetParam( SPData,0,true ); if ( dlg.DoModal() == IDOK ) { long lSize = sizeof(REQ_Agent_Add)+sizeof(ANS_Agent_SeeData); BYTE * pAddData = new BYTE[lSize];memset(pAddData,0,lSize); REQ_Agent_Add * pAdd = (REQ_Agent_Add *)pAddData; //头 ANS_Agent_SeeData * pSPData = (ANS_Agent_SeeData *)(pAddData+sizeof(REQ_Agent_Add)); *pSPData = dlg.GetParam(); pAdd->lCount = 1; m_pMainFrame->SendFrame( SMSFUNC_AGENT_ADD , pAddData , lSize ); } } void CK_Agent::On_Agent_Modify() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; if (isLockItem(lItem)) { return ; } POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos <0 ) return ; POSITION pos2 = pos; ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if (pData) { DLG_Agent_Modify dlg(this); dlg.SetParam( *pData,pos2,false); if ( dlg.DoModal() == IDOK ) { SetLockItem( lItem ,true); long lSize = sizeof(REQ_Agent_Modify)+sizeof(ANS_Agent_SeeData); BYTE * pModifyData = new BYTE[lSize];memset(pModifyData,0,lSize); REQ_Agent_Modify * pModify = (REQ_Agent_Modify *)pModifyData; //头 ANS_Agent_SeeData * pSPData = (ANS_Agent_SeeData *)(pModifyData+sizeof(REQ_Agent_Modify)); *pSPData = dlg.GetParam(); pModify->lItem = lItem; pModify->lCount = 1; m_pMainFrame->SendFrame( SMSFUNC_AGENT_MODIFY , pModifyData , lSize ); } } } void CK_Agent::On_Agent_Del() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } long lRet = MessageBox( _T("此操作将会删除此代理商,是否继续?") , _T("提问") , MB_ICONQUESTION|MB_YESNOCANCEL|MB_DEFBUTTON2); if ( lRet != IDYES ) return; long lCount = m_wndList.GetSelectedCount(); long lSize = sizeof(REQ_Agent_Del)+sizeof(ANS_Agent_DelData)*lCount; BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize); REQ_Agent_Del * pDel = (REQ_Agent_Del *)pDelSend; //头 ANS_Agent_DelData * pDelData = (ANS_Agent_DelData *)(pDelSend+sizeof(REQ_Agent_Del)); pDel->lCount = lCount; POSITION pos = m_wndList.GetFirstSelectedItemPosition(); ANS_Agent_SeeData * pSPData; POSITION pos2; while(pos) { pDelData->lItem = m_wndList.GetNextSelectedItem(pos); pos2 = (POSITION)m_wndList.GetItemData(pDelData->lItem); pSPData = m_Agent.GetNext(pos2); //取得列表中的pos pDelData->lAgentID = pSPData->lAgentID; pDelData ++; } m_pMainFrame->SendFrame( SMSFUNC_AGENT_DEL , pDelSend , lSize ); } void CK_Agent::On_Agent_Pay() { #ifndef SMSMANAGER_KF if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } #endif long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( !pData ) return ; REQ_Agent_Pay * pPay = new REQ_Agent_Pay; memset( pPay , 0 , sizeof(REQ_Agent_Pay)); _tcscpy( pPay->szAgentName , pData->szName ); pPay->fUsed = pData->fUsed; pPay->fTotal = pData->fTotal; pPay->lAgentID = pData->lAgentID; pPay->bTest = pData->bTest; pPay->fPriceOne= pData->fPriceOne; pPay->lItem = lItem; m_pMainFrame->SendFrame( SMSFUNC_AGENT_PAY , (BYTE*)pPay , sizeof(REQ_Agent_Pay) ); //取联系人信息 } void CK_Agent::On_Agent_MmsPay() { #ifndef SMSMANAGER_KF if ( !m_pMainFrame->GetUserPurview(PURVIEW_FILT) ) { return ; } #endif long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( !pData ) return ; REQ_Agent_MmsPay * pPay = new REQ_Agent_MmsPay; memset( pPay , 0 , sizeof(REQ_Agent_MmsPay)); _tcscpy( pPay->szAgentName , pData->szName ); pPay->lUsed = pData->lMmsUsed; pPay->lTotal = pData->lMmsTotal; pPay->fJFTotal = pData->fMmsJFTotal; pPay->lAgentID = pData->lAgentID; pPay->bTest = pData->bTest; pPay->fPriceOne= pData->fMmsPriceOne; pPay->lItem = lItem; m_pMainFrame->SendFrame( SMSFUNC_AGENT_MMSPAY , (BYTE*)pPay , sizeof(REQ_Agent_Pay) ); //取联系人信息 } void CK_Agent::On_Agent_File() { m_pDlgFile = NULL; //文件管理窗口为空 if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos <0 ) return ; ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_File * pFile = new REQ_Corp_File; memset( pFile , 0 , sizeof(REQ_Corp_File)); pFile->lReqType = 0; //查询 pFile->lCorpType= 1; //查询代理商ID pFile->lCorpID = pData->lAgentID; //代理商ID _tcscpy(pFile->szCorpName , pData->szName ); //企业名称 m_pMainFrame->SendFrame( SMSFUNC_CORP_FILE , (BYTE*)pFile , sizeof(REQ_Corp_File) ); //取联系人信息 } void CK_Agent::On_Agent_LXR() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_SP,false)) #else if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) ) #endif { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_LXR * pLXR = new REQ_Corp_LXR; memset( pLXR , 0 , sizeof(REQ_Corp_LXR)); _tcscpy( pLXR->szCorpName , pData->szName ); _stprintf( pLXR->szSMSNum ,_T("%d") , pData->lAgentID ); _tcscpy( pLXR->szAddress , pData->szAddress ); _tcscpy(pLXR->szPostCode, pData->szPostcode); //_tcscpy( pLXR->szPostCode , pData->sz ); pLXR->lCorpID = pData->lAgentID; pLXR->lCorpType=1; //查代理企业 pLXR->lPayType = 0;//非充值 pLXR->lPayID = 0; //充值ID pLXR->fPrice = 0.0f; //充值金额 m_pMainFrame->SendFrame( SMSFUNC_CORP_LXR , (BYTE*)pLXR , sizeof(REQ_Corp_LXR) ); //取联系人信息 } void CK_Agent::On_Agent_FP() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_SP,false)) #else if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY) ) #endif { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_FP * pFP = new REQ_Corp_FP; memset( pFP , 0 , sizeof(REQ_Corp_FP)); _tcscpy( pFP->szCorpName , pData->szName ); _tcscpy( pFP->szAddress , pData->szAddress ); pFP->lCorpID = pData->lAgentID; pFP->lYWYID = pData->lYWYID; pFP->lCorpType=1; //查代理企业 pFP->lPayType = 0;//非充值 pFP->lPayID = 0; //充值ID pFP->fPrice = 0.0f; //充值金额 m_pMainFrame->SendFrame( SMSFUNC_CORP_FP , (BYTE*)pFP , sizeof(REQ_Corp_FP) ); //取联系人信息 } void CK_Agent::On_Agent_SF() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_SP, false)) #else if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY)) #endif { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); REQ_Corp_SF_See * pSF = new REQ_Corp_SF_See; memset(pSF, 0, sizeof(REQ_Corp_SF_See)); _tcscpy(pSF->szCorpName, pData->szName); _tcscpy(pSF->szAddress, pData->szAddress); _tcscpy(pSF->szPostCode, pData->szPostcode); pSF->lCorpID = pData->lAgentID; pSF->lCorpType = 1; //查代理商 pSF->lPayType = 0;//非充值 pSF->lPayID = 0; //充值ID pSF->fPrice = 0.0f; //充值金额 m_pMainFrame->SendFrame(SMSFUNC_CORP_SF_SEE, (BYTE*)pSF, sizeof(REQ_Corp_SF_See)); //取联系人信息 } void CK_Agent::On_Agent_Refresh() { RefreshInfo(); } void CK_Agent::On_Agent_HS() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( !pData ) return ; if ( pData->lType ==2 ) //超级代理商不能回收。 return ; int iRet = MessageBox( _T("回收操作将会涉及代理商所有帐号,一般只在退款时使用,请慎重!") , _T("提示") , MB_ICONWARNING|MB_YESNOCANCEL|MB_DEFBUTTON2); if ( iRet != IDYES ) return ; REQ_Corp_HSSms * pHSSms = new REQ_Corp_HSSms; memset(pHSSms, 0 , sizeof(REQ_Corp_HSSms)); pHSSms->lItem = lItem; pHSSms->lCorpID= pData->lAgentID; _tcscpy(pHSSms->szCorpName , pData->szName ); pHSSms->lAgentID= pData->lAgentID; pHSSms->lSmsUsed = (long)(pData->fUsed*0.10f); pHSSms->lHSType = 3; //代理商所有用户回收短信 pHSSms->lUserType =1; //代理商用户 m_pMainFrame->SendFrame( SMSFUNC_CORP_HSSMS , (BYTE*)pHSSms , sizeof(REQ_Corp_HSSms) ); //取联系人信息 } void CK_Agent::On_Agent_PayToUser() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY) ) { return ; } long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( !pData ) return ; REQ_Corp_HSSms * pHSSms = new REQ_Corp_HSSms; memset(pHSSms, 0 , sizeof(REQ_Corp_HSSms)); pHSSms->lItem = lItem; pHSSms->lCorpID= pData->lAgentID; _tcscpy(pHSSms->szCorpName , pData->szName ); pHSSms->lAgentID= pData->lAgentID; pHSSms->lSmsUsed = (long)(pData->fUsed*0.10f); pHSSms->lHSType = 1; //退款查询 pHSSms->lUserType =1; //代理商用户 m_pMainFrame->SendFrame( SMSFUNC_CORP_HSSMS , (BYTE*)pHSSms , sizeof(REQ_Corp_HSSms) ); //取联系人信息 } void CK_Agent::On_User_Oper_Open() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Oper_Open dlg(this); dlg.SetParam_A(pData,true,this->m_pMainFrame->m_Setup.szUser); if ( dlg.DoModal() == IDOK ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=50; //企业开通 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //代理商操作 pAdd2->data.lOperType=50; //企业开通 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_Close() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Oper_Open dlg(this); dlg.SetParam_A(pData,false,this->m_pMainFrame->m_Setup.szUser); if ( dlg.DoModal() == IDOK ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType = 51; //企业关闭 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //代理商操作 pAdd2->data.lOperType = 51; //企业关闭 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_CloseCLI() { long lItem = m_wndList.GetFirstSelectedItem(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); DLG_Corp_Oper_Open dlg(this); dlg.SetParam_A(pData, 3, this->m_pMainFrame->m_Setup.szUser); if (dlg.DoModal() == IDOK) { long lCount = m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount - 1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet, 0, lSize); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*)pDataRet; REQ_Corp_Oper_Add * pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount - 1; _tcscpy(pAdd->data.szOperName, dlg.m_strOperName); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType = 1; //代理商操作 pAdd->data.lOperType = 32; //关闭客户端 _tcscpy(pAdd->data.szBZ, dlg.m_strBZ); for (int i = 0; ilCorpCount; i++) { lItem = m_wndList.GetFirstSelectedItem(lItem); if (lItem >= 0) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); if (pData) { _tcscpy(pAdd2->data.szOperName, dlg.m_strOperName); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType = 1; //代理商操作 pAdd->data.lOperType = 32; //关闭客户端 _tcscpy(pAdd2->data.szBZ, dlg.m_strBZ); } } pAdd2++; } m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //取联系人信息 } } void CK_Agent::On_User_Oper_AgentName() { long lItem = m_wndList.GetFirstSelectedItem(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData, 61); //更改代理商名称 if (dlg.DoModal() == IDOK && _tcscmp(pData->szName, dlg.m_AgentData.szName)) { long lCount = m_wndList.GetSelectedItemCount(); lCount = 1; //此项修改只能1对1 long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add) * (lCount - 1); BYTE* pDataRet = new BYTE[lSize]; memset(pDataRet, 0, lSize); REQ_Corp_Oper_Add* pAdd = (REQ_Corp_Oper_Add*)pDataRet; REQ_Corp_Oper_Add* pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount - 1; _tcscpy(pAdd->data.szOperName, dlg.m_strOperName); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType = 1; //企业操作 pAdd->data.lOperType = 61; //更改代理商名称 _tcscpy(pAdd->data.szBZ, dlg.m_strBZ); _stprintf(pAdd->data.szOperMsg, _T("%s ->%s"), pData->szName, dlg.m_AgentData.szName); _tcscpy(pAdd->szCMName,dlg.m_AgentData.szName); //需要改的数据 for (int i = 0; i < pAdd->lCorpCount; i++) { lItem = m_wndList.GetFirstSelectedItem(lItem); if (lItem >= 0) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); if (pData) { _tcscpy(pAdd2->data.szOperName, dlg.m_strOperName); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType = 1; //企业操作 pAdd2->data.lOperType = 61; //更改代理商名称 _tcscpy(pAdd2->data.szBZ, dlg.m_strBZ); _stprintf(pAdd2->data.szOperMsg, _T("%s ->%s"), pData->szName, dlg.m_AgentData.szName); _tcscpy(pAdd2->szCMName, dlg.m_AgentData.szName); //需要改的数据 } } pAdd2++; } m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //取联系人信息 } } void CK_Agent::On_User_Oper_ResetPasswd() { long lItem = m_wndList.GetFirstSelectedItem(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData, 62); //重置代理商登录密码 if (dlg.DoModal() == IDOK) { long lCount = m_wndList.GetSelectedItemCount(); lCount = 1; //此项修改只能1对1 long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add) * (lCount - 1); BYTE* pDataRet = new BYTE[lSize]; memset(pDataRet, 0, lSize); REQ_Corp_Oper_Add* pAdd = (REQ_Corp_Oper_Add*)pDataRet; REQ_Corp_Oper_Add* pAdd2 = (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount - 1; _tcscpy(pAdd->data.szOperName, dlg.m_strOperName); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType = 1; //代理商 pAdd->data.lOperType = 62; //重置代理商登录密码 _tcscpy(pAdd->data.szBZ, dlg.m_strBZ); _tcscpy(pAdd->szHTNum, pData->szLoginName); //登录名 if (_tcslen(pAdd->szHTNum) <= 0) //如果没有登录名,默认采用代理商ID为登录名。 _stprintf(pAdd->szHTNum, _T("%d"), pData->lAgentID); _stprintf(pAdd->data.szOperMsg, _T("重置代理商登录密码,登录账号:%s"), pAdd->szHTNum); m_pMainFrame->SendFrame(SMSFUNC_CORP_OPER_ADD, (BYTE*)pDataRet, lSize); //取联系人信息 } } void CK_Agent::On_User_Oper_YWY() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,3); if ( dlg.DoModal() == IDOK && pData->lYWYID!= dlg.m_AgentData.lYWYID ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=53; //更改业务员 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%s(%d)->%s(%d)"),GetName_YWY(pData->lYWYID),pData->lYWYID,GetName_YWY(dlg.m_AgentData.lYWYID),dlg.m_AgentData.lYWYID); pAdd->lYWYID = dlg.m_AgentData.lYWYID; //需要改的新 ID for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //代理商操作 pAdd2->data.lOperType=53; //更改业务员 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd2->data.szOperMsg, _T("%s(%d)->%s(%d)"),GetName_YWY(pData->lYWYID),pData->lYWYID,GetName_YWY(dlg.m_AgentData.lYWYID),dlg.m_AgentData.lYWYID); pAdd2->lYWYID = dlg.m_AgentData.lYWYID; //需要改的新 ID } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_Oper_See * pBZ = new REQ_Corp_Oper_See; memset( pBZ , 0 , sizeof(REQ_Corp_Oper_See)); pBZ->lCorpID = pData->lAgentID; pBZ->lUserType = 1; //查代理商 _tcscpy( pBZ->szName , pData->szName ); m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_Oper_See) ); //取联系人信息 } void CK_Agent::On_User_Oper_HTSend() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,5); if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Send,&dlg.m_AgentData.lHT_Send,sizeof(pData->lHT_Send)) ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=55; //更改合同寄出时间 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay,dlg.m_AgentData.lHT_Send.lYear,dlg.m_AgentData.lHT_Send.lMon,dlg.m_AgentData.lHT_Send.lDay); pAdd->lHTDate = dlg.m_AgentData.lHT_Send; //需要改的新 ID for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //企业操作 pAdd2->data.lOperType=55; //更改合同寄出时间 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd2->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay,dlg.m_AgentData.lHT_Send.lYear,dlg.m_AgentData.lHT_Send.lMon,dlg.m_AgentData.lHT_Send.lDay); pAdd2->lHTDate = dlg.m_AgentData.lHT_Send; //需要改的新 ID } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_HTRecv() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,6); if ( dlg.DoModal() == IDOK && memcmp(&pData->lHT_Recv,&dlg.m_AgentData.lHT_Recv,sizeof(pData->lHT_Recv)) ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=56; //更改合同回收时间 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay,dlg.m_AgentData.lHT_Recv.lYear,dlg.m_AgentData.lHT_Recv.lMon,dlg.m_AgentData.lHT_Recv.lDay); pAdd->lHTDate = dlg.m_AgentData.lHT_Recv; //需要改的新 ID for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //代理商操作 pAdd2->data.lOperType=56; //更改合同回收时间 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd2->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay,dlg.m_AgentData.lHT_Recv.lYear,dlg.m_AgentData.lHT_Recv.lMon,dlg.m_AgentData.lHT_Recv.lDay); pAdd2->lHTDate = dlg.m_AgentData.lHT_Recv; //需要改的新 ID } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_RegTime() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,7); if ( dlg.DoModal() == IDOK && memcmp(&pData->tCreateTime,&dlg.m_AgentData.tCreateTime,sizeof(pData->tCreateTime)) ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=57; //更改合同回收时间 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%04d.%02d.%02d -> %04d.%02d.%02d"),pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay,dlg.m_AgentData.tCreateTime.wYear,dlg.m_AgentData.tCreateTime.wMonth,dlg.m_AgentData.tCreateTime.wDay); pAdd->lHTDate.lYear = dlg.m_AgentData.tCreateTime.wYear; //需要改的新 ID pAdd->lHTDate.lMon = dlg.m_AgentData.tCreateTime.wMonth; //需要改的新 ID pAdd->lHTDate.lDay = dlg.m_AgentData.tCreateTime.wDay; //需要改的新 ID m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_PriceOne() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,58); //修改短信单价 if ( dlg.DoModal() == IDOK && pData->fPriceOne != dlg.m_AgentData.fPriceOne ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=58; //修改短信单价 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%.4f -> %.4f"),pData->fPriceOne,dlg.m_AgentData.fPriceOne); pAdd->fPriceOne = dlg.m_AgentData.fPriceOne; //需要改的新 ID m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_MmsPriceOne() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,60); //修改彩信单价 if ( dlg.DoModal() == IDOK && pData->fMmsPriceOne != dlg.m_AgentData.fPriceOne ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //代理商操作 pAdd->data.lOperType=60; //修改短信单价 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%.4f -> %.4f"),pData->fMmsPriceOne,dlg.m_AgentData.fPriceOne); pAdd->fPriceOne = dlg.m_AgentData.fPriceOne; //需要改的新 ID m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_User_Oper_AddCount() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,4); //更改允许添加企业数量 if ( dlg.DoModal() == IDOK && pData->lAddCorpCount!=dlg.m_AgentData.lAddCorpCount ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //企业操作 pAdd->data.lOperType=54; //更改允许添加企业数量 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%d ->%d "),pData->lAddCorpCount,dlg.m_AgentData.lAddCorpCount); pAdd->lAddressCount = dlg.m_AgentData.lAddCorpCount; //需要改的数据 for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //企业操作 pAdd2->data.lOperType=54; //更改允许添加企业数量 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd2->data.szOperMsg, _T("%d ->%d "),pData->lAddCorpCount,dlg.m_AgentData.lAddCorpCount); pAdd2->lAddressCount = dlg.m_AgentData.lAddCorpCount; //需要改的数据 } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } void CK_Agent::On_Agent_BZ_Man() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See; memset( pBZ , 0 , sizeof(REQ_Corp_BZ_See)); pBZ->lCorpID = pData->lAgentID; pBZ->lUserType = 1; //查代理商备注 pBZ->lBZType = 0; //查管理员备注 _tcscpy( pBZ->szName , pData->szName ); m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_See) ); //取联系人信息 } void CK_Agent::On_Agent_BZ_YWY() { long lItem = GetCurrentSelected(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); REQ_Corp_BZ_See * pBZ = new REQ_Corp_BZ_See; memset( pBZ , 0 , sizeof(REQ_Corp_BZ_See)); pBZ->lCorpID = pData->lAgentID; pBZ->lUserType = 1; //查代理商备注 pBZ->lBZType = 1; //查业务员备注 _tcscpy( pBZ->szName , pData->szName ); m_pMainFrame->SendFrame( SMSFUNC_CORP_BZ_SEE , (BYTE*)pBZ , sizeof(REQ_Corp_BZ_See) ); //取联系人信息 } BOOL CK_Agent::FindLoginName(const TCHAR *pLoginName, POSITION exPos) { POSITION pos = m_Agent.GetHeadPosition(); POSITION pos2; while (pos) { pos2 = pos; ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pos2 != exPos ) { if ( !_tcscmp( pData->szLoginName , pLoginName ) ) return true; } } return false; } void CK_Agent::Close_Agent() { //清除队列中的内容 while (!m_Agent.IsEmpty()) { ANS_Agent_SeeData * pData = m_Agent.GetHead(); m_Agent.RemoveHead(); delete pData; } } void CK_Agent::Close_YWY() { //清除队列中的内容 while (!m_YWY.IsEmpty()) { ANS_YWY_NameData * pData = m_YWY.GetHead(); m_YWY.RemoveHead(); delete pData; } } BOOL CK_Agent::PreTranslateMessage(MSG* pMsg) { if ( pMsg->hwnd == m_E_AgentID && pMsg->message == WM_KEYDOWN ) { if ( pMsg->wParam == 13 ) //回车键 { this->OnAgentQuery(); return true; } } if ( pMsg->hwnd == m_E_YWYID && pMsg->message == WM_KEYDOWN ) { if ( pMsg->wParam == 13 ) //回车键 { this->OnAgentQuery2(); return true; } } return CDialog::PreTranslateMessage(pMsg); } void CK_Agent::OnAgentQuery() { CString strFind; m_E_AgentID.GetWindowText(strFind); if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE,false) ) { if ( _ttol(strFind)<100000 || _ttol(strFind)>900000 ) { #ifdef SMSMANAGER_KF if ( strFind.GetLength()<2 ) #else #ifndef SMSCENTER_ADC if ( strFind.GetLength()<4 ) #else if ( false ) #endif #endif { MessageBox( _T("查询输入的内容过少,请重输!") , _T("错误") , MB_ICONWARNING ); GetDlgItem(IDC_AGENT_AGENTID)->SetFocus(); return ; } } } REQ_Agent_See3 * pSee = new REQ_Agent_See3; memset( pSee , 0 , sizeof(REQ_Agent_See3)); _tcscpy( pSee->szQuery , strFind ); pSee->lQueryType = 0; //正常查询 m_lQueryType2 = 0; //正常查询 m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE3,(BYTE*)pSee,sizeof(REQ_Agent_See3)); //取企业信息 return ; /* CString strFind; m_E_AgentID.GetWindowText(strFind); if ( strFind.GetLength()>0 ) { long lSel = this->GetCurrentSelected(); long lCount = m_wndList.GetItemCount(); m_wndList.UnSelectAllItems(); for ( int i=lSel+1 ; i=0 || str2.Find(strFind)>=0) { m_wndList.SelectItem(i,false); //m_wndList.SelectItem(i); m_wndList.EnsureVisible(i,true); return ; } } for ( i=0 ; i=0 || str2.Find(strFind)>=0) { m_wndList.SelectItem(i); m_wndList.EnsureVisible(i,true); return ; } } } */ } void CK_Agent::OnAgentQuery2() { CString strTemp; CString strFind; m_E_YWYID.GetWindowText(strFind); if ( strFind.GetLength()<=0 ) return ; long lSel = m_L_YWY.GetCurSel(); long lCount = m_L_YWY.GetCount(); for ( int i=lSel+1 ; i=0 ) { m_L_YWY.SetCurSel(i); OnSelchangeAgentYwy(); return ; } } for ( i=0 ; i=0 ) { m_L_YWY.SetCurSel(i); OnSelchangeAgentYwy(); return ; } } } void CK_Agent::OnSelchangeAgentYwy() { ReShowUser(); } void CK_Agent::ReShowUser() { long lItem = m_L_YWY.GetCurSel(); long lYWYID=-10; if ( lItem >= 0 ) { lYWYID = m_L_YWY.GetItemData(lItem); } m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); //删除原有的内容 double dUsed=0.0f; double dTotal=0.0f; CString strTemp; POSITION pos = m_Agent.GetHeadPosition(); POSITION pos2=0; int i=0; while ( pos ) { pos2 = pos; ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); if ( pData ) { if (lYWYID <=0 || lYWYID == pData->lYWYID) { //m_wndList.SetHeadings(_T("序号,50; 代理商名称,180; 登录名,100; ID,60;可用余额,90; 总量,100;帐号数量,90;最后登录,90;创建时间,90;业务员,60;")); long lTemp=1; strTemp.Format(_T("%d") , i+1 ); m_wndList.InsertItem( i , strTemp , pData->lStatus ); m_wndList.SetItemData( i , (DWORD)pos2 ); //存Pos m_wndList.SetItemText(i,lTemp++,pData->szName); m_wndList.SetItemText(i,lTemp++,pData->szLoginName); strTemp.Format( _T("%d") , pData->lAgentID ); m_wndList.SetItemText(i,lTemp++,strTemp); #ifndef SMSMANAGER_KF strTemp.Format( _T("%.4f"),pData->fPriceOne ); //短信单价 m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),long(pData->fUsed*10.0f) ); m_wndList.SetItemText(i,lTemp++,strTemp); #else strTemp= _T("<= 0"); if ( long(pData->fUsed*10.0f)>100 ) { strTemp= _T("> 100"); } if ( long(pData->fUsed*10.0f)<=100 && long(pData->fUsed*10.0f)>0 ) { strTemp = _T("< 100"); } m_wndList.SetItemText(i,lTemp++,strTemp); strTemp= _T("<= 0"); if ( pData->lMmsUsed>100 ) { strTemp= _T("> 100"); } if ( pData->lMmsUsed<=100 && pData->lMmsUsed>0 ) { strTemp = _T("< 100"); } m_wndList.SetItemText(i,lTemp++,strTemp); #endif #ifndef SMSMANAGER_KF strTemp.Format( _T("%10d"),long(pData->fTotal*10.0f) ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fJFTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%5.2f"),pData->fMmsPriceOne ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsUsed ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%10d"),pData->lMmsTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%.2f"),pData->fMmsJFTotal ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T(" %d/%d"),pData->lAddedCorp,pData->lAddCorpCount ); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tLoginTime.wYear,pData->tLoginTime.wMonth,pData->tLoginTime.wDay); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay); m_wndList.SetItemText(i,lTemp++,strTemp); #endif strTemp.Format( _T("%04d.%02d.%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay); m_wndList.SetItemText(i,lTemp++,strTemp); m_wndList.SetItemText(i,lTemp++,GetName_YWY(pData->lYWYID)); #ifndef SMSMANAGER_KF strTemp.Format( _T("%04d.%02d.%02d") , pData->lHT_Send.lYear,pData->lHT_Send.lMon,pData->lHT_Send.lDay); m_wndList.SetItemText(i,lTemp++,strTemp); strTemp.Format( _T("%04d.%02d.%02d") , pData->lHT_Recv.lYear,pData->lHT_Recv.lMon,pData->lHT_Recv.lDay); m_wndList.SetItemText(i,lTemp++,strTemp); #endif //判断短信量 long lSmsFZ = pData->lSmUsed; if (lSmsFZ <= 0) lSmsFZ = 2000; long lIconIndex = 0; CString strNotify; if (long(pData->fUsed*10.0f) <= lSmsFZ) { lIconIndex = 3; strNotify = _T("短信量低"); } if (long(pData->fUsed*10.0f) <= lSmsFZ / 2) //短信量极度不足 { lIconIndex = 4; strNotify = _T("短信量极低"); } //判断过期 CString strNotify2; long lIconIndex2 = 0; COleDateTime tOvr(pData->tOvrTime); if (tOvr.GetStatus() == COleDateTime::valid) { if (tOvr - COleDateTime::GetCurrentTime() < COleDateTimeSpan(30 * 3, 0, 0, 0)) //快过期 { lIconIndex2 = 3; strNotify2 = _T("快过期"); } if (tOvr <= COleDateTime::GetCurrentTime()) //已过期 { lIconIndex2 = 4; strNotify2 = _T("已过期"); } if (lIconIndex2 > lIconIndex) lIconIndex = lIconIndex2; if (strNotify2.GetLength() > 0) { if (strNotify.GetLength() > 0) strNotify = strNotify + CString(_T(";")) + strNotify2; else strNotify = strNotify2; } } strNotify2 = CString(_T("")); lIconIndex2 = 0; COleDateTime tUser(pData->tLoginTime); if (tUser.GetStatus() != COleDateTime::valid) tUser = COleDateTime(pData->tCreateTime); if (tUser.GetStatus() == COleDateTime::valid) { COleDateTimeSpan tTemp = COleDateTime::GetCurrentTime() - tUser; long lMon = tTemp.GetTotalDays() / 30; if (lMon >= 3) { lIconIndex2 = 4; strNotify2.Format(_T("超%d月没登录"), lMon); } else if (lMon >= 1) { lIconIndex2 = 3; strNotify2.Format(_T("超%d月没登录"), lMon); } if (lIconIndex2 > lIconIndex) lIconIndex = lIconIndex2; if (strNotify2.GetLength() > 0) { if (strNotify.GetLength() > 0) strNotify = strNotify + CString(_T(";")) + strNotify2; else strNotify = strNotify2; } } //设置警告图标 if (pData->lStatus != 1 && lIconIndex > 0) m_wndList.SetIconIndex(i, lIconIndex); //显示提示信息 m_wndList.SetItemText(i, lTemp++, strNotify); dUsed += pData->fUsed; dTotal += pData->fTotal; i++; } } } #ifndef SMSMANAGER_KF m_wndList.InsertItem(i,_T(""),5 ); m_wndList.SetItemData(i,-1); i++; m_wndList.InsertItem(i,_T("合计"),5); m_wndList.SetItemText(i,1,_T("")); m_wndList.SetItemData(i,-1); TCHAR Buf[64]={0}; _stprintf( Buf,_T("%I64d"),(LONGLONG)(dUsed*10.0f) ); m_wndList.SetItemText(i,4,Buf); _stprintf( Buf,_T("%I64d"),(LONGLONG)(dTotal*10.0f) ); m_wndList.SetItemText(i,6,Buf); #endif m_wndList.ShowWindow(SW_SHOW); } CString CK_Agent::GetName_YWY(long lYWYID) { //业务员 CString strTemp=_T("无业务员"); POSITION pos = m_YWY.GetHeadPosition(); POSITION pos2; while (pos) { pos2=pos; ANS_YWY_NameData * pYWY = m_YWY.GetNext( pos ); if ( pYWY->lYWYID == lYWYID ) { strTemp = pYWY->szYWYName; break; } } return strTemp; } void CK_Agent::On_User_Oper_TCPer() { long lItem = m_wndList.GetFirstSelectedItem(); if ( lItem < 0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); DLG_Corp_Open_ChangeA dlg(this); dlg.SetParam(*pData,59); //更改提成比例 if ( dlg.DoModal() == IDOK && pData->lTCPer!=dlg.m_AgentData.lTCPer ) { long lCount=m_wndList.GetSelectedItemCount(); long lSize = sizeof(REQ_Corp_Oper_Add) + sizeof(REQ_Corp_Oper_Add)*(lCount-1); BYTE * pDataRet = new BYTE[lSize]; memset(pDataRet , 0 , lSize ); REQ_Corp_Oper_Add * pAdd = (REQ_Corp_Oper_Add*) pDataRet; REQ_Corp_Oper_Add * pAdd2= (REQ_Corp_Oper_Add*)(pDataRet + sizeof(REQ_Corp_Oper_Add)); pAdd->lCorpCount = lCount-1; _tcscpy(pAdd->data.szOperName , dlg.m_strOperName ); pAdd->data.lCorpID = pData->lAgentID; pAdd->data.lUserType=1 ; //企业操作 pAdd->data.lOperType=59; //更改提成比例 _tcscpy( pAdd->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd->data.szOperMsg, _T("%d ->%d "),pData->lTCPer,dlg.m_AgentData.lTCPer); pAdd->lAddressCount = dlg.m_AgentData.lTCPer; //需要改的数据 for ( int i=0 ; ilCorpCount ; i++ ) { lItem = m_wndList.GetFirstSelectedItem(lItem); if ( lItem >=0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext( pos ); if ( pData ) { _tcscpy(pAdd2->data.szOperName , dlg.m_strOperName ); pAdd2->data.lCorpID = pData->lAgentID; pAdd2->data.lUserType=1 ; //企业操作 pAdd2->data.lOperType=59; //更改提成比例 _tcscpy( pAdd2->data.szBZ , dlg.m_strBZ ); _stprintf(pAdd2->data.szOperMsg, _T("%d ->%d "),pData->lTCPer,dlg.m_AgentData.lTCPer); pAdd2->lAddressCount = dlg.m_AgentData.lTCPer; //需要改的数据 } } pAdd2 ++; } m_pMainFrame->SendFrame( SMSFUNC_CORP_OPER_ADD , (BYTE*)pDataRet , lSize ); //取联系人信息 } } BOOL CK_Agent::ProcessSocket(Socket_Head_Add *pHead,BYTE* pFrame) { CString strTemp; CString str; //查看支付记录 if (pHead->lFuncType == SMSFUNC_AGENT_MMSPAY) { ANS_Agent_MmsPay * pPay = (ANS_Agent_MmsPay *)pFrame; ANS_Agent_MmsPayData * pData= (ANS_Agent_MmsPayData *)(pFrame+sizeof(ANS_Agent_MmsPay)); ANS_Corp_MemberData * pMemberData= (ANS_Corp_MemberData *)(pFrame+sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount); if ( pPay->lCount < 0 ) //权限不足,返回错误 return true; #ifndef SMSCENTER_NX if ( pHead->lFrameLen == sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount+sizeof(ANS_Agent_Exp) ) //带扩展头的 { ANS_Agent_Exp * pExp = (ANS_Agent_Exp *)(pFrame+sizeof(ANS_Agent_MmsPay)+sizeof(ANS_Agent_MmsPayData)*pPay->lCount+sizeof(ANS_Corp_MemberData)*pPay->lMemberCount); if ( pExp->lExpID == CORP_AGENT_EXP_ID&& !pExp->bOK) { str.Format(_T("%s缺以下资料,建议补全后再充值,是否继续?\r\n%s") , pPay->szAgentName,pExp->szNoData); int iRet=MessageBox(str,_T("提示") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2); if ( iRet != IDYES ) { return true; } } } #endif //取用户类型 POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lItem); ANS_Agent_SeeData * pDataC = m_Agent.GetNext( pos ); if ( !pDataC ) return true; DLG_Agent_MmsPay dlg(this); dlg.SetParam( *pPay , pData , pMemberData,*pDataC ); dlg.m_bSOS = this->m_pMainFrame->m_bSOS; dlg.m_pMainFrame = this->m_pMainFrame; if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0 ) { long lSize = sizeof(REQ_Agent_MmsPayModify) + sizeof(ANS_Agent_MmsPayData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Agent_MmsPayModify * pModifySend = (REQ_Agent_MmsPayModify*)pDataSend; ANS_Agent_MmsPayData * pPaySend = (ANS_Agent_MmsPayData *)(pDataSend+sizeof(REQ_Agent_MmsPayModify)); pModifySend->lAgentID = pPay->lAgentID; pModifySend->lItem = pPay->lItem; pModifySend->lTotal = dlg.m_PayReq.lTotal; //取得修改后的总额 pModifySend->lUsed= dlg.m_PayReq.lUsed; pModifySend->fJFTotal= dlg.m_PayReq.fJFTotal; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Agent_MmsPayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); if (pPayTemp->ucStatus != 0 ) //不为0,需要修改 { *pPaySend = *pPayTemp; if ( !m_pMainFrame->GetUserPurview(PURVIEW_CORP_MODIFY,false) ) //不是财务,不能置应收时间 { memset(&pPaySend->tYSTime,0,sizeof(pPaySend->tYSTime)); } pPaySend ++; } delete pPayTemp; } m_pMainFrame->SendFrame( SMSFUNC_AGENT_MMSPAYMODIFY , pDataSend , lSize ); } else { //清除队列中的内容 ANS_Agent_MmsPayData * pPayTemp; while (!dlg.m_Pay.IsEmpty()) { pPayTemp = dlg.m_Pay.GetHead(); dlg.m_Pay.RemoveHead(); delete pPayTemp; } } return true; } //充值记录修改 if (pHead->lFuncType == SMSFUNC_AGENT_MMSPAYMODIFY) { ANS_Agent_MmsPayModify* pModify = (ANS_Agent_MmsPayModify*)pFrame; ANS_Agent_MmsPayData * pData = (ANS_Agent_MmsPayData *)(pFrame+sizeof(ANS_Agent_MmsPayModify)); if ( pModify->lCount == -12 ) { MessageBox( _T("添加短信失败,你的信用余额不足!") , _T("错误") , MB_ICONWARNING ); return true; } if ( pModify->lCount<0 ) { MessageBox( _T("添加短信失败,未知原因!") , _T("错误") , MB_ICONWARNING ); return true; } if ( pModify->lItem >= 0 ) { POSITION pos = (POSITION)m_wndList.GetItemData(pModify->lItem); ANS_Agent_SeeData * pData2 = m_Agent.GetNext( pos ); if ( pData2 ) { pData2->lMmsTotal = pModify->lTotal; pData2->lMmsUsed = pModify->lUsed; pData2->fMmsJFTotal = pModify->fJFTotal; strTemp.Format( _T("%10d"),pData2->lMmsUsed ); m_wndList.SetItemText(pModify->lItem,9,strTemp); strTemp.Format( _T("%10d"),pData2->lMmsTotal ); m_wndList.SetItemText(pModify->lItem,10,strTemp); strTemp.Format( _T("%.2f"),pData2->fMmsJFTotal ); m_wndList.SetItemText(pModify->lItem,11,strTemp); } } return true; } //查看联系人 if (pHead->lFuncType == SMSFUNC_CORP_FP) { ANS_Corp_FP * pFP = (ANS_Corp_FP *)pFrame; if (pFP->lCount < 0) //权限不足 return true; ANS_Corp_FPData * pData= (ANS_Corp_FPData *)(pFrame+sizeof(ANS_Corp_FP)); ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pFrame + sizeof(ANS_Corp_FP) + sizeof(ANS_Corp_FPData)*pFP->lCount); DLG_Corp_FP dlg(this); m_pFPDlg = &dlg; dlg.SetParam( *pFP , pData,1, pYWYData); //企业类型为:1(代理) if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0) { long lSize = sizeof(REQ_Corp_FPModify) + sizeof(ANS_Corp_FPData)*dlg.m_lModifyCount; BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize ); REQ_Corp_FPModify * pModifySend = (REQ_Corp_FPModify*)pDataSend; ANS_Corp_FPData * pFPSend = (ANS_Corp_FPData *)(pDataSend+sizeof(REQ_Corp_FPModify)); pModifySend->lCorpID= pFP->lCorpID; pModifySend->lCount = dlg.m_lModifyCount; //清除队列中的内容 ANS_Corp_FPData * pFPTemp; while (!dlg.m_FP.IsEmpty()) { pFPTemp = dlg.m_FP.GetHead(); //pFPTemp->lCorpType = 0; //强制设置企业类型为:0(企业) dlg.m_FP.RemoveHead(); if (pFPTemp->ucStatus != 0 ) //不为0,需要修改 { *pFPSend = *pFPTemp; pFPSend ++; } delete pFPTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_FPMODIFY , pDataSend , lSize ); } else { //清除队列中的内容 ANS_Corp_FPData * pFPTemp; while (!dlg.m_FP.IsEmpty()) { pFPTemp = dlg.m_FP.GetHead(); dlg.m_FP.RemoveHead(); delete pFPTemp; } } m_pFPDlg = NULL; return true; } //联系人修改 if (pHead->lFuncType == SMSFUNC_CORP_FPMODIFY) { return true; } if (pHead->lFuncType == SMSFUNC_CORP_SF_SEE) { ANS_Corp_SF_See * pSFSee = (ANS_Corp_SF_See *)pFrame; if (pSFSee->lCount < 0) //权限不足 return true; ANS_Corp_SFData * pData = (ANS_Corp_SFData *)(pFrame + sizeof(ANS_Corp_SF_See)); ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pFrame + sizeof(ANS_Corp_LXR) + sizeof(ANS_Corp_LXRData)*pSFSee->lCount); DLG_Corp_SF dlg(this); dlg.SetParam(pSFSee, pData, pYWYData); //企业类型为:0(企业) m_pSFDlg = &dlg; dlg.DoModal(); m_pSFDlg = NULL; return true; } if (pHead->lFuncType == SMSFUNC_CORP_SF_ADD || pHead->lFuncType == SMSFUNC_CORP_SF_CANCEL || pHead->lFuncType == SMSFUNC_CORP_SF_ROUTE) { if (m_pLXRDlg) { m_pLXRDlg->ProcessSocket(pHead, pFrame); } if (m_pFPDlg) { m_pFPDlg->ProcessSocket(pHead, pFrame); } if (m_pSFDlg) { m_pSFDlg->ProcessSocket(pHead, pFrame); } return true; } if (pHead->lFuncType == SMSFUNC_CORP_ANALYSE) { if (m_pAnalyseDlg) { m_pAnalyseDlg->ProcessSocket(pHead, pFrame); } return true; } //延期 if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRY) { ANS_Corp_Assist_Expiry* pAns = (ANS_Corp_Assist_Expiry*)pFrame; if (pAns->iErrCode == 0) //成功 { str.Format(_T("企业延期成功,新的过期日为:%04d.%02d.%02d\r\n请刷新数据验证!"), pAns->req.tNewOvrTime.wYear, pAns->req.tNewOvrTime.wMonth, pAns->req.tNewOvrTime.wDay); MessageBox(str, _T("成功"), MB_ICONINFORMATION); POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem); ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos); if (pData2) { pData2->tOvrTime = pAns->req.tNewOvrTime; //设置新的过期时间 } } else { str.Format(_T("企业延期失败:%s"), pAns->szErrMsg); MessageBox(str, _T("错误"), MB_ICONERROR); } return true; } //取企业信息 if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_GETCORP) { if (m_pTransferDlg) { m_pTransferDlg->ProcessSocket(pHead, pFrame); } return true; } //转移短彩信 if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_TRANSFER) { ANS_Corp_Assist_Transfer * pAns = (ANS_Corp_Assist_Transfer*)pFrame; if (pAns->iErrCode == 0) //成功 { str.Format(_T("转移短/彩信成功,共转移%d条,%d - > %d !"), pAns->req.lSQuantity, pAns->req.lSCorpID, pAns->req.lTCorpID); MessageBox(str, _T("成功"), MB_ICONINFORMATION); POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem); ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos); if (pData2) { if (pAns->req.lSCorpID == pData2->lAgentID) { if (pAns->req.lSProduct == 0) pData2->fUsed = pData2->fUsed - ((float)pAns->req.lSQuantity / 10.0f); else pData2->lMmsUsed = pData2->lMmsUsed - pAns->req.lSQuantity; } } } else { str.Format(_T("转移短/彩信量失败:%s"), pAns->szErrMsg); MessageBox(str, _T("错误"), MB_ICONERROR); } return true; } //过期回收,取企业信息 if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING_GET) { ANS_Corp_Assist_ExpiryRecycling_Get* pAns = (ANS_Corp_Assist_ExpiryRecycling_Get*)pFrame; if (pAns->iErrCode == 0) //成功 { DLG_Corp_ExpiryRecycling dlg(this); dlg.SetData(pAns, 1); //设置数据,代理商客户 if (dlg.DoModal() == IDOK) { REQ_Corp_Assist_ExpiryRecycling* pRecycling = new REQ_Corp_Assist_ExpiryRecycling; memset(pRecycling, 0, sizeof(REQ_Corp_Assist_ExpiryRecycling)); pRecycling->lItem = pAns->req.lItem; pRecycling->lCorpID = pAns->req.lCorpID; pRecycling->lUserType = 1; //0终端,1-代理商 pRecycling->lRecyclingSmsCount = dlg.m_lSmsRecyclingCount; pRecycling->lRecyclingMmsCount = dlg.m_lMmsRecyclingCount; _tcscpy(pRecycling->szBZ, dlg.m_strBZ); GetLocalTime(&pRecycling->tLocalTime); m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING, (BYTE*)pRecycling, sizeof(REQ_Corp_Assist_ExpiryRecycling)); //取联系人信息 } } else { str.Format(_T("代理商过期回收失败:%s"), pAns->szErrMsg); MessageBox(str, _T("错误"), MB_ICONERROR); } return true; } //过期回收 if (pHead->lFuncType == SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING) { ANS_Corp_Assist_ExpiryRecycling* pAns = (ANS_Corp_Assist_ExpiryRecycling*)pFrame; if (pAns->iErrCode == 0) //成功 { str.Format(_T("代理商过期回收成功!!\r\n请刷新数据验证!")); MessageBox(str, _T("成功"), MB_ICONINFORMATION); POSITION pos = (POSITION)m_wndList.GetItemData(pAns->req.lItem); ANS_Agent_SeeData* pData2 = m_Agent.GetNext(pos); if (pData2) { pData2->fUsed = (double)pAns->lSmsBalance/10.0f; //设置新的短信余额 pData2->lMmsUsed = pAns->lMmsBalance; //设置新的短信余额 //pData2->lTotalSms = pData2->lTotalSms - pAns->req.lRecyclingSmsCount; //总短信量 pData2->lMmsTotal = pData2->lMmsTotal - pAns->req.lRecyclingMmsCount; //总彩信量 } } else { str.Format(_T("代理商过期回收失败:%s"), pAns->szErrMsg); MessageBox(str, _T("错误"), MB_ICONERROR); } return true; } return false; } void CK_Agent::On_Agent_QueryBackAgent() { CString strFind; m_E_AgentID.GetWindowText(strFind); if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false)) { if (_ttol(strFind) < 100000 || _ttol(strFind) > 900000) { #ifdef SMSMANAGER_KF if (strFind.GetLength() < 2) #else #ifndef SMSCENTER_ADC if (strFind.GetLength() < 4) #else if (false) #endif #endif { MessageBox(_T("查询输入的内容过少,请重输!"), _T("错误"), MB_ICONWARNING); GetDlgItem(IDC_AGENT_AGENTID)->SetFocus(); return; } } } REQ_Agent_See3 * pSee = new REQ_Agent_See3; memset(pSee, 0, sizeof(REQ_Agent_See3)); _tcscpy(pSee->szQuery, strFind); pSee->lQueryType = 3; //查询已销户数据 m_lQueryType2 = 3; //查询已销户数据 m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE3, (BYTE*)pSee, sizeof(REQ_Agent_See3)); //取企业信息 return; } void CK_Agent::On_Agent_Analyse() { if (!m_pMainFrame->GetUserPurview(PURVIEW_FILT)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData * pData = m_Agent.GetNext(pos); if (!pData) return; m_bModify = false; DLG_Corp_Analyse dlg(this); dlg.SetParam(this->m_pMainFrame, pData->lAgentID, 1, lItem, pData->szName); this->m_pAnalyseDlg = &dlg; dlg.DoModal(); m_pAnalyseDlg = NULL; } void CK_Agent::On_User_Assist_Extension() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); if (pData->lAgentID <= 0) return; CString strYWY = GetName_YWY(pData->lYWYID); DLG_Corp_Extension dlg(this); dlg.SetData(pData->lAgentID,pData->szName, strYWY, pData->tOvrTime, 1); //设置数据,企业名称,客户经理,过期时间,终端客户 if (dlg.DoModal() == IDOK) { REQ_Corp_Assist_Expiry* pExpiry = new REQ_Corp_Assist_Expiry; memset(pExpiry, 0, sizeof(REQ_Corp_Assist_Expiry)); pExpiry->lItem = lItem; pExpiry->lCorpID = pData->lAgentID; pExpiry->lType = 1; //0终端,1-代理商 GetLocalTime(&pExpiry->tLocalTime); pExpiry->tNewOvrTime = dlg.GetData(); _tcscpy(pExpiry->szBZ, dlg.m_strBZ); m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRY, (BYTE*)pExpiry, sizeof(REQ_Corp_Assist_Expiry)); //取联系人信息 } } void CK_Agent::On_User_Assist_SmsTransfer() { On_User_Assist_Transfer(0, 0); } void CK_Agent::On_User_Assist_MmsTransfer() { On_User_Assist_Transfer(1, 1); } void CK_Agent::On_User_Assist_SmsMmsTransfer() { On_User_Assist_Transfer(0, 1); } void CK_Agent::On_User_Assist_Transfer(long lSProduct, long lTProduct) { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); if (!pData) return; DLG_Corp_Transfer dlg(this); dlg.SetParam(this->m_pMainFrame, lItem, pData->lAgentID, 1/*代理商*/, lSProduct, lTProduct); this->m_pTransferDlg = &dlg; int iRet = dlg.DoModal(); m_pTransferDlg = NULL; if (iRet == IDOK) //发送进行转移操作 { } } void CK_Agent::On_User_Assist_ExpiryRecycling() { if (!m_pMainFrame->GetUserPurview(PURVIEW_CORP_PAY)) { return; } long lItem = GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); ANS_Agent_SeeData* pData = m_Agent.GetNext(pos); if (!pData) return; REQ_Corp_Assist_ExpiryRecycling_Get* pExpiry = new REQ_Corp_Assist_ExpiryRecycling_Get; memset(pExpiry, 0, sizeof(REQ_Corp_Assist_ExpiryRecycling_Get)); pExpiry->lItem = lItem; pExpiry->lCorpID = pData->lAgentID; pExpiry->lUserType = 1; //0终端,1-代理商 GetLocalTime(&pExpiry->tLocalTime); m_pMainFrame->SendFrame(SMSFUNC_CORP_ASSIST_EXPIRYRECYCLING_GET, (BYTE*)pExpiry, sizeof(REQ_Corp_Assist_ExpiryRecycling_Get)); //取联系人信息 }