Merchant.Class.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. <?php
  2. /**
  3. * 商户Controller
  4. * Created by PhpStorm.
  5. * User: haoren
  6. * Date: 2020/09/25
  7. * Time: 15:00
  8. */
  9. namespace JinDouYun\Controller\Merchant;
  10. use JinDouYun\Model\Finance\MMerchantFlow;
  11. use Mall\Framework\Core\ErrorCode;
  12. use Mall\Framework\Core\ResultWrapper;
  13. use Mall\Framework\Core\StatusCode;
  14. use JinDouYun\Controller\BaseController;
  15. use JinDouYun\Model\Merchant\MMerchant;
  16. class Merchant extends BaseController
  17. {
  18. private $objMMerchant;
  19. public function __construct($isCheckAcl = true, $isMustLogin = true)
  20. {
  21. parent::__construct($isCheckAcl, $isMustLogin);
  22. $this->objMMerchant = new MMerchant($this->onlineEnterpriseId, $this->onlineUserId);
  23. }
  24. /**
  25. * 获取参数
  26. */
  27. public function commonFieldFilter()
  28. {
  29. $params = $this->request->getRawJson();
  30. if (empty($params)) {
  31. parent::sendOutput('参数为空', ErrorCode::$paramError);
  32. }
  33. $data = [
  34. 'name' => isset($params['name']) ? $params['name'] : '',
  35. 'category' => isset($params['category']) ? $params['category'] : '',
  36. 'contactName' => isset($params['contactName']) ? $params['contactName'] : '',
  37. 'userCenterMobile' => isset($params['userCenterMobile']) ? $params['userCenterMobile'] : '',
  38. 'contactMobile' => isset($params['contactMobile']) ? $params['contactMobile'] : '',
  39. ];
  40. foreach ($data as $key => $value) {
  41. if (empty($value) && $value !== 0) {
  42. parent::sendOutput($key . '参数错误', ErrorCode::$paramError);
  43. }
  44. }
  45. isset($params['warehouseId']) && $data['warehouseId'] = !empty($params['warehouseId']) ? $params['warehouseId'] : '';
  46. isset($params['expireTime']) && $data['expireTime'] = !empty($params['expireTime']) ? $params['expireTime'] : '';
  47. isset($params['desc']) && $data['desc'] = !empty($params['desc']) ? $params['desc'] : '';
  48. isset($params['provinceCode']) && $data['provinceCode'] = !empty($params['provinceCode']) ? $params['provinceCode'] : '';
  49. isset($params['cityCode']) && $data['cityCode'] = !empty($params['cityCode']) ? $params['cityCode'] : '';
  50. isset($params['districtCode']) && $data['districtCode'] = !empty($params['districtCode']) ? $params['districtCode'] : '';
  51. isset($params['address']) && $data['address'] = !empty($params['address']) ? $params['address'] : '';
  52. isset($params['latitude']) && $data['latitude'] = !empty($params['latitude']) ? $params['latitude'] : '';
  53. isset($params['longitude']) && $data['longitude'] = !empty($params['longitude']) ? $params['longitude'] : '';
  54. isset($params['note']) && $data['note'] = !empty($params['note']) ? $params['note'] : '';
  55. isset($params['settleType']) && $data['settleType'] = !empty($params['settleType']) ? $params['settleType'] : '';
  56. isset($params['settle']) && $data['settle'] = !empty($params['settle']) ? $params['settle'] : '';
  57. isset($params['auditType']) && $data['auditType'] = !empty($params['auditType']) ? $params['auditType'] : '';
  58. isset($params['audit']) && $data['audit'] = !empty($params['audit']) ? $params['audit'] : '';
  59. isset($params['settingType']) && $data['settingType'] = !empty($params['settingType']) ? $params['settingType'] : '';
  60. isset($params['setting']) && $data['setting'] = !empty($params['setting']) ? $params['setting'] : '';
  61. return $data;
  62. }
  63. /**
  64. * 入驻申请添加
  65. */
  66. public function addApply()
  67. {
  68. $params = $this->request->getRawJson();
  69. if (empty($params)) {
  70. parent::sendOutput('参数为空', ErrorCode::$paramError);
  71. }
  72. $data = [
  73. 'userCenterId' => isset($params['userCenterId']) ? $params['userCenterId'] : '',
  74. 'name' => isset($params['name']) ? $params['name'] : '',
  75. 'contactName' => isset($params['contactName']) ? $params['contactName'] : '',
  76. 'contactMobile' => isset($params['contactMobile']) ? $params['contactMobile'] : '',
  77. ];
  78. foreach ($data as $key => $value) {
  79. if (empty($value)) {
  80. parent::sendOutput($key . '参数为空', ErrorCode::$paramError);
  81. }
  82. unset($params[$key]);
  83. }
  84. $data['desc'] = isset($params['desc']) ? $params['desc'] : '';
  85. $data['license'] = isset($params['license']) ? $params['license'] : '';
  86. $data['category'] = isset($params['category']) ? $params['category'] : '';
  87. $data['provinceCode'] = isset($params['provinceCode']) ? $params['provinceCode'] : '';
  88. $data['cityCode'] = isset($params['cityCode']) ? $params['cityCode'] : '';
  89. $data['districtCode'] = isset($params['districtCode']) ? $params['districtCode'] : '';
  90. $data['address'] = isset($params['address']) ? $params['address'] : '';
  91. $data['info'] = isset($params['info']) ? $params['info'] : '';
  92. $modelResult = $this->objMMerchant->addApply($data);
  93. if (!$modelResult->isSuccess()) {
  94. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  95. }
  96. parent::sendOutput($modelResult->getData());
  97. }
  98. /**
  99. * 入驻审核
  100. */
  101. public function auditApply()
  102. {
  103. $id = $this->request->param('request_id');
  104. if (empty($id)) {
  105. parent::sendOutput('id参数错误', ErrorCode::$paramError);
  106. }
  107. $params = $this->request->getRawJson();
  108. $data['auditStatus'] = $params['auditStatus'];
  109. foreach ($data as $key => $value) {
  110. if (empty($value)) {
  111. parent::sendOutput($key . '参数错误', ErrorCode::$paramError);
  112. }
  113. }
  114. $data['auditFailReason'] = isset($params['auditFailReason']) ? $params['auditFailReason'] : '';
  115. $modelResult = $this->objMMerchant->auditApply($data, ['id' => $id]);
  116. if (!$modelResult->isSuccess()) {
  117. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  118. }
  119. parent::sendOutput($modelResult->getData());
  120. }
  121. /**
  122. * 新增商户
  123. */
  124. public function addMerchant()
  125. {
  126. $data = self::commonFieldFilter();
  127. $modelResult = $this->objMMerchant->addMerchant($data);
  128. if (!$modelResult->isSuccess()) {
  129. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  130. }
  131. parent::sendOutput($modelResult->getData());
  132. }
  133. /**
  134. * 删除商户
  135. */
  136. public function delMerchant()
  137. {
  138. $id = $this->request->param('request_id');
  139. if (empty($id)) {
  140. parent::sendOutput('参数为空', ErrorCode::$paramError);
  141. }
  142. $update = [
  143. 'deleteStatus' => StatusCode::$delete
  144. ];
  145. $where = [
  146. 'id' => $id
  147. ];
  148. $modelResult = $this->objMMerchant->updateMerchant($update, $where);
  149. if (!$modelResult->isSuccess()) {
  150. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  151. }
  152. parent::sendOutput($modelResult->getData());
  153. }
  154. /**
  155. * 禁用/启用商户
  156. */
  157. public function enabledMerchant()
  158. {
  159. $id = $this->request->param('request_id');
  160. if (empty($id)) {
  161. parent::sendOutput('参数为空', ErrorCode::$paramError);
  162. }
  163. $update = [
  164. 'enabledStatus' => StatusCode::$delete
  165. ];
  166. $where = [
  167. 'id' => $id
  168. ];
  169. $modelResult = $this->objMMerchant->updateMerchant($update, $where);
  170. if (!$modelResult->isSuccess()) {
  171. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  172. }
  173. parent::sendOutput($modelResult->getData());
  174. }
  175. /**
  176. * 修改商户
  177. */
  178. public function updateMerchant()
  179. {
  180. $id = $this->request->param('request_id');
  181. if (empty($id)) {
  182. parent::sendOutput('参数为空', ErrorCode::$paramError);
  183. }
  184. $data = self::commonFieldFilter();
  185. $modelResult = $this->objMMerchant->updateMerchant($data, ['id' => $id]);
  186. if (!$modelResult->isSuccess()) {
  187. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  188. }
  189. parent::sendOutput($modelResult->getData());
  190. }
  191. /**
  192. * 商户列表
  193. */
  194. public function getAllMerchant()
  195. {
  196. $params = $this->request->getRawJson();
  197. if (empty($params)) {
  198. $this->sendOutput('参数为空', ErrorCode::$paramError);
  199. }
  200. $selectParams = [];
  201. $params['page'] = isset($params['page']) ? $params['page'] : 1;
  202. $params['pageSize'] = isset($params['pageSize']) ? $params['pageSize'] : 10;
  203. $pageParams = pageToOffset($params['page'], $params['pageSize']);
  204. $selectParams['limit'] = $pageParams['limit'];
  205. $selectParams['offset'] = $pageParams['offset'];
  206. if (isset($params['search']) && !empty($params['search'])) {
  207. $selectParams['keyword'] = $params['search'];
  208. }
  209. if (isset($params['deleteStatus']) && !empty($params['deleteStatus'])) {
  210. $selectParams['deleteStatus'] = $params['deleteStatus'];
  211. }
  212. if (isset($params['auditStatus']) && !empty($params['auditStatus'])) {
  213. $selectParams['auditStatus'] = $params['auditStatus'];
  214. }
  215. if (isset($params['enabledStatus']) && !empty($params['enabledStatus'])) {
  216. $selectParams['enabledStatus'] = $params['enabledStatus'];
  217. }
  218. //到期时间
  219. if (isset($params['starExpireTime']) && !empty($params['starExpireTime'])) {
  220. $selectParams['starExpireTime'] = $params['starExpireTime'];
  221. }
  222. if (isset($params['endExpireTime']) && !empty($params['endExpireTime'])) {
  223. $selectParams['endExpireTime'] = $params['endExpireTime'];
  224. }
  225. //创建时间
  226. if (isset($params['starCreateTime']) && !empty($params['starCreateTime'])) {
  227. $selectParams['starCreateTime'] = $params['starCreateTime'];
  228. }
  229. if (isset($params['endCreateTime']) && !empty($params['endCreateTime'])) {
  230. $selectParams['endCreateTime'] = $params['endCreateTime'];
  231. }
  232. //审核时间
  233. if (isset($params['starAuditTime']) && !empty($params['starAuditTime'])) {
  234. $selectParams['starAuditTime'] = $params['starAuditTime'];
  235. }
  236. if (isset($params['endAuditTime']) && !empty($params['endAuditTime'])) {
  237. $selectParams['endAuditTime'] = $params['endAuditTime'];
  238. }
  239. //删除时间
  240. if (isset($params['starDeleteTime']) && !empty($params['starDeleteTime'])) {
  241. $selectParams['starDeleteTime'] = $params['starDeleteTime'];
  242. }
  243. if (isset($params['endDeleteTime']) && !empty($params['endDeleteTime'])) {
  244. $selectParams['endDeleteTime'] = $params['endDeleteTime'];
  245. }
  246. $modelResult = $this->objMMerchant->getAllMerchant($selectParams);
  247. if (!$modelResult->isSuccess()) {
  248. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  249. }
  250. $returnData = $modelResult->getData();
  251. $pageData = [
  252. 'pageIndex' => $params['page'],
  253. 'pageSize' => $params['pageSize'],
  254. 'pageTotal' => $returnData['total'],
  255. ];
  256. parent::sendOutput($returnData['data'], 0, $pageData);
  257. }
  258. /**
  259. * 商户列表不分页
  260. */
  261. public function getAllMerchantList()
  262. {
  263. $modelResult = $this->objMMerchant->getAllMerchantList();
  264. if (!$modelResult->isSuccess()) {
  265. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  266. }
  267. parent::sendOutput($modelResult->getData());
  268. }
  269. /**
  270. * 商户详情
  271. */
  272. public function getInfoMerchant()
  273. {
  274. $id = $this->request->param('request_id');
  275. if (empty($id)) {
  276. parent::sendOutput('参数为空', ErrorCode::$paramError);
  277. }
  278. $where = [
  279. 'id' => $id
  280. ];
  281. $modelResult = $this->objMMerchant->getInfoMerchant($where);
  282. if (!$modelResult->isSuccess()) {
  283. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  284. }
  285. parent::sendOutput($modelResult->getData());
  286. }
  287. /**
  288. * 保存设置
  289. */
  290. public function saveSetting()
  291. {
  292. $params = $this->request->getRawJson();
  293. if (empty($params)) {
  294. parent::sendOutput('参数为空', ErrorCode::$paramError);
  295. }
  296. $data = isset($params['data']) ? $params['data'] : '';
  297. $type = isset($params['type']) ? $params['type'] : '';
  298. $modelResult = $this->objMMerchant->saveSetting($data, ['type' => $type]);
  299. if (!$modelResult->isSuccess()) {
  300. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  301. }
  302. parent::sendOutput($modelResult->getData());
  303. }
  304. /**
  305. * 获取设置
  306. */
  307. public function getSetting()
  308. {
  309. $params = $this->request->getRawJson();
  310. $data['type'] = $params['type'];
  311. $modelResult = $this->objMMerchant->getSetting($data);
  312. if (!$modelResult->isSuccess()) {
  313. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  314. }
  315. parent::sendOutput($modelResult->getData());
  316. }
  317. /**
  318. * Doc: (des="获取商户基础配置")
  319. * User: XMing
  320. * Date: 2020/12/8
  321. * Time: 5:38 下午
  322. */
  323. public function getSettingField()
  324. {
  325. $params = $this->request->getRawJson();
  326. $fields = isset($params['fields']) ? $params['fields'] : '';
  327. $modelResult = $this->objMMerchant->getSettingField($fields);
  328. if (!$modelResult->isSuccess()) {
  329. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  330. }
  331. parent::sendOutput($modelResult->getData());
  332. }
  333. /**
  334. * Doc: (des="资金变动记录")
  335. * User: XMing
  336. * Date: 2020/12/9
  337. * Time: 4:44 下午
  338. * @throws \Exception
  339. */
  340. public function log()
  341. {
  342. $params = $this->request->getRawJson();
  343. if( empty($params) ){
  344. parent::sendOutput('参数为空', ErrorCode::$paramError );
  345. }
  346. !empty($this->shopId) && $selectParams['shopId'] = $this->shopId;
  347. $pageParams = pageToOffset($params['page']?:1, $params['pageSize']?:10);
  348. $selectParams['limit'] = $pageParams['limit'];
  349. $selectParams['offset'] = $pageParams['offset'];
  350. $selectParams['isPlatform'] = isset($params['isPlatform']) ? $params['isPlatform'] : StatusCode::$standard;
  351. $objMMerchantFlow = new MMerchantFlow($this->onlineEnterpriseId,$this->onlineUserId);
  352. $result = $objMMerchantFlow->getAll($selectParams);
  353. if($result->isSuccess()){
  354. $returnData = $result->getData();
  355. $pageData = [
  356. 'pageIndex' => $params['page'],
  357. 'pageSize' => $params['pageSize'],
  358. 'pageTotal' => $returnData['total'],
  359. ];
  360. parent::sendOutput($returnData['data'], 0, $pageData);
  361. }
  362. parent::sendOutput($result->getData(), $result->getErrorCode());
  363. }
  364. /**
  365. * Doc: (des="")
  366. * User: XMing
  367. * Date: 2020/12/30
  368. * Time: 5:20 下午
  369. */
  370. public function statistics()
  371. {
  372. $modelResult = $this->objMMerchant->statistics();
  373. if (!$modelResult->isSuccess()) {
  374. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  375. }
  376. parent::sendOutput($modelResult->getData());
  377. }
  378. }