My.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984
  1. <?php
  2. namespace Agent\Src;
  3. use Dever;
  4. use Agent\Lib\Core;
  5. class My extends Core
  6. {
  7. public function test()
  8. {
  9. # 1000 邀请 1001 1001 邀请 1002
  10. $pid = Dever::input('pid', 1000);
  11. $cid = Dever::input('cid');
  12. if ($cid) {
  13. return Dever::load('invite/api')->setRelation($cid, $pid);
  14. }
  15. return Dever::load('invite/api')->getParentAll(1007, false);
  16. return Dever::load('invite/api')->resetRelation(1007, 2001);
  17. }
  18. public function addtest()
  19. {
  20. $member = $this->user;
  21. return Dever::load('agent/lib/member')->up($member, 1, 1, 1, $member['id'], 100, 100, 1, 'dddd', 1);
  22. }
  23. /**
  24. * 立即签署
  25. *
  26. * @return mixed
  27. */
  28. public function sign()
  29. {
  30. $order_id = Dever::input('order_id');
  31. return Dever::load('agent/lib/order')->sign($this->uid, $order_id);
  32. }
  33. /**
  34. * 获取基本信息
  35. *
  36. * @return mixed
  37. */
  38. public function getInfo()
  39. {
  40. $this->data['user'] = Dever::load('agent/lib/member')->getInfo($this->user);
  41. $this->data['config'] = Dever::db('setting/base')->one();
  42. # 获取团队数量
  43. $this->data['num'] = Dever::load('invite/api')->getChildNum($this->uid, 1);
  44. # 获取当前正在申请的订单
  45. $order = Dever::db('agent/order')->getNew(array('mid' => $this->uid));
  46. if ($order) {
  47. $total = Dever::db('agent/order')->getTotal(array('mid' => $this->uid));
  48. $this->data['user']['up'] = 2;
  49. if ($total > 1) {
  50. $this->data['user']['up'] = 1;
  51. }
  52. $this->data['user']['order_id'] = $order['id'];
  53. $this->data['user']['audit'] = $order['status'];
  54. if ($order['status'] != 5) {
  55. $order['audit_desc'] = '';
  56. }
  57. $this->data['user']['audit_desc'] = $order['audit_desc'];
  58. if ($order['status'] == -2) {
  59. $agreement = Dever::db('setting/agreement')->getData();
  60. list($temp, $this->data['user']['agreement_1']) = Dever::load('agent/lib/agreement')->name($agreement[1], $order, $order['role'], 1, 2);
  61. list($temp, $this->data['user']['agreement_4']) = Dever::load('agent/lib/agreement')->name($agreement[4], $order, $order['role'], 1, 2);
  62. }
  63. }
  64. return $this->data;
  65. }
  66. # 获取相同身份证的账号
  67. public function getUser()
  68. {
  69. $where['id'] = $this->uid;
  70. $this->data['user'] = array();
  71. if (!$this->user['idcard']) {
  72. return $this->data;
  73. }
  74. $this->data['user'] = array();
  75. if (!preg_match(Dever::rule('idcard'), $this->user['idcard'])) {
  76. return $this->data;
  77. }
  78. $where['idcard'] = $this->user['idcard'];
  79. $this->data['user'] = Dever::db('agent/member')->getData($where);
  80. if ($this->data['user']) {
  81. foreach ($this->data['user'] as $k => $v) {
  82. $this->data['user'][$k] = Dever::load('agent/lib/member')->getInfo($v);
  83. }
  84. }
  85. return $this->data;
  86. }
  87. # 获取相同身份证的账号详情
  88. public function getUserView()
  89. {
  90. $id = Dever::input('id');
  91. $this->data['info'] = Dever::db('agent/member')->find($id);
  92. if ($this->data['info'] && $this->data['info']['idcard'] == $this->user['idcard']) {
  93. $this->data['info'] = Dever::load('agent/lib/member')->getInfo($this->data['info']);
  94. } else {
  95. Dever::alert('这不是您的子账户');
  96. }
  97. return $this->data;
  98. }
  99. # 获取门店
  100. public function getShop()
  101. {
  102. $where['type'] = 10;
  103. $where['area'] = Dever::input('area');
  104. $this->data['shop'] = Dever::db('shop/info')->getAllByType($where);
  105. //$this->data['pshop'] = Dever::db('shop/info')->getInfo(array('type' => 10));
  106. $id = Dever::input('id', $this->uid);
  107. $this->data['info'] = Dever::db('agent/member')->find($id);
  108. if ($this->data['info'] && $this->data['info']['idcard'] == $this->user['idcard']) {
  109. if ($this->data['info']['is_shop'] == 1) {
  110. Dever::alert('暂时不能修改');
  111. }
  112. } else {
  113. Dever::alert('这不是您的子账户');
  114. }
  115. return $this->data;
  116. }
  117. # 设置门店
  118. public function setShop()
  119. {
  120. $id = Dever::input('id', $this->uid);
  121. $shop_id = Dever::input('shop_id');
  122. $this->data['info'] = Dever::db('agent/member')->find($id);
  123. if ($this->data['info'] && $this->data['info']['idcard'] == $this->user['idcard']) {
  124. Dever::db('agent/member')->update(array('where_id' => $id, 'shop_id' => $shop_id, 'is_shop' => 1));
  125. } else {
  126. Dever::alert('这不是您的子账户');
  127. }
  128. return 'ok';
  129. }
  130. # 账号与代理区域
  131. public function area()
  132. {
  133. $this->data['user'] = Dever::load('agent/lib/member')->getInfo($this->user);
  134. $where['mid'] = $this->data['user']['id'];
  135. /*
  136. $this->data['area'] = Dever::db('agent/member_area')->getData($where);
  137. if ($this->data['area']) {
  138. foreach ($this->data['area'] as $k => $v) {
  139. $this->data['area'][$k]['area'] = Dever::load("area/api.string", $v['area']);
  140. }
  141. }*/
  142. $this->data['button'] = array();
  143. $this->data['button']['up'] = 2;
  144. $this->data['button']['buy'] = 2;
  145. if ($this->data['user']['role']) {
  146. if ($this->data['user']['role']['levelup'] == 1) {
  147. $this->data['button']['up'] = 1;
  148. if ($this->data['user']['role']['type'] == 2 && $this->data['user']['role']['area'] == 1) {
  149. $temp = explode(',', $this->data['user']['area']);
  150. $city = Dever::db('area/city')->find($temp[1]);
  151. if ($city && $city['level'] == 1) {
  152. $this->data['button']['up'] = 2;
  153. }
  154. }
  155. }
  156. if ($this->data['user']['role']['isbuy'] == 1) {
  157. $this->data['button']['buy'] = 2;//不允许购买新区域
  158. }
  159. }
  160. return $this->data;
  161. }
  162. # 账号与代理区域
  163. public function getUpInfo()
  164. {
  165. $this->data['user'] = Dever::load('agent/lib/member')->getInfo($this->user);
  166. if ($this->data['user']['role']['type'] == 2) {
  167. $temp = explode(',', $this->data['user']['area']);
  168. # 如果当前是城市,只能升级为更高级的城市
  169. $city = Dever::db('area/city')->find($temp[1]);
  170. $level_info = array();
  171. if ($city['level_id'] && $city['level_id'] > 0) {
  172. $level_info = Dever::db('area/level')->find($city['level_id']);
  173. }
  174. if ($this->data['user']['role']['area'] == 1) {
  175. if ($city && $level_info && $level_info['level'] == 1) {
  176. $this->data['role'] = array();
  177. } else {
  178. $this->data['role'] = Dever::db('setting/role')->getInfo(array('isbuy' => 1, 'type' => 2, 'area' => 1));
  179. }
  180. }
  181. # 如果当前是区县,可以升级为城市和更高级的区县
  182. if ($this->data['user']['role']['area'] == 2) {
  183. $area = '1,2';
  184. if ($city && $level_info && $level_info['level'] == 1) {
  185. $county = Dever::db('area/county')->find($temp[2]);
  186. if ($county && $county['level'] == 1) {
  187. $area = '1';
  188. }
  189. }
  190. $this->data['role'] = Dever::db('setting/role')->getInfo(array('isbuy' => 1, 'type' => 2, 'area' => $area));
  191. }
  192. # 如果当前是街道,都可以升级
  193. if ($this->data['user']['role']['area'] == 3) {
  194. $area = '1,2,3';
  195. if ($city && $level_info && $level_info['level'] == 1) {
  196. $county = Dever::db('area/county')->find($temp[2]);
  197. $town = Dever::db('area/town')->find($temp[3]);
  198. if ($county && $county['level'] == 1 && $town && $town['type'] != 1) {
  199. $area = '1,2';
  200. }
  201. }
  202. $this->data['role'] = Dever::db('setting/role')->getInfo(array('isbuy' => 1, 'type' => 2, 'area' => $area));
  203. }
  204. } else {
  205. $this->data['role'] = Dever::db('setting/role')->getInfo(array('isbuy' => 1, 'type' => 2));
  206. }
  207. $this->data['level_total'] = count($this->data['role']) + 1;
  208. $this->data['config'] = Dever::db('setting/base')->find();
  209. return $this->data;
  210. }
  211. # 购买新区域 & 账号升级
  212. public function buyArea()
  213. {
  214. $state = Dever::load('agent/lib/order')->action($this->uid);
  215. if ($state) {
  216. return $state;
  217. } else {
  218. Dever::alert('购买失败');
  219. }
  220. }
  221. # 推广邀请
  222. public function invite()
  223. {
  224. $this->data['code'] = Dever::load('invite/api')->code($this->uid);
  225. return $this->data;
  226. }
  227. # 代理区域查询
  228. public function checkArea()
  229. {
  230. $where['role'] = Dever::input('role');
  231. $where['area'] = Dever::input('area');
  232. $this->data = Dever::load('agent/lib/order')->getPrice();
  233. $this->data['area_string'] = Dever::load("area/api.string", $where['area'], ' / ');
  234. $info = Dever::db('agent/member_area')->find($where);
  235. # 1已被代理 2未被代理
  236. if ($info) {
  237. $this->data['state'] = 1;
  238. } else {
  239. $this->data['state'] = 2;
  240. }
  241. return $this->data;
  242. }
  243. # 我的代理订单
  244. public function order()
  245. {
  246. $where = array();
  247. $where['mid'] = $this->uid;
  248. $type = Dever::input('type');
  249. if ($type == 1) {
  250. # 审核中
  251. $where['status'] = '1,2,3';
  252. } elseif ($type == 2) {
  253. # 审核中
  254. $where['status'] = '4';
  255. } elseif ($type == 3) {
  256. # 审核中
  257. $where['status'] = '5';
  258. }
  259. $this->data['list'] = Dever::db('agent/order')->getData($where);
  260. if ($this->data['list']) {
  261. foreach ($this->data['list'] as $k => $v) {
  262. $this->data['list'][$k] = $this->getOrderInfo($v);
  263. }
  264. }
  265. return $this->data;
  266. }
  267. public function orderInfo()
  268. {
  269. $where = array();
  270. $where['mid'] = $this->uid;
  271. $where['id'] = Dever::input('id');
  272. $this->data['info'] = Dever::db('agent/order')->find($where);
  273. if ($this->data['info']) {
  274. $this->data['info'] = $this->getOrderInfo($this->data['info']);
  275. }
  276. return $this->data;
  277. }
  278. # 修改信息
  279. public function upOrderInfo()
  280. {
  281. Dever::config('base')->hook = true;
  282. $where = array();
  283. $where['mid'] = $this->uid;
  284. $where['id'] = Dever::input('id');
  285. if (!$where['id']) {
  286. $where['id'] = Dever::input('order_id');
  287. }
  288. $info = Dever::db('agent/order')->find($where);
  289. //if ($info['status'] == 5) {
  290. if ($info['status']) {
  291. $update = array();
  292. $update['name'] = Dever::input('name');
  293. if (!$update['name']) {
  294. Dever::alert('姓名不能为空');
  295. }
  296. $update['idcard'] = Dever::input('idcard');
  297. if (!$update['idcard']) {
  298. Dever::alert('身份证号不能为空');
  299. }
  300. $update['idcard_front'] = Dever::input('idcard_front');
  301. if (!$update['idcard_front']) {
  302. Dever::alert('请上传身份证正面');
  303. }
  304. $update['idcard_back'] = Dever::input('idcard_back');
  305. if (!$update['idcard_back']) {
  306. Dever::alert('请上传身份证反面');
  307. }
  308. if ($info['type'] == 2) {
  309. $update['company_name'] = Dever::input('company_name');
  310. $update['company_pic'] = Dever::input('company_pic');
  311. $update['company_number'] = Dever::input('company_number');
  312. if (!$update['company_name']) {
  313. Dever::alert('公司名称不能为空');
  314. }
  315. if (!$update['company_pic']) {
  316. Dever::alert('营业执照照片不能为空');
  317. }
  318. if (!$update['company_number']) {
  319. Dever::alert('营业执照号码不能为空');
  320. }
  321. }
  322. $sign = Dever::input('sign');
  323. if ($sign) {
  324. $update['sign'] = $sign;
  325. //Dever::alert('请填写签名');
  326. }
  327. $area = Dever::input('area');
  328. if ($area) {
  329. $update['area'] = $area;
  330. //Dever::alert('请填写签名');
  331. }
  332. if ($info['pay_type'] == 2) {
  333. $update['pay_pic'] = Dever::input('pay_pic');
  334. if (!$update['pay_pic']) {
  335. Dever::alert('请上传汇款截图');
  336. }
  337. }
  338. $update['where_id'] = $this->uid;
  339. Dever::db('agent/member')->update($update);
  340. $update['where_id'] = $info['id'];
  341. if ($info['history_status']) {
  342. $update['status'] = $info['history_status'];
  343. } else {
  344. $update['status'] = 1;
  345. }
  346. Dever::db('agent/order')->update($update);
  347. $this->data['info'] = $info;
  348. $agreement = Dever::db('setting/agreement')->getData();
  349. list($temp, $this->data['agreement_1']) = Dever::load('agent/lib/agreement')->name($agreement[1], $info, $info['role'], 1, 2);
  350. list($temp, $this->data['agreement_4']) = Dever::load('agent/lib/agreement')->name($agreement[4], $info, $info['role'], 1, 2);
  351. return $this->data;
  352. }
  353. Dever::alert('无申请信息');
  354. }
  355. private function getOrderInfo($info)
  356. {
  357. $info['role'] = Dever::db('setting/role')->find($info['role']);
  358. if ($info['status'] <= 3) {
  359. $info['status'] = 1;
  360. $info['status_name'] = '审核中';
  361. } elseif ($info['status'] == 4) {
  362. $info['status'] = 2;
  363. $info['status_name'] = '已确认';
  364. } elseif ($info['status'] == 5) {
  365. $info['status'] = 3;
  366. $info['status_name'] = '已作废';
  367. }
  368. $info['cdate'] = date('Y-m-d', $info['cdate']);
  369. $info['area_string'] = Dever::load("area/api.string", $info['area']);
  370. $info['member'] = Dever::db('agent/member')->find($info['mid']);
  371. if ($info['parent_mid'] && $info['parent_mid'] > 0) {
  372. $info['parent_member'] = Dever::db('agent/member')->find($info['parent_mid']);
  373. $info['parent_member']['code'] = Dever::load("invite/api.code", $info['parent_mid']);
  374. }
  375. if ($info['source_id'] && $info['source_id'] > 0) {
  376. $info['source'] = Dever::db('setting/source')->find($info['source_id']);
  377. }
  378. return $info;
  379. }
  380. # 我的权益
  381. public function goodsList()
  382. {
  383. $where['type'] = Dever::input('type', 1);
  384. $where['mid'] = $this->uid;
  385. $this->data['list'] = Dever::db('agent/member_goods')->getData($where);
  386. $this->data['type'] = $where['type'];
  387. if ($this->data['list']) {
  388. foreach ($this->data['list'] as $k => $v) {
  389. if ($v['num'] <= 0) {
  390. unset($this->data['list'][$k]);
  391. continue;
  392. }
  393. $this->getGoodsInfo($this->data['list'][$k]);
  394. }
  395. }
  396. return $this->data;
  397. }
  398. public function goodsListView()
  399. {
  400. $where['mid'] = $this->uid;
  401. $where['id'] = Dever::input('id');
  402. if (!$where['id']) {
  403. Dever::alert('错误');
  404. }
  405. $this->data['info'] = Dever::db('agent/member_goods')->find($where);
  406. if ($this->data['info']) {
  407. $this->getGoodsInfo($this->data['info']);
  408. }
  409. return $this->data;
  410. }
  411. private function getGoodsInfo(&$v)
  412. {
  413. if ($v['type'] == 1) {
  414. $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['type_id'], $v['sku_id']);
  415. if (isset($goods_info['sku'])) {
  416. $sku = $goods_info['sku']['string'];
  417. } else {
  418. $sku = '';
  419. }
  420. $v += array
  421. (
  422. 'pic' => $goods_info['cover'],
  423. 'name' => $goods_info['name'],
  424. 'sku' => $sku,
  425. 'price' => $goods_info['price'],
  426. );
  427. } elseif ($v['type'] == 2) {
  428. $code = Dever::db('card/code')->find($v['sku_id']);
  429. $card = Dever::db('card/info')->find($code['card_id']);
  430. $card_type = Dever::db('card/type')->find($card['type_id']);
  431. $shop_type = Dever::db('shop/info')->config['config_type'];
  432. $card_type['shop_type'] = explode(',', $card_type['shop_type']);
  433. foreach ($card_type['shop_type'] as $k1 => $v1) {
  434. $card_type['shop_type'][$k1] = $shop_type[$v1];
  435. }
  436. $card_type['shop_type'] = implode(',', $card_type['shop_type']);
  437. $v += array
  438. (
  439. 'name' => $card['name'],
  440. 'sku' => '',
  441. 'price' => $code['total_cash'],
  442. 'card' => $code['card'],
  443. 'card_status' => $code['status'],
  444. 'shop_type' => $card_type['shop_type'],
  445. 'card_desc' => $card['content'],
  446. );
  447. } elseif ($v['type'] == 3) {
  448. $prize = Dever::db('setting/prize')->find($v['type_id']);
  449. $v += array
  450. (
  451. 'name' => $prize['name'],
  452. 'sku' => '',
  453. 'price' => $prize['price'],
  454. 'desc' => $prize['desc'],
  455. );
  456. }
  457. }
  458. # 兑换权益
  459. public function dhGoods()
  460. {
  461. $type = Dever::input('type', 1);
  462. $this->data = Dever::load('agent/lib/dhorder')->goods($this->uid);
  463. return $this->data;
  464. }
  465. # 兑换权益 确认订单
  466. public function dhGoodsAct_commit()
  467. {
  468. $type = Dever::input('type', 1);
  469. $data = Dever::load('agent/lib/dhorder')->goods($this->uid);
  470. $address_id = Dever::input('address_id');
  471. if (!$address_id) {
  472. Dever::alert('请选择配送地址');
  473. }
  474. $dh_type = 1;
  475. if ($type == 3) {
  476. $dh_type = 2;
  477. }
  478. $info = Dever::input('info');
  479. return Dever::load('agent/lib/dhorder')->action($this->user, $data['name'], $data['num'], $data['price'], $data['list'], $address_id, $dh_type, $type, -1, $info);
  480. }
  481. # 我的权益订单
  482. public function goodsOrder()
  483. {
  484. return Dever::load('agent/lib/dhorder')->getList($this->uid);
  485. }
  486. # 我的权益订单详情
  487. public function goodsOrderView()
  488. {
  489. $id = Dever::input('order_id');
  490. return Dever::load('agent/lib/dhorder')->getView($this->uid, $id);
  491. }
  492. # 获取我的团队
  493. public function getGroup()
  494. {
  495. # 获取团队数量
  496. $this->data['user'] = Dever::load('invite/api')->getChild($this->uid, 1);
  497. if ($this->data['user']) {
  498. foreach ($this->data['user'] as $k => $v) {
  499. $v = Dever::db('agent/member')->find($v['to_uid']);
  500. $this->data['user'][$k] = Dever::load('agent/lib/member')->getInfo($v);
  501. $this->data['user'][$k]['cdate'] = date('Y-m-d H:i', $v['cdate']);
  502. }
  503. }
  504. return $this->data;
  505. }
  506. # 获取我的资金
  507. public function getCash()
  508. {
  509. $this->data['user'] = $this->user;
  510. $this->data['type'] = Dever::db('bill/cash')->config['set']['type'];
  511. $this->data['status'] = Dever::db('bill/cash')->config['set']['status'];
  512. $where['mid'] = $this->uid;
  513. $type = Dever::input('type');
  514. if ($type) {
  515. $where['type'] = $type;
  516. }
  517. $this->data['list'] = Dever::db('bill/cash')->getData($where);
  518. if ($this->data['list']) {
  519. foreach ($this->data['list'] as $k => $v) {
  520. $this->data['list'][$k]['type_name'] = $this->data['type'][$v['type']];
  521. $this->data['list'][$k]['status_name'] = $this->data['status'][$v['status']];
  522. if ($v['type'] == 11) {
  523. $tixian = Dever::db('bill/tixian')->find($v['type_id']);
  524. if ($tixian && $tixian['status'] == 2) {
  525. $this->data['list'][$k]['status_name'] .= '(已发放)';
  526. } else {
  527. $this->data['list'][$k]['status_name'] .= '(待发放)';
  528. }
  529. }
  530. $this->data['list'][$k]['cdate'] = date('Y-m-d H:i', $v['cdate']);
  531. if ($v['cash'] > 0) {
  532. $this->data['list'][$k]['cash'] = '+' . $v['cash'];
  533. }
  534. }
  535. }
  536. return $this->data;
  537. }
  538. public function getCashView()
  539. {
  540. $where['mid'] = $this->uid;
  541. $where['id'] = Dever::input('id');
  542. $this->data['info'] = Dever::db('bill/cash')->find($where);
  543. $config = Dever::db('bill/cash')->config['set'];
  544. if ($this->data['info']) {
  545. $this->data['info']['type_name'] = $config['type'][$this->data['info']['type']];
  546. $this->data['info']['status_name'] = $config['status'][$this->data['info']['status']];
  547. $this->data['info']['cdate'] = date('Y-m-d H:i', $this->data['info']['cdate']);
  548. if ($this->data['info']['cash'] > 0) {
  549. $this->data['info']['cash'] = '+' . $this->data['info']['cash'];
  550. }
  551. if ($this->data['info']['type'] == 11) {
  552. $tixian = Dever::db('bill/tixian')->find($this->data['info']['type_id']);
  553. if ($tixian && $tixian['status'] == 2) {
  554. $this->data['info']['status_name'] .= '(已发放)';
  555. } else {
  556. $this->data['info']['status_name'] .= '(待发放)';
  557. }
  558. }
  559. }
  560. return $this->data;
  561. }
  562. # 提现详情
  563. public function tixianInfo()
  564. {
  565. $this->data['user'] = $this->user;
  566. $this->data['config'] = Dever::db('setting/base')->one();
  567. $this->data['config']['tax'] = $this->data['config']['tax']/100;
  568. $this->data['bank'] = Dever::db('setting/bank')->select();
  569. # 获取上次提现记录
  570. $this->data['mybank'] = Dever::db('bill/tixian')->getNew(array('mid' => $this->uid));
  571. if($this->data['user']){#234初中高可提现
  572. if ($this->data['user']['level_id'] > 0) {
  573. $this->data['user']['ti_type'] = 1;
  574. }
  575. /*
  576. if($this->data['user']['level_id']==2 || $this->data['user']['level_id']==3 || $this->data['user']['level_id']==4){
  577. $this->data['user']['ti_type']=1;
  578. }else{
  579. $this->data['user']['ti_type']=2;
  580. }
  581. */
  582. $level=Dever::db('setting/level')->one(array('id'=>$this->data['user']['level_id'],'state'=>1));
  583. $this->data['config']['market_desc']=$level['market_desc'];
  584. }
  585. return $this->data;
  586. }
  587. # 确定提现
  588. public function tixian_commit()
  589. {
  590. if (!$this->user['idcard']) {
  591. Dever::alert('未做身份证号认证,请先做身份认证');
  592. }
  593. $cash = Dever::input('cash');
  594. if ($cash > $this->user['cash']) {
  595. Dever::alert('您的可提现金额不足');
  596. }
  597. $name = Dever::input('name');
  598. if (!$name) {
  599. Dever::alert('姓名不能为空');
  600. }
  601. $bank = Dever::input('bank');
  602. if (!$bank) {
  603. Dever::alert('银行不能为空');
  604. }
  605. $bankname = Dever::input('bankname');
  606. if (!$bankname) {
  607. Dever::alert('开户行不能为空');
  608. }
  609. $card = Dever::input('card');
  610. if (!$card) {
  611. Dever::alert('银行卡号不能为空');
  612. }
  613. $ycard = Dever::input('ycard');
  614. if (!$ycard) {
  615. Dever::alert('确认银行卡号不能为空');
  616. }
  617. if ($card != $ycard) {
  618. Dever::alert('银行卡号和确认银行卡号不同');
  619. }
  620. $sign = Dever::input('sign');
  621. if(!$sign){
  622. //Dever::alert('手写签名不能为空');
  623. }
  624. $config = Dever::db('setting/base')->one();
  625. $tax = $config['tax']/100;
  626. $ycash = $cash;
  627. $cash = $cash - $cash*$tax;
  628. $id = Dever::load('bill/lib/tixian')->up($this->uid, $ycash, $cash, $name, $bank, $bankname, $card,$sign);
  629. if ($id) {
  630. $cash_id = Dever::load('bill/lib/cash')->up($this->uid, 11, $ycash, $this->user['role'], $id, '提现到'.substr($card, -4).'银行卡', 1);
  631. Dever::db('bill/tixian')->update(array('where_id' => $id, 'cash_id' => $cash_id));
  632. $where['where_id'] = $this->uid;
  633. $where['cash'] = -1*$ycash;
  634. Dever::db('agent/member')->upCash($where);
  635. }
  636. return 'ok';
  637. }
  638. # 修改密码
  639. public function setPass()
  640. {
  641. $pass = Dever::input('pass');
  642. if (!$pass) {
  643. Dever::alert('请输入密码');
  644. }
  645. $where['where_id'] = $this->uid;
  646. $where['password'] = sha1($pass);
  647. Dever::db('agent/member')->update($where);
  648. return Dever::db('agent/member')->find(array('id' => $this->uid, 'clear' => true));
  649. }
  650. # 修改资料
  651. public function setInfo()
  652. {
  653. $where = array();
  654. $name = Dever::input('name');
  655. if ($name) {
  656. $where['name'] = $name;
  657. }
  658. $avatar = Dever::input('avatar');
  659. if ($avatar) {
  660. $where['avatar'] = $avatar;
  661. }
  662. $username = Dever::input('username');
  663. if ($username) {
  664. $where['username'] = $username;
  665. }
  666. $birthday = Dever::input('birthday');
  667. if ($birthday) {
  668. $where['birthday'] = Dever::maketime($birthday);
  669. }
  670. if ($where) {
  671. $where['where_id'] = $this->uid;
  672. Dever::db('agent/member')->update($where);
  673. }
  674. if ($name && $name != $this->user['name']) {
  675. # 如果修改名字,就要把合同都变成待签署状态
  676. $agreement = Dever::db('agent/member_agreement')->select(array('mid' => $this->uid, 'status' => 2));
  677. if ($agreement) {
  678. $sign = array();
  679. foreach ($agreement as $k => $v) {
  680. if ($v['name'] == $this->user['name']) {
  681. Dever::db('agent/member_agreement')->update(array('where_id' => $v['id'], 'status' => 3));
  682. $sign[] = $v;
  683. }
  684. }
  685. if ($sign) {
  686. foreach ($sign as $k => $v) {
  687. $info = Dever::db('agent/member_agreement')->find(array('mid' => $this->uid, 'name' => $name));
  688. if ($info) {
  689. Dever::db('agent/member_agreement')->update(array('where_id' => $info['id'], 'status' => 1));
  690. } else {
  691. unset($v['id']);
  692. unset($v['cdate']);
  693. unset($v['sdate']);
  694. unset($v['edate']);
  695. unset($v['qdate']);
  696. unset($v['sign']);
  697. $member = Dever::db('agent/member')->find($v['mid']);
  698. $v['type'] = $member['type'];
  699. $v['company_number'] = $member['company_number'];
  700. $v['idcard'] = $member['idcard'];
  701. $v['mobile'] = $member['mobile'];
  702. $v['sign'] = '';
  703. $v['status'] = 1;
  704. $v['name'] = $name;
  705. Dever::db('agent/member_agreement')->insert($v);
  706. }
  707. }
  708. }
  709. }
  710. }
  711. return Dever::db('agent/member')->find(array('id' => $this->uid, 'clear' => true));
  712. }
  713. # 发送邮件
  714. public function sendEmail()
  715. {
  716. $email = Dever::input('email');
  717. if ($email) {
  718. if (!preg_match(Dever::rule('email'), $email)) {
  719. Dever::alert('请输入正确的邮箱');
  720. }
  721. $check = Dever::db('agent/member')->find(array('email' => $email));
  722. if ($check) {
  723. Dever::alert('该邮箱已被认证,请更换');
  724. }
  725. $code = Dever::load('passport/reg')->code(false, false);
  726. $email = base64_encode($email);
  727. Dever::daemon('lib/email.renzheng?mid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name'], 'agent');
  728. return '邮件已经发送成功!请到您的邮箱里查看。';
  729. } else {
  730. Dever::alert('请输入邮箱');
  731. }
  732. }
  733. # 获取我的合同
  734. public function getAgreement()
  735. {
  736. $where['mid'] = $this->uid;
  737. $this->data['list'] = Dever::db('agent/member_agreement')->getAll($where);
  738. if ($this->data['list']) {
  739. $status = Dever::db('agent/member_agreement')->config['status'];
  740. foreach ($this->data['list'] as $k => $v) {
  741. $this->data['list'][$k]['status_name'] = $status[$v['status']];
  742. $this->data['list'][$k]['qdate_string'] = '';
  743. if ($v['qdate']) {
  744. $this->data['list'][$k]['qdate_string'] = date('Y.m.d', $v['qdate']);
  745. }
  746. $role = Dever::db('setting/role')->find($v['role']);
  747. $name = Dever::load('agent/lib/agreement')->name($v['agreement_id'], $v, $role, 2, 2);
  748. $this->data['list'][$k]['link'] = $name[1];
  749. }
  750. }
  751. return $this->data;
  752. }
  753. # 获取我的合同
  754. public function getAgreementView()
  755. {
  756. $where['mid'] = $this->uid;
  757. $where['id'] = Dever::input('id');
  758. $this->data['info'] = array();
  759. if ($where['id']) {
  760. $status = Dever::db('agent/member_agreement')->config['status'];
  761. $this->data['info'] = Dever::db('agent/member_agreement')->find($where);
  762. if ($this->data['info']) {
  763. $this->data['info']['status_name'] = $status[$this->data['info']['status']];
  764. $this->data['info']['qdate_string'] = '';
  765. if ($this->data['info']['qdate']) {
  766. $this->data['info']['qdate_string'] = date('Y.m.d', $this->data['info']['qdate']);
  767. }
  768. $role = Dever::db('setting/role')->find($this->data['info']['role']);
  769. $name = Dever::load('agent/lib/agreement')->name($this->data['info']['agreement_id'], $this->data['info'], $role, 2, 2);
  770. $this->data['info']['link'] = $name[1];
  771. }
  772. }
  773. return $this->data;
  774. }
  775. # 对待签署的合同进行重新签署
  776. public function upAgreement()
  777. {
  778. $sign = Dever::input('sign');
  779. if (!$sign) {
  780. Dever::alert('请上传签名');
  781. }
  782. $where['mid'] = $this->uid;
  783. $where['id'] = Dever::input('id');
  784. if ($where['id']) {
  785. $info = Dever::db('agent/member_agreement')->find($where);
  786. if ($info && $info['status'] == 1) {
  787. $state = Dever::db('agent/member_agreement')->update(array('sign' => $sign, 'where_id' => $info['id'], 'status' => 2, 'qdate' => time()));
  788. if ($state) {
  789. $role = Dever::db('setting/role')->find($info['role']);
  790. $info['sign'] = $sign;
  791. $name = Dever::load('agent/lib/agreement')->name($info['agreement_id'], $info, $role, 2, 2);
  792. return array('link' => $name[1]);
  793. }
  794. }
  795. }
  796. Dever::alert('合同不存在');
  797. }
  798. # 获取我的业绩统计
  799. public function getSell()
  800. {
  801. $this->data['user'] = $this->user;
  802. $where['mid'] = $this->uid;
  803. $this->data['list'] = Dever::db('bill/sell_stat')->getData($where);
  804. #如果没有就插入
  805. $start_time = date('Y-m',time()) .'-01 00:00:00';
  806. $start = Dever::maketime($start_time);
  807. $sell=Dever::db('bill/sell_stat')->find(array('mid'=>$this->data['user']['id'],'month'=>$start));
  808. if(!$sell){
  809. $where['num']=0;
  810. $where['new_num']=0;
  811. $where['month']=$start;
  812. $where['mid']=$this->data['user']['id'];
  813. $where['cdate']=time();
  814. Dever::db('bill/sell_stat')->insert($where);
  815. }
  816. if ($this->data['list']) {
  817. foreach ($this->data['list'] as $k => $v) {
  818. $this->data['list'][$k]['month_string'] = date('Y年m月', $v['month']);
  819. #月份等于当前月份
  820. if( $this->data['list'][$k]['month_string']==date('Y年m月',time())){
  821. $this->data['list'][$k]['num']=$this->data['user']['group_sell'];
  822. }
  823. }
  824. }
  825. return $this->data;
  826. }
  827. # 获取默认地址信息
  828. public function getDefaultAddress()
  829. {
  830. $id = Dever::input('id');
  831. return Dever::load('agent/address')->getDefaultAddress($this->uid);
  832. }
  833. # 我的地址列表
  834. public function address()
  835. {
  836. return Dever::load('agent/address')->getAddress($this->uid);
  837. }
  838. # 获取单个地址信息
  839. public function getAddress()
  840. {
  841. $id = Dever::input('id');
  842. return Dever::load('agent/address')->getOne($this->uid, $id);
  843. }
  844. # 删除单个地址信息
  845. public function delAddress()
  846. {
  847. $id = Dever::input('id');
  848. return Dever::load('agent/address')->del($this->uid, $id, 2);
  849. }
  850. }