Soft_cash.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. <?php
  2. namespace Agent\Lib;
  3. use Dever;
  4. Class Soft_cash
  5. {
  6. public function updateSoft($id, $name, $data){
  7. // print_R($data);die;
  8. $mobile = Dever::param('mobile', $data);
  9. $cash = Dever::param('cash', $data);
  10. $price = Dever::param('price', $data);
  11. $pic = Dever::param('pic', $data);
  12. $status = Dever::param('status', $data);
  13. $audit = Dever::param('audit', $data);
  14. $audit_desc = Dever::param('audit_desc', $data);
  15. $cdate = Dever::param('cdate',$data);
  16. $buy_cdate = Dever::param('buy_cdate',$data);
  17. $soft = Dever::db('agent/soft_cash')->one($id);
  18. if($soft['mid']<0){
  19. $info = Dever::db('agent/member')->find(array('mobile'=>$soft['mobile']));
  20. }else{
  21. $info = Dever::db('agent/member')->find(array('id'=>$soft['mid']));
  22. }
  23. if($info){
  24. // print_R($info);die;
  25. $update['where_id'] = $id;
  26. $update['set_mid'] = $info['id'];
  27. if (!$soft['order_num']) {
  28. $update['set_order_num'] = $this->getOrderId($id);
  29. }
  30. if($cash){
  31. $update['set_cash'] = $cash;
  32. }
  33. if($price){
  34. $update['set_price'] = $price;
  35. }
  36. if($pic){
  37. $update['set_pic'] = $pic;
  38. }
  39. if($status){
  40. $update['set_status'] = $status;
  41. }
  42. if($audit){
  43. $update['set_audit'] = $audit;
  44. }
  45. if($audit_desc){
  46. $update['set_audit_desc'] = $audit_desc;
  47. }
  48. if($soft){
  49. if($audit == 3){
  50. $update['set_status'] = 4;
  51. }elseif($audit == 2 && $soft['audit'] == 3){
  52. $update['set_status'] = 3;
  53. }elseif($soft['audit'] == 2 && $soft['status'] == 1){
  54. $update['set_status'] = 2;
  55. }elseif($soft['audit'] == 2 && $soft['status'] == 2){
  56. $update['set_status'] = 3;
  57. }elseif($soft['audit'] == 2 && $soft['status'] == 4){
  58. $update['set_status'] = 3;
  59. }
  60. // print_R($update);die;
  61. if($soft['audit']== 2 && $update['set_status'] == 3){
  62. $order['role'] = $info['role'];
  63. $order['soft_cash'] = $cash;
  64. $order['price'] = $cash;
  65. $order['cdate'] = $cdate;
  66. $order['type'] = 3;
  67. $order['sign'] = '';
  68. $order['name'] = $info['name'];
  69. $order['mobile'] = $info['mobile'];
  70. $order['mid'] = $info['id'];
  71. $order['id'] = $id;
  72. $order['area'] = $info['area'];
  73. $order['idcard'] = $info['idcard'];
  74. $order['idcard_front'] = $info['idcard_front'];
  75. $order['idcard_back'] = $info['idcard_back'];
  76. $order['company_name'] = $info['company_name'];
  77. $order['company_pic'] = $info['company_pic'];
  78. // print_R($order);die;
  79. $update['set_agreement_id'] = Dever::load('agent/lib/agreement')->up($order,1,3);
  80. }
  81. }
  82. if (!$audit) {
  83. if ($soft['status'] == 4) {
  84. $update['status'] = 2;
  85. }
  86. }
  87. $ids=Dever::db('agent/soft_cash')->update($update);
  88. }
  89. }
  90. public function getOrderId($id)
  91. {
  92. $order = Dever::order();
  93. $info = Dever::db('agent/soft_cash')->one(array('order_num'=>$order));
  94. if ($info) {
  95. return $this->createOrderId($id);
  96. } else {
  97. return $order;
  98. }
  99. }
  100. public function soft_show($id){
  101. $info = Dever::db('agent/soft_cash')->find($id);
  102. $html['num'] = $info['order_num'].'</br>'.date('Y-m-d H:i',$info['buy_date']);
  103. return $html;
  104. }
  105. public function show(){
  106. $id = Dever::input('id');
  107. $info = Dever::db('agent/soft_cash')->find($id);
  108. $member = Dever::db('agent/member')->find($info['mid']);
  109. $type = Dever::db('agent/member')->config['config_type'];
  110. $config_status = Dever::db('agent/soft_cash')->config['config_status'];
  111. $status = Dever::status($config_status,$info['status']);
  112. // print_R($status);die;
  113. $buy_date = date('Y-m-d H:i',$info['buy_date']);
  114. $role = Dever::db('setting/role')->one($member['role']);
  115. $area = Dever::load("area/api.string", $member['area']);
  116. $idcard_pic = '<a href="'.$member['idcard_front'].'" target="_blank"><img src="'.$member['idcard_front'].'" width="100" /></a>';
  117. if ($member['idcard_back']) {
  118. $idcard_pic .= '<a href="'.$member['idcard_back'].'" target="_blank"><img src="'.$member['idcard_back'].'" width="100" /></a>';
  119. }
  120. $pic = '<a href="'.$info['pic'].'" target="_blank"><img src="'.$info['pic'].'" width="100" /></a>';
  121. $result['订单信息'] = array
  122. (
  123. 'type' => 'info',
  124. 'content' => array
  125. (
  126. array
  127. (
  128. array('订单号', $info['order_num']),
  129. array('订单状态', $status),
  130. array('购买时间', $buy_date),
  131. ),
  132. array
  133. (
  134. array('备注', $info['audit_desc']),
  135. array('管理员备注', $info['admin_desc']),
  136. // array('购买时间', $buy_date),
  137. ),
  138. ),
  139. );
  140. $result['代理商信息'] = array
  141. (
  142. 'type' => 'info',
  143. 'content' => array
  144. (
  145. array
  146. (
  147. array('手机号', $member['mobile']),
  148. array('名称', $member['name']),
  149. array('类型', $type[$member['type']]),
  150. ),
  151. array
  152. (
  153. array('代理商角色', $role['name']),
  154. array('代理区域', $area),
  155. array('身份证号', $member['idcard']),
  156. ),
  157. array
  158. (
  159. array('身份证照片', $idcard_pic),
  160. ),
  161. ),
  162. );
  163. $result['费用信息'] = array
  164. (
  165. 'type' => 'info',
  166. 'content' => array
  167. (
  168. array
  169. (
  170. array('软件服务费', $info['cash']),
  171. array('期权价值', $info['price']),
  172. ),
  173. array
  174. (
  175. array('支付凭证', $pic),
  176. ),
  177. ),
  178. );
  179. $button = $this->show_button($info);
  180. if($info['status'] == 3 ){
  181. $member_goods = Dever::db('agent/member_agreement')->find($info['agreement_id']);
  182. if ($member_goods && $member_goods['sign']) {
  183. $sign_pic = '<a href="'.$member_goods['sign'].'" target="_blank"><img src="'.$member_goods['sign'].'" width="100" /></a>';
  184. } else {
  185. $sign_pic = '暂无';
  186. }
  187. $this->show_agreement($info, $role, $sign_pic, $result);
  188. }
  189. $head = array
  190. (
  191. 'name' => '基本信息',
  192. 'btn' => $button,
  193. );
  194. // $foot = $button;
  195. $html = Dever::show($head, $result);
  196. return $html;
  197. }
  198. public function show_button($info){
  199. $button = array();
  200. $purl = Dever::url('project/database/update?project=agent&table=soft_cash&where_id='.$info['id'].'&col=audit_desc', 'manage');
  201. $button[] = array
  202. (
  203. 'type' => 'edit',
  204. 'link' => $purl,
  205. 'name' => '备注',
  206. );
  207. $purl = Dever::url('project/database/update&project=agent&&page_type=2&table=soft_cash&menu=agent&search_option_state=1&where_id='.$info['id']);
  208. if($info['status'] < 3 || $info['status'] == 4){
  209. $button[] = array
  210. (
  211. 'type' => 'edit',
  212. 'link' => $purl,
  213. 'name' => '修改信息',
  214. );
  215. }
  216. $purl = Dever::url('project/database/update?project=agent&table=soft_cash&where_id='.$info['id'].'&audit=2&col=id,audit,audit_desc', 'manage');
  217. // if($aduit)
  218. if($info['status'] == 1){
  219. $button[] = array
  220. (
  221. 'type' => 'edit',
  222. 'link' => $purl,
  223. 'name' => '待业务初审',
  224. );
  225. }
  226. $purl = Dever::url('project/database/update?project=agent&table=soft_cash&where_id='.$info['id'].'&audit=2&col=id,audit,audit_desc', 'manage');
  227. if (Dever::load('manage/auth')->checkFunc('agent.soft_cash', 'edit1', '待财务终审')) {
  228. if($info['status'] == 2){
  229. $button[] = array
  230. (
  231. 'type' => 'edit',
  232. 'link' => $purl,
  233. 'name' => '待财务终审',
  234. );
  235. }
  236. }
  237. $purl = Dever::url('project/database/update?project=agent&table=soft_cash&where_id='.$info['id'].'&audit=3&col=id,audit,audit_desc', 'manage');
  238. if (Dever::load('manage/auth')->checkFunc('agent.soft_cash', 'edit2', '驳回')) {
  239. if($info['status'] == 4){
  240. }
  241. }
  242. $button[] = array
  243. (
  244. 'type' => 'link',
  245. 'link' => 'refer',
  246. 'name' => '返回上一页',
  247. );
  248. return $button;
  249. }
  250. private function show_agreement($info, $role, $sign_pic, &$result)
  251. {
  252. $table = array();
  253. $table['head'] = array('合同类型', '合同名称', '合同签名', '合同状态');
  254. $table['body'] = array();
  255. $agreement_type = Dever::db('setting/agreement')->config['config_type'];
  256. $agreement_status = Dever::db('agent/member_agreement')->config['status'];
  257. if($info['status'] == 3 && $info['agreement_id']){
  258. $agreement_title = '(已生成合同)';
  259. $agreement_button = array();
  260. $agreement = Dever::db('agent/member_agreement')->find(array('id' => $info['agreement_id']));
  261. if($agreement){
  262. $agreement_info = Dever::db('setting/agreement')->find($agreement['agreement_id']);
  263. // print_r($agreement_info);die;
  264. $agreement_status_name = Dever::status($agreement_status, $agreement['status']);
  265. // echo dever::sql();die;
  266. $table['body'] = array(Dever::status($agreement_type, $agreement_info['type']), Dever::load('agent/lib/agreement')->name($agreement_info, $agreement, $role, 2), $sign_pic, $agreement_status_name);
  267. }else{
  268. $agreement_title = '';
  269. }
  270. }
  271. $result['生成软件服务合同' . $agreement_title] = array
  272. (
  273. 'type' => 'table',
  274. 'head' => array('name' => '&nbsp;', 'btn' => $agreement_button),
  275. 'content' => $table
  276. );
  277. }
  278. public function insertSoft($id,$name,$data){
  279. $mobile = Dever::param('mobile',$data);
  280. $member = Dever::db('agent/member')->find(array('mobile'=>$mobile));
  281. if(!$member){
  282. Dever::alert('代理商不存在');
  283. }
  284. }
  285. public function search_api()
  286. {
  287. $value = Dever::input('value');
  288. if(!preg_match('/^1[3|5|6|7|8|9]\d{9}$/', $value)){
  289. return '代理商手机号不正确';
  290. }
  291. if ($value) {
  292. $data = Dever::db('agent/member')->one(array('mobile' => $value,'state' =>1));
  293. $table = array();
  294. if ($data) {
  295. $table = array();
  296. $table['head'] = array('序列号', '姓名', '手机号');
  297. $table['body'] = array();
  298. $table['body'] = array($data['id'], $data['name'], $data['mobile']);
  299. // foreach ($data as $k => $v) {
  300. // $member = Dever::db('agent/member')->find($v['mid']);
  301. // $table['body'][] = array($k+1, $member['name'], $v['mobile']);
  302. // }
  303. $result[] = array
  304. (
  305. 'type' => 'table',
  306. 'content' => $table,
  307. );
  308. $html = Dever::show('', $result, false, false);
  309. return $html;
  310. }else{
  311. return '代理商不存在';
  312. // Dever::alert('代理商不存在');
  313. }
  314. // Dever::alert('暂无账号');
  315. // return '暂无账号';
  316. } else {
  317. return '';
  318. }
  319. }
  320. }