Reply.php 5.7 KB

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