MerchantApplyments.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace app\controller\merchant\system;
  3. use app\validate\merchant\MerchantApplymentsValidate;
  4. use think\App;
  5. use think\facade\Config;
  6. use think\facade\Queue;
  7. use ln\basic\BaseController;
  8. use app\common\repositories\system\merchant\MerchantApplymentsRepository;
  9. class MerchantApplyments extends BaseController
  10. {
  11. /**
  12. * @var MerchantRepository
  13. */
  14. protected $repository;
  15. /**
  16. * Merchant constructor.
  17. * @param App $app
  18. * @param MerchantRepository $repository
  19. */
  20. public function __construct(App $app, MerchantApplymentsRepository $repository)
  21. {
  22. parent::__construct($app);
  23. $this->repository = $repository;
  24. }
  25. /**
  26. * TODO 创建申请
  27. * @param MerchantApplymentsValidate $validate
  28. * @return \think\response\Json
  29. * @author Qinii
  30. * @day 6/22/21
  31. */
  32. public function create(MerchantApplymentsValidate $validate)
  33. {
  34. if(!systemConfig('open_wx_sub_mch')) return app('json')->fail('未开启子商户入驻');
  35. $data = $this->checkParams($validate);
  36. $this->repository->create($data,$this->request->merId());
  37. return app('json')->success('申请提交成功');
  38. }
  39. public function detail()
  40. {
  41. $merId = $this->request->merId();
  42. $data = $this->repository->detail($merId);
  43. $data['open_wx_sub_mch'] = systemConfig('open_wx_sub_mch');
  44. return app('json')->success($data);
  45. }
  46. public function update($id,MerchantApplymentsValidate $validate)
  47. {
  48. if(!systemConfig('open_wx_sub_mch')) return app('json')->fail('未开启子商户入驻');
  49. $data = $this->checkParams($validate);
  50. unset($data['id']);
  51. $this->repository->edit($id,$data);
  52. return app('json')->success('编辑提交成功');
  53. }
  54. public function check()
  55. {
  56. $mer_id = $this->request->merId();
  57. $this->repository->check($mer_id);
  58. return app('json')->success('查询状态已更新');
  59. }
  60. public function uploadImage($field)
  61. {
  62. $file = $this->request->file($field);
  63. $water = $this->request->param('water');
  64. if (!$file) return app('json')->fail('请上传图片');
  65. $file = is_array($file) ? $file[0] : $file;
  66. validate(["$field|图片" => [
  67. 'fileSize' => config('upload.filesize'),
  68. 'fileExt' => 'jpg,jpeg,png,bmp,gif',
  69. 'fileMime' => 'image/jpeg,image/png,image/gif',
  70. function ($file) {
  71. $ext = $file->extension();
  72. if ($ext != strtolower($file->extension())) {
  73. return '图片后缀必须为小写';
  74. }
  75. return true;
  76. }
  77. ]])->check([$field => $file]);
  78. $res = $this->repository->uploadImage($field,$water);
  79. return app('json')->success($res);
  80. }
  81. public function checkParams(MerchantApplymentsValidate $validate)
  82. {
  83. $data = $this->request->params([
  84. 'organization_type','business_license_info','organization_cert_info','id_doc_type','id_card_info','id_doc_info','need_account_info','account_info','contact_info','sales_scene_info','merchant_shortname','qualifications','business_addition_pics','business_addition_desc'
  85. ]);
  86. if($data['id_doc_type'] == 1){
  87. unset($data['id_doc_info']);
  88. }else{
  89. unset($data['id_card_info']);
  90. }
  91. if(in_array($data['organization_type'],['2401','2500'])) unset($data['business_license_info'],$data['organization_cert_info']);
  92. if(isset($data['organization_cert_info']) && !is_array($data['organization_cert_info'])) unset($data['organization_cert_info']);
  93. if(isset($data['qualifications']) && !$data['qualifications']) unset($data['qualifications']);
  94. if(isset($data['business_addition_pics']) && !$data['business_addition_pics']) unset($data['business_addition_pics']);
  95. $validate->check($data);
  96. return $data;
  97. }
  98. }