AccountMemLikeModel.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * AccountMemLikeModel.php UTF-8
  4. *
  5. *
  6. * @date : 2018/6/12 19:51
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huoAccountDeal\model;
  13. use think\Model;
  14. use huo\model\member\MemberModel;
  15. class AccountMemLikeModel extends Model {
  16. const STATUS_NOT_LIKE = 1;
  17. const STATUS_LIKED = 2;
  18. protected $name = 'account_mem_like';
  19. // 开启自动写入时间戳字段
  20. protected $autoWriteTimestamp = true;
  21. public function mem() {
  22. return $this->belongsTo(MemberModel::className(), 'mem_id', 'id');
  23. }
  24. public function addData($data) {
  25. if (empty($data)) {
  26. return false;
  27. }
  28. if ($_obj = self::create($data, true)) {
  29. return $_obj->id;
  30. } else {
  31. return false;
  32. }
  33. }
  34. public function updateData($_data, $am_id) {
  35. $_map['id'] = $am_id;
  36. $_rs = self::update($_data, $_map, true);
  37. if (false == $_rs) {
  38. return false;
  39. } else {
  40. return true;
  41. }
  42. }
  43. /**
  44. * 根据玩家ID和小号商品ID查询收藏记录
  45. * @param $mem_id
  46. * @param $ags_id
  47. *
  48. * @return AccountMemLikeModel|null
  49. * @throws \think\exception\DbException
  50. */
  51. public function getByMemIdAndAgsId($mem_id, $ags_id) {
  52. return self::get(['mem_id' => $mem_id, 'ags_id' => $ags_id]);
  53. }
  54. public function isLike($mem_id, $ags_id) {
  55. $_map['mem_id'] = $mem_id;
  56. $_map['ags_id'] = $ags_id;
  57. $_status = $this->where($_map)->value('status');
  58. if (empty($_status) || self::STATUS_LIKED != $_status) {
  59. return self::STATUS_NOT_LIKE;
  60. }
  61. return self::STATUS_LIKED;
  62. }
  63. /**
  64. * 获取收藏的小号商品数量
  65. *
  66. * @param $mem_id
  67. *
  68. * @return int|string
  69. */
  70. public function getLikeCnt($mem_id) {
  71. $_map['mem_id'] = $mem_id;
  72. $_map['status'] = self::STATUS_LIKED;
  73. $_map['ags_id'] = ['gt', 0];
  74. return $this->where($_map)->count('distinct(ags_id)');
  75. }
  76. }