Order.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. /**
  6. * 会员接口
  7. */
  8. class Order extends Api
  9. {
  10. protected $noNeedLogin = [];
  11. protected $noNeedRight = '*';
  12. public function _initialize()
  13. {
  14. parent::_initialize();
  15. $this->model = model('TaskOrder');
  16. }
  17. public function Index()
  18. {
  19. $config=config('site');
  20. $this->relationSearch = true;
  21. //如果发送的来源是Selectpage,则转发到Selectpage
  22. if ($this->request->request('keyField')) {
  23. return $this->selectpage();
  24. }
  25. list($where, $sort, $order, $offset, $limit) = $this->buildparams();
  26. $map['uid']=input('uid',0);
  27. if(input('stype',0)>0){
  28. $map['stype']=input('stype');
  29. }
  30. $map['isqx']=1;
  31. $total = $this->model
  32. ->where($where)
  33. ->where($map)
  34. ->order($sort, $order)
  35. ->count();
  36. $list = $this->model
  37. ->where($where)
  38. ->where($map)
  39. ->order($sort, $order)
  40. ->limit($offset, $limit)
  41. ->select();
  42. if($list){
  43. foreach ($list as $k=>$v){
  44. $subtime=0;
  45. $Task=model('Task')->where(['id'=>$v['oid']])->find();
  46. if($Task){
  47. $subtime=$this->getsubtime($Task['subtime']);
  48. $subtime=$v['createtime']+$subtime-time();
  49. }
  50. $list[$k]['subtime']=$subtime;
  51. $list[$k]['createtime']=date('Y-m-d H:i',$v['createtime']);
  52. $User=model('User')->where(['id'=>$v['fid']])->find();
  53. if(isset($User['avatar'])){
  54. if(strpos($User['avatar'],'http') !== false){
  55. $list[$k]['avatar']=$User['avatar'];
  56. }else{
  57. if($User['avatar']){
  58. $list[$k]['avatar']= $config['imgurl'].$User['avatar'];
  59. }else{
  60. $list[$k]['avatar']=$list[$k]['img'];
  61. }
  62. }
  63. }else{
  64. $list[$k]['avatar']=$list[$k]['img'];
  65. }
  66. }
  67. }
  68. $result = array("total" => $total, "rows" => $list);
  69. return json($result);
  70. }
  71. public function orderinfo(){
  72. $config=config('site');
  73. //var_dump($where);
  74. $list = model('TaskOrder')
  75. ->where(['id'=>input('id')])
  76. ->find();
  77. if($list){
  78. $subtime=0;
  79. $shetime=0;
  80. $Task=model('Task')->where(['id'=>$list['oid']])->find();
  81. if($Task){
  82. $subtime=$this->getsubtime($Task['subtime']);
  83. $subtime=$list['createtime']+$subtime-time();
  84. $shetime=$this->getshetime($Task['shetime']);
  85. $shetime=$list['ttime']+$shetime-time();
  86. }
  87. $list['subtime']=$subtime;//提交时间
  88. $list['shetime']=$shetime;//审核时间
  89. $list['createtime']=date('Y-m-d H:i',$list['createtime']);
  90. }
  91. return json($list);
  92. }
  93. public function taskinfosh(){
  94. $config=config('site');
  95. //var_dump($where);
  96. $TaskOrder=model('TaskOrder')->where(['id'=>input('id',0)])->find();
  97. $list = model('Task')->where(['id'=>$TaskOrder['oid']])->find();
  98. if($list){
  99. $odcount=model('TaskOrder')->where(['oid'=>$list['id'],'uid'=>input('uid',0)])->count();
  100. if($TaskOrder){
  101. if($TaskOrder['buz']){
  102. $list['buz']=json_decode($TaskOrder['buz'],true);
  103. }
  104. }
  105. $list['TaskOrder']=$TaskOrder;
  106. if($list['idsum']>$odcount){
  107. $list['islname']=1;
  108. }else{
  109. $list['islname']=2;
  110. }
  111. if($list['status']=='hidden'){
  112. $list['islname']=3;
  113. }
  114. $list['odcount']=$odcount;
  115. $UserGroup=model('UserGroup')->where(['id'=>$list['users']['group_id']])->find();
  116. if(isset($UserGroup['name'])){
  117. $list['Groupname']=$UserGroup['name'];
  118. }else{
  119. $list['Groupname']='';
  120. }
  121. $list['createtime']=date('Y-m-d H:i',$list['createtime']);
  122. if(isset($list['users']['avatar'])){
  123. if(strpos($list['users']['avatar'],'http') !== false){
  124. $list['avatar']=$list['users']['avatar'];
  125. }else{
  126. if($list['users']['avatar']){
  127. $list['avatar']= $config['imgurl'].$list['users']['avatar'];
  128. }else{
  129. $list['avatar']=$config['imgurl'].'/uploads/20200523/250b3f89b40ff3714b07cc51b4c2f63d.png';
  130. }
  131. }
  132. }else{
  133. $list['avatar']=$config['imgurl'].'/uploads/20200523/250b3f89b40ff3714b07cc51b4c2f63d.png';
  134. }
  135. }
  136. return json($list);
  137. }
  138. public function delorder(){
  139. $tdata=model('TaskOrder')->where(['id'=>input('id')])->find();
  140. if($tdata['stype']>2){
  141. $this->error(__('当前任务正在进行不能取消'));
  142. }
  143. $up=['isqx'=>2,'qxbz'=>'用户取消 '.date('Y-m-d H:i',time())];
  144. model('TaskOrder')->where(['id'=>input('id')])->update($up);
  145. $this->success(__('取消成功'));
  146. }
  147. public function getsubtime($time){
  148. $Task['subtime']=$time;
  149. if($Task['subtime']=='1小时'){
  150. $subtime=3600*1;
  151. }else if($Task['subtime']=='2小时'){
  152. $subtime=3600*3;
  153. }else if($Task['subtime']=='3小时'){
  154. $subtime=3600*3;
  155. }else if($Task['subtime']=='4小时'){
  156. $subtime=3600*4;
  157. }else if($Task['subtime']=='5小时'){
  158. $subtime=3600*5;
  159. }else if($Task['subtime']=='6小时'){
  160. $subtime=3600*6;
  161. }else if($Task['subtime']=='7小时'){
  162. $subtime=3600*7;
  163. }else if($Task['subtime']=='8小时'){
  164. $subtime=3600*7;
  165. }else{
  166. $subtime=0;
  167. }
  168. return $subtime;
  169. }
  170. public function getshetime($time){
  171. $Task['subtime']=$time;
  172. if($Task['subtime']=='24小时'){
  173. $subtime=3600*24;
  174. }else if($Task['subtime']=='48小时'){
  175. $subtime=3600*48;
  176. }else if($Task['subtime']=='72小时'){
  177. $subtime=3600*72;
  178. }else{
  179. $subtime=0;
  180. }
  181. return $subtime;
  182. }
  183. }