My.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. <?php
  2. namespace Option\Src;
  3. use Dever;
  4. use Option\Lib\Core;
  5. class My extends Core
  6. {
  7. public function test()
  8. {
  9. $id = Dever::input('id');
  10. $email = Dever::input('email');
  11. $account = Dever::db('option/account')->find($id);
  12. if ($account && $account['email']) {
  13. if ($email) {
  14. $account['email'] = $email;
  15. }
  16. $member = Dever::db('option/member')->find($account['mid']);
  17. $code = Dever::load('passport/reg')->code(false, false);
  18. $email = base64_encode($account['email']);
  19. return Dever::load('option/lib/email.renzheng?aid='.$account['id'].'&email=' . $email . '&code=' . $code . '&username=' . $member['name']);
  20. }
  21. }
  22. /**
  23. * 获取基本信息
  24. *
  25. * @return mixed
  26. */
  27. public function getInfo()
  28. {
  29. $this->data['user'] = $this->user;
  30. $this->data['cash'] = Dever::db('option/cash')->getTotal(array('aid' => $this->uid));
  31. $jiaofu = Dever::db('option/bill_jiaofu')->find(array('status' => 2, 'aid' => $this->uid));
  32. $this->data['jiaofu_state'] = 2;
  33. if ($jiaofu) {
  34. $this->data['jiaofu_state'] = 1;
  35. }
  36. $agreement = Dever::db('option/agreement')->find(array('aid' => $this->uid, 'audit' => 3));
  37. $this->data['agreement_state'] = 2;
  38. if ($agreement) {
  39. $this->data['agreement_state'] = 1;
  40. }
  41. $agreement = Dever::db('option/agreement')->getOne(array('aid' => $this->uid));
  42. $audit = array
  43. (
  44. 'status' => 1,
  45. 'desc' => '',
  46. 'date' => date('Y.m.d H:i'),
  47. );
  48. $this->data['audit'] = $audit;
  49. $total = 0;
  50. if ($this->data['cash']) {
  51. foreach ($this->data['cash'] as $k => $v) {
  52. if ($v['type'] == 1) {
  53. $this->data['cash'][$k]['type_name'] = '期权交付价值';
  54. } else {
  55. $this->data['cash'][$k]['type_name'] = '原始期权交付价值';
  56. }
  57. $total += $v['daijiaofu'];
  58. $this->data['cash'][$k]['total'] = number_format($v['jiaofu'] + $v['fafang'] + $v['duifu'], 2, '.', '');
  59. if ($this->data['cash'][$k]['total'] <= 0) {
  60. unset($this->data['cash'][$k]);
  61. }
  62. }
  63. $this->data['cash'] = array_slice($this->data['cash'], 0);
  64. }
  65. if ($agreement) {
  66. if ($agreement['audit'] == 3 && $total > 0) {
  67. $audit['status'] = 1;
  68. $audit['desc'] = '';
  69. } else {
  70. $audit['status'] = $agreement['audit'];
  71. $audit['desc'] = $agreement['audit_desc'];
  72. }
  73. }
  74. return $this->data;
  75. }
  76. # 待交付期权列表
  77. public function getValue()
  78. {
  79. $this->data['list'] = Dever::db('option/cash')->getTotal(array('aid' => $this->uid));
  80. $agreement = Dever::db('option/agreement')->getOne(array('aid' => $this->uid));
  81. $audit = array
  82. (
  83. 'status' => 1,
  84. 'desc' => '',
  85. 'date' => date('Y.m.d H:i'),
  86. );
  87. $date = 0;
  88. $total = $qiquan = $yuanshi = 0;
  89. if ($this->data['list']) {
  90. foreach ($this->data['list'] as $k => $v) {
  91. if ($v['type'] == 1) {
  92. $this->data['list'][$k]['type_name'] = '待交付期权';
  93. } else {
  94. $this->data['list'][$k]['type_name'] = '待交付原始期权';
  95. }
  96. if ($v['daijiaofu_date'] > $date) {
  97. $date = $v['daijiaofu_date'];
  98. }
  99. $total += $v['daijiaofu'];
  100. if ($v['type'] == 1) {
  101. $qiquan += $v['daijiaofu'];
  102. } else {
  103. $yuanshi += $v['daijiaofu'];
  104. }
  105. }
  106. }
  107. if ($date) {
  108. $audit['date'] = date('Y.m.d H:i', $date);
  109. }
  110. if ($agreement) {
  111. if ($agreement['audit'] == 3 && $total > 0) {
  112. $audit['status'] = 1;
  113. $audit['desc'] = '';
  114. } else {
  115. $audit['status'] = $agreement['audit'];
  116. $audit['desc'] = $agreement['audit_desc'];
  117. }
  118. }
  119. $total = number_format($total, 2, '.', '');
  120. $this->data['audit'] = $audit;
  121. $name = Dever::load('option/lib/agreement')->name(false, $this->user, 1, 2, $date, $total, $qiquan, $yuanshi);
  122. $this->data['agreement_link'] = $name[1];
  123. return $this->data;
  124. }
  125. # 获取交付列表
  126. public function getJiaofu()
  127. {
  128. $this->data['list'] = Dever::load('option/lib/cash')->getList($this->uid, 'jiaofu', 1, '交付');
  129. return $this->data;
  130. }
  131. # 获取交付详情
  132. public function getJiaofuView()
  133. {
  134. $id = Dever::input('id');
  135. $this->data['info'] = Dever::load('option/lib/cash')->getView($id, $this->uid, 'jiaofu', '交付');
  136. return $this->data;
  137. }
  138. # 获取发放列表
  139. public function getFafang()
  140. {
  141. $this->data['list'] = Dever::load('option/lib/cash')->getList($this->uid, 'fafang', 1, '发放');
  142. return $this->data;
  143. }
  144. # 获取发放详情
  145. public function getFafangView()
  146. {
  147. $id = Dever::input('id');
  148. $this->data['info'] = Dever::load('option/lib/cash')->getView($id, $this->uid, 'fafang', '发放');
  149. return $this->data;
  150. }
  151. # 获取兑付列表
  152. public function getDuifu()
  153. {
  154. $this->data['list'] = Dever::load('option/lib/cash')->getList($this->uid, 'duifu', 1, '兑付');
  155. return $this->data;
  156. }
  157. # 获取兑付详情
  158. public function getDuifuView()
  159. {
  160. $id = Dever::input('id');
  161. $this->data['info'] = Dever::load('option/lib/cash')->getView($id, $this->uid, 'duifu', '兑付');
  162. return $this->data;
  163. }
  164. # 修改资料
  165. public function setInfo()
  166. {
  167. $where = array();
  168. /*
  169. $where['name'] = Dever::input('name');
  170. if (!$where['name']) {
  171. Dever::alert('请输入姓名');
  172. }
  173. $where['idcard'] = Dever::input('idcard');
  174. if (!$where['idcard']) {
  175. Dever::alert('请输入身份证号');
  176. }*/
  177. $where['idcard_front'] = Dever::input('idcard_front');
  178. if (!$where['idcard_front']) {
  179. Dever::alert('请上传身份证正面照片');
  180. }
  181. $where['idcard_back'] = Dever::input('idcard_back');
  182. if (!$where['idcard_back']) {
  183. Dever::alert('请上传身份证背面照片');
  184. }
  185. $where['idcard_path'] = Dever::input('idcard_path');
  186. if($where['idcard_path']){
  187. $idcard_path = (array)json_decode($where['idcard_path']);
  188. if($idcard_path['face']){
  189. $rest = (array)$idcard_path['face'];
  190. if($this->user['name'] != $rest['name'] || $this->user['idcard'] != $rest['idNumber']){
  191. Dever::alert('姓名或身份证号不匹配');
  192. }
  193. }
  194. if($idcard_path['back']){
  195. $rest = (array)$idcard_path['back'];
  196. $date = explode('-',$rest['validPeriod']);
  197. $cdate = strtotime(str_replace('.','-',$date[1]));
  198. if(time()>=$cdate){
  199. Dever::alert('身份证背面已过期');
  200. }
  201. }
  202. }
  203. $where['email'] = Dever::input('email');
  204. if (!$where['email']) {
  205. Dever::alert('请填写邮箱');
  206. }
  207. $check = Dever::db('option/account')->find(array('email' => $where['email']));
  208. if ($check && $check['id'] != $this->uid) {
  209. Dever::alert('邮箱已被验证,请重新填写');
  210. }
  211. if ($where['email'] != $this->user['email']) {
  212. $where['is_email'] = 2;
  213. }
  214. if ($where) {
  215. $where['where_id'] = $this->uid;
  216. $where['audit'] = 2;
  217. $where['status'] = 2;
  218. $where['is_idcard'] = 1;
  219. $where['up_date'] = time();
  220. Dever::db('option/account')->update($where);
  221. Dever::db('option/member')->update(array('where_id' => $this->user['mid'], 'idcard_bind' => 1));
  222. }
  223. if (isset($where['is_email']) && $where['is_email'] == 2) {
  224. $code = Dever::load('passport/reg')->code(false, false);
  225. $email = base64_encode($where['email']);
  226. //Dever::daemon('lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name'], 'option');
  227. Dever::load('option/lib/email.renzheng?aid='.$this->uid.'&email=' . $email . '&code=' . $code . '&username=' . $this->user['name']);
  228. }
  229. return Dever::db('option/account')->find(array('id' => $this->uid, 'clear' => true));
  230. }
  231. # 确认签署
  232. public function act_commit()
  233. {
  234. Dever::config('base')->hook = true;
  235. $update['sign'] = Dever::input('sign');
  236. if (!$update['sign']) {
  237. Dever::alert('请上传签名');
  238. }
  239. $data = Dever::db('option/cash')->select(array('aid' => $this->uid));
  240. if (!$data) {
  241. Dever::alert('没有待交付的期权价值');
  242. }
  243. $date = 0;
  244. $total = $qiquan = $yuanshi = 0;
  245. if ($data) {
  246. foreach ($data as $k => $v) {
  247. if ($v['daijiaofu_date'] > $date) {
  248. $date = $v['daijiaofu_date'];
  249. }
  250. $total += $v['daijiaofu'];
  251. if ($v['type'] == 1) {
  252. $qiquan += $v['daijiaofu'];
  253. } else {
  254. $yuanshi += $v['daijiaofu'];
  255. }
  256. }
  257. }
  258. $total = number_format($total, 2, '.', '');
  259. # 签署合同
  260. $this->user['sign'] = $update['sign'];
  261. $agreement_id = Dever::load('option/lib/agreement')->up($this->user, $date, $total, $qiquan, $yuanshi);
  262. return $this->user;
  263. }
  264. # 获取期权协议内容
  265. public function getAgreementContent()
  266. {
  267. return 'test';
  268. }
  269. # 获取我的合同
  270. public function getAgreement()
  271. {
  272. $where['aid'] = $this->uid;
  273. $where['audit'] = 3;
  274. $this->data['list'] = Dever::db('option/agreement')->getAll($where);
  275. if ($this->data['list']) {
  276. $status = Dever::db('option/agreement')->config['status'];
  277. foreach ($this->data['list'] as $k => $v) {
  278. $this->data['list'][$k]['status_name'] = $status[$v['status']];
  279. $this->data['list'][$k]['qdate_string'] = '';
  280. if ($v['qdate']) {
  281. $this->data['list'][$k]['qdate_string'] = date('Y.m.d', $v['qdate']);
  282. }
  283. $name = Dever::load('option/lib/agreement')->name($v['agreement_id'], $v, 2, 2);
  284. $this->data['list'][$k]['link'] = $name[1];
  285. }
  286. }
  287. return $this->data;
  288. }
  289. # 获取我的合同
  290. public function getAgreementView()
  291. {
  292. $where['aid'] = $this->uid;
  293. $where['id'] = Dever::input('id');
  294. $this->data['info'] = array();
  295. if ($where['id']) {
  296. $status = Dever::db('option/agreement')->config['status'];
  297. $this->data['info'] = Dever::db('option/agreement')->find($where);
  298. if ($this->data['info']) {
  299. $this->data['info']['status_name'] = $status[$this->data['info']['status']];
  300. $this->data['info']['qdate_string'] = '';
  301. if ($this->data['info']['qdate']) {
  302. $this->data['info']['qdate_string'] = date('Y.m.d', $this->data['info']['qdate']);
  303. }
  304. $name = Dever::load('option/lib/agreement')->name($this->data['info']['agreement_id'], $this->data['info'], 2, 2);
  305. $this->data['info']['link'] = $name[1];
  306. }
  307. }
  308. return $this->data;
  309. }
  310. }