WxTpl.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\admin\controller\base\msg;
  3. /**
  4. * @title : 微信公众号消息模板管理
  5. * @desc :
  6. * @Author : Rock
  7. * @Date : 2023-04-07 10:30:25
  8. */
  9. use app\admin\controller\Base;
  10. use app\common\model\base\msg\WxTpl as WxTplModel;
  11. use \weixin\Wxmsg;
  12. class WxTpl extends Base
  13. {
  14. protected $wxmsg;
  15. public function initialize()
  16. {
  17. parent::initialize();
  18. $this->wxmsg = new Wxmsg;
  19. }
  20. /**
  21. * @title: 从微信公众平台同步自己的私有模板库
  22. * @desc: 描述
  23. * @return {*}
  24. * @author: Rock
  25. * @method: POST
  26. * @Date: 2023-04-08 16:29:55
  27. */
  28. public function synTpl()
  29. {
  30. $res = $this->wxmsg->getTemplateList();
  31. if($res && $res['template_list']){
  32. $list = $res['template_list'];
  33. // 删除原来的
  34. WxTplModel::where('id','>',0)->delete();
  35. // 写入同步后的
  36. (new WxTplModel)->replace()->saveAll($list);
  37. return res(1,"同步成功");
  38. }else{
  39. return res(2,"同步失败",$res);
  40. }
  41. }
  42. /**
  43. * @title: 获取自己的私有模板库列表
  44. * @desc: 描述
  45. * @return {*}
  46. * @author: Rock
  47. * @method: POST
  48. * @Date: 2023-04-07 11:53:06
  49. */
  50. public function getList($pageNo=0,$pageSize=10)
  51. {
  52. if(!empty($pageNo)){
  53. $res = WxTplModel::paginate(['page'=>$pageNo,'list_rows'=>$pageSize]);
  54. $total = $res->total();
  55. $list = $res->items();
  56. return pageRes(1,"获取成功",$total,$list);
  57. }else{
  58. $list = WxTplModel::select();
  59. return res(1,"获取成功",$list);
  60. }
  61. }
  62. /**
  63. * @title: 从私有模板库中删除模板
  64. * @desc: 描述
  65. * @param {string} {template_id} {} {模板ID}
  66. * @return {*}
  67. * @author: Rock
  68. * @method: POST
  69. * @Date: 2023-04-08 09:41:07
  70. */
  71. public function doDelete(string $template_id)
  72. {
  73. $res = WxTplModel::where('template_id',$template_id)->delete();
  74. $res = $this->wxmsg->delTemplate($template_id);
  75. return res(1,"操作成功",$res);
  76. }
  77. }