DlgCloudSelection.cpp 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. // DlgCloudSelection.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "YLGL.h"
  5. #include "DlgCloudSelection.h"
  6. #include "SendMsgDlg.h"
  7. #define PERGOODJSON _T("{\"product_id\":\"%s\",\"name\":\"%s\",\"num\":\"%s\",\"unit_price\":\"%s\"}")
  8. // CDlgCloudSelection 对话框
  9. //IMPLEMENT_DYNAMIC(CDlgCloudSelection, CDialog)
  10. CDlgCloudSelection::CDlgCloudSelection(CWnd* pParent /*=NULL*/)
  11. : CDialog(CDlgCloudSelection::IDD, pParent)
  12. {
  13. _nActionType = 0;
  14. _strMaskId.Empty();
  15. _strBranchId.Empty();
  16. _strBranchName.Empty();
  17. _strBranchTel.Empty();
  18. _strOrderNum.Empty();
  19. _strScenery.Empty();
  20. _strCustomerName1.Empty();
  21. _strCustomerName2.Empty();
  22. _strCustomerTel1.Empty();
  23. _strCustomerTel2.Empty();
  24. _strWebSite.Empty();
  25. _strCloudSite.Empty();
  26. //_pAryGoods = NULL;
  27. //_pMultiurl = NULL;
  28. }
  29. CDlgCloudSelection::~CDlgCloudSelection()
  30. {
  31. //if ( _pMultiurl )
  32. //{
  33. // delete _pMultiurl;
  34. // _pMultiurl = NULL;
  35. //}
  36. }
  37. void CDlgCloudSelection::DoDataExchange(CDataExchange* pDX)
  38. {
  39. CDialog::DoDataExchange(pDX);
  40. }
  41. BEGIN_MESSAGE_MAP(CDlgCloudSelection, CDialog)
  42. ON_BN_CLICKED(BTN_GETSELECTLINK, OnBnClickedGetselectlink)
  43. ON_BN_CLICKED(BTN_UPLOADGOODS, OnBnClickedUploadgoods)
  44. ON_BN_CLICKED(BTN_UPLOADIMGS, OnBnClickedUploadimgs)
  45. ON_BN_CLICKED(BTN_SENDMSG, OnBnClickedSendmsg)
  46. ON_BN_CLICKED(BTN_SELECTQRCODE, OnBnClickedSelectqrcode)
  47. END_MESSAGE_MAP()
  48. // CDlgCloudSelection 消息处理程序
  49. BOOL CDlgCloudSelection::OnInitDialog()
  50. {
  51. CDialog::OnInitDialog();
  52. // TODO: 在此添加额外的初始化
  53. // 1.该订单是否生成过云链接;
  54. if ( _nActionType == 0 )
  55. {// 2.获取商品信息;
  56. CString strfilter = _T("");
  57. strfilter.Format(_T("id = '%s'"),_strOrderNum, _strOrderNum);
  58. g_sendhead.bsql = 0;
  59. g_sendhead.code[0] = 50;
  60. g_sendhead.tabcount = 1;
  61. g_pMainWnd->ProcessChatMessageRequest2(strfilter);
  62. if ( !g_bSendOK )
  63. {
  64. return FALSE;
  65. }
  66. DataToArray(&_AryGoods);
  67. }
  68. SetDlgItemText(ST_LINKST, _T(""));
  69. SetDlgItemText(ST_UPLOADGOODST, _T(""));
  70. SetDlgItemText(ST_UPLOADIMGST, _T(""));
  71. //GetDlgItem(BTN_UPLOADIMGS)->EnableWindow();
  72. if ( !_strWebSite.IsEmpty() )
  73. {
  74. GetDlgItem(BTN_GETSELECTLINK)->EnableWindow(FALSE);
  75. SetDlgItemText(ST_LINKST, _T("已生成云链接"));
  76. if ( _nActionType == 1 )
  77. GetDlgItem(BTN_UPLOADGOODS)->EnableWindow(FALSE);
  78. else
  79. GetDlgItem(BTN_UPLOADGOODS)->EnableWindow();
  80. GetDlgItem(BTN_UPLOADIMGS)->EnableWindow();
  81. GetDlgItem(BTN_SENDMSG)->EnableWindow();
  82. GetDlgItem(BTN_SELECTQRCODE)->EnableWindow();
  83. }
  84. else
  85. {
  86. GetDlgItem(BTN_UPLOADGOODS)->EnableWindow(FALSE);
  87. GetDlgItem(BTN_UPLOADIMGS)->EnableWindow(FALSE);
  88. GetDlgItem(BTN_SENDMSG)->EnableWindow(FALSE);
  89. GetDlgItem(BTN_SELECTQRCODE)->EnableWindow(FALSE);
  90. }
  91. CenterWindow();
  92. SetForegroundWindow();
  93. SetDlgItemText(ST_ORDERNUM, _strOrderNum);
  94. SetDlgItemText(ST_CUSTOMERNAME,_strCustomerName1 + _T(",") + _strCustomerName2);
  95. return TRUE; // return TRUE unless you set the focus to a control
  96. // 异常: OCX 属性页应返回 FALSE
  97. }
  98. void CDlgCloudSelection::OnBnClickedGetselectlink() // 生成云链接;
  99. {
  100. INT nRet = 0;
  101. TCHAR szReturnValue[MAX_PATH] = {0};
  102. if ( lyfzLibrary::g_uploadorder )
  103. {
  104. if ( lyfzLibrary::g_uploadorder(_strMaskId, _nActionType, _strBranchName, _strBranchTel, _strOrderNum, _strScenery, _strCustomerName1 + _T(",") + _strCustomerName2, _strCustomerTel1 + _T(",") + _strCustomerTel2, szReturnValue, MAX_PATH) )
  105. {
  106. GetDlgItem(BTN_GETSELECTLINK)->EnableWindow(FALSE);
  107. SetDlgItemText(ST_LINKST, _T("已生成云链接"));
  108. if ( _nActionType == 0 )
  109. GetDlgItem(BTN_UPLOADGOODS)->EnableWindow();
  110. GetDlgItem(BTN_UPLOADIMGS)->EnableWindow();
  111. GetDlgItem(BTN_SENDMSG)->EnableWindow();
  112. GetDlgItem(BTN_SELECTQRCODE)->EnableWindow();
  113. }
  114. else
  115. {
  116. GetDlgItem(BTN_GETSELECTLINK)->EnableWindow(FALSE);
  117. SetDlgItemText(ST_LINKST, _T("生成云链接失败"));
  118. }
  119. }
  120. _strWebSite.Format(_T("%s"), szReturnValue);
  121. if ( !_strWebSite.IsEmpty() )
  122. {
  123. CString strSQL = _T("");
  124. strSQL.Format(_T("update dindan set %s = '%s' where id = '%s'"), _nActionType ? _T("XYCloundSite") : _T("XPCloundSite"), szReturnValue, _strOrderNum);
  125. g_sendhead.bsql = 1;
  126. g_pMainWnd->ProcessChatMessageRequest2(strSQL);
  127. if ( g_bSendOK == 0)
  128. {
  129. AfxMessageBox(_T("保存失败!"));
  130. }
  131. }
  132. else
  133. {
  134. }
  135. }
  136. void CDlgCloudSelection::OnBnClickedUploadgoods() // 上传商品信息;
  137. {
  138. if ( _AryGoods.GetSize() == 0 || lyfzLibrary::g_uploadgoodinfo == NULL )
  139. {
  140. SetDlgItemText(ST_UPLOADGOODST, _T("该订单无商品!"));
  141. return;
  142. }
  143. CString strJson = _T("[");
  144. for ( int i = 0; i < _AryGoods.GetSize(); i++ )
  145. {
  146. strJson += GoodJson(_AryGoods.ElementAt(i));
  147. strJson += _T(",");
  148. }
  149. strJson.TrimRight(_T(","));
  150. strJson += _T("]");
  151. if ( lyfzLibrary::g_uploadgoodinfo(_strMaskId,strJson) )
  152. {
  153. GetDlgItem(BTN_UPLOADGOODS)->EnableWindow(FALSE);
  154. SetDlgItemText(ST_UPLOADGOODST, _T("上传商品成功!"));
  155. }
  156. else
  157. {
  158. SetDlgItemText(ST_UPLOADGOODST, _T("上传商品失败!"));
  159. }
  160. }
  161. void CDlgCloudSelection::OnBnClickedUploadimgs() // 上传相片;
  162. {
  163. // TODO: 在此添加控件通知处理程序代码
  164. CStringArray AryImgDirectory[3];
  165. GetOrderpathByOrderNum(OImgtype, g_branchname.IsEmpty() ? g_domain : g_branchname, _strOrderNum, AryImgDirectory[0]);
  166. GetOrderpathByOrderNum(EImgtype, g_branchname.IsEmpty() ? g_domain : g_branchname, _strOrderNum, AryImgDirectory[1]);
  167. if ( lyfzLibrary::g_uploadimg )
  168. {
  169. if ( lyfzLibrary::g_uploadimg(_nActionType, _strMaskId, _strOrderNum, _strScenery, g_cominfoarray.ElementAt(0).ElementAt(10), 500, 600, AryImgDirectory[0], AryImgDirectory[1], AryImgDirectory[2]))
  170. {
  171. }
  172. }
  173. }
  174. void CDlgCloudSelection::OnBnClickedSendmsg() // 发送短信;
  175. {
  176. // TODO: 在此添加控件通知处理程序代码
  177. CStringArray AryTel;
  178. if ( _strCustomerTel1.GetLength() == 11 )
  179. AryTel.Add(_strCustomerTel1);
  180. if ( _strCustomerTel2.GetLength() == 11 )
  181. AryTel.Add(_strCustomerTel2);
  182. SendMsgDlg dlg;
  183. dlg.m_mode = 1;
  184. dlg.m_pArray = &AryTel;
  185. #ifdef CHILD_VERSION
  186. if ( !_strCustomerName1.IsEmpty() )
  187. dlg.m_strSendSms.Format(_T("%s家长您好,您的在线选片地址是:%s"), _strCustomerName1, _strWebSite);
  188. else if ( !_strCustomerName2.IsEmpty() )
  189. dlg.m_strSendSms.Format(_T("%s小朋友的家长您好,您的在线选片地址是:%s"), _strCustomerName2, _strWebSite);
  190. #else
  191. if ( !_strCustomerName1.IsEmpty() && !_strCustomerTel1.IsEmpty() )
  192. {
  193. if ( !_strCustomerName2.IsEmpty() && !_strCustomerTel2.IsEmpty() )
  194. dlg.m_strSendSms.Format(_T("%s,%s您好,你的在线选片地址是:%s"), _strCustomerName1, _strCustomerName2, _strWebSite);
  195. else
  196. dlg.m_strSendSms.Format(_T("%s您好,你的在线选片地址是:%s"), _strCustomerName1, _strWebSite);
  197. }
  198. else if ( !_strCustomerName2.IsEmpty() && !_strCustomerTel2.IsEmpty() )
  199. {
  200. if ( !_strCustomerName1.IsEmpty() && !_strCustomerTel1.IsEmpty() )
  201. dlg.m_strSendSms.Format(_T("%s,%s您好,你的在线选片地址是:%s"), _strCustomerName1, _strCustomerName2, _strWebSite);
  202. else
  203. dlg.m_strSendSms.Format(_T("%s您好,你的在线选片地址是:%s"), _strCustomerName2, _strWebSite);
  204. }
  205. #endif
  206. dlg.DoModal();
  207. }
  208. void CDlgCloudSelection::OnBnClickedSelectqrcode() // 查看二维码;
  209. {
  210. // TODO: 在此添加控件通知处理程序代码
  211. if ( _strWebSite.IsEmpty() )
  212. return;
  213. if ( !lyfzLibrary::LoadQRCodeLibrary() )
  214. {
  215. AfxMessageBox(_T("二维码模块未加载!"));
  216. return;
  217. }
  218. if ( lyfzLibrary::g_ShowQRCodeBitmap )
  219. {
  220. lyfzLibrary::g_ShowQRCodeBitmap(_strWebSite,0,0,0);
  221. }
  222. lyfzLibrary::FreeQRCodeLibrary();
  223. }
  224. void CDlgCloudSelection::SetParamters(
  225. IN const UINT8& nActionType,
  226. IN LPCTSTR lpMaskId,
  227. IN LPCTSTR lpBranchId,
  228. IN LPCTSTR lpBranchName,
  229. IN LPCTSTR lpBranchTel,
  230. IN LPCTSTR lpOrderNum,
  231. IN LPCTSTR lpScenery,
  232. IN LPCTSTR lpCustomerName1,
  233. IN LPCTSTR lpCustomerName2,
  234. IN LPCTSTR lpCustomerTel1,
  235. IN LPCTSTR lpCustomerTel2,
  236. IN LPCTSTR lpCloundSite)
  237. {
  238. _nActionType = nActionType;
  239. _strMaskId = lpMaskId && lpMaskId[0] != _T('\0') ? lpMaskId : _T("");
  240. _strBranchId = lpBranchId && lpBranchId[0] != _T('\0') ? lpBranchId : _T("");
  241. _strBranchName = lpBranchName && lpBranchName[0] != _T('\0') ? lpBranchName : _T("");
  242. _strBranchTel = lpBranchTel && lpBranchTel[0] != _T('\0') ? lpBranchTel : _T("");
  243. _strOrderNum = lpOrderNum && lpOrderNum[0] != _T('\0') ? lpOrderNum : _T("");
  244. _strScenery = lpScenery && lpScenery[0] != _T('\0') ? lpScenery : _T("");
  245. _strCustomerName1 = lpCustomerName1 && lpCustomerName1[0] != _T('\0') ? lpCustomerName1 : _T("");
  246. _strCustomerName2 = lpCustomerName2 && lpCustomerName2[0] != _T('\0') ? lpCustomerName2 : _T("");
  247. _strCustomerTel1 = lpCustomerTel1 && lpCustomerTel1[0] != _T('\0') ? lpCustomerTel1 : _T("");
  248. _strCustomerTel2 = lpCustomerTel2 && lpCustomerTel2[0] != _T('\0') ? lpCustomerTel2 : _T("");
  249. _strWebSite = lpCloundSite && lpCloundSite[0] != _T('\0') ? lpCloundSite : _T("");
  250. }
  251. CString CDlgCloudSelection::GoodJson(IN CStringArray& AryGoodInfo)
  252. {
  253. CString strJson = _T("");
  254. //CString strOrderNum = AryGoodInfo.ElementAt(0);
  255. CString strSpId = AryGoodInfo.ElementAt(1);
  256. CString strSpName = AryGoodInfo.ElementAt(5);
  257. CString strSpPrice = AryGoodInfo.ElementAt(2);
  258. CString strSpCount = AryGoodInfo.ElementAt(3);
  259. if (strSpName == _T("入册"))
  260. {
  261. strSpId = _T("LYFZ-RC");
  262. }
  263. if (strSpName == _T("入底"))
  264. {
  265. strSpId = _T("LYFZ-RD");
  266. }
  267. if ( strSpCount.IsEmpty() )
  268. strSpCount = _T("1");
  269. if ( strSpPrice.IsEmpty() || strSpPrice == _T(".") )
  270. strSpPrice = _T("0");
  271. strJson.Format(PERGOODJSON, strSpId, strSpName, strSpCount, strSpPrice);
  272. return strJson;
  273. }