SiteOverviewRequest.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <?php
  2. namespace App\Http\Requests\Site;
  3. use App\Http\Requests\Request;
  4. use Illuminate\Validation\Rule;
  5. use Illuminate\Database\Query\Builder;
  6. class SiteOverviewRequest extends Request
  7. {
  8. /**
  9. * Determine if the user is authorized to make this request.
  10. *
  11. * @return bool
  12. */
  13. public function authorize()
  14. {
  15. return true;
  16. }
  17. /**
  18. * Get the validation rules that apply to the request.
  19. *
  20. * @return array
  21. */
  22. public function rules()
  23. {
  24. if (!$this->ajax()) {
  25. return [];
  26. }
  27. //基础信息认证
  28. if ($this->input('type') == 1) {
  29. return [
  30. 'site.cn_title' => 'required',
  31. 'site.en_title' => 'required',
  32. 'site.site_logo' => 'nullable',
  33. 'site.business_license_business_scope' => 'nullable',
  34. 'site.domain' => 'required',
  35. 'site.site_type' => 'required',
  36. 'site.nature_type' => 'required',
  37. 'site.business_id' => 'required',
  38. 'site.area_text' => 'required|array',
  39. 'site.remark' => 'nullable',
  40. 'site.contacts' => 'required|array',
  41. 'site.contract_ids' => 'required|array',
  42. 'site.customer_demand_type' => 'required',
  43. 'site.sign_amount' => 'required|numeric',
  44. 'site.pay_way' => 'required',
  45. 'site.data_prepare_level' => 'nullable',
  46. 'site.keyword_know_level' => 'nullable',
  47. 'site.is_rebuild' => 'nullable',
  48. 'site.is_design_all' => 'nullable',
  49. 'site.keyword_goal' => 'required|numeric',
  50. 'site.link_goal' => 'required|numeric',
  51. 'site.article_goal' => 'required|numeric',
  52. 'site.other_demand' => 'nullable',
  53. 'site.package_type' => 'nullable',
  54. 'site.enterprise_nature' => 'nullable',
  55. 'site.case_ids' => 'nullable',
  56. 'site.brand' => 'nullable',
  57. 'site.core_product' => 'nullable',
  58. 'site.example_url' => 'nullable',
  59. 'site.article_difference' => 'nullable',
  60. ];
  61. } elseif ($this->input('type') == 2) { //详细认证
  62. return [
  63. 'payment.refund' => 'nullable',//退款金额
  64. 'payment.refund_reason' => 'nullable',//退款原因
  65. 'payment.refund_reason_analyze' => 'nullable',//退款原因分析
  66. 'payment.not_renewed_reason' => 'nullable',//未续费原因
  67. 'payment.not_renewed_reason_analyze' => 'nullable',//未续费原因分析
  68. 'payment.remarks' => 'nullable',
  69. 'payment.head' => 'required',
  70. 'payment.head_pic' => 'nullable',
  71. 'payment.head_type' => 'nullable',
  72. 'payment.head_invoicing_type' => 'nullable',
  73. 'payment.done' => 'required',
  74. 'payment.done_pic' => 'nullable',
  75. 'payment.done_type' => 'nullable',
  76. 'payment.done_invoicing_type' => 'nullable',
  77. 'payment.reach' => 'required',
  78. 'payment.reach_pic' => 'nullable',
  79. 'payment.reach_type' => 'nullable',
  80. 'payment.reach_invoicing_type' => 'nullable',
  81. 'payment.service_final_payment' => 'nullable',
  82. 'payment.service_final_payment_pic' => 'nullable',
  83. 'payment.service_final_payment_type' => 'nullable',
  84. 'payment.service_final_payment_invoicing_type' => 'nullable',
  85. 'payment.renewal' => 'required',
  86. 'payment.renewal_pic' => 'nullable',
  87. 'payment.renewal_type' => 'nullable',
  88. 'payment.renewal_invoicing_type' => 'nullable',
  89. 'payment.contract_total_fee' => 'nullable',
  90. 'payment.google_optimize_fee' => 'nullable',
  91. 'payment.bid_give_fee' => 'nullable',
  92. 'payment.google_bid' => 'nullable',
  93. 'payment.bid_score' => 'nullable',
  94. 'payment.bid_score_time' => 'nullable',
  95. 'payment.bid_login_account' => 'nullable',
  96. 'payment.bid_account_online_time' => 'nullable',
  97. 'payment.bid_account_pause_time' => 'nullable',
  98. 'payment.wiki_fee' => 'nullable',
  99. 'payment.other_fee' => 'nullable',
  100. //修改
  101. 'payment.is_full_order' => 'nullable',
  102. 'payment.is_bidding' => 'nullable',
  103. 'payment.pay_time' => 'nullable',
  104. 'payment.pay_begin_time' => 'nullable',
  105. 'payment.pay_end_time' => 'nullable',
  106. 'payment.head_time' => 'nullable',
  107. 'payment.head_invoicing_time' => 'nullable',
  108. 'payment.done_invoicing_time' => 'nullable',
  109. 'payment.done_receivable_time' => 'nullable',
  110. 'payment.done_receipts_time' => 'nullable',
  111. 'payment.reach_invoicing_time' => 'nullable',
  112. 'payment.reach_receivable_time' => 'nullable',
  113. 'payment.reach_receipts_time' => 'nullable',
  114. 'payment.service_invoicing_time' => 'nullable',
  115. 'payment.service_receivable_time' => 'nullable',
  116. 'payment.service_receipts_time' => 'nullable',
  117. 'payment.renewal_begin_time' => 'nullable',
  118. 'payment.renewal_end_time' => 'nullable',
  119. 'payment.renewal_invoicing_time' => 'nullable',
  120. 'payment1.renewal_at' => 'nullable',//续费时间
  121. 'payment1.is_refund' => 'nullable',//续费时间
  122. 'payment1.refund_date' => 'nullable',//续费时间
  123. //修改
  124. ];
  125. } elseif ($this->input('type') == 3) {
  126. return [
  127. 'allot.editor_ids' => 'nullable|array',
  128. 'allot.article_ids' => 'nullable|array',
  129. 'allot.server_ids' => 'nullable|array',
  130. 'allot.manager_ids' => 'nullable|array',
  131. 'allot.manage_helper_ids' => 'nullable|array',
  132. //'allot.planner_ids' => 'nullable|array',
  133. 'allot.optimizer_ids' => 'nullable|array',
  134. 'allot.bid_user_ids' => 'nullable|array',
  135. 'allot.seller_ids' => 'nullable|array',
  136. 'allot.web_ids' => 'nullable|array',
  137. 'allot.designer_ids' => 'nullable|array',
  138. 'allot.article_edit_ids' => 'nullable|array',
  139. 'allot.external_link_ids' => 'nullable|array',
  140. 'allot.chongqing_link_ids' => 'nullable|array',
  141. 'allot.optimization_editing_ids' => 'nullable|array',
  142. ];
  143. } elseif ($this->input('type') == 4) { //时间节点与评分
  144. return [
  145. 'site.sign_at' => 'nullable',//合同签订时间
  146. 'site.order_at' => 'nullable',//下单时间
  147. //'site.assign_at' => 'nullable',//分配时间
  148. 'site.online_at' => 'nullable',//上线时间
  149. 'site.reach_at' => 'nullable',//达标时间
  150. 'site.expired_at' => 'nullable',//到期时间
  151. 'site.renewal_times' => 'nullable',//续费次数
  152. 'site.renewal_at' => 'nullable',//续费时间
  153. 'site.renew_years' => 'nullable',//续费年限
  154. 'site.status' => 'required|numeric',//项目状态
  155. 'site.domain_expired_date' => 'nullable',//域名到期时间
  156. 'site.cdn_expired_date' => 'nullable',//cdn到期时间
  157. 'site.cert_expired_date' => 'nullable',//证书到期时间
  158. 'site.design_score' => 'nullable',//设计评分
  159. 'site.online_score' => 'nullable',//上线评分
  160. 'site.reach_score' => 'nullable',//达标评分
  161. 'site.renewal_amount' => 'nullable',//续费金额
  162. 'site.renewal_end_at' => 'nullable',//续费结束时间
  163. 'site.bq_at' => 'nullable',//百千约访时间
  164. 'site.bq_score' => 'nullable',//百千客户评分
  165. 'site.task_at' => 'nullable',//任务起始时间
  166. 'site.refund_date' => 'nullable',//退款时间
  167. 'site.reach_mail_at' => 'nullable',//达标邮件确认时间
  168. 'site.reach_pay_at' => 'nullable',//达标款支付时间
  169. ];
  170. } elseif ($this->input('type') == 5) { //服务器及配置
  171. return [
  172. 'site.server_id' => 'nullable',//服务器所在地
  173. 'site.self_support' => 'nullable',//是否是引擎力服务器
  174. 'site.is_stencil' => 'nullable',//是否是模版站
  175. 'site.api_url' => 'nullable',//api地址
  176. 'site.webmaster_domain' => 'nullable', // 注意数字字符串验证方式是字符数
  177. 'site.database' => 'nullable', // 注意数字字符串验证方式是字符数
  178. 'site.code_dir' => 'nullable',//项目代码目录
  179. 'site.cname_host_record_value' => 'nullable',//CNAME主机记录
  180. 'site.cname_record_value' => 'nullable',//CNAME记录值
  181. ];
  182. }
  183. }
  184. public function attributes()
  185. {
  186. return [
  187. 'site.cn_title' => '中文项目名称',
  188. 'site.en_title' => '英文项目名称',
  189. 'site.domain' => '域名',
  190. 'site.site_type' => '项目类型',
  191. 'site.nature_type' => '公司性质',
  192. 'site.order_at' => '下单时间',
  193. 'site.online_at' => '上线时间',
  194. 'site.reach_at' => '达标时间',
  195. 'site.expired_at' => '到期时间',
  196. 'site.business_id' => '所属行业',
  197. 'site.area_text' => '地区',
  198. 'site.remark' => '其他备注',
  199. 'site.contacts' => '客户联系人',
  200. 'site.contract_ids' => '服务项目',
  201. 'site.customer_demand_type' => '客户需求',
  202. 'site.sign_amount' => '签单价格',
  203. 'site.pay_way' => ' 付款方式',
  204. 'site.data_prepare_level' => '客户资料准备程度',
  205. 'site.keyword_know_level' => '对关键词了解程度',
  206. 'site.domain_expired_date' => '域名到期时间',
  207. 'site.cert_expired_date' => '证书到期时间',
  208. 'site.keyword_goal' => '关键词达标数',
  209. 'site.link_goal' => '外链平台数',
  210. 'site.article_goal' => '软文达标数',
  211. 'site.other_demand' => '其他需求',
  212. 'site.status' => '项目状态',
  213. 'site.server_id' => '服务器ip所在地',
  214. 'site.api_url' => 'api地址',
  215. 'site.report_day' => '月报日',
  216. 'site.webmaster_domain' => 'webmaster验证域名',
  217. 'site.database' => '项目数据库名',
  218. 'site.code_dir' => '项目代码目录',
  219. 'site.facebook_page' => 'facebook公司主页',
  220. 'payment.head' => '首付',
  221. 'payment.head_pic' => '首付快照',
  222. 'payment.done' => '建站收款',
  223. 'payment.done_pic' => '建站收款快照',
  224. 'payment.reach' => '达标尾款',
  225. 'payment.reach_pic' => '达标尾款快照',
  226. 'payment.service_final_payment' => '服务期尾款',
  227. 'payment.renewal' => '续费',
  228. 'payment.renewal_pic' => '续费快照',
  229. 'payment.contract_total_fee' => '合同总金额',
  230. 'payment.google_optimize_fee' => '谷歌优化费用',
  231. 'payment.google_bid_fee' => '谷歌竞价费用',
  232. 'payment.wiki_fee' => '维基百科费用',
  233. 'payment.other_fee' => '其他费用',
  234. 'allot.editor_ids' => '采编人员',
  235. 'allot.server_ids' => '客服人员',
  236. 'allot.manager_ids' => '项目经理',
  237. 'allot.manage_helper_ids' => '项目助理',
  238. 'allot.optimizer_ids' => '优化师',
  239. 'allot.bid_user_ids' => '竞价人员',
  240. 'allot.seller_ids' => '销售人员',
  241. ];
  242. }
  243. }