CustomClass.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. namespace bizHd\custom\classes;
  3. use bizMall\user\classes\UserClass;
  4. use common\components\imgUtil;
  5. use common\components\stringUtil;
  6. use common\components\util;
  7. use Yii;
  8. use bizHd\base\classes\BaseClass;
  9. class CustomClass extends BaseClass
  10. {
  11. public static $baseFile = '\bizHd\custom\models\Custom';
  12. public static function getCustomCacheKey($sjId, $shopId, $userId)
  13. {
  14. return 'hd_custom_key_' . $sjId . '_' . $shopId . '_' . $userId;
  15. }
  16. //添加客户 ssh 2021.2.28
  17. public static function addCustom($data)
  18. {
  19. return self::add($data, true);
  20. }
  21. //创建或获取客户信息 ssh 2021.3.19
  22. public static function replaceCustom($shop, $user)
  23. {
  24. $userId = $user->id;
  25. $name = $user->name ?? '';
  26. $mobile = $user->mobile ?? '';
  27. $shopId = $shop->id ?? 0;
  28. $sjId = $shop->sjId ?? 0;
  29. $info = self::getByCondition(['shopId' => $shopId, 'userId' => $userId]);
  30. if (!empty($info)) {
  31. return $info;
  32. }
  33. $py = stringUtil::py($name);
  34. $visitTime = date("Y-m-d H:i:s");
  35. $data = [
  36. 'userId' => $userId,
  37. 'sjId' => $sjId,
  38. 'shopId' => $shopId,
  39. 'name' => $name,
  40. 'py' => $py,
  41. 'mobile' => $mobile,
  42. 'visitTime' => $visitTime,
  43. ];
  44. $info = self::addCustom($data);
  45. return $info;
  46. }
  47. //获取客户信息
  48. public static function getCustom($data)
  49. {
  50. $custom = self::getByCondition($data);
  51. if (empty($custom)) {
  52. $custom = self::add($data);
  53. }
  54. return $custom;
  55. }
  56. //获取客户信息 ssh 2021.2.1
  57. public static function getCustomInfo($id)
  58. {
  59. $custom = self::getById($id);
  60. if (empty($custom)) {
  61. return $custom;
  62. }
  63. $list = self::groupBaseInfo([$custom]);
  64. return current($list);
  65. }
  66. //获取客户信息 ssh 2021.3.19
  67. public static function getCustomByIds($ids)
  68. {
  69. $list = self::getByIds($ids);
  70. $list = self::groupBaseInfo($list);
  71. return $list;
  72. }
  73. public static function valid($info, $shopId)
  74. {
  75. if (isset($info['shopId']) && $info['shopId'] == $shopId) {
  76. return true;
  77. }
  78. util::fail('客户信息无效');
  79. }
  80. //整合基本信息 ssh 2021.1.31
  81. public static function groupBaseInfo($list)
  82. {
  83. if (empty($list)) {
  84. return $list;
  85. }
  86. foreach ($list as $key => $val) {
  87. $list[$key]['avatar'] = imgUtil::groupImg($val['avatar']);
  88. }
  89. return $list;
  90. }
  91. //更新客户信息 ssh 2021.3.23
  92. public static function updateCustomInfo($custom, $data)
  93. {
  94. $userId = $custom['userId'];
  95. $userData = [];
  96. if (isset($data['mobile']) && !empty($data['mobile'])) {
  97. $userData['mobile'] = $data['mobile'];
  98. }
  99. if (!empty($userData)) {
  100. UserClass::updateById($userId, $userData);
  101. }
  102. $id = $custom['id'];
  103. self::updateById($id, $data);
  104. }
  105. }