| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- #include "formsrvinfo.h"
- #include "ui_formsrvinfo.h"
- #include "WSSSO.h"
- #include "respgetusersso.h"
- #include "respmfuserpay.h"
- #include "dialogbindsystem.h"
- #include "respgetsysaccount.h"
- FormSrvInfo::FormSrvInfo(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::FormSrvInfo)
- {
- ui->setupUi(this);
- resetUI();
- }
- FormSrvInfo::~FormSrvInfo()
- {
- delete ui;
- qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
- <<"SNCUser.FormSrvInfo Destroyed.";
- }
- void FormSrvInfo::setUserHash(QString userHash)
- {
- this->userHash = userHash;
- if(!userHash.isEmpty())
- refreshSrvInfo();
- else
- resetUI();
- }
- void FormSrvInfo::initBindSrvInfoTable(int rows)
- {
- QStringList headers;
- headers.append("服务名称");
- headers.append("账户余额");
- headers.append("账户赠送余额");
- headers.append("有效期自");
- headers.append("有效期至");
- headers.append("当前状态");
- headers.append("操作");
- ui->tableWidgetSrvInfo->setRowCount(0);
- ui->tableWidgetSrvInfo->setColumnCount(0);
- ui->tableWidgetSrvInfo->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidgetSrvInfo->setColumnCount(7);
- ui->tableWidgetSrvInfo->setHorizontalHeaderLabels(headers);
- ui->tableWidgetSrvInfo->setRowCount(rows);
- ui->tableWidgetSrvInfo->setShowGrid(false);
- ui->tableWidgetSrvInfo->setAlternatingRowColors(true);
- ui->tableWidgetSrvInfo->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidgetSrvInfo->setSelectionMode(QAbstractItemView::MultiSelection);
- ui->tableWidgetSrvInfo->setColumnWidth(0,100);
- ui->tableWidgetSrvInfo->setColumnWidth(1,110);
- ui->tableWidgetSrvInfo->setColumnWidth(2,110);
- ui->tableWidgetSrvInfo->setColumnWidth(3,110);
- ui->tableWidgetSrvInfo->setColumnWidth(4,80);
- ui->tableWidgetSrvInfo->setColumnWidth(5,80);
- ui->tableWidgetSrvInfo->setColumnWidth(6,90);
- ui->tableWidgetSrvInfo->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidgetSrvInfo->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetSrvInfo->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetSrvInfo->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidgetSrvInfo->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidgetSrvInfo->verticalHeader()->setFixedWidth(25);
- ui->tableWidgetSrvInfo->horizontalHeader()->setFixedHeight(25);
- ui->tableWidgetSrvInfo->setSortingEnabled(true);
- }
- void FormSrvInfo::renderBindSrvInfo(QMultiMap<QString, QString> map, int rowCount)
- {
- if(rowCount==0)
- {
- setDefaultBindSrvInfo();
- return ;
- }
- initBindSrvInfoTable(rowCount);
- ui->tableWidgetSrvInfo->setEnabled(true);
- QStringList keys;
- keys<<"sysCode"<<"userMoney"<<"userGiftMoney"<<"starttime"<<"endtime"<<"status";
- for(int col=0;col<keys.size();col++)
- {
- QStringList rows = map.values(keys.at(col));
- for(int row=0;row<rows.size();row++)
- {
- QString display = rows.at(row);
- QTableWidgetItem *item;
- item = new QTableWidgetItem();
- if(keys.at(col)=="sysCode")
- {
- if(rows.at(row)=="1")
- display = "瞬时空号检测";
- else if(rows.at(row)=="2")
- display = "名远空号检测";
- else if(rows.at(row)=="3")
- display = "帮我选号码";
- else
- display = "其他";
- }
- if(keys.at(col)=="status")
- {
- if(rows.at(row)=="0")
- display = "禁用";
- else if(rows.at(row)=="1")
- display = "正常";
- else
- display = "未开通";
- }
- item->setData(Qt::UserRole,rows.at(row));
- item->setData(Qt::DisplayRole,display);
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- ui->tableWidgetSrvInfo->setItem(row,col,item);
- }
- }
- for(int row = 0;row < rowCount;row++)
- {
- QPushButton *pushButton = new QPushButton("");
- ui->tableWidgetSrvInfo->setCellWidget(row,keys.size(),pushButton);
- connect(pushButton,SIGNAL(clicked()),this,SLOT(onRowPushButtonClick()));
- QString status = ui->tableWidgetSrvInfo->item(row,5)->data(Qt::UserRole).toString();
- if(status=="1")
- {
- pushButton->setEnabled(false);
- pushButton->setText("服务已开通");
- }
- else
- {
- pushButton->setEnabled(true);
- pushButton->setText("立即开通");
- }
- }
- ui->tableWidgetSrvInfo->sortByColumn(0);
- }
- void FormSrvInfo::setDefaultBindSrvInfo()
- {
- initBindSrvInfoTable(3);
- ui->tableWidgetSrvInfo->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText("暂无信息");
- ui->tableWidgetSrvInfo->setItem(1,3,item);
- ui->tableWidgetSrvInfo->setEnabled(false);
- }
- void FormSrvInfo::resetUI()
- {
- setDefaultBindSrvInfo();
- ui->tabWidget->setCurrentIndex(0);
- ui->tabWidget->setStyleSheet("font:12px");
- }
- void FormSrvInfo::refreshSrvInfo()
- {
- WSSSO interface;
- QString json = interface.getUserSSO(this->userHash);
- if(!json.isEmpty()){
- RespGetUserSSO *response = new RespGetUserSSO(json);
- if(response->getRtnCode()==1)
- {
- renderBindSrvInfo(response->getRs(),response->getRsCount());}
- else if (response->getRtnCode()== -1)
- {
- QMessageBox::critical(this,"提示","登录超时,请重新登录!",QMessageBox::Ok);
- }
- else
- {
- QMessageBox::critical(this,"提示","数据获取失败!",QMessageBox::Ok);
- }
- delete response;
- }
- else
- {
- QMessageBox::warning(this,"提示","网络连接失败!",QMessageBox::Ok);
- }
- }
- void FormSrvInfo::onRowPushButtonClick()
- {
- if(QMessageBox::Yes !=QMessageBox::question(NULL,"确认","是否继续该操作?",
- QMessageBox::Yes,QMessageBox::No))
- {
- return ;
- }
- QPushButton *pbt = dynamic_cast<QPushButton*>(this->sender());
- if(pbt == 0)
- return;
- int x = pbt->frameGeometry().x();
- int y = pbt->frameGeometry().y();
- QModelIndex index = ui->tableWidgetSrvInfo->indexAt(QPoint(x,y));
- qDebug()<<index;
- QString syscode = ui->tableWidgetSrvInfo->item(index.row(),0)->data(Qt::UserRole).toString();
- WSSSO interface;
- if(syscode=="3")
- {
- QString json = interface.mfUserPay("1",this->userHash);
- RespMfUserPay resposne(json);
- if(resposne.getRtnCode()==1)
- {
- refreshSrvInfo();
- QMessageBox::information(this,"提示",resposne.getRtnMemo(),QMessageBox::Ok);
- }
- else
- {
- QMessageBox::critical(this,"提示",resposne.getRtnMemo(),QMessageBox::Ok);
- }
- }
- else if(syscode=="1" || syscode == "2")
- {
- DialogBindSystem dialog(this);
- dialog.setSysRegInfo(syscode,this->userHash);
- dialog.exec();
- if(dialog.serviceIsOpen())
- {
- refreshSrvInfo();
- WSSSO sso2;
- QString json = sso2.getSysAccount(syscode,this->userHash);
- RespGetSysAccount response2(json);
- if(response2.getRtnCode() == 1)
- {
- QMap<QString,QString> shunshiInfo,mingyuanInfo;
- if(syscode=="1")
- {
- shunshiInfo.insert("usercode",response2.getUserCode());
- shunshiInfo.insert("userpwd",response2.getUserPwd());
- emit updateShunShiAccount(shunshiInfo);
- }
- else if(syscode=="2")
- {
- mingyuanInfo.insert("usercode",response2.getUserCode());
- mingyuanInfo.insert("userpwd",response2.getUserPwd());
- emit updateMingYuanAccount(mingyuanInfo);
- }
- }
- }
- }
- }
|