Reply.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. namespace app\admin\controller\wechat;
  3. use app\admin\controller\AuthController;
  4. use app\admin\model\wechat\WechatReply;
  5. use service\UtilService as Util;
  6. use service\JsonService as Json;
  7. use service\UploadService as Upload;
  8. use think\Request;
  9. /**
  10. * 关键字管理 控制器
  11. * Class Reply
  12. * @package app\admin\controller\wechat
  13. */
  14. class Reply extends AuthController
  15. {
  16. /**关注回复
  17. * @return mixed|void
  18. */
  19. public function index()
  20. {
  21. if(empty(input('key'))) return $this->failed('请输入参数key');
  22. if(empty(input('title'))) return $this->failed('请输入参数title');
  23. $replay = WechatReply::getDataByKey(input('key'));
  24. $this->assign('replay_arr',json_encode($replay));
  25. $this->assign('key',input('key'));
  26. $this->assign('title',input('title'));
  27. return $this->fetch();
  28. }
  29. public function one_reply(){
  30. $where = Util::postMore([
  31. ['key'],
  32. ['add',0],
  33. ],$this->request);
  34. // dump($where);
  35. // exit();
  36. if(!empty($where['key'])) $replay_arr = WechatReply::getDataByKey($where['key']);
  37. $replay_arr['code'] = 200;
  38. if(empty($replay_arr)) {
  39. $replay_arr['code'] = 0;
  40. }
  41. if($where['add'] && empty($where['key'])){
  42. $replay_arr['code'] = 0;
  43. }
  44. exit(json_encode($replay_arr));
  45. }
  46. public function save(Request $request)
  47. {
  48. $data = Util::postMore([
  49. 'type',
  50. 'key',
  51. ['status',0],
  52. ['data',[]],
  53. ],$request);
  54. if(!isset($data['type']) && empty($data['type']))
  55. return Json::fail('请选择回复类型');
  56. if(!in_array($data['type'],WechatReply::$reply_type))
  57. return Json::fail('回复类型有误!');
  58. if(!isset($data['data']) || !is_array($data['data']))
  59. return Json::fail('回复消息参数有误!');
  60. $res = WechatReply::redact($data['data'],$data['key'],$data['type'],$data['status']);
  61. if(!$res)
  62. return Json::fail(WechatReply::getErrorInfo());
  63. else
  64. return Json::successful('保存成功!',$data);
  65. }
  66. public function upload_img(Request $request)
  67. {
  68. $name = $request->post('file');
  69. if(!$name) return Json::fail('请上传图片');
  70. $res = Upload::image($name,'wechat/image');
  71. return $res->status === true ? Json::successful('上传成功',$res->filePath) : Json::fail($res->error);
  72. }
  73. public function upload_file(Request $request)
  74. {
  75. $name = $request->post('file');
  76. if(!$name) return Json::fail('请上传声音');
  77. $autoValidate['size'] = 2097152;
  78. $res = Upload::file($name,'wechat/voice',true,$autoValidate);
  79. return $res->status === true ? Json::successful('上传成功',$res->filePath) : Json::fail($res->error);
  80. }
  81. /**
  82. * 关键字回复
  83. * */
  84. public function keyword(){
  85. $where = Util::getMore([
  86. ['key',''],
  87. ['type',''],
  88. ],$this->request);
  89. $this->assign('where',$where);
  90. $this->assign(WechatReply::getKeyAll($where));
  91. return $this->fetch();
  92. }
  93. /**
  94. * 添加关键字
  95. * */
  96. public function add_keyword(){
  97. $key = input('key');
  98. if(empty($key)) $key = '';
  99. $this->assign('key',$key);
  100. $this->assign('dis',1);
  101. $this->assign('replay_arr',json_encode(array()));
  102. return $this->fetch();
  103. }
  104. /**
  105. * 修改关键字
  106. * */
  107. public function info_keyword(){
  108. $key = input('key');
  109. if(empty($key)) return $this->failed('参数错误,请重新修改');
  110. $replay = WechatReply::getDataByKey($key);
  111. $this->assign('replay_arr',json_encode($replay));
  112. $this->assign('key',$key);
  113. $this->assign('dis',2);
  114. return $this->fetch('add_keyword');
  115. }
  116. /**
  117. * 保存关键字
  118. * */
  119. public function save_keyword(Request $request)
  120. {
  121. $data = Util::postMore([
  122. 'key',
  123. 'type',
  124. ['status',0],
  125. ['data',[]],
  126. ],$request);
  127. // dump($data);
  128. // exit();
  129. if(!isset($data['key']) && empty($data['key']))
  130. return Json::fail('请输入关键字');
  131. if(isset($data['key']) && !empty($data['key'])){
  132. if(trim($data['key']) == 'subscribe') return Json::fail('请重新输入关键字');
  133. if(trim($data['key']) == 'default') return Json::fail('请重新输入关键字');
  134. }
  135. if(!isset($data['type']) && empty($data['type']))
  136. return Json::fail('请选择回复类型');
  137. if(!in_array($data['type'],WechatReply::$reply_type))
  138. return Json::fail('回复类型有误!');
  139. if(!isset($data['data']) || !is_array($data['data']))
  140. return Json::fail('回复消息参数有误!');
  141. $res = WechatReply::redact($data['data'],$data['key'],$data['type'],$data['status']);
  142. if(!$res)
  143. return Json::fail(WechatReply::getErrorInfo());
  144. else
  145. return Json::successful('保存成功!',$data);
  146. }
  147. /**
  148. * 删除关键字
  149. * */
  150. public function delete($id){
  151. if(!WechatReply::del($id))
  152. return Json::fail(WechatReply::getErrorInfo('删除失败,请稍候再试!'));
  153. else
  154. return Json::successful('删除成功!');
  155. }
  156. }