Finance.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\basic\Base;
  4. use app\middleware\AuthMiddleware;
  5. use app\model\saas\SaasBankCompany;
  6. use app\model\saas\SaasStoreOpen;
  7. use app\service\saas\StoreOpenService;
  8. use DI\Attribute\Inject;
  9. use LinFly\Annotation\Attributes\Route\Controller;
  10. use LinFly\Annotation\Attributes\Route\GetMapping;
  11. use LinFly\Annotation\Attributes\Route\Middleware;
  12. use LinFly\Annotation\Attributes\Route\PostMapping;
  13. use support\Request;
  14. use support\Response;
  15. #[Controller("/api/finance"),Middleware(AuthMiddleware::class)]
  16. class Finance extends Base
  17. {
  18. #[Inject]
  19. protected StoreOpenService $storeOpen;
  20. #[GetMapping("open/list")]
  21. public function getOpenList(Request $request): Response
  22. {
  23. try {
  24. $param = $request->all();
  25. if (!empty($param['status'])) $param['status'] = intval($param['status']+1);
  26. $data = $this->storeOpen->setModel()->getList($param,['poi' => function($query){
  27. $query->field("poi_id,poi_name,poi_address,nick_name");
  28. }]);
  29. return successTrans(100010,pageFormat($data),200);
  30. } catch (\Throwable $throwable) {
  31. return error($throwable->getMessage());
  32. }
  33. }
  34. /**
  35. * 三级城市信息
  36. * @param Request $request
  37. * @return Response
  38. */
  39. #[GetMapping("city")]
  40. public function getCityJson(Request $request): Response
  41. {
  42. try {
  43. $data = json_decode(file_get_contents(base_path()."/city.json"),true);
  44. return successTrans("success.data",$data);
  45. } catch (\Throwable $throwable) {
  46. return error($throwable->getMessage());
  47. }
  48. }
  49. #[GetMapping("code")]
  50. public function getCodeData(Request $request): Response
  51. {
  52. try {
  53. $param = $this->_valid([
  54. "name.require" => trans("empty.require")
  55. ],$request->method());
  56. if (!is_array($param)) return error($param);
  57. $data = (new SaasBankCompany)->where("name","like","%{$param['name']}%")->select()->toArray();
  58. if (empty($data)) return error("无数据");
  59. return successTrans("success.data",$data);
  60. } catch (\Throwable $throwable) {
  61. return error($throwable->getMessage());
  62. }
  63. }
  64. #[GetMapping("open")]
  65. public function getCodeOpen(Request $request): Response
  66. {
  67. try {
  68. $data = (new SaasStoreOpen)->where("poi_id",$request->user['store_id'])->select()->toArray();
  69. return successTrans("success.data",$data);
  70. } catch (\Throwable $throwable) {
  71. return error($throwable->getMessage());
  72. }
  73. }
  74. /**
  75. * 虚拟户进件提交
  76. * @param Request $request
  77. * @return Response
  78. */
  79. #[PostMapping("save")]
  80. public function setOpenData(Request $request): Response
  81. {
  82. try {
  83. $param = $this->_valid([
  84. "company_name.require" => trans("empty.require"),
  85. "company_sub_name.require" => trans("empty.require"),
  86. "company_number.require" => trans("empty.require"),
  87. "company_license.require" => trans("empty.require"),
  88. "city.require" => trans("empty.require"),
  89. "city_name.require" => trans("empty.require"),
  90. "address.require" => trans("empty.require"),
  91. "legal_mobile.require" => trans("empty.require"),
  92. "legal_mobile.mobile" => trans("error.mobile"),
  93. "legal_name.require" => trans("empty.require"),
  94. "legal_idcard.require" => trans("empty.require"),
  95. "legal_idcard.idCard" => trans("error.idcard"),
  96. "email.require" => trans("empty.require"),
  97. "email.email" => trans("error.email"),
  98. "legal_id_front.require" => trans("empty.require"),
  99. "legal_id_back.require" => trans("empty.require"),
  100. "bank_img.require" => trans("empty.require"),
  101. "bank_number.require" => trans("empty.require"),
  102. "bank_code.require" => trans("empty.require"),
  103. ],$request->method());
  104. if (!is_array($param)) return error($param);
  105. if (!empty($param['city'])) $param['city_code'] = json_encode($param['city']);
  106. if (!empty($param['city_name'])) $param['city_name'] = trim($param['city_name']);
  107. $data = (new SaasStoreOpen)->where("poi_id",$request->user['store_id'])->findOrEmpty();
  108. $param['last_at'] = getDateFull();
  109. if ($data->isEmpty())
  110. {
  111. $param['poi_id'] = $request->user['store_id'];
  112. $state = $data->setAutoData($param);
  113. } else {
  114. if ($data['status'] == 1) return error("无需重复进件");
  115. $state = $data->save($param);
  116. }
  117. if (!$state) return errorTrans("error.data");
  118. return success("提交成功,请耐心等待审核");
  119. } catch (\Throwable $throwable) {
  120. return error($throwable->getMessage());
  121. }
  122. }
  123. }