ApiNewCommissionPartner.Class.php 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. <?php
  2. /**
  3. * api新分销商合伙人Controller
  4. * Created by PhpStorm.
  5. * User: haoren
  6. * Date: 2020/07/22
  7. * Time: 15:00
  8. */
  9. namespace JinDouYun\Controller\NewCommission;
  10. use Exception;
  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 Util\Common\PartnerTools;
  16. use JinDouYun\Model\Customer\MCustomer;
  17. class ApiNewCommissionPartner extends BaseController
  18. {
  19. private $customerData;
  20. private $partnerTool;
  21. public function __construct($isCheckAcl = false, $isMustLogin = true, $checkToken=true)
  22. {
  23. parent::__construct($isCheckAcl, $isMustLogin, $checkToken);
  24. $this->partnerTool = new PartnerTools($this->onlineEnterpriseId);
  25. $this->customerData = $this->partnerTool->getCustomerDataByUserCenterId($this->onlineUserId);
  26. }
  27. /**
  28. * 获取账户信息
  29. */
  30. public function getCommissionPartnerData(){
  31. if($this->customerData["isPartner"]==0){
  32. parent::sendOutput('您还不是合伙人', ErrorCode::$paramError);
  33. }
  34. $data = $this->partnerTool->getPartnerData($this->customerData["id"],$this->onlineUserId);
  35. if(empty($data)){
  36. parent::sendOutput('数据不存在', ErrorCode::$paramError);
  37. }
  38. parent::sendOutput($data);
  39. }
  40. /**
  41. * 获取分佣明细
  42. */
  43. public function getCommissionPartnerDetail(){
  44. $params = $this->request->getRawJson();
  45. if(empty($params)){
  46. parent::sendOutput('参数为空', ErrorCode::$paramError);
  47. }
  48. $pageParams = pageToOffset($params['page'] ?: 1, $params['pageSize'] ?: 10);
  49. $selectParams['limit'] = $pageParams['limit'];
  50. $selectParams['offset'] = $pageParams['offset'];
  51. $where=[];
  52. if(!empty($params['code']) && in_array($params['code'], ["consume","income"])){
  53. if($params['code']=="consume"){
  54. $where["type"] = 0;
  55. }
  56. if($params['code']=="income"){
  57. $where["type"] = 1;
  58. }
  59. }
  60. $selectParams["where"] = $where;
  61. // $testData=[
  62. // "total"=>1,
  63. // "data"=>[
  64. // [
  65. // "avatar"=>"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
  66. // "title"=>"子级合伙人收益分佣",
  67. // "type"=>1,
  68. // "calcMoney"=>100,
  69. // "commission"=>10,
  70. // "name"=>"影子",
  71. // "time"=>1000000,
  72. // ],
  73. // [
  74. // "avatar"=>"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
  75. // "title"=>"子级消费分佣",
  76. // "type"=>0,
  77. // "calcMoney"=>100,
  78. // "commission"=>10,
  79. // "name"=>"影子",
  80. // "time"=>1000000,
  81. // ],
  82. // ],
  83. // ];
  84. // parent::sendOutput($testData);
  85. $data = $this->partnerTool->getCommissionDetail($this->customerData["id"],$selectParams);
  86. parent::sendOutput($data);
  87. }
  88. /**
  89. * 获取分佣账户余额明细
  90. */
  91. public function getCommissionPartnerBalanceDetail(){
  92. $params = $this->request->getRawJson();
  93. if(empty($params)){
  94. parent::sendOutput('参数为空', ErrorCode::$paramError);
  95. }
  96. $pageParams = pageToOffset($params['page'] ?: 1, $params['pageSize'] ?: 10);
  97. $selectParams['limit'] = $pageParams['limit'];
  98. $selectParams['offset'] = $pageParams['offset'];
  99. $data = $this->partnerTool->getCommissionBalanceDetail($this->customerData["id"],$selectParams);
  100. parent::sendOutput($data);
  101. }
  102. /**
  103. * 获取提现记录
  104. */
  105. public function getPartnerApplyCashList(){
  106. $params = $this->request->getRawJson();
  107. if(empty($params)){
  108. parent::sendOutput('参数为空', ErrorCode::$paramError);
  109. }
  110. $pageParams = pageToOffset($params['page'] ?: 1, $params['pageSize'] ?: 10);
  111. $selectParams['limit'] = $pageParams['limit'];
  112. $selectParams['offset'] = $pageParams['offset'];
  113. $where=[];
  114. if(!empty($params['status'])){
  115. if($params['status']=="wait"){
  116. $where["status"] = 0;
  117. }
  118. if($params['status']=="ok"){
  119. $where["status"] = 1;
  120. }
  121. if($params['status']=="no"){
  122. $where["status"] = -1;
  123. }
  124. }
  125. $selectParams["where"] = $where;
  126. $data = $this->partnerTool->getPartnerApplyCashList($this->customerData["id"],$selectParams);
  127. parent::sendOutput($data);
  128. }
  129. /**
  130. * 获取提现详情
  131. */
  132. public function getPartnerApplyCashInfo(){
  133. $params = $this->request->getRawJson();
  134. if(empty($params) || empty($params["id"])){
  135. parent::sendOutput('参数为空', ErrorCode::$paramError);
  136. }
  137. $where["id"] = $params["id"];
  138. $selectParams["where"] = $where;
  139. $data = $this->partnerTool->getPartnerApplyCashInfo($this->customerData["id"],$selectParams);
  140. parent::sendOutput($data);
  141. }
  142. public function getPartnerCashType(){
  143. $data = $this->partnerTool->getBankType(1);
  144. parent::sendOutput($data);
  145. }
  146. public function partnerApplyCash(){
  147. $params = $this->request->getRawJson();
  148. if(empty($params)){
  149. parent::sendOutput('参数为空', ErrorCode::$paramError);
  150. }
  151. $data=[];
  152. $data["customerId"] = $this->customerData["id"];
  153. $data["money"] = empty($params["money"]) ? 0 : floatval($params["money"]);
  154. $data["bank_type"] = empty($params["bank_type"])? "" : $params["bank_type"];
  155. $data["bank_name"] = empty($params["bank_name"])? "" : $params["bank_name"];
  156. $data["bank_num"] = empty($params["bank_num"]) ? "" : $params["bank_num"];
  157. $data["bank_ad"] = empty($params["bank_ad"]) ? "" : $params["bank_ad"];
  158. $res = $this->partnerTool->applyCash($data);
  159. if(empty($res) || empty($res["code"])){
  160. parent::sendOutput('系统繁忙,请稍后重试001', ErrorCode::$paramError);
  161. }
  162. if($res["code"]==-1){
  163. parent::sendOutput($res["msg"], ErrorCode::$paramError);
  164. }
  165. parent::sendOutput("提现申请已提交,请耐心等待处理");
  166. }
  167. /**
  168. * 添加上下级关系
  169. * @throws Exception
  170. */
  171. public function relationshipBusinessman()
  172. {
  173. $params = $this->request->getRawJson();
  174. if(empty($params)){
  175. parent::sendOutput('参数为空', ErrorCode::$paramError);
  176. }
  177. $data = [
  178. 'businessmanId' => getArrayItem($params, 'businessmanId'),
  179. 'source' => getArrayItem($params, 'source'),
  180. ];
  181. foreach($data as $key => $value){
  182. if(empty($value) && $value !== 0){
  183. parent::sendOutput($key.'参数错误', ErrorCode::$paramError);
  184. }
  185. }
  186. $modelResult = $this->objMCommissionBusinessman->relationshipBusinessman($data);
  187. if(!$modelResult->isSuccess()){
  188. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  189. }
  190. parent::sendOutput($modelResult->getData());
  191. }
  192. /**
  193. * 分销商详情
  194. */
  195. public function getInfoBusinessman()
  196. {
  197. $where['userCenterId'] = $this->onlineUserId;
  198. $modelResult = $this->objMCommissionBusinessman->getInfoBusinessman($where);
  199. if(!$modelResult->isSuccess()){
  200. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  201. }
  202. parent::sendOutput($modelResult->getData());
  203. }
  204. /**
  205. * 查询分销商的所有下级
  206. * @throws Exception
  207. */
  208. public function getAllSub()
  209. {
  210. $params = $this->request->getRawJson();
  211. if(empty($params)){
  212. parent::sendOutput('参数为空', ErrorCode::$paramError);
  213. }
  214. $data = [
  215. 'id' => isset($params['id']) ? $params['id'] : '',
  216. 'level' => isset($params['level']) ? $params['level'] : '',
  217. 'page' => isset($params['page']) ? $params['page'] : '',
  218. 'pageSize' => isset($params['pageSize']) ? $params['pageSize'] : '',
  219. ];
  220. foreach($data as $key => $value){
  221. if(empty($value) && $value !== 0){
  222. parent::sendOutput($key.'参数错误', ErrorCode::$paramError);
  223. }
  224. }
  225. $pageParams = pageToOffset($params['page'],$params['pageSize']);
  226. $data['limit'] = $pageParams['limit'];
  227. $data['offset'] = $pageParams['offset'];
  228. $modelResult = $this->objMCommissionBusinessman->getAllSub($data);
  229. if(!$modelResult->isSuccess()){
  230. parent::sendOutput($modelResult->getData(), $modelResult->getErrorCode());
  231. }
  232. $returnData = $modelResult->getData();
  233. $pageData = [
  234. 'pageIndex' => $params['page'],
  235. 'pageSize' => $params['pageSize'],
  236. 'pageTotal' => $returnData['total'],
  237. 'subTotal' => $returnData['subTotal'],
  238. 'businessmanTotal' => $returnData['businessmanTotal'],
  239. 'subBusinessmanTotal' => $returnData['subBusinessmanTotal'],
  240. ];
  241. parent::sendOutput($returnData['data'], 0, $pageData);
  242. }
  243. }