Reply.php 5.6 KB

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