MpMenuModel.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * MpMenuModel.php UTF-8
  4. * 微信自定义菜单
  5. *
  6. * @date : 2018/9/26 15:14
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HuoMp 1.0
  11. */
  12. namespace huoMpMsg\model;
  13. use huolib\constant\CacheConst;
  14. use huolib\constant\WeiXinMenuConst;
  15. use huomp\model\common\CommonModel;
  16. use think\Cache;
  17. class MpMenuModel extends CommonModel {
  18. protected $table = 'mp_mp_menu';
  19. // 开启自动写入时间戳字段
  20. protected $autoWriteTimestamp = true;
  21. protected $cache_key = CacheConst::CACHE_WEIXIN_KEY_RETURN_MSG;
  22. /**
  23. * 添加数据
  24. *
  25. * @param $data
  26. *
  27. * @return bool
  28. */
  29. public function addData($data) {
  30. if (empty($data)) {
  31. return false;
  32. }
  33. $_data = $data;
  34. $_obj = self::create($_data, true);
  35. if ($_obj) {
  36. return $_obj->id;
  37. }
  38. return false;
  39. }
  40. /**
  41. * 更新数据
  42. *
  43. * @param array $data 数据
  44. * @param int $id 应用ID
  45. *
  46. * @return bool
  47. */
  48. public function updateData($data, $id) {
  49. $_map['id'] = $id;
  50. $_data = $data;
  51. $_rs = self::update($_data, $_map, true);
  52. if (false == $_rs) {
  53. return false;
  54. }
  55. if (!empty($data['key'])) {
  56. $_data = $this->getInfoById($id);
  57. $_cache_key = $this->cache_key.md5(json_encode(array($_data['oa_id'], $_data['key'])));
  58. if (WeiXinMenuConst::IS_MENU_2 == $_data['is_menu']) {
  59. $_cache_key .= '_menu';
  60. }
  61. Cache::set($_cache_key, json_encode($_data['return_msg']));
  62. }
  63. return true;
  64. }
  65. /**
  66. * 删除记录
  67. *
  68. * @param $id
  69. *
  70. * @return int
  71. */
  72. public function deleteData($id) {
  73. $_data = $this->getInfoById($id);
  74. $_map = ['id' => $id];
  75. $_rs = self::where($_map)->delete();
  76. if ($_rs != false) {
  77. $_cache_key = $this->cache_key.md5(json_encode(array($_data['oa_id'], $_data['key'])));
  78. if (WeiXinMenuConst::IS_MENU_2 == $_data['is_menu']) {
  79. $_cache_key .= '_menu';
  80. }
  81. Cache::rm($_cache_key);
  82. }
  83. return $_rs;
  84. }
  85. }