Merchant.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <?php namespace Pay\Yspay;
  2. use Dever;
  3. class Merchant
  4. {
  5. public function selectRelate_api()
  6. {
  7. $value = Dever::input('value');
  8. $id = Dever::input('id');
  9. $data = array();
  10. if ($id) {
  11. $data = Dever::db('pay/yspay_merchant')->find($id);
  12. if ($value != $data['project_id']) {
  13. $data['relate_id'] = -1;
  14. }
  15. }
  16. $config['relate_id'] = Dever::db('pay/yspay_merchant')->config['struct']['relate_id'];
  17. $config['relate_id']['update'] = 'select';
  18. $config['relate_id']['update_search'] = 'pay/yspay/merchant.search?project_id=' . $value;
  19. $result = Dever::load('manage/database')->update_struct(array('struct' => $config), false, $data, -1, '', true);
  20. return $result;
  21. }
  22. public function search_api()
  23. {
  24. $id = Dever::input('id');
  25. $keyword = Dever::input('keyword');
  26. $where = array();
  27. if ($keyword) {
  28. $where['name'] = $keyword;
  29. }
  30. $id = Dever::input('where_id');
  31. if ($id) {
  32. $where['id_no'] = $id;
  33. }
  34. $project_id = Dever::input('project_id', 1);
  35. $project = Dever::db('pay/yspay_project')->find($project_id);
  36. return Dever::search($project['table'], $where);
  37. }
  38. public function up($account_id, $project_id, $id, $name)
  39. {
  40. $data = array();
  41. $data['account_id'] = $account_id;
  42. $data['project_id'] = $project_id;
  43. $data['relate_id'] = $id;
  44. $info = Dever::db('pay/yspay_merchant')->find($data);
  45. if (!$info) {
  46. $data['name'] = $name;
  47. $data['type'] = 1;
  48. $data['status'] = 2;
  49. return Dever::db('pay/yspay_merchant')->insert($data);
  50. }
  51. return false;
  52. }
  53. public function getOther($account_id, $table, $relate_id, $order_num, $cash, $fenzhang = 0)
  54. {
  55. $result = array();
  56. $yspay = Dever::db('pay/yspay')->find(array('account_id' => $account_id));
  57. if ($cash && $cash > 0 && $yspay && $yspay['type'] == 2) {
  58. # 分账拆单
  59. $merchant = array();
  60. if ($table == 2) {
  61. $merchant = Dever::db('pay/yspay_merchant')->find(array('account_id' => $account_id, 'type' => 2));
  62. if (strstr($order_num, '_')) {
  63. $temp = explode('_', $order_num);
  64. $order_num = $temp[0];
  65. }
  66. $order_num .= '_O';
  67. } else {
  68. $project = Dever::db('pay/yspay_project')->find(array('table' => $table));
  69. if ($project) {
  70. $merchant = Dever::db('pay/yspay_merchant')->find(array('account_id' => $account_id, 'project_id' => $project['id'], 'relate_id' => $relate_id));
  71. }
  72. }
  73. if ($merchant && $merchant['mid']) {
  74. $result = array(
  75. 'merchant_id' => $merchant['id'],
  76. 'mid' => $merchant['mid'],
  77. 'order_id' => $order_num,
  78. 'amount' => $cash,
  79. 'fenzhang' => $fenzhang,
  80. );
  81. }
  82. }
  83. return $result;
  84. }
  85. public function getInfo($account_id, $project_id, $id, $parent, $array = false)
  86. {
  87. list($project, $table) = explode('/', $parent);
  88. $where = array();
  89. $where['account_id'] = $account_id;
  90. $where['project_id'] = $project_id;
  91. $where['relate_id'] = $id;
  92. $data = Dever::db('pay/yspay_merchant')->find($where);
  93. if ($array) {
  94. return $data;
  95. }
  96. $html = '';
  97. if ($data) {
  98. if (!$data['mid']) {
  99. $data['mid'] = '编辑信息';
  100. }
  101. $url = Dever::url('project/database/update?project=pay&table=yspay_merchant&set=1&where_id='.$data['id'], 'manage');
  102. $html .= '<a style="cursor:pointer" onclick="fastEdit($(this),\''.$url.'\',\'编辑信息\', \'\')">'.$data['mid'].'</a>';
  103. $step = false;
  104. if ($data['status'] == 2) {
  105. $sign = Dever::db('pay/yspay_sign')->one(array('merchant_id' => $data['id']));
  106. if ($sign && $sign['step']) {
  107. $step = $sign['step'];
  108. }
  109. }
  110. if ($data['status'] == 1) {
  111. $url = Dever::url('project/database/list?project=pay&table=yspay_cash&search_option_merchant_id='.$data['id'].'&search_option_account_id='.$data['account_id'].'&oper_table='.$table.'&oper_project=' . $project, 'manage');
  112. $html .= '&nbsp;&nbsp;<a style="cursor:pointer" href="'.$url.'">[资金流水]</a>';
  113. }
  114. if ($data['status'] == 2) {
  115. $url = Dever::url('project/database/update?project=pay&table=yspay_sign&search_option_merchant_id='.$data['id'].'&search_option_account_id='.$data['account_id'].'&where_id='.$data['id'].'&oper_table='.$table.'&oper_project=' . $project, 'manage');
  116. $html .= '&nbsp;&nbsp;<a style="cursor:pointer" onclick="fastEdit($(this),\''.$url.'\',\'签约资料\', \'\')">[签约资料]</a>';
  117. if ($step == -1) {
  118. $content = '';
  119. $title = '';
  120. $url = Dever::url('pay/yspay/sign.handle?sign_id=' . $data['id']);
  121. $html .= '&nbsp;&nbsp;<a style="cursor:pointer" href="javascript:;" onclick="load(\'' . $url . '\', \'' . $content . '\', \'' . $title . '\')">[签约提审]</a>';
  122. }
  123. if ($step == 2) {
  124. $url = Dever::url('project/database/update?project=pay&table=yspay_sign&col=cashwhere_id='.$data['id'], 'manage');
  125. $html .= '&nbsp;&nbsp;<a style="cursor:pointer" onclick="fastEdit($(this),\''.$url.'\',\'签约打款\', \'\')">[签约打款]</a>';
  126. }
  127. if ($step == 4) {
  128. $url = Dever::load('pay/yspay/sign.getAgreement', $data['id']);
  129. $html .= '&nbsp;&nbsp;<a style="cursor:pointer" data-clipboard-text="'.$url.'" class="clipboard"><button type="button" class="btn btn-info btn-rounded waves-effect waves-light m-b-5 ">[签约合同]</button></a>';
  130. }
  131. }
  132. return $html;
  133. } else {
  134. return '暂无';
  135. }
  136. }
  137. public function log($merchant_id, $account_id, $type, $cash, $name)
  138. {
  139. $merchant = Dever::db('pay/yspay_merchant')->one(array('id' => $merchant_id, 'clear' => true));
  140. if ($merchant) {
  141. if (!$merchant['hf_cash']) {
  142. $merchant['hf_cash'] = $cash;
  143. }
  144. $yue = $merchant['hf_cash'] - $merchant['hf_tx_cash'];
  145. $data = array();
  146. $data['account_id'] = $account_id;
  147. $data['merchant_id'] = $merchant_id;
  148. $data['type'] = $type;
  149. $data['cash'] = $cash;
  150. $data['yue'] = $yue;
  151. $data['name'] = $name;
  152. Dever::db('pay/yspay_merchant_log')->insert($data);
  153. }
  154. }
  155. # 更新提现状态
  156. public function updateLog($id, $name, $data)
  157. {
  158. $tixian_status = Dever::param('tixian_status', $data);
  159. if ($tixian_status) {
  160. $info = Dever::db('pay/yspay_merchant_log')->one($id);
  161. if ($info) {
  162. if ($tixian_status == 1) {
  163. $cash = $info['cash'];
  164. } else {
  165. $cash = $info['cash'] * -1;
  166. }
  167. Dever::db('pay/yspay_merchant')->updateTxCash(array('where_id' => $info['merchant_id'], 'hf_tx_cash' => $cash));
  168. }
  169. }
  170. }
  171. # 检测提现状态
  172. public function checkTixian()
  173. {
  174. $where['type'] = 3;
  175. $where['tixian_status'] = 2;
  176. $data = Dever::db('pay/yspay_merchant_log')->select($where);
  177. if ($data) {
  178. foreach ($data as $k => $v) {
  179. }
  180. }
  181. }
  182. }