Setting.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. <?php
  2. /**
  3. *
  4. * @copyright ©2020 点小铺
  5. * @author hanj
  6. * @link: https://dyuit.com
  7. * Created by VSCode
  8. */
  9. namespace app\common\model\dealer;
  10. use app\common\model\BaseModel;
  11. use think\Cache;
  12. /**
  13. * 分销商设置模型
  14. * Class Apply
  15. * @package app\common\model\dealer
  16. */
  17. class Setting extends BaseModel
  18. {
  19. protected $name = 'dealer_setting';
  20. protected $createTime = false;
  21. /**
  22. * 获取器: 转义数组格式
  23. * @param $value
  24. * @return mixed
  25. */
  26. public function getValuesAttr($value)
  27. {
  28. return json_decode($value, true);
  29. }
  30. /**
  31. * 修改器: 转义成json格式
  32. * @param $value
  33. * @return string
  34. */
  35. public function setValuesAttr($value)
  36. {
  37. return json_encode($value);
  38. }
  39. /**
  40. * 获取指定项设置
  41. * @param $key
  42. * @param $wxapp_id
  43. * @return array
  44. */
  45. public static function getItem($key, $wxapp_id = null)
  46. {
  47. $data = static::getAll($wxapp_id);
  48. return isset($data[$key]) ? $data[$key]['values'] : [];
  49. }
  50. /**
  51. * 获取分销商设置
  52. * @param null $wxapp_id
  53. * @return array|mixed
  54. */
  55. public static function getAll($wxapp_id = null)
  56. {
  57. $self = new static;
  58. is_null($wxapp_id) && $wxapp_id = $self::$wxapp_id;
  59. if (!$data = Cache::get('dealer_setting_' . $wxapp_id)) {
  60. $data = array_column(collection($self::all())->toArray(), null, 'key');
  61. Cache::tag('cache')->set('dealer_setting_' . $wxapp_id, $data);
  62. }
  63. return array_merge_multiple($self->defaultData(), $data);
  64. }
  65. /**
  66. * 获取设置项信息
  67. * @param $key
  68. * @return null|static
  69. * @throws \think\exception\DbException
  70. */
  71. public static function detail($key)
  72. {
  73. return static::get(compact('key'));
  74. }
  75. /**
  76. * 是否开启分销功能
  77. * @param null $wxapp_id
  78. * @return mixed
  79. */
  80. public static function isOpen($wxapp_id = null)
  81. {
  82. return static::getItem('basic', $wxapp_id)['is_open'];
  83. }
  84. /**
  85. * 分销中心页面名称
  86. * @param null $wxapp_id
  87. * @return mixed
  88. */
  89. public static function getDealerTitle($wxapp_id = null)
  90. {
  91. return static::getItem('words', $wxapp_id)['index']['title']['value'];
  92. }
  93. /**
  94. * 默认配置
  95. * @return array
  96. */
  97. public function defaultData()
  98. {
  99. return [
  100. 'basic' => [
  101. 'key' => 'basic',
  102. 'describe' => '基础设置',
  103. 'values' => [
  104. // 是否开启分销功能
  105. 'is_open' => '0', // 参数值:1开启 0关闭
  106. // 分销层级
  107. 'level' => '3', // 参数值:1一级 2二级 3三级
  108. // 分销商内购
  109. 'self_buy' => '0' // 参数值:1开启 0关闭
  110. ],
  111. ],
  112. 'condition' => [
  113. 'key' => 'condition',
  114. 'describe' => '分销商条件',
  115. 'values' => [
  116. // 成为分销商条件
  117. 'become' => '10', // 参数值:10填写申请信息(需后台审核) 20填写申请信息(无需审核)
  118. // 购买指定商品成为分销商 0关闭 1开启
  119. 'become__buy_goods' => '0',
  120. // 购买指定商品的id集
  121. 'become__buy_goods_ids' => [],
  122. // 成为下线条件
  123. 'downline' => '10', // 参数值:10首次点击分享链接 20首次下单 30首次付款
  124. ]
  125. ],
  126. 'commission' => [
  127. 'key' => 'commission',
  128. 'describe' => '佣金设置',
  129. 'values' => [
  130. // 一级佣金
  131. 'first_money' => '0',
  132. // 一级佣金
  133. 'second_money' => '0',
  134. // 一级佣金
  135. 'third_money' => '0',
  136. ]
  137. ],
  138. 'settlement' => [
  139. 'key' => 'settlement',
  140. 'describe' => '结算',
  141. 'values' => [
  142. // 提现方式
  143. 'pay_type' => [], // 参数值:10微信支付 20支付宝支付 30银行卡支付
  144. // 微信支付自动打款
  145. 'wechat_pay_auto' => '0', // 微信支付自动打款:1开启 0关闭
  146. // 最低提现额度
  147. 'min_money' => '10.00',
  148. // 佣金结算天数
  149. 'settle_days' => '10',
  150. ]
  151. ],
  152. 'words' => [
  153. 'key' => 'words',
  154. 'describe' => '自定义文字',
  155. 'values' => [
  156. 'index' => [
  157. 'title' => [
  158. 'default' => '分销中心',
  159. 'value' => '分销中心'
  160. ],
  161. 'words' => [
  162. 'not_dealer' => [
  163. 'default' => '您还不是分销商,请先提交申请',
  164. 'value' => '您还不是分销商,请先提交申请'
  165. ],
  166. 'apply_now' => [
  167. 'default' => '立即加入',
  168. 'value' => '立即加入'
  169. ],
  170. 'referee' => [
  171. 'default' => '推荐人',
  172. 'value' => '推荐人'
  173. ],
  174. 'money' => [
  175. 'default' => '可提现佣金',
  176. 'value' => '可提现'
  177. ],
  178. 'freeze_money' => [
  179. 'default' => '待提现佣金',
  180. 'value' => '待提现'
  181. ],
  182. 'total_money' => [
  183. 'default' => '已提现金额',
  184. 'value' => '已提现金额'
  185. ],
  186. 'withdraw' => [
  187. 'default' => '去提现',
  188. 'value' => '去提现'
  189. ],
  190. ]
  191. ],
  192. 'apply' => [
  193. 'title' => [
  194. 'default' => '申请成为分销商',
  195. 'value' => '申请成为分销商'
  196. ],
  197. 'words' => [
  198. 'title' => [
  199. 'default' => '请填写申请信息',
  200. 'value' => '请填写申请信息'
  201. ],
  202. 'license' => [
  203. 'default' => '分销商申请协议',
  204. 'value' => '分销商申请协议'
  205. ],
  206. 'submit' => [
  207. 'default' => '申请成为经销商',
  208. 'value' => '申请成为经销商'
  209. ],
  210. 'wait_audit' => [
  211. 'default' => '您的申请已受理,正在进行信息核验,请耐心等待。',
  212. 'value' => '您的申请已受理,正在进行信息核验,请耐心等待。'
  213. ],
  214. 'goto_mall' => [
  215. 'default' => '去商城逛逛',
  216. 'value' => '去商城逛逛'
  217. ],
  218. ]
  219. ],
  220. 'order' => [
  221. 'title' => [
  222. 'default' => '分销订单',
  223. 'value' => '分销订单'
  224. ],
  225. 'words' => [
  226. 'all' => [
  227. 'default' => '全部',
  228. 'value' => '全部'
  229. ],
  230. 'unsettled' => [
  231. 'default' => '未结算',
  232. 'value' => '未结算'
  233. ],
  234. 'settled' => [
  235. 'default' => '已结算',
  236. 'value' => '已结算'
  237. ],
  238. ]
  239. ],
  240. 'team' => [
  241. 'title' => [
  242. 'default' => '我的团队',
  243. 'value' => '我的团队'
  244. ],
  245. 'words' => [
  246. 'total_team' => [
  247. 'default' => '团队总人数',
  248. 'value' => '团队总人数'
  249. ],
  250. 'first' => [
  251. 'default' => '一级团队',
  252. 'value' => '一级团队'
  253. ],
  254. 'second' => [
  255. 'default' => '二级团队',
  256. 'value' => '二级团队'
  257. ],
  258. 'third' => [
  259. 'default' => '三级团队',
  260. 'value' => '三级团队'
  261. ],
  262. ]
  263. ],
  264. 'withdraw_list' => [
  265. 'title' => [
  266. 'default' => '提现明细',
  267. 'value' => '提现明细'
  268. ],
  269. 'words' => [
  270. 'all' => [
  271. 'default' => '全部',
  272. 'value' => '全部'
  273. ],
  274. 'apply_10' => [
  275. 'default' => '审核中',
  276. 'value' => '审核中'
  277. ],
  278. 'apply_20' => [
  279. 'default' => '审核通过',
  280. 'value' => '审核通过'
  281. ],
  282. 'apply_40' => [
  283. 'default' => '已打款',
  284. 'value' => '已打款'
  285. ],
  286. 'apply_30' => [
  287. 'default' => '驳回',
  288. 'value' => '驳回'
  289. ],
  290. ]
  291. ],
  292. 'withdraw_apply' => [
  293. 'title' => [
  294. 'default' => '申请提现',
  295. 'value' => '申请提现'
  296. ],
  297. 'words' => [
  298. 'capital' => [
  299. 'default' => '可提现佣金',
  300. 'value' => '可提现佣金'
  301. ],
  302. 'money' => [
  303. 'default' => '提现金额',
  304. 'value' => '提现金额'
  305. ],
  306. 'money_placeholder' => [
  307. 'default' => '请输入要提取的金额',
  308. 'value' => '请输入要提取的金额'
  309. ],
  310. 'min_money' => [
  311. 'default' => '最低提现佣金',
  312. 'value' => '最低提现佣金'
  313. ],
  314. 'submit' => [
  315. 'default' => '提交申请',
  316. 'value' => '提交申请'
  317. ],
  318. ]
  319. ],
  320. 'qrcode' => [
  321. 'title' => [
  322. 'default' => '推广二维码',
  323. 'value' => '推广二维码'
  324. ]
  325. ],
  326. ]
  327. ],
  328. 'license' => [
  329. 'key' => 'license',
  330. 'describe' => '申请协议',
  331. 'values' => [
  332. 'license' => ''
  333. ]
  334. ],
  335. 'background' => [
  336. 'key' => 'background',
  337. 'describe' => '页面背景图',
  338. 'values' => [
  339. // 分销中心首页
  340. 'index' => self::$base_url . 'static/api/dealer-bg.png',
  341. // 申请成为分销商页
  342. 'apply' => self::$base_url . 'static/api/dealer-bg.png',
  343. // 申请提现页
  344. 'withdraw_apply' => self::$base_url . 'static/api/dealer-bg.png',
  345. ],
  346. ],
  347. 'template_msg' => [
  348. 'key' => 'template_msg',
  349. 'describe' => '模板消息',
  350. 'values' => [
  351. 'apply_tpl' => '', // 分销商审核通知
  352. 'withdraw_tpl' => '', // 提现状态通知
  353. ]
  354. ],
  355. 'qrcode' => [
  356. 'key' => 'template_msg',
  357. 'describe' => '分销海报',
  358. 'values' => [
  359. 'backdrop' => [
  360. 'src' => self::$base_url . 'static/store/img/dealer/backdrop.png',
  361. ],
  362. 'nickName' => [
  363. 'fontSize' => 14,
  364. 'color' => '#000000',
  365. 'left' => 150,
  366. 'top' => 99
  367. ],
  368. 'avatar' => [
  369. 'width' => 70,
  370. 'style' => 'circle',
  371. 'left' => 150,
  372. 'top' => 18
  373. ],
  374. 'qrcode' => [
  375. 'width' => 100,
  376. 'style' => 'circle',
  377. 'left' => 136,
  378. 'top' => 128
  379. ]
  380. ],
  381. ]
  382. ];
  383. }
  384. }