Config.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 商城配置
  7. */
  8. namespace app\fastshop\controller;
  9. use app\common\controller\Manage;
  10. use app\fastshop\model\Config as Configs;
  11. use think\facade\Request;
  12. class Config extends Manage{
  13. public function initialize()
  14. {
  15. parent::initialize();
  16. if(!model('auth')->getAuth($this->user->id,0)){
  17. $this->error('无权限,你非【超级管理员】');
  18. }
  19. $this->assign('pathMaps',[['name' => '应用配置','url' => url("fastshop/config/index")]]);
  20. }
  21. /**
  22. * 应用配置
  23. * @return void
  24. */
  25. public function index(){
  26. if(request()->isAjax()){
  27. $data = [
  28. 'shop_types' => input('post.shop_types/d'),
  29. 'regvip_price' => input('post.regvip_price/d'),
  30. 'regvip_level1_ratio'=> input('post.regvip_level1_ratio/d'),
  31. 'regvip_level2_ratio'=> input('post.regvip_level2_ratio/d'),
  32. 'reward_types' => input('post.reward_types/d'),
  33. 'reward_nth' => input('post.reward_nth/d'),
  34. 'reward_ratio' => input('post.reward_ratio/d'),
  35. 'tax' => input('post.tax/d'),
  36. 'profit' => input('post.profit/d'),
  37. 'shopping' => input('post.shopping/d'),
  38. 'num' => input('post.num/a'),
  39. 'much' => input('post.much/a'),
  40. 'ratio' => input('post.ratio/a'),
  41. 'platform_ratio' => input('post.platform_ratio/d'),
  42. 'platform_amout' => input('post.platform_amout/d'),
  43. ];
  44. $validate = $this->validate($data,'config.save');
  45. if(true !== $validate){
  46. return json(['code'=>0,'msg'=>$validate]);
  47. }
  48. //处理商品属性
  49. if(!empty($data['num']) && !empty($data['much'])){
  50. $ary = [];
  51. foreach ($data['num'] as $key => $value) {
  52. $ary[$key]['num'] = intval($value);
  53. }
  54. foreach ($data['much'] as $key => $value) {
  55. $ary[$key]['much'] = intval($value);
  56. }
  57. foreach ($data['ratio'] as $key => $value) {
  58. $ary[$key]['ratio'] = $value > 100 ? 100 : intval($value);
  59. }
  60. $props = array_filter($ary);
  61. $data['rules'] = empty($props) ? '[]' : json_encode($props);
  62. }
  63. unset($data['num']);
  64. unset($data['much']);
  65. unset($data['ratio']);
  66. $rel = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);
  67. if(empty($rel)){
  68. $data['member_miniapp_id'] = $this->member_miniapp_id;
  69. $result = model('Config')->save($data);
  70. }else{
  71. $result = model('Config')->save($data,['member_miniapp_id' => $this->member_miniapp_id]);
  72. }
  73. if($result){
  74. return json(['code'=>200,'data' => ['url' => url('fastshop/config/index')],'msg'=>'操作成功']);
  75. }else{
  76. return json(['code'=>0,'msg'=>'操作失败']);
  77. }
  78. }else{
  79. $info = model('Config')->where(['member_miniapp_id' => $this->member_miniapp_id])->find();
  80. if(empty($info)){
  81. return $this->redirect(url('fastshop/config/setting'),302);
  82. }
  83. $info['rules'] = empty($info->rules) ? [] : json_decode($info->rules,true);
  84. $view['info'] = $info;
  85. return view()->assign($view);
  86. }
  87. }
  88. /**
  89. * 应用配置
  90. * @return void
  91. */
  92. public function setting(){
  93. if(request()->isAjax()){
  94. $data = [
  95. 'cycle' => Request::param('cycle/d',0),
  96. 'payment_type_shop' => Request::param('payment_type_shop/d',0),
  97. 'payment_point_shop' => Request::param('payment_point_shop/d',0),
  98. 'payment_type' => Request::param('payment_type/d',0),
  99. 'payment_point' => Request::param('payment_point/d',0),
  100. 'lack_cash' => Request::param('lack_cash/d',0),
  101. 'shopping_name' => Request::param('shopping_name/s','购物积分'),
  102. 'amountlimit' => Request::param('amountlimit/d',0),
  103. 'day_ordernum' => Request::param('day_ordernum/d',0),
  104. 'sale_ordernum' => Request::param('sale_ordernum/d',0),
  105. 'old_users' => Request::param('old_users/d',0),
  106. 'is_priority' => Request::param('is_priority/d',0),
  107. 'lock_sale_day' => Request::param('lock_sale_day/d',0),
  108. 'num_referee_people' => Request::param('num_referee_people/d',0),
  109. ];
  110. $validate = $this->validate($data,'config.setting');
  111. if(true !== $validate){
  112. return json(['code'=>0,'msg'=>$validate]);
  113. }
  114. $rel = Configs::where(['member_miniapp_id' => $this->member_miniapp_id])->find();
  115. $data['lack_cash'] = $data['lack_cash']*100;
  116. if(empty($rel)){
  117. $data['member_miniapp_id'] = $this->member_miniapp_id;
  118. $result = Configs::insert($data);
  119. }else{
  120. $result = Configs::where(['id' => $rel->id])->update($data);
  121. }
  122. if($result){
  123. return json(['code'=>200,'data' => ['url' => url('fastshop/config/setting')],'msg'=>'操作成功']);
  124. }else{
  125. return json(['code'=>0,'msg'=>'操作失败']);
  126. }
  127. }else{
  128. $view['info'] = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);
  129. return view()->assign($view);
  130. }
  131. }
  132. /**
  133. * 应用配置
  134. * @return void
  135. */
  136. public function message(){
  137. if(request()->isAjax()){
  138. $data = [
  139. 'message' => input('post.message/s','','htmlspecialchars'),
  140. 'member_miniapp_id' => $this->member_miniapp_id,
  141. ];
  142. $validate = $this->validate($data,'config.message');
  143. if(true !== $validate){
  144. return json(['code'=>0,'msg'=>$validate]);
  145. }
  146. $rel = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);
  147. if(empty($rel)){
  148. $data['member_miniapp_id'] = $this->member_miniapp_id;
  149. $result = model('Config')->save($data);
  150. }else{
  151. $result = model('Config')->save($data,['member_miniapp_id' => $this->member_miniapp_id]);
  152. }
  153. if($result){
  154. return json(['code'=>200,'data' => ['url' => url('fastshop/config/message')],'msg'=>'操作成功']);
  155. }else{
  156. return json(['code'=>0,'msg'=>'操作失败']);
  157. }
  158. }else{
  159. $view['info'] = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);
  160. return view()->assign($view);
  161. }
  162. }
  163. /**
  164. *
  165. * 应用配置
  166. * @return void
  167. */
  168. public function configs(){
  169. $info = model('Config')->get(['member_miniapp_id' => $this->member_miniapp_id]);
  170. return json(['code'=>200,'msg'=>'成功','data'=>$info]);
  171. }
  172. }