AgencyAction.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. <?php
  2. namespace app\api\controller;
  3. use app\admin\model\Admin;
  4. use app\api\model\system\Feedback;
  5. use app\api\service\AgencyActionService;
  6. use app\api\service\WxService;
  7. use app\api\validate\BaseApiValidate;
  8. use think\Request;
  9. /**
  10. * 代理商申请
  11. */
  12. class AgencyAction extends AgencyBaseApi
  13. {
  14. private $service;
  15. protected $cNoNeedLogin = ["login", "loginByMobile", "getAdmin"];
  16. public function __construct(Request $request = null)
  17. {
  18. parent::__construct($request);
  19. $this->service = new AgencyActionService();
  20. }
  21. public function login()
  22. {
  23. $params = (new BaseApiValidate([
  24. "account" => "require",
  25. "password" => "require",
  26. ]))->checkBody();
  27. $r = $this->service->login($params["account"], $params["password"]);
  28. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  29. }
  30. public function loginByMobile()
  31. {
  32. $params = (new BaseApiValidate([
  33. "mobile" => "require",
  34. "sms_code" => "require|number",
  35. ]))->checkBody();
  36. $r = $this->service->loginByMobile($params["mobile"], $params["sms_code"]);
  37. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  38. }
  39. public function wxAppLogin()
  40. {
  41. $params = (new BaseApiValidate([
  42. "openId" => "require",
  43. "unionId" => "require"
  44. ]))->checkBody();
  45. $r = $this->service->wxAppLogin($params["openId"], $params["unionId"]);
  46. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  47. }
  48. public function bindAppWx()
  49. {
  50. $params = (new BaseApiValidate([
  51. "openId" => "require",
  52. "unionId" => "require"
  53. ]))->checkBody();
  54. $r = $this->service->bindAppWx($this->admin['id'], $params["openId"], $params["unionId"]);
  55. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  56. }
  57. public function bindAppletWx()
  58. {
  59. $params = (new BaseApiValidate([
  60. "code" => "require"
  61. ]))->checkBody();
  62. $r = (new WxService())->wxLoginByApplet($params["code"]);
  63. if (0 === $r->code())
  64. $this->error($r->msg());
  65. $info = $r->data();
  66. if (!isset($info["unionid"]) || !isset($info["openid"]))
  67. $this->error("微信登录错误! unionid|openid 不能为空!");
  68. $model = new Admin();
  69. $agency = $model->where("id", $this->admin["id"])->find();
  70. if (!$agency)
  71. $this->error("用户不存在!");
  72. if ($agency["union_id"] === $info["unionid"] && $agency["applet_openid"] === $info["openid"]) {
  73. $this->success(true);
  74. }
  75. $A = $model->findByUnionId($info["unionid"]);
  76. if ($A)
  77. $this->error("该微信已经绑定助教,无法重复绑定!");
  78. $model->update([
  79. "applet_openid" => $info["openid"],
  80. "union_id" => $info["unionid"],
  81. ], ["id" => $this->admin['id']]);
  82. $this->success(true);
  83. }
  84. public function fetchPermission()
  85. {
  86. $this->success($this->service->fetchPermission($this->admin['id']));
  87. }
  88. public function fetchTodayPerformance()
  89. {
  90. $params = (new BaseApiValidate([
  91. "city_code" => "number",
  92. "store_id" => "number",
  93. ]))->checkBody();
  94. $r = $this->service->fetchTodayPerformance(
  95. $this->admin,
  96. $params["city_code"] ?? null,
  97. $params["store_id"] ?? null
  98. );
  99. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  100. }
  101. // 获取订单
  102. public function fetchOrders()
  103. {
  104. $params = (new BaseApiValidate([
  105. "city_code" => "number",
  106. "store_id" => "number",
  107. "page" => "require|number",
  108. "size" => "require|number"
  109. ]))->checkBody();
  110. $paginate = $this->service->fetchOrders(
  111. $this->admin,
  112. $params["city_code"] ?? null,
  113. $params["store_id"] ?? null,
  114. $params["page"],
  115. $params["size"]
  116. );
  117. $this->success([
  118. $paginate->items(),
  119. $paginate->total()
  120. ]);
  121. }
  122. // 获取分润账单
  123. public function fetchBill()
  124. {
  125. $params = (new BaseApiValidate([
  126. "city_code" => "number",
  127. "store_id" => "number",
  128. "page" => "require|number",
  129. "size" => "require|number"
  130. ]))->checkBody();
  131. $paginate = $this->service->fetchBill(
  132. $this->admin,
  133. $params["city_code"] ?? null,
  134. $params["store_id"] ?? null,
  135. $params["page"],
  136. $params["size"]
  137. );
  138. $this->success([
  139. $paginate->items(),
  140. $paginate->total()
  141. ]);
  142. }
  143. public function fetchMassager()
  144. {
  145. $params = (new BaseApiValidate([
  146. "city_code" => "number",
  147. "store_id" => "number",
  148. "page" => "require|number",
  149. "size" => "require|number"
  150. ]))->checkBody();
  151. $paginate = $this->service->fetchMassger(
  152. $this->admin,
  153. $params["city_code"] ?? null,
  154. $params["store_id"] ?? null,
  155. $params["page"],
  156. $params["size"]
  157. );
  158. $this->success([
  159. $paginate->items(),
  160. $paginate->total()
  161. ]);
  162. }
  163. public function backlog()
  164. {
  165. $this->success($this->service->backlog($this->admin));
  166. }
  167. public function fetchCheckComment()
  168. {
  169. $this->success($this->service->fetchCheckComment($this->admin));
  170. }
  171. public function commentCheck()
  172. {
  173. $params = (new BaseApiValidate([
  174. "id" => "require|number",
  175. "check" => "require"
  176. ]))->checkBody();
  177. if (!in_array($params["check"], ["pass", "reject"]))
  178. $this->error("处理结果异常 pass|reject");
  179. $r = $this->service->commentCheck(
  180. $this->admin,
  181. $params["id"],
  182. $params["check"]
  183. );
  184. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  185. }
  186. public function fetchCheckMassager()
  187. {
  188. $this->success($this->service->fetchCheckMassager($this->admin));
  189. }
  190. public function massagerCheck()
  191. {
  192. $params = (new BaseApiValidate([
  193. "id" => "require|number",
  194. "check" => "require"
  195. ]))->checkBody();
  196. if (!in_array($params["check"], ["pass", "reject"]))
  197. $this->error("处理结果异常 pass|reject");
  198. $r = $this->service->massagerCheck(
  199. $this->admin,
  200. $params["id"],
  201. $params["check"]
  202. );
  203. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  204. }
  205. public function fetchCheckVisa()
  206. {
  207. $this->success($this->service->fetchCheckVisa($this->admin));
  208. }
  209. public function visaCheck()
  210. {
  211. $params = (new BaseApiValidate([
  212. "id" => "require|number",
  213. "check" => "require"
  214. ]))->checkBody();
  215. if (!in_array($params["check"], ["pass", "reject"]))
  216. $this->error("处理结果异常 pass|reject");
  217. $r = $this->service->visaCheck(
  218. $this->admin,
  219. $params["id"],
  220. $params["check"]
  221. );
  222. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  223. }
  224. public function fetchCheckClosing()
  225. {
  226. $this->success($this->service->fetchCheckClosing($this->admin));
  227. }
  228. public function closingCheck()
  229. {
  230. $params = (new BaseApiValidate([
  231. "id" => "require|number",
  232. "check" => "require"
  233. ]))->checkBody();
  234. if (!in_array($params["check"], ["pass", "reject"]))
  235. $this->error("处理结果异常 pass|reject");
  236. $r = $this->service->closingCheck(
  237. $this->admin,
  238. $params["id"],
  239. $params["check"]
  240. );
  241. $r->code() ? $this->success($r->data()) : $this->error($r->msg());
  242. }
  243. // 球房列表
  244. public function fetchStore()
  245. {
  246. $params = (new BaseApiValidate([
  247. "page" => "require|number",
  248. "size" => "require|number"
  249. ]))->checkBody();
  250. $this->success($this->service->fetchStore(
  251. $this->admin,
  252. $params["page"],
  253. $params["size"]
  254. ));
  255. }
  256. // 发起提现
  257. public function deposit()
  258. {
  259. $params = (new BaseApiValidate([
  260. 'platform' => 'require',
  261. 'amount' => 'require|between:1,100000',
  262. ]))->checkBody();
  263. if (!in_array($params["platform"], [\E_ORDER_PAY_TYPE::Wechat, \E_ORDER_PAY_TYPE::ALi, \E_ORDER_PAY_TYPE::Bank]))
  264. $this->error("platform error");
  265. $r = $this->service->deposit(
  266. $this->admin,
  267. $params["platform"],
  268. fixed2Float($params["amount"])
  269. );
  270. $r->code() ? $this->success($r->data(), $r->msg()) : $this->error($r->msg());
  271. }
  272. public function feedback()
  273. {
  274. $params = (new BaseApiValidate([
  275. "reason" => "require",
  276. "mobile" => "require",
  277. "content" => "require"
  278. ]))->checkBody();
  279. (new Feedback())->save([
  280. "agency_id" => $this->admin["id"],
  281. "user_id" => null,
  282. "images" => isset($params["images"]) ? $params["images"] : null,
  283. "type" => "feedback",
  284. "reason" => $params["reason"],
  285. "mobile" => $params["mobile"],
  286. "content" => $params["content"],
  287. "status" => \E_MASSAGER_STATUS::Default,
  288. "createtime" => time(),
  289. "updatetime" => time()
  290. ]);
  291. $this->success();
  292. }
  293. public function findAgency()
  294. {
  295. $agency = (new Admin())->where("id", $this->admin["id"])->find();
  296. $agency ? $this->success($agency) : $this->error("代理商不存在!");
  297. }
  298. public function fetchSystemMessage()
  299. {
  300. $params = (new BaseApiValidate([
  301. 'page' => 'require|number',
  302. 'size' => 'require|number',
  303. ]))->checkBody();
  304. $this->success($this->service->fetchSystemMessage($this->admin["id"], $params["page"], $params["size"]));
  305. }
  306. public function updateBankInfo()
  307. {
  308. $params = (new BaseApiValidate([
  309. "opening_bank_name" => 'require',
  310. "bank_real_name" => 'require',
  311. "bank_no" => 'require'
  312. ]))->checkBody();
  313. $this->success($this->service->updateBankInfo($this->admin, $params["opening_bank_name"], $params["bank_real_name"], $params["bank_no"]));
  314. }
  315. public function getAgency()
  316. {
  317. $params = (new BaseApiValidate([
  318. "agency_id" => "require|number"
  319. ]))->checkBody();
  320. $this->success((new Admin())->get($params["agency_id"]));
  321. }
  322. }