| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- /**
- * 我的关注公共助手
- *
- * @author qifan
- * @date 2020-12-05
- */
- namespace app\crm\traits;
-
- use think\Db;
-
- trait StarTrait
- {
- /**
- * 设置关注
- *
- * @param $type
- * @param $userId
- * @param $targetId
- * @return int|string
- * @throws \think\Exception
- * @throws \think\exception\PDOException
- */
- public function setStar($type, $userId, $targetId)
- {
- # 查询关注表里是否有数据
- $starId = Db::name('crm_star')->where(function ($query) use ($userId, $targetId, $type) {
- $query->where('user_id', $userId);
- $query->where('target_id', $targetId);
- $query->where('type', $type);
- })->value('star_id');
-
- # 有数据移出关注
- if ($starId) return $this->deleteStar($starId);
-
- # 没数据增加关注
- return $this->createStar($type, $userId, $targetId);
- }
-
- /**
- * 添加我的关注
- *
- * @param $type
- * @param $userId
- * @param $targetId
- * @return int|string
- */
- private function createStar($type, $userId, $targetId)
- {
- return Db::name('crm_star')->insert(['user_id' => $userId, 'target_id' => $targetId, 'type' => $type]);
- }
-
- /**
- * 删除我的关注
- *
- * @param $starId
- * @return int
- * @throws \think\Exception
- * @throws \think\exception\PDOException
- */
- private function deleteStar($starId)
- {
- return Db::name('crm_star')->where('star_id', $starId)->delete();
- }
- }
|