CustomClass.php 4.1 KB

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