CustomClass.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. namespace bizGhs\custom\classes;
  3. use biz\ghs\classes\GhsClass;
  4. use biz\sj\classes\MerchantClass;
  5. use common\components\business;
  6. use common\components\imgUtil;
  7. use common\components\util;
  8. use bizHd\base\classes\BaseClass;
  9. class CustomClass extends BaseClass
  10. {
  11. public static $baseFile = '\bizGhs\custom\models\Custom';
  12. const IS_DEBT_NO = 0;
  13. const IS_DEBT_YES = 1;
  14. const NOT_BLACK = 1;
  15. const IS_BLACK = 2;
  16. const LEVEL_SK = 0; //散客
  17. const LEVEL_PT = 1; //普通
  18. const LEVEL_HJ = 2; //黄金
  19. const LEVEL_ZS = 3; //钻石
  20. public static $levelMap = [
  21. self::LEVEL_SK => '散客',
  22. self::LEVEL_PT => '普通',
  23. self::LEVEL_HJ => '黄金',
  24. self::LEVEL_ZS => '钻石',
  25. ];
  26. public static $levelPriceKeyMap = [
  27. self::LEVEL_SK => 'skPrice',
  28. self::LEVEL_PT => 'price',
  29. self::LEVEL_HJ => 'hjPrice',
  30. self::LEVEL_ZS => 'zsPrice',
  31. ];
  32. public static $levelAddPriceKeyMap = [
  33. self::LEVEL_SK => 'skAddPrice',
  34. self::LEVEL_PT => 'addPrice',
  35. self::LEVEL_HJ => 'hjAddPrice',
  36. self::LEVEL_ZS => 'zsAddPrice',
  37. ];
  38. //建立客户和供应商关系
  39. public static function build($ghsShopId, $hdShopId)
  40. {
  41. return GhsClass::build($ghsShopId, $hdShopId, 2);
  42. }
  43. //添加客户 ssh 2021.2.24
  44. public static function addCustom($data)
  45. {
  46. return self::add($data);
  47. }
  48. //获取客户信息 ssh 2021.2.4
  49. public static function getCustom($id)
  50. {
  51. $info = self::getById($id);
  52. if (empty($info)) {
  53. return $info;
  54. }
  55. $respond = self::groupBaseInfo([$info]);
  56. return current($respond);
  57. }
  58. public static function getCustomByIds($ids)
  59. {
  60. $list = self::getByIds($ids, null, 'id');
  61. return self::groupBaseInfo($list);
  62. }
  63. //整合头像等信息 ssh 2021.1.8
  64. public static function groupBaseInfo($list)
  65. {
  66. if (empty($list)) {
  67. return $list;
  68. }
  69. //获取客户信息
  70. $customSjIdList = array_unique(array_filter(array_column($list, 'sjId')));
  71. $sjInfo = MerchantClass::getByIds($customSjIdList, null, 'id');
  72. $levelMap = self::$levelMap;
  73. foreach ($list as $key => $val) {
  74. $customSjId = $val['sjId'];
  75. $currentInfo = isset($sjInfo[$customSjId]) ? $sjInfo[$customSjId] : [];
  76. $currentInfo = business::formatMerchantLogo($currentInfo);
  77. $smallAvatar = !empty($currentInfo['smallLogoUrl']) ? $currentInfo['smallLogoUrl'] : imgUtil::getPrefix() . '/hhb_small.png';
  78. $avatar = !empty($currentInfo['logoUrl']) ? $currentInfo['logoUrl'] : imgUtil::getPrefix() . '/hhb_small.png';
  79. $list[$key]['smallAvatar'] = $smallAvatar;
  80. $list[$key]['shortSmallAvatar'] = $currentInfo['shortSmallLogoUrl'];
  81. $list[$key]['avatar'] = $avatar;
  82. $list[$key]['shortAvatar'] = $currentInfo['shortLogoUrl'];
  83. $list[$key]['sn'] = $val['id'];
  84. $level = $val['level'] ?? 1;
  85. $levelName = $levelMap[$level] ?? '';
  86. $list[$key]['levelName'] = $levelName;
  87. }
  88. return $list;
  89. }
  90. //欠款权限开关 ssh 2021.1.8
  91. public static function debt($custom, $debt)
  92. {
  93. $id = isset($custom['id']) ? $custom['id'] : 0;
  94. self::updateById($id, ['debt' => $debt]);
  95. return true;
  96. }
  97. //采购查看权限的黑白名单设置 shizhongqi 2021.08.08
  98. public static function black($custom, $black)
  99. {
  100. $id = isset($custom['id']) ? $custom['id'] : 0;
  101. self::updateById($id, ['black' => $black]);
  102. return true;
  103. }
  104. //权限判断 ssh 2021.1.8
  105. public static function valid($custom, $shopId)
  106. {
  107. if (empty($custom)) {
  108. util::fail('没有找到客户');
  109. }
  110. if ($custom['ownShopId'] != $shopId) {
  111. util::fail('您没有权限操作此客户');
  112. }
  113. }
  114. }