Reply.php 5.9 KB

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