SmsTpl.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace app\admin\controller\base\msg;
  3. /**
  4. * @title : 短信模板控制器
  5. * @desc :
  6. * @Author : Rock
  7. * @Date : 2021-05-24 10:38:34
  8. * @LastEditTime : 2023-04-08 14:41:21
  9. */
  10. use app\admin\controller\Base;
  11. use app\common\model\base\msg\SmsTpl as smsTplModel;
  12. class SmsTpl extends Base
  13. {
  14. private $provider = 0;
  15. protected $noNeedLogin = ['getOptions'];
  16. public function initialize()
  17. {
  18. parent::initialize();
  19. $this->provider = sysconfig('sms.provider');
  20. }
  21. /**
  22. * @title: 统一创建查询条件
  23. * @desc:
  24. * @param {*}
  25. * @return {*}
  26. * @Author: Rock
  27. * @Date: 2022-03-12 15:53:57
  28. * @LastEditTime: Do not edit
  29. */
  30. private function createWhere()
  31. {
  32. $data = $this->request->param();
  33. $where = [];
  34. $where[] = ['provider','=',$this->provider];
  35. if(!empty($data['keyword'])){
  36. $keyword = $data['keyword'];
  37. $where[] = ['tpl_id|title','LIKE',"$keyword"];
  38. }
  39. return $where;
  40. }
  41. /**
  42. * @title: 获取短信模板列表
  43. * @desc:
  44. * @param {int} {pageNo} {} {页码}
  45. * @param {int} {pageSize} {} {每页数量}
  46. * @param {string} {keyword} {} {搜索title或tpl_id}
  47. * @return {*}
  48. * @Author: Rock
  49. * @Date: 2022-03-12 16:00:43
  50. * @LastEditTime: Do not edit
  51. */
  52. public function getList($pageNo=0,$pageSize=10)
  53. {
  54. $where = $this->createWhere();
  55. if(!empty($pageNo)){
  56. $res = smsTplModel::where($where)->paginate(['page'=>$pageNo,'list_rows'=>$pageSize]);
  57. $total = $res->total();
  58. $list = $res->items();
  59. return pageRes(1,"获取成功",$total,$list);
  60. }else{
  61. $list = smsTplModel::where($where)->select();
  62. return res(1,"获取成功",$list);
  63. }
  64. }
  65. /**
  66. * @title: 新增/编辑短信模板
  67. * @desc:
  68. * @param {int} {provider} {} {短信服务商}
  69. * @param {string} {tpl_id} {} {模板ID}
  70. * @param {string} {title} {} {模板标题}
  71. * @param {string} {content} {} {模板内容}
  72. * @param {int} {param_num} {} {参数个数}
  73. * @return {*}
  74. * @Author: Rock
  75. * @Date: 2022-03-12 16:03:10
  76. * @LastEditTime: Do not edit
  77. */
  78. public function doEdit()
  79. {
  80. $data = $this->request->param();
  81. $data['provider'] = $this->provider;
  82. (new smsTplModel)->replace()->save($data);
  83. slog(1,"编辑了短信模板".$data['title']);
  84. return res(1,"保存成功");
  85. }
  86. /**
  87. * @title: 删除短信模板
  88. * @desc:
  89. * @param {int} {id} {} {ID}
  90. * @return {*}
  91. * @Author: Rock
  92. * @Date: 2022-03-12 16:09:51
  93. * @LastEditTime: Do not edit
  94. */
  95. public function doDelete($ids)
  96. {
  97. $info = smsTplModel::where('id',$ids)->find();
  98. $info->delete();
  99. slog(1,"删除了短信模板".$info->title);
  100. return res(1,"删除成功");
  101. }
  102. /**
  103. * @title: 获取可选项
  104. * @desc:
  105. * @param {*}
  106. * @return {*}
  107. * @Author: Rock
  108. * @Date: 2022-03-12 16:12:31
  109. * @LastEditTime: Do not edit
  110. */
  111. public function getOptions()
  112. {
  113. $data = [
  114. 'providerList' => smsTplModel::providerList(),
  115. ];
  116. return res(1,"获取成功",$data);
  117. }
  118. }