MerchantExtendClass.php 2.3 KB

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