ExtendRepository.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\common\repositories\system;
  12. use app\common\dao\system\ExtendDao;
  13. use app\common\repositories\BaseRepository;
  14. /**
  15. * Class ExtendRepository
  16. * @package app\common\repositories\system
  17. * @author xaboy
  18. * @day 2020-04-24
  19. * @mixin ExtendDao
  20. */
  21. class ExtendRepository extends BaseRepository
  22. {
  23. const TYPE_SERVICE_USER_MARK = 'service_user_mark';
  24. /**
  25. * CacheRepository constructor.
  26. * @param ExtendDao $dao
  27. */
  28. public function __construct(ExtendDao $dao)
  29. {
  30. $this->dao = $dao;
  31. }
  32. /**
  33. * 更新扩展信息
  34. * 根据给定的类型、链接ID和商家ID,更新相应的扩展信息的值。
  35. * 如果该扩展信息已存在,则直接更新其值;如果不存在,则创建新的扩展信息。
  36. *
  37. * @param string $extend_type 扩展信息的类型
  38. * @param int $link_id 链接ID,用于关联扩展信息和特定的链接
  39. * @param int $mer_id 商家ID,用于指定该扩展信息属于哪个商家
  40. * @param mixed $extend_value 扩展信息的值,具体类型取决于扩展信息的要求
  41. * @return object 返回更新或创建后的扩展信息对象
  42. */
  43. public function updateInfo($extend_type, $link_id, $mer_id, $extend_value)
  44. {
  45. // 组装查询数据
  46. $data = compact('extend_type', 'link_id', 'mer_id');
  47. // 根据类型、链接ID和商家ID查询现有的扩展信息
  48. $extend = $this->getWhere($data);
  49. // 如果扩展信息已存在
  50. if ($extend) {
  51. // 更新扩展信息的值,并保存
  52. $extend->extend_value = $extend_value;
  53. $extend->save();
  54. } else {
  55. // 如果扩展信息不存在,创建新的扩展信息
  56. $data['extend_value'] = $extend_value;
  57. $extend = $this->dao->create($data);
  58. }
  59. // 返回更新或创建后的扩展信息对象
  60. return $extend;
  61. }
  62. }