UserInfo.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. namespace app\api\model\service;
  3. use app\api\model\service\dis\RebateMoneyLog;
  4. use think\Db;
  5. use think\Model;
  6. class UserInfo extends Model
  7. {
  8. // 表名
  9. protected $name = 'service_user_info';
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'int';
  12. // 定义时间戳字段名
  13. protected $createTime = 'createtime';
  14. protected $updateTime = 'updatetime';
  15. public static function getInfo($uid)
  16. {
  17. return self::where(['user_id'=>$uid])->field('user_id,mobile,is_skill,is_shop,alipay_name,alipay_account,money,shop_money,shop_user_money,is_update,bank_name,bank_user,bank_card,is_plus,discount,plusname,plustime')->find();
  18. }
  19. public static function getUserMoney($uid)
  20. {
  21. $userInfo = self::where(['user_id'=>$uid])->field('id,rebate_money,user_id,mobile,is_skill,is_shop,alipay_name,alipay_account,money,shop_money,shop_user_money,bank_name,bank_user,bank_card')->find();
  22. $userInfo['skillEnsurePrice'] = $userInfo['is_skill'] == 1?Skill::where(['user_id'=>$uid])->value('ensure_price'):0;
  23. $userInfo['shopEnsurePrice'] = $userInfo['is_shop'] == 1?Shop::where(['user_id'=>$uid])->value('ensure_price'):0;
  24. return $userInfo;
  25. }
  26. public static function getOpenid($id,$type)
  27. {
  28. $openid = '';
  29. switch ($type)
  30. {
  31. case 0:
  32. $openid = self::where('user_id',$id)->value('user_openid');
  33. break;
  34. case 1:
  35. $skillUserId = Skill::where('id',$id)->value('user_id');
  36. $openid = self::where('user_id',$skillUserId)->value('skill_openid');
  37. break;
  38. case 2:
  39. $shopUserId = Shop::where('id',$id)->value('user_id');
  40. $openid = self::where('user_id',$shopUserId)->value('shop_openid');
  41. break;
  42. }
  43. return $openid;
  44. }
  45. public static function getMobile($uid)
  46. {
  47. return self::where(['user_id'=>$uid])->value('mobile');
  48. }
  49. public static function money($money, $user_id, $memo,$order_id='')
  50. {
  51. Db::startTrans();
  52. try {
  53. $user = self::lock(true)->where('user_id',$user_id)->find();
  54. if ($user && $money != 0) {
  55. $before = $user->money;
  56. //$after = $user->money + $money;
  57. $after = function_exists('bcadd') ? bcadd($user->money, $money, 2) : $user->money + $money;
  58. //更新会员信息
  59. $user->save(['money' => $after]);
  60. //写入日志
  61. UserMoneyLog::create(['user_id' => $user_id, 'money' => $money, 'order_id'=>$order_id, 'memo' => $memo]);
  62. }
  63. Db::commit();
  64. } catch (\Exception $e) {
  65. Db::rollback();
  66. }
  67. }
  68. public static function shopUserMoney($money, $user_id, $memo,$order_id='')
  69. {
  70. Db::startTrans();
  71. try {
  72. $user = self::lock(true)->where('user_id',$user_id)->find();
  73. if ($user && $money != 0) {
  74. $before = $user->shop_user_money;
  75. //$after = $user->money + $money;
  76. $after = function_exists('bcadd') ? bcadd($user->shop_user_money, $money, 2) : $user->shop_user_money + $money;
  77. //更新会员信息
  78. $user->save(['shop_user_money' => $after]);
  79. //写入日志
  80. ShopUserMoneyLog::create(['user_id' => $user_id, 'money' => $money, 'order_id'=>$order_id, 'memo' => $memo]);
  81. }
  82. Db::commit();
  83. } catch (\Exception $e) {
  84. Db::rollback();
  85. }
  86. }
  87. public static function shopMoney($money, $user_id, $memo,$order_id='')
  88. {
  89. Db::startTrans();
  90. try {
  91. $user = self::lock(true)->where('user_id',$user_id)->find();
  92. if ($user && $money != 0) {
  93. $before = $user->shop_money;
  94. //$after = $user->money + $money;
  95. $after = function_exists('bcadd') ? bcadd($user->shop_money, $money, 2) : $user->shop_money + $money;
  96. //更新会员信息
  97. $user->save(['shop_money' => $after]);
  98. //写入日志
  99. ShopMoneyLog::create(['user_id' => $user_id, 'money' => $money, 'order_id'=>$order_id, 'memo' => $memo]);
  100. }
  101. Db::commit();
  102. } catch (\Exception $e) {
  103. Db::rollback();
  104. }
  105. }
  106. public static function rebateMoney($money, $user_id, $memo,$order_id='')
  107. {
  108. Db::startTrans();
  109. try {
  110. $user = self::lock(true)->where('user_id',$user_id)->find();
  111. if ($user && $money != 0) {
  112. $before = $user->rebate_money;
  113. //$after = $user->money + $money;
  114. $after = function_exists('bcadd') ? bcadd($user->rebate_money, $money, 2) : $user->rebate_money + $money;
  115. //更新会员信息
  116. $user->save(['rebate_money' => $after]);
  117. //写入日志
  118. RebateMoneyLog::create(['user_id' => $user_id, 'money' => $money, 'order_id'=>$order_id, 'memo' => $memo]);
  119. }
  120. Db::commit();
  121. } catch (\Exception $e) {
  122. Db::rollback();
  123. }
  124. }
  125. }