UserPartakeController.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <<<<<<< HEAD
  2. <?php
  3. namespace app\api\controller\user;
  4. use app\admin\model\order\StoreOrder;
  5. use app\models\system\SystemGroupData;
  6. use app\models\user\Out;
  7. use app\models\user\User;
  8. use app\models\user\UserPartake;
  9. use app\Request;
  10. use crmeb\services\GroupDataService;
  11. use crmeb\services\SystemConfigService;
  12. use crmeb\services\UtilService;
  13. use think\facade\Db;
  14. class UserPartakeController
  15. {
  16. /**
  17. * 出局奖励列表
  18. * @return void
  19. */
  20. public function out_list(Request $request)
  21. {
  22. [$page, $limit] = UtilService::getMore([['page', 1], ['limit', 10]], $request, true);
  23. $list = Out::where('status', 1)->where($page, $limit)->order('id DESC')->select()->toArray();
  24. return app('json')->success($list);
  25. }
  26. /**
  27. * 出局奖励列表
  28. * @return void
  29. */
  30. public function out_detail($id, Request $request)
  31. {
  32. $list = Out::where('status', 1)->where('id', $id)->order('id DESC')->find();
  33. $partake = UserPartake::where('uid', $request->uid())->where('status', 0)->find();
  34. $list['partake'] = $partake;
  35. $list = $list ? $list->toArray() : [];
  36. return app('json')->success($list);
  37. }
  38. /**
  39. * 参加
  40. * @return void
  41. */
  42. public function participate_in(Request $request)
  43. {
  44. $data = UtilService::postMore([
  45. 'out_id'
  46. ]);
  47. Db::startTrans();
  48. $user = User::where('uid', $request->uid())->find();
  49. if ($user['level'] < 2) return app('json')->fail('等级为团队合伙人才能参与');
  50. $out = Out::where('id', $data['out_id'])->find();
  51. if (empty($out)) return app('json')->fail('参与项目不存在');
  52. if ($out['status'] == 0) return app('json')->fail('参与项目已关闭');
  53. $partake = UserPartake::where('uid', $request->uid())->where('status', 0)->find();
  54. if ($partake) return app('json')->fail('当前已有参与中项目,无法参加');
  55. $res = UserPartake::create([
  56. 'uid' => $request->uid(),
  57. 'out_id' => $data['out_id'],
  58. ]);
  59. if ($res) {
  60. Db::commit();
  61. return app('json')->success('参与成功');
  62. } else {
  63. Db::rollback();
  64. return app('json')->fail('参与失败');
  65. }
  66. }
  67. /**
  68. * 参与记录
  69. * @param Request $request
  70. * @return mixed
  71. * @throws \think\db\exception\DataNotFoundException
  72. * @throws \think\db\exception\DbException
  73. * @throws \think\db\exception\ModelNotFoundException
  74. */
  75. public function partake(Request $request)
  76. {
  77. $where = UtilService::getMore([
  78. ['page', 1],
  79. ['limit', 20],
  80. ]);
  81. $data = UserPartake::alias('a')
  82. ->field('a.*,c.name,c.number')
  83. ->order('a.id DESC')
  84. ->leftJoin('out c', 'c.id = a.out_id')
  85. ->where('uid', $request->uid())
  86. ->page($where['page'], $where['limit'])
  87. ->select();
  88. $data = count($data) ? $data->toArray() : [];
  89. foreach ($data as &$item) {
  90. if ($item['money'] == 0) {
  91. $item['money'] = User::where('uid', $item['uid'])->find()['pay_price'];
  92. }
  93. }
  94. return app('json')->success($data);
  95. }
  96. public function user_push_list(Request $request)
  97. {
  98. $where = UtilService::getMore([
  99. ['page', 1],
  100. ['limit', 20],
  101. ['uid'],
  102. ['spread_uid']
  103. ]);
  104. $where['spread_uid'] = $request->uid();
  105. $data = StoreOrder::list($where);
  106. return app('json')->success($data);
  107. }
  108. =======
  109. <?php
  110. namespace app\api\controller\user;
  111. use app\admin\model\order\StoreOrder;
  112. use app\models\system\SystemGroupData;
  113. use app\models\user\Out;
  114. use app\models\user\User;
  115. use app\models\user\UserPartake;
  116. use app\Request;
  117. use crmeb\services\GroupDataService;
  118. use crmeb\services\SystemConfigService;
  119. use crmeb\services\UtilService;
  120. use think\facade\Db;
  121. class UserPartakeController
  122. {
  123. /**
  124. * 出局奖励列表
  125. * @return void
  126. */
  127. public function out_list(Request $request)
  128. {
  129. [$page, $limit] = UtilService::getMore([['page', 1], ['limit', 10]], $request, true);
  130. $list = Out::where('status', 1)->where($page, $limit)->order('id DESC')->select()->toArray();
  131. return app('json')->success($list);
  132. }
  133. /**
  134. * 出局奖励列表
  135. * @return void
  136. */
  137. public function out_detail($id, Request $request)
  138. {
  139. $list = Out::where('status', 1)->where('id', $id)->order('id DESC')->find();
  140. $partake = UserPartake::where('uid', $request->uid())->where('status', 0)->find();
  141. $list['partake'] = $partake;
  142. $list = $list ? $list->toArray() : [];
  143. return app('json')->success($list);
  144. }
  145. /**
  146. * 参加
  147. * @return void
  148. */
  149. public function participate_in(Request $request)
  150. {
  151. $data = UtilService::postMore([
  152. 'out_id'
  153. ]);
  154. Db::startTrans();
  155. $user = User::where('uid', $request->uid())->find();
  156. if ($user['level'] < 2) return app('json')->fail('等级为团队合伙人才能参与');
  157. $out = Out::where('id', $data['out_id'])->find();
  158. if (empty($out)) return app('json')->fail('参与项目不存在');
  159. if ($out['status'] == 0) return app('json')->fail('参与项目已关闭');
  160. $partake = UserPartake::where('uid', $request->uid())->where('status', 0)->find();
  161. if ($partake) return app('json')->fail('当前已有参与中项目,无法参加');
  162. $res = UserPartake::create([
  163. 'uid' => $request->uid(),
  164. 'out_id' => $data['out_id'],
  165. ]);
  166. if ($res) {
  167. Db::commit();
  168. return app('json')->success('参与成功');
  169. } else {
  170. Db::rollback();
  171. return app('json')->fail('参与失败');
  172. }
  173. }
  174. /**
  175. * 参与记录
  176. * @param Request $request
  177. * @return mixed
  178. * @throws \think\db\exception\DataNotFoundException
  179. * @throws \think\db\exception\DbException
  180. * @throws \think\db\exception\ModelNotFoundException
  181. */
  182. public function partake(Request $request)
  183. {
  184. $where = UtilService::getMore([
  185. ['page', 1],
  186. ['limit', 20],
  187. ]);
  188. $data = UserPartake::alias('a')
  189. ->field('a.*,c.name,c.number')
  190. ->order('a.id DESC')
  191. ->leftJoin('out c', 'c.id = a.out_id')
  192. ->where('uid', $request->uid())
  193. ->page($where['page'], $where['limit'])
  194. ->select();
  195. $data = count($data) ? $data->toArray() : [];
  196. foreach ($data as &$item) {
  197. if ($item['money'] == 0) {
  198. $item['money'] = User::where('uid', $item['uid'])->find()['pay_price'];
  199. }
  200. }
  201. return app('json')->success($data);
  202. }
  203. public function user_push_list(Request $request)
  204. {
  205. $where = UtilService::getMore([
  206. ['page', 1],
  207. ['limit', 20],
  208. ['uid'],
  209. ['spread_uid']
  210. ]);
  211. $where['spread_uid'] = $request->uid();
  212. $data = StoreOrder::list($where);
  213. return app('json')->success($data);
  214. }
  215. >>>>>>> 386b37d33e5ba817cba00df29efaefbd692e4dd1
  216. }