Config.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\fenxiao\shop\controller;
  11. use addon\fenxiao\model\Config as ConfigModel;
  12. use addon\fenxiao\model\FenxiaoLevel as FenxiaoLevelModel;
  13. use addon\fenxiao\model\FenxiaoWithdraw;
  14. use app\model\goods\Goods as GoodsModel;
  15. use app\model\system\Document;
  16. use app\shop\controller\BaseShop;
  17. /**
  18. * 分销设置
  19. */
  20. class Config extends BaseShop
  21. {
  22. /**
  23. * 分销基础设置
  24. */
  25. public function basics()
  26. {
  27. $model = new ConfigModel();
  28. if (request()->isAjax()) {
  29. $data = [
  30. 'level' => input('level', ''),//分销层级
  31. 'internal_buy' => input('internal_buy', ''),//分销内购
  32. 'is_examine' => input('is_examine', ''),//是否需要审核(0关闭 1开启)
  33. 'self_purchase_rebate' => input('self_purchase_rebate', ''),//是否开启分销商自购返佣(0关闭 1开启)
  34. 'fenxiao_condition' => input('fenxiao_condition', ''),//成为分销商条件(0无条件 1申请 2消费次数 3消费金额 4购买指定商品)
  35. 'consume_count' => input('consume_count', ''),//消费次数
  36. 'consume_money' => input('consume_money', ''), //消费金额
  37. 'goods_ids' => input('goods_ids', ''), //指定商品id
  38. 'consume_condition' => input('consume_condition', ''),//消费条件(1付款后 2订单完成)
  39. 'perfect_info' => input('perfect_info', ''),//完善资料
  40. 'child_condition' => input('child_condition', ''),//成为下线条件
  41. 'is_apply' => input('is_apply', ''),//是否开启分销申请(0关闭 1开启)
  42. 'is_commission_money' => input('is_commission_money', ''),//是否开启商品详情一级佣金(0关闭 1开启)
  43. 'one_rate' => input('one_rate', 0.00),
  44. 'two_rate' => input('two_rate', 0.00),
  45. 'three_rate' => input('three_rate', 0.00),
  46. ];
  47. $res = $model->setFenxiaoBasicsConfig($data, 1, $this->site_id);
  48. return $res;
  49. } else {
  50. $basics = $model->getFenxiaoBasicsConfig($this->site_id);
  51. $this->assign("basics_info", $basics[ 'data' ][ 'value' ]);
  52. $fenxiao = $model->getFenxiaoConfig($this->site_id);
  53. $fenxiao[ 'data' ][ 'value' ][ 'goods_list' ] = '';
  54. if ($fenxiao[ 'data' ][ 'value' ][ 'fenxiao_condition' ] == 4) { // 购买指定商品
  55. $goods_model = new GoodsModel();
  56. $condition[] = [ 'goods_id', 'in', $fenxiao[ 'data' ][ 'value' ][ 'goods_ids' ] ];
  57. $condition[] = [ 'site_id', '=', $this->site_id ];
  58. $goods_list = $goods_model->getGoodsList($condition, 'goods_id,goods_name,goods_image,price,goods_stock');
  59. if (!empty($goods_list)) {
  60. $fenxiao[ 'data' ][ 'value' ][ 'goods_list' ] = $goods_list[ 'data' ];
  61. }
  62. }
  63. $this->assign("fenxiao_info", $fenxiao[ 'data' ][ 'value' ]);
  64. $relation = $model->getFenxiaoRelationConfig($this->site_id);
  65. $this->assign("relation_info", $relation[ 'data' ][ 'value' ]);
  66. $level_model = new FenxiaoLevelModel();
  67. $level_info = $level_model->getLevelInfo([ [ 'site_id', '=', $this->site_id ], [ 'is_default', '=', 1 ] ], 'one_rate,two_rate,three_rate')[ 'data' ];
  68. $this->assign('level', $level_info);
  69. $this->forthMenu();
  70. return $this->fetch('config/basics');
  71. }
  72. }
  73. /**
  74. * 分销协议设置
  75. */
  76. public function agreement()
  77. {
  78. $model = new ConfigModel();
  79. if (request()->isAjax()) {
  80. $data = [
  81. 'is_agreement' => input('is_agreement', ''),//是否显示申请协议
  82. 'agreement_title' => input('agreement_title', ''),//协议标题
  83. 'agreement_content' => input('agreement_content', ''),//协议内容
  84. 'img' => input('img', ''),//申请页面顶部图片
  85. ];
  86. $res = $model->setFenxiaoAgreementConfig($data, 1, $this->site_id);
  87. return $res;
  88. } else {
  89. $agreement = $model->getFenxiaoAgreementConfig($this->site_id);
  90. $this->assign("agreement_info", $agreement[ 'data' ][ 'value' ]);
  91. $document_model = new Document();
  92. $document = $document_model->getDocument([ [ 'site_id', '=', $this->site_id ], [ 'app_module', '=', 'shop' ], [ 'document_key', '=', "FENXIAO_AGREEMENT" ] ]);
  93. $this->assign('document', $document[ 'data' ]);
  94. $this->forthMenu();
  95. return $this->fetch('config/agreement');
  96. }
  97. }
  98. /**
  99. * 分销结算设置
  100. */
  101. public function settlement()
  102. {
  103. $model = new ConfigModel();
  104. if (request()->isAjax()) {
  105. if (empty(input('transfer_type'))) {
  106. $transfer_type = '';
  107. } else {
  108. $transfer_type = implode(',', input('transfer_type'));
  109. }
  110. $data = [
  111. 'account_type' => input('account_type', ''),//佣金计算方式
  112. 'settlement_day' => input('settlement_day', ''),//天数
  113. 'withdraw' => input('withdraw', ''),//最低提现额度
  114. 'withdraw_rate' => input('withdraw_rate', ''),//佣金提现手续费
  115. // 'min_no_fee' => input('min_no_fee', ''),//最低免手续费区间
  116. // 'max_no_fee' => input('max_no_fee', ''),//最高免手续费区间
  117. 'withdraw_status' => input('withdraw_status', ''),//提现审核
  118. 'withdraw_type' => input('withdraw_type', ''),//提现方式,
  119. 'transfer_type' => $transfer_type,//转账方式,
  120. 'is_auto_transfer' => input('is_auto_transfer', 0),//是否自动转账 1 手动转账 2 自动转账
  121. // 'min' => input('min', 0),//提现最低额度
  122. 'max' => input('max', 0),//提现最高额度
  123. ];
  124. $res = $model->setFenxiaoSettlementConfig($data, 1, $this->site_id);
  125. return $res;
  126. } else {
  127. // $settlement = $model->getFenxiaoSettlementConfig($this->site_id);
  128. // $this->assign('settlement_info', $settlement[ 'data' ][ 'value' ]);
  129. $withdraw_config = $model->getFenxiaoWithdrawConfig($this->site_id)[ 'data' ][ 'value' ] ?? [];
  130. $this->assign('withdraw_info', $withdraw_config);
  131. $fenxiao_withdraw_model = new FenxiaoWithdraw();
  132. $transfer_type_list = $fenxiao_withdraw_model->getTransferType($this->site_id);
  133. $transfer_type_list[ 'balance' ] = '余额';
  134. $this->assign('transfer_type_list', $transfer_type_list);
  135. $this->forthMenu();
  136. return $this->fetch('config/settlement');
  137. }
  138. }
  139. /**
  140. * 分销文字设置
  141. */
  142. public function words()
  143. {
  144. $model = new ConfigModel();
  145. if (request()->isAjax()) {
  146. $data = [
  147. 'concept' => input('concept', ''),//分销概念
  148. 'fenxiao_name' => input('fenxiao_name', ''),//分销商名称
  149. 'withdraw' => input('withdraw', ''),//提现名称
  150. 'account' => input('account', ''),//佣金
  151. 'my_team' => input('my_team', ''),//我的团队
  152. 'child' => input('child', ''),//下线
  153. ];
  154. $res = $model->setFenxiaoWordsConfig($data, 1, $this->site_id);
  155. return $res;
  156. } else {
  157. $fenxiao_config_result = $model->getFenxiaoWordsConfig($this->site_id);
  158. $config_info = $fenxiao_config_result[ 'data' ][ 'value' ];
  159. $this->assign('config_info', $config_info);
  160. $this->forthMenu();
  161. return $this->fetch('config/words');
  162. }
  163. }
  164. /**
  165. * 活动规则
  166. */
  167. public function promoteRule()
  168. {
  169. $document_model = new Document();
  170. if (request()->isAjax()) {
  171. $content = input('content', '');
  172. $res = $document_model->setDocument('分销推广规则', $content, [ [ 'site_id', '=', $this->site_id ], [ 'app_module', '=', 'shop' ], [ 'document_key', '=', "FENXIAO_PROMOTE_RULE" ] ]);
  173. return $res;
  174. } else {
  175. $document = $document_model->getDocument([ [ 'site_id', '=', $this->site_id ], [ 'app_module', '=', 'shop' ], [ 'document_key', '=', "FENXIAO_PROMOTE_RULE" ] ]);
  176. $this->assign('document', $document[ 'data' ]);
  177. $this->forthMenu();
  178. return $this->fetch('config/promote_rule');
  179. }
  180. }
  181. }