MerchantExtendClass.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace biz\sj\classes;
  3. use common\components\arrayUtil;
  4. use common\components\dirUtil;
  5. use common\components\wxUtil;
  6. use Yii;
  7. use biz\base\classes\BaseClass;
  8. class MerchantExtendClass extends BaseClass
  9. {
  10. public static $baseFile = '\biz\sj\models\MerchantExtend';
  11. public static function getByMerchantId($id, $returnType = false)
  12. {
  13. return self::getByCondition(['merchantId' => $id], $returnType);
  14. }
  15. //获取申请会员的小程序码 shish 2020.2.19
  16. public static function getApplyMemberCode($id)
  17. {
  18. $extend = self::getByMerchantId($id);
  19. $imgUrl = isset($extend['applyMemberCode']) && !empty($extend['applyMemberCode']) ? $extend['applyMemberCode'] : '';
  20. $file = dirUtil::getImgDir() . $imgUrl;
  21. if (empty($imgUrl) || file_exists($file) == false) {
  22. $merchant = MerchantClass::getMerchantById($id);
  23. $imgUrl = wxUtil::generateMemberCode($merchant);
  24. self::updateByCondition(['merchantId' => $id], ['applyMemberCode' => $imgUrl]);
  25. }
  26. return Yii::$app->params['imgHost'] . $imgUrl;
  27. }
  28. //获取下个等级的成长值 shish 2021.1.31
  29. public static function getNextLevelGrowth($growth, $extend)
  30. {
  31. $grade = self::getGradeList($extend, 'asc');
  32. //下个等级的积分
  33. $nextLevelGrowth = 0;
  34. foreach ($grade as $val) {
  35. $currentGrowth = $val['growth'];
  36. if ($currentGrowth > $growth) {
  37. $nextLevelGrowth = $currentGrowth;
  38. break;
  39. }
  40. }
  41. return $nextLevelGrowth;
  42. }
  43. //积分等级列表,带索引 shish 2019.12.1
  44. public static function getGradeList($extend, $order = 'asc', $indexBy = true)
  45. {
  46. $gradeStr = $extend['gradeList'];
  47. $data = [];
  48. if (!empty($gradeStr)) {
  49. $arr = explode("I", $gradeStr);
  50. $arr = array_filter($arr);
  51. foreach ($arr as $key => $val) {
  52. $son = explode("_", $val);
  53. $discount = $son[2];
  54. $data[$son[0]] = ['level' => $son[0], 'growth' => $son[1], 'discount' => $discount];
  55. }
  56. }
  57. $data = arrayUtil::sort($data, 'level', $order);
  58. return $indexBy == false ? array_values($data) : $data;
  59. }
  60. }