Machine.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <?php
  2. namespace app\api\controller\v1;
  3. use app\common\model\MachineListModel;
  4. use app\common\model\MachineModel;
  5. use app\common\model\RenwuMachineListModel;
  6. use app\common\model\RenwuMachineModel;
  7. use app\Request;
  8. use think\facade\Db;
  9. class Machine
  10. {
  11. // 卷轴列表
  12. public function machineExchangeList(Request $request, MachineModel $model){
  13. $post = $request->post();
  14. try {
  15. $list = $model->where('mlevel', '<', 500)->field('id,add_active,mlevel,name,max_have,xz_number,cycle,total_number')->select()->toArray();
  16. }catch (Exception $e){
  17. return api_error_return($e->getMessage());
  18. }
  19. return api_succ_return(['msg'=>'成功', 'data'=>$list]);
  20. }
  21. //卷轴兑换
  22. public function exchangeMacheine(Request $request, MachineModel $model){
  23. return api_error_return("已取消兑换功能");
  24. $post = $request->post();
  25. Db::startTrans();
  26. try {
  27. $model->exchangeMacheine($request->uid, $post['mid']);
  28. Db::commit();
  29. }catch (\Exception $e){
  30. Db::rollback();
  31. return api_error_return($e->getMessage());
  32. }
  33. return api_succ_return('兑换成功');
  34. }
  35. //我的卷轴
  36. public function getMyMacheine(Request $request, MachineListModel $model){
  37. try {
  38. $list =$model->alias('l')
  39. ->leftJoin('machine m', 'm.id = l.mid')
  40. ->where('l.uid', $request->uid)
  41. ->where('l.state', $request->post('state'))
  42. ->field('l.*,m.name')
  43. ->paginate($request->post('limit'))
  44. ->toArray();
  45. foreach ($list['data'] as $key=>$val){
  46. if (Db::name('machine_getrecord')->where('lid', $val['id'])->where('uid', $request->uid)->whereDay('create_time', 'today')->find()){
  47. $list['data'][$key]['today_get'] = 1;
  48. }else{
  49. $list['data'][$key]['today_get'] = 2;
  50. }
  51. }
  52. }catch (Exception $e){
  53. return api_error_return($e->getMessage());
  54. }
  55. return api_succ_return(['msg'=>'成功', 'data'=>$list['data']]);
  56. }
  57. //我的卷轴【领取奖励】
  58. public function getMachineAward(Request $request, MachineModel $model){
  59. if (!getServiceTop()){
  60. return api_error_return('优惠券抢购中,请稍后在试');
  61. }
  62. if (empty($request->post('sm_deviceid'))){
  63. return api_error_return('参数错误');
  64. }
  65. // getUserDeny($request);
  66. // $key = 'api'.$request->pathinfo().$request->uid;
  67. $post = $request->post();
  68. $app_sources = $request->param('app_sources');
  69. Db::startTrans();
  70. try {
  71. // redisLock($key);
  72. getActionBefore(0);
  73. $count = Db::name('ad_log')->whereDay('create_time', 'today')->where('type', 2)->where('status', 2)->where('uid', $request->uid)->count();
  74. if ($app_sources != 'ios'){
  75. if (!Db::name('ad_error_records')->where('error_code', 'in', 'CJ-3000,-1404,40003,CJ-10001')->where(['uid'=>$request->uid,'status'=>1])->find()){
  76. if (!in_array($request->uid, explode(',', env('APP.NOT_GET_RENWU'))) ) {
  77. if ($count < 5) {
  78. if ($request->uid != 7493487){
  79. return api_error_return('领取失败,还未完成今日任务');
  80. }
  81. }
  82. }
  83. }
  84. }
  85. shumei_event('task', $request->uid, $request->post('sm_deviceid'));
  86. $model->getMachineAward($request->uid, $post['id'], $request->post('app_sources'));
  87. Db::commit();
  88. }catch (\Exception $e){
  89. Db::rollback();
  90. // if ($e->getCode() != apiPingFanCode()){
  91. // redisFree($key);
  92. // }
  93. return api_error_return($e->getMessage());
  94. }
  95. // redisFree($key);
  96. return api_succ_return('领取成功');
  97. }
  98. // 分红任务包列表
  99. public function renwuMachineExchangeList(Request $request, RenwuMachineModel $model){
  100. $post = $request->post();
  101. try {
  102. $list = $model->select()->toArray();
  103. }catch (Exception $e){
  104. return api_error_return($e->getMessage());
  105. }
  106. return api_succ_return(['msg'=>'成功', 'data'=>$list]);
  107. }
  108. //兑换分红任务包
  109. public function renwuExchangeMacheine(Request $request, RenwuMachineModel $model){
  110. return api_error_return('该功能已下线');
  111. $post = $request->post();
  112. Db::startTrans();
  113. try {
  114. $model->exchangeRenwuMacheine($request->uid, $post['rid']);
  115. Db::commit();
  116. }catch (\Exception $e){
  117. Db::rollback();
  118. return api_error_return($e->getMessage());
  119. }
  120. return api_succ_return('兑换成功');
  121. }
  122. //我的分红任务包
  123. public function getMyRenwuMacheine(Request $request, RenwuMachineListModel $model){
  124. try {
  125. $list =$model->alias('l')
  126. ->leftJoin('renwu_machine m', 'm.id = l.rid')
  127. ->where('l.uid', $request->uid)
  128. ->where('l.state', 1)
  129. ->field('l.*,m.name')
  130. ->paginate($request->post('limit'))
  131. ->toArray();
  132. foreach ($list['data'] as $key=>$val){
  133. if (Db::name('renwu_machine_getrecord')->where('rid', $val['id'])->where('uid', $request->uid)->whereDay('create_time', 'today')->find()){
  134. $list['data'][$key]['today_get'] = 1;
  135. }else{
  136. $list['data'][$key]['today_get'] = 2;
  137. }
  138. }
  139. }catch (Exception $e){
  140. return api_error_return($e->getMessage());
  141. }
  142. return api_succ_return(['msg'=>'成功', 'data'=>$list['data']]);
  143. }
  144. //我的分红任务包【领取奖励】
  145. public function getRenwuMachineAward(Request $request, RenwuMachineModel $model){
  146. $key = 'api'.$request->pathinfo().$request->uid;
  147. $post = $request->post();
  148. $app_sources = $request->param('app_sources');
  149. if ($app_sources != 'ios'){
  150. $count = Db::name('ad_log')->whereDay('create_time', 'today')->where('type', 1)->where('status', 2)->where('uid', $request->uid)->count();
  151. if (!Db::name('ad_error_records')->where('error_code', 'in', 'CJ-3000,-1404,40003,CJ-10001')->where(['uid'=>$request->uid,'status'=>1])->find()){
  152. if (!in_array($request->uid, explode(',', env('APP.NOT_GET_RENWU')))) {
  153. if ($count < 5) {
  154. return api_error_return('领取失败,还未完成今日任务');
  155. }
  156. }
  157. }
  158. }
  159. Db::startTrans();
  160. try {
  161. $model->getRenwuMachineAward($request->uid, $post['id']);
  162. Db::commit();
  163. }catch (\Exception $e){
  164. Db::rollback();
  165. return api_error_return($e->getMessage());
  166. }
  167. return api_succ_return('领取成功');
  168. }
  169. }