PayConstants.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Bear
  5. * Date: 2019/4/12
  6. * Time: 下午1:35
  7. */
  8. namespace app\main\constants;
  9. use app\common\library\Redis;
  10. use app\main\service\BookService;
  11. use app\main\service\BuyMoreService;
  12. use Monolog\Logger;
  13. use think\Config;
  14. class PayConstants
  15. {
  16. //WeChat
  17. const BUSINESS_WECHAT = '0';
  18. //App
  19. const BUSINESS_APP = '1';
  20. //VIP充值
  21. const GOODS_TYPE_VIP = '2';
  22. //看点充值
  23. const GOODS_TYPE_KD = '1';
  24. //业务线列表
  25. public static function getBusinessLine(){
  26. // return [ 0 => '微信' ];
  27. return [ 0 => '微信', 1 => 'app' ];
  28. }
  29. //商品分类测试
  30. const GOODS_CATEGORY_TEST = 'test';
  31. //商品分类充值
  32. const GOODS_CATEGORY_RECHARGE = 'recharge';
  33. //商品分类活动
  34. const GOODS_CATEGORY_ACTIVITY = 'activity';
  35. //商品 读书挑战赛活动
  36. const GOODS_CATEGORY_CAMPAIGN = 'campaign';
  37. const WXPAY_STATUS_ON = '1';
  38. const WXPAY_STATUS_OFF = '0';
  39. const WXPAY_FUFEN_ON = 1;
  40. const WXPAY_FUFEN_OFF = 0;
  41. const GOODS_SHOW_TYPE_ALL = 0;
  42. const GOODS_SHOW_TYPE_RECHARGED = 1;
  43. const GOODS_SHOW_TYPE_UN_RECHARGED = 2;
  44. const GOODS_SHOW_TYPE_NEW = 3;
  45. const GOODS_SHOW_TYPE_OLD = 4;
  46. public static $goodsShowTypeList = [
  47. self::GOODS_SHOW_TYPE_ALL => '全部用户',
  48. self::GOODS_SHOW_TYPE_RECHARGED => '已充值用户',
  49. self::GOODS_SHOW_TYPE_UN_RECHARGED => '未充值用户',
  50. self::GOODS_SHOW_TYPE_NEW => '新用户',
  51. self::GOODS_SHOW_TYPE_OLD => '老用户',
  52. ];
  53. /**
  54. * 获取支付超时时间
  55. * @return float|int
  56. */
  57. public static function getPayTimeoutSeconds()
  58. {
  59. $pay_timeout = Config::has('site.pay_timeout') ? Config::get('site.pay_timeout') : 15;
  60. return $pay_timeout * 60;
  61. }
  62. /**
  63. * 获取h5支付默认配置
  64. * @return array
  65. */
  66. public static function getH5DefaultConfig()
  67. {
  68. return [
  69. 'log' => [
  70. 'file' => sprintf("%slog/%s.h5.log", RUNTIME_PATH, date('Ym/d_H')),
  71. 'level' => Logger::DEBUG,
  72. 'type' => 'single',
  73. 'max_file' => 0,
  74. ],
  75. ];
  76. }
  77. const FREE_PERMANENT_BOOKS = [
  78. '11010027532',
  79. '11010022016',
  80. '11000176310',
  81. '11010031709',
  82. '11010027459',
  83. '11010033080',
  84. '11010030410',
  85. '11000123751',
  86. '11010028722',
  87. '11010027926',
  88. '11010027581',
  89. '11010031708',
  90. '11010028235',
  91. '11010027663',
  92. '11000005542',
  93. '11010032038',
  94. '11010027700',
  95. '11010008845',
  96. '11010032447',
  97. '11010027526',
  98. '11000000325',
  99. '11000000388',
  100. '11000001802',
  101. '11000031458',
  102. '11000031881',
  103. '11000044655',
  104. '11000071480',
  105. '11000072577',
  106. '11000075913',
  107. ];
  108. const FREE_LIMIT_BOOKS = [
  109. '11010032405',
  110. '11010025593',
  111. '11000094272',
  112. '11010030744',
  113. '11010027857',
  114. '11010031998',
  115. '11010031728',
  116. '11010027708',
  117. '11010027458',
  118. '11000175523',
  119. '11010033101',
  120. '11010032001',
  121. '11010030562',
  122. '11010029482',
  123. '11010009054',
  124. '11000162850',
  125. '11000162287',
  126. '11000157032',
  127. '11000155589',
  128. '11000115153',
  129. '11000000307',
  130. '11010034015',
  131. '11010033952',
  132. '11010030703',
  133. '11010027623',
  134. '11010022219',
  135. '11010016727',
  136. '11010015357',
  137. '11000133932',
  138. '11010034637',
  139. '11010032437',
  140. '11010031066',
  141. '11010027563',
  142. '11010025576',
  143. '11000162458',
  144. '11000001802',
  145. '11010033955',
  146. '11010027678',
  147. '11000092905',
  148. '11000000388',
  149. '11010028457',
  150. '11000075845',
  151. '11010034098',
  152. '11010029216',
  153. '11010027946',
  154. '11010027672',
  155. '11010033046',
  156. '11010028859',
  157. '11010027658',
  158. '11000135055',
  159. '11000000276',
  160. '11010031962',
  161. '11010029217',
  162. '11010027935',
  163. '11010032050',
  164. '11010028874',
  165. '11010027486',
  166. '11000000928',
  167. '11000000150',
  168. '11010027250',
  169. '11000006497',
  170. '11000000325',
  171. '11010027781',
  172. '11000123601',
  173. '11010027126',
  174. '11000071480',
  175. '11000158735',
  176. '11010032094',
  177. '11000000133',
  178. '11000000295',
  179. '11000123517',
  180. '11000178182',
  181. '11010027260',
  182. '11010028702',
  183. '11010028724',
  184. '11010031102',
  185. '11010031708',
  186. '11010032431',
  187. '11010033030',
  188. '11010035577',
  189. '11010036359',
  190. '11010004774',
  191. '11000177958',
  192. '11000175438',
  193. '11000159017',
  194. '11010028008',
  195. '11010022020',
  196. '11010014591',
  197. '11010004099',
  198. '11010003238',
  199. '11000182907',
  200. '11000177128',
  201. '11000146476',
  202. '11000146381',
  203. '11000128681',
  204. '11000107937',
  205. '11000077797',
  206. '11000031722',
  207. '11000014960',
  208. '11010028707',
  209. '11010002193',
  210. '11000166517',
  211. '11000158820',
  212. '11000150001',
  213. '11000125087',
  214. '11000092299',
  215. '11000087467',
  216. '11000044662',
  217. '11000031725',
  218. '11000000929',
  219. '11010031772',
  220. ];
  221. /**
  222. * 获取增购配置信息
  223. * @param $user_id
  224. * @return array|mixed
  225. */
  226. public static function getBuyMore($user_id)
  227. {
  228. $open = false;
  229. if (Config::get('site.theme') == 'yg') {
  230. $config = Config::get('site.buymoreswitch');
  231. if ($config == SiteConstants::SITE_BUY_MORE_SWITCH_ALL) {
  232. $open = true;
  233. } elseif ($config == SiteConstants::SITE_BUY_MORE_SWITCH_HALF) {
  234. $open = $user_id % 2 == 0;
  235. }
  236. }
  237. $config = [];
  238. $buymore = Config::get('buymore');
  239. if ($open) {
  240. $count = 0;
  241. foreach ($buymore as $index => $item) {
  242. $keys = explode('-', $index);
  243. $config[$keys[1]] = $item;
  244. $cache = CacheConstants::getBuyMoreFreeBookCache($user_id, $count);
  245. if (!$id = Redis::instance()->get($cache)) {
  246. $bookIds = BuyMoreService::instance()->setFreeBook($user_id)->data;
  247. $id = $bookIds[$count];
  248. }
  249. $book = BookService::instance()->getBookModel()->getBooksInfo([$id]);
  250. $book_name = '';
  251. if ($book) {
  252. $book_name = $book[$id]['name'];
  253. }
  254. foreach ($item['list'] as $in_index => $value) {
  255. $value['desc'] = str_replace('%book_name%', $book_name, $value['desc']);
  256. $value['detail_title'] = str_replace('%book_name%', $book_name, $value['desc']);
  257. $config[$keys[1]]['list'][$in_index] = $value;
  258. }
  259. $count++;
  260. }
  261. }
  262. return $config;
  263. }
  264. }