| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <?php
- namespace common\enums;
- use common\enums\BaseEnum;
- /**
- *
- * 商品类型
- * @Author bing
- * @DateTime 2021-09-09 10:16:18
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- class GoodsTypeEnum extends BaseEnum
- {
- // 商品类型
- const GoodsTypePhysical = 1; //实物商品
- const GoodsTypeVirtual = 2; //虚拟商品
- const GoodsTypeReserved = 3; // 预约商品
- const GoodsTypeMedicine = 70; // 药品
-
- // 商品子类型
- const GOODS_SUBTYPE_ORDINARY = 0; // 普通商品
- const GOODS_SUBTYPE_PRESCRIPTION = 1; // 处方药商品
- public static function getMap(): array
- {
- return [
- self::GoodsTypePhysical => '实物商品',
- self::GoodsTypeVirtual => '虚拟商品',
- self::GoodsTypeReserved => '预约商品',
- ];
- }
- public static function getGoodsType(): array{
- return [
- self::GoodsTypePhysical => ['name' => '实体商品', 'desc' => '物流发货', 'img' => '/resources/img/goods/goods.png', 'type' => self::GoodsTypePhysical],
- self::GoodsTypeVirtual => ['name' => '虚拟商品', 'desc' => '无需物流', 'img' => '/resources/img/goods/xuni.png', 'type' => self::GoodsTypeVirtual],
- self::GoodsTypeReserved => ['name' => '预约商品', 'desc' => '无需物流', 'img' => '/resources/img/goods/kami.png', 'type' => self::GoodsTypeReserved]
- ];
- }
- /**
- * 获取模式对应的插件配置
- * @Author: lun
- * @DateTime: 2021/10/29 0029 17:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return \string[][]
- */
- public static function getGoodsModel()
- {
- $list = [
- 'Boss' => [
- 'components' => 'com-boss',
- 'level_class' => '\addons\Boss\common\models\AddonsBossLevel',
- 'setting_class' => '\addons\Boss\common\models\AddonsBossCommissionItemSetting',
- 'method' => 'getBossLevel',// 获取等级的列表方法
- ],
- 'ServeBonus' => [
- 'components' => 'com-servebonus',
- 'level_class' => '\addons\ServeBonus\common\models\ServeBonusLevel',
- 'setting_class' => '\addons\ServeBonus\common\models\ServeBonusCommissionItemSetting',
- 'method' => 'getServeBonusLevel',// 获取等级的列表方法
- ],
- 'Agent' => [
- 'components' => 'com-agent',
- 'level_class' => 'addons\Agent\common\models\AgentLevel',
- 'setting_class' => 'addons\Agent\common\models\AgentCommissionItemSetting',
- 'method' => 'getLevelList',// 获取等级的列表方法
- ],
- 'Distribution' => [
- 'components' => 'com-distribution',
- 'level_class' => 'addons\Distribution\common\models\DistributionLevel',
- 'setting_class' => 'addons\Distribution\common\models\DistributionCommissionItemSetting',
- 'method' => 'getLevelList',// 获取等级的列表方法
- ],
- // 'coupon' => [
- // 'components' => 'com-coupon',
- // 'setting_class' => 'addons\Coupon\common\models\CouponGiveItemSetting',
- // ],
- 'ShortVideo' => [
- 'components' => 'com-short-video',
- 'level_class' => '',
- 'setting_class' => 'addons\ShortVideo\common\models\ShortVideoCommissionItemSetting',
- 'method' => '',// 获取等级的列表方法
- ],
- ];
- $new_list = [];
- // 获取有效的类方法
- foreach ($list as $addons => $item) {
- // 短视频单独处理
- if ($addons == 'ShortVideo' && class_exists($item['setting_class'])) $new_list[$addons] = $item;
- if (!empty($item['level_class']) && !empty($item['method'])) {
- // 判断class是否存在
- if (!class_exists($item['level_class'])) continue;
- // 判断method是否存在
- $class = new $item['level_class'];
- if (!method_exists($class, $item['method'])) continue;
- $new_list[$addons] = $item;
- }
- }
- return $new_list;
- }
- public static function getAddonsAccountModel(){
- $list = [
- 'Agent' => [
- 'name' => '渠道分红',
- 'class' => 'addons\Agent\common\models\Agent',
- 'method' => 'getIncomeInfo',
- ],
- 'Distribution' => [
- 'name' => '分销商',
- 'class' => 'addons\Distribution\common\models\Distribution',
- 'method' => 'getIncomeInfo',
- ],
- 'Boss' => [
- 'name' => '股东分红',
- 'class' => 'addons\Boss\common\models\AddonsBoss',
- 'method' => 'getIncomeInfo',
- ],
- 'Servebonus' => [
- 'name' => '服务商分红',
- 'class' => 'addons\ServeBonus\common\models\ServeBonus',
- 'method' => 'getIncomeInfo',
- ],
- 'ShortVideo' => [
- 'name' => '短视频分红',
- 'class' => 'addons\ShortVideo\common\models\ShortVideo',
- 'method' => 'getIncomeInfo',
- ],
- 'Area' => [
- 'name' => '区域分红',
- 'class' => 'addons\Area\common\models\AreaAgent',
- 'method' => 'getIncomeInfo',
- ],
- ];
- $new_list = [];
- // 获取有效的类方法
- foreach ($list as $addons => $item) {
- if (!empty($item['class']) && !empty($item['method'])) {
- // 判断class是否存在
- if (!class_exists($item['class'])) continue;
- // 判断method是否存在
- $class = new $item['class'];
- if (!method_exists($class, $item['method'])) continue;
- $new_list[$addons] = $item;
- }
- }
- return $new_list;
- }
- public static function getCommissionTypeMap($mall_id){
- $score_name = \Yii::$app->services->setting->mall->get($mall_id, 'score.score_name') ?? '积分';
- $digital_name = \Yii::$app->services->setting->mall->get($mall_id, 'digital.name') ?? '数字币';
- return [
- 'commission' => '收入',
- 'score' => $score_name,
- 'digital' => $digital_name,
- ];
- }
- }
|