WxShareTaskController.class.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <?php
  2. namespace bibidd\Controller;
  3. use Bibidd\Controller\TaskManagerController;
  4. /**
  5. * 微信分享
  6. */
  7. class WxShareTaskController extends TaskManagerController
  8. {
  9. /**
  10. * 微信分享提交
  11. * @return void
  12. */
  13. public function submit_task_for_wx()
  14. {
  15. $this->addHeaders(); //添加头部请求
  16. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  17. $task_id = $_POST['taskId'];
  18. $pt_id = $_POST['ptId'];//微信分享名字
  19. $wcrwImg = $_POST['images'];// 截图
  20. $pt = $_POST['pt'];// 平台
  21. $video_url = $_POST['videoUrl'];//访问url
  22. $sucai_number = $_POST['sucaiNumber'];// 素材编码
  23. $uid=$user_info['id'];
  24. if (empty($task_id)|| empty($pt) || empty($pt_id) || empty($wcrwImg) || empty($video_url))
  25. {
  26. $this->returnDataAndSendMsg("微信分享名或截图信息不能为空,请正确添加交单内容");
  27. die();
  28. }
  29. //非空检查
  30. $task_info = M("dy_ks_task")->where("id='$task_id'")->find();
  31. if(empty($task_info))
  32. {
  33. $this->returnDataAndSendMsg("任务已不存在");
  34. die();
  35. }
  36. //判断用户是否被封禁了
  37. $task_type = $task_info['type'];
  38. $task_id = $task_info['id'];
  39. $context_num = M("dy_ks_orders")->field("id")
  40. ->where("uid = '$uid' AND status_ >=3 AND appeal_result in ('虚假垃圾达到1次,账号已被封','被驳回,账号已被封') AND type='$task_type'")
  41. ->count();
  42. if($context_num>0)
  43. {
  44. $this->returnDataAndSendMsg("虚假垃圾达到1次<br>已永久禁止做微信群分享任务");
  45. die();
  46. }
  47. //判断是否有其他用户提交相同微信名
  48. $order_check = M("dy_ks_orders")->where("uid != '$uid' AND pt_id = '$pt_id' AND type='$task_type'")->find();
  49. if(!empty($order_check))
  50. {
  51. $this->returnDataAndSendMsg("已有其他用户提交该信息");
  52. die();
  53. }
  54. //3天内不允许提交同一个分享任务,自然日
  55. $order_check = M("dy_ks_orders")->where("uid = '$uid' AND type='$task_type' AND t_id = '$task_id' AND DATE(apply_date) >= CURDATE() - INTERVAL 3 DAY")->find();
  56. if(!empty($order_check))
  57. {
  58. $this->returnDataAndSendMsg("3天内不能做同一个分享任务");
  59. die();
  60. }
  61. $add_info['uid']=$user_info['id'];
  62. $add_info['t_id']=$task_id;
  63. $add_info['type']=$task_type;
  64. $add_info['amount']=$task_info['amount'];
  65. $add_info['pt']=$pt;
  66. $add_info['pt_id']=trim($pt_id);
  67. $add_info['wc_rw_img']=$wcrwImg;
  68. $add_info['video_url']=$video_url;
  69. $add_info['apply_date']=date('Y-m-d H:i:s');
  70. $add_info['pt_and_id']=$pt.$pt_id;
  71. $add_info['sucai_id']=$task_info['sc_id'];
  72. $add_info['sucai_number']=$sucai_number;
  73. $rs = M("dy_ks_orders")->add($add_info);
  74. $data['code'] = '200';
  75. $data['message'] = 'ok';
  76. $data['data'] = $rs;
  77. echo json_encode($data);
  78. }
  79. /**
  80. * 3天内是否提交过当前任务
  81. * @return void
  82. */
  83. public function has_3days_submit()
  84. {
  85. $this->addHeaders(); //添加头部请求
  86. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  87. $task_id = $_POST['taskId'];
  88. $uid=$user_info['id'];
  89. //非空检查
  90. $task_info = M("dy_ks_task")->where("id='$task_id'")->find();
  91. if(empty($task_info))
  92. {
  93. $this->returnDataAndSendMsg("任务已不存在");
  94. die();
  95. }
  96. $task_type = $task_info['type'];
  97. $task_id = $task_info['id'];
  98. //3天内不允许提交同一个分享任务,自然日
  99. $order_check = M("dy_ks_orders")->where("uid = '$uid' AND type='$task_type' AND t_id = '$task_id' AND DATE(apply_date) >= CURDATE() - INTERVAL 3 DAY")->find();
  100. if(!empty($order_check))
  101. {
  102. $data['code'] = '200';
  103. $data['message'] = 'ok';
  104. $data['data'] = "yes";
  105. echo json_encode($data);
  106. die();
  107. }
  108. $data['code'] = '200';
  109. $data['message'] = 'ok';
  110. $data['data'] = "no";
  111. echo json_encode($data);
  112. }
  113. /**
  114. * 素材下载
  115. * @return void
  116. */
  117. public function down_sucai_for_wx()
  118. {
  119. $this->addHeaders(); //添加头部请求
  120. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  121. $scId = $_POST['scId']; //素材ID
  122. $type = $_POST['type']; //任务类型
  123. $task_id = $_POST['taskId']; //任务ID
  124. $uid = $user_info["id"];
  125. $weixin_name = $_POST['wxName']; //微信号
  126. if(empty($scId))
  127. {
  128. $this->returnDataAndSendMsg("素材ID不能为空.");
  129. die();
  130. }
  131. if(empty($task_id))
  132. {
  133. $this->returnDataAndSendMsg("任务ID不能为空");
  134. die();
  135. }
  136. if(empty($type))
  137. {
  138. $this->returnDataAndSendMsg("任务类型不能为空");
  139. die();
  140. }
  141. if(empty($weixin_name))
  142. {
  143. $this->returnDataAndSendMsg("微信分享名字不能为空");
  144. die();
  145. }
  146. $type_info = M("dy_ks_task_type")->where("type='$type'")->find();
  147. if(empty($type_info))
  148. {
  149. $this->returnDataAndSendMsg("该任务类型已不存在");
  150. die();
  151. }
  152. //判断用户是否被封禁了
  153. $is_fenjin = $this->is_check_shipinhao($uid,$type,TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME,"微信分享");
  154. if(!empty($is_fenjin) && $is_fenjin["isFengjin"])
  155. {
  156. $this->returnDataAndSendMsg($is_fenjin["descripe"]);
  157. die();
  158. }
  159. //判断时间,需要再结束时间倒退30分钟
  160. $start_time = strtotime(date("Y-m-d")." ".$type_info["start_time"]);
  161. $end_time = strtotime('-30 minutes', strtotime(date("Y-m-d")." ".$type_info["end_time"]));
  162. $curent_data = strtotime(date('Y-m-d H:i:s'));
  163. if($curent_data<$start_time || $curent_data>$end_time)
  164. {
  165. //不在做任务时间
  166. //$this->returnDataAndSendMsg("每天19:00~1:30开启,请下次再来.");
  167. //die();
  168. }
  169. //判断用户是否已经在做任务
  170. $this->check_task_ing($uid,TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME);
  171. //获取素材库
  172. $app_info = M("dy_wx_sucaiku")->field("id")->where("appid='$scId'")->find();
  173. $scId=$app_info['id'];
  174. $sucai_info = M("dy_wx_sucai_video")->where("status = 0 AND is_lock=0 AND sc_id='$scId'")->find();
  175. if(empty($sucai_info))
  176. {
  177. //没有有效素材
  178. $this->returnDataAndSendMsg("素材已被抢空<br>请稍后再来下载吧");
  179. die();
  180. }
  181. $sucai_info["down_date"]=date('Y-m-d H:i:s');
  182. $sucai_info["is_lock"]=1;
  183. $sucai_info["uid"]=$uid;
  184. $sucai_info["task_id"]=$task_id;
  185. $sucai_info["weixinhao_name"]=$weixin_name;
  186. M(TaskManagerController::WX_SHARE_SU_CAI_BIAO_NAME)->save($sucai_info);
  187. $data['code'] = '200';
  188. $data['message'] = 'ok';
  189. $data['data'] = $sucai_info;
  190. echo json_encode($data);
  191. }
  192. /**
  193. * 通过ID查询素材
  194. * @return void
  195. */
  196. public function get_wx_sucai_by_id()
  197. {
  198. $this->addHeaders(); //添加头部请求
  199. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  200. $id = $_POST['id'];
  201. $data['code'] = '200';
  202. $data['message'] = 'ok';
  203. $data['data'] = M("dy_wx_sucai_video")->where("id='$id'")->find();
  204. echo json_encode($data);
  205. }
  206. /**
  207. * 检查微信分享任务是否还有素材库
  208. * @return void
  209. */
  210. public function has_sucai_by_task_id()
  211. {
  212. $this->addHeaders(); //添加头部请求
  213. $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
  214. $taskId=$_POST['taskId'];
  215. if(empty($taskId))
  216. {
  217. $this->returnDataAndSendMsg("任务ID不能为空");
  218. die();
  219. }
  220. $task_info = M("dy_ks_task")->where("id='$taskId' AND status=0")->find();
  221. if(empty($task_info))
  222. {
  223. $this->returnDataAndSendMsg("此任务已不存在");
  224. die();
  225. }
  226. $ret_flg =0;
  227. $app_id = $task_info['sc_id'];
  228. $sucai_info = M("dy_wx_sucaiku")->where("appid='$app_id'")->field("id")->find();
  229. if(empty($sucai_info))
  230. {
  231. $this->returnDataAndSendMsg("素材库[appid]已不存在");
  232. die();
  233. }
  234. $sucai_id=$sucai_info['id'];
  235. $ret_flg = M("dy_wx_sucai_video")->where("sc_id=$sucai_id AND `status` =0 AND is_lock=0")->count();
  236. $data['code'] = '200';
  237. $data['message'] = 'ok';
  238. $data['data'] = $ret_flg;
  239. echo json_encode($data);
  240. }
  241. }