UserAssetService.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace bizHd\user\services;
  3. use bizHd\base\services\BaseService;
  4. use bizHd\coupon\classes\CouponClass;
  5. use biz\sj\classes\MerchantExtendClass;
  6. use biz\sj\services\MerchantExtendService;
  7. use biz\sj\services\MerchantService;
  8. use bizHd\user\classes\UserAssetClass;
  9. use bizHd\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 = '\bizHd\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. //优惠券
  32. $couponList = CouponClass::getUnUseCoupon($userId);
  33. if (!empty($couponList)) {
  34. $discount['coupon'] = $couponList;
  35. }
  36. return $discount;
  37. }
  38. //批量获取用户资产 ssh 2019.11.30
  39. public static function getByUserIds($ids, $indexBy = null)
  40. {
  41. return UserAssetClass::getByUserIds($ids, $indexBy);
  42. }
  43. public static function updateByUserId($userId, $data)
  44. {
  45. self::updateByCondition(['userId' => $userId], $data);
  46. }
  47. //是否新客户 ssh 2019.8.25
  48. public static function isNewCustomer($userId)
  49. {
  50. $asset = self::getByUserId($userId);
  51. if (isset($asset['totalBuyNum']) && $asset['totalBuyNum'] > 0) {
  52. return false;
  53. }
  54. return true;
  55. }
  56. //花店客户等级更新 ssh 2020.6.4
  57. public static function updateGlhsGrade()
  58. {
  59. $assetList = UserAssetClass::getAllByCondition(['sjId' => 12358], null, '*');
  60. $merchantExtend = MerchantExtendClass::getBySjId(12358);
  61. foreach ($assetList as $asset) {
  62. $growth = $asset['growth'];
  63. $gradeList = xhMerchantExtendService::getGradeList($merchantExtend, 'desc');
  64. if (empty($gradeList)) {
  65. continue;
  66. }
  67. $gainLevel = 0;
  68. $gainDiscount = 1;
  69. foreach ($gradeList as $key => $val) {
  70. $currentLevel = (int)$val['level'];
  71. $currentGrowth = (int)$val['growth'];
  72. $gradeDiscount = $val['discount'];
  73. if ($growth >= $currentGrowth) {
  74. $gainLevel = $currentLevel;
  75. $gainDiscount = $gradeDiscount;
  76. break;
  77. }
  78. }
  79. if (!empty($gainLevel)) {
  80. echo $gainLevel;
  81. print_r(['member' => $gainLevel, 'discount' => $gainDiscount]);
  82. $userId = $asset['userId'];
  83. UserAssetClass::updateByUserId($userId, ['member' => $gainLevel, 'discount' => $gainDiscount]);
  84. UserClass::updateById($userId, ['member' => $gainLevel]);
  85. }
  86. }
  87. }
  88. }