UserAssetService.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace bizMall\user\services;
  3. use bizMall\base\services\BaseService;
  4. use bizMall\coupon\classes\CouponClass;
  5. use bizMall\merchant\classes\MerchantExtendClass;
  6. use bizMall\merchant\services\MerchantExtendService;
  7. use bizMall\merchant\services\MerchantService;
  8. use bizMall\user\classes\UserAssetClass;
  9. use bizMall\user\classes\UserClass;
  10. use common\components\wxUtil;
  11. use common\services\xhMerchantExtendService;
  12. use common\services\xhTMessageService;
  13. use Yii;
  14. class UserAssetService extends BaseService
  15. {
  16. public static $baseFile = '\bizMall\user\classes\UserAssetClass';
  17. //获取客户资产 ssh 2019.12.3
  18. public static function getByUserId($userId)
  19. {
  20. return UserAssetClass::getByUserId($userId);
  21. }
  22. //获取登陆客户的优惠方式 ssh 2019.12.3
  23. public static function getDiscount($userId)
  24. {
  25. $discount = [];
  26. //会员
  27. $asset = UserAssetClass::getByUserId($userId);
  28. if (isset($asset['member']) && $asset['member'] > 0) {
  29. $discount['member'] = ['level' => $asset['member'], 'discount' => $asset['discount']];
  30. }
  31. return $discount;
  32. }
  33. //批量获取用户资产 ssh 2019.11.30
  34. public static function getByUserIds($ids, $indexBy = null)
  35. {
  36. return UserAssetClass::getByUserIds($ids, $indexBy);
  37. }
  38. public static function updateByUserId($userId, $data)
  39. {
  40. self::updateByCondition(['userId' => $userId], $data);
  41. }
  42. //是否新客户 ssh 2019.8.25
  43. public static function isNewCustomer($userId)
  44. {
  45. $asset = self::getByUserId($userId);
  46. if (isset($asset['totalBuyNum']) && $asset['totalBuyNum'] > 0) {
  47. return false;
  48. }
  49. return true;
  50. }
  51. //花店客户等级更新 ssh 2020.6.4
  52. public static function updateGlhsGrade()
  53. {
  54. $assetList = UserAssetClass::getAllByCondition(['sjId' => 12358], null, '*');
  55. $merchantExtend = MerchantExtendClass::getBySjId(12358);
  56. foreach ($assetList as $asset) {
  57. $growth = $asset['growth'];
  58. $gradeList = xhMerchantExtendService::getGradeList($merchantExtend, 'desc');
  59. if (empty($gradeList)) {
  60. continue;
  61. }
  62. $gainLevel = 0;
  63. $gainDiscount = 1;
  64. foreach ($gradeList as $key => $val) {
  65. $currentLevel = (int)$val['level'];
  66. $currentGrowth = (int)$val['growth'];
  67. $gradeDiscount = $val['discount'];
  68. if ($growth >= $currentGrowth) {
  69. $gainLevel = $currentLevel;
  70. $gainDiscount = $gradeDiscount;
  71. break;
  72. }
  73. }
  74. if (!empty($gainLevel)) {
  75. echo $gainLevel;
  76. print_r(['member' => $gainLevel, 'discount' => $gainDiscount]);
  77. $userId = $asset['userId'];
  78. UserAssetClass::updateByUserId($userId, ['member' => $gainLevel, 'discount' => $gainDiscount]);
  79. UserClass::updateById($userId, ['member' => $gainLevel]);
  80. }
  81. }
  82. }
  83. }