AgencyAction.php 11 KB

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