Entrust.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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 util\Util;
  11. class Entrust extends Manage{
  12. public function initialize() {
  13. parent::initialize();
  14. $this->assign('pathMaps', [['name'=>'委托商品','url'=>'javascript:;']]);
  15. }
  16. /**
  17. * 成交列表
  18. * @return void
  19. */
  20. public function index(int $types = 0){
  21. if(!model('auth')->getAuth($this->user->id,2)){
  22. $this->error('无权限,你非【订单管理员】');
  23. }
  24. $keyword = trim(input('get.keyword','','htmlspecialchars'));
  25. $view['keyword'] = input('get.keyword');
  26. $view['types'] = $types;
  27. $condition['system_user.member_miniapp_id'] = $this->member_miniapp_id;
  28. if(!empty($keyword)){
  29. $condition['system_user.phone_uid'] = $keyword;
  30. }
  31. $lists = model('Entrust')->giftManagelist($condition,$types,$keyword);
  32. $data = [];
  33. foreach ($lists as $key => $value) {
  34. $data[$key] = $value;
  35. $data[$key]['entrust_price'] = money($value['entrust_price']/100);
  36. $data[$key]['rebate'] = money($value['rebate']/100);
  37. $data[$key]['howday'] = util::ftime($value['create_time']);
  38. }
  39. $view['on_under'] = model('EntrustList')->where(['is_rebate' => 0,'is_under' => 0])->count();
  40. $view['off_under'] = model('EntrustList')->where(['is_rebate' => 0,'is_under' => 1])->count();
  41. $view['on_rebate'] = model('EntrustList')->where(['is_rebate' => 0,])->count();
  42. $view['off_rebate'] = model('EntrustList')->where(['is_rebate' => 1,])->count();
  43. $view['diy'] = model('EntrustList')->where(['is_rebate' => 1,'is_diy' => 1])->count();
  44. $view['lists'] = $data;
  45. $view['pages'] = $lists->render();;
  46. return view('order/entrust')->assign($view);
  47. }
  48. /**
  49. * 成交管理
  50. * @return void
  51. */
  52. public function lists(){
  53. if(!model('auth')->getAuth($this->user->id,3)){
  54. $this->error('无权限,你非【财务管理员】');
  55. }
  56. $condition['fastshop_entrust.member_miniapp_id'] = $this->member_miniapp_id;
  57. $view['lists'] = model('Entrust')->entrustList($condition);
  58. $view['page'] = input('?get.page') ? input('get.page/d') : 0;
  59. return view('order/lists')->assign($view);
  60. }
  61. /**
  62. * 自动成交
  63. * @return void
  64. */
  65. public function isgift(int $item_id,int $page){
  66. if($this->user->parent_id){
  67. return json(['code'=>0,'msg'=>'无权限,非【创始人】身份']);
  68. }
  69. $config = model('Config')->where(['member_miniapp_id' => $this->member_miniapp_id])->find();
  70. $rebate = widget('order/rebate',['miniapp_id' => $this->member_miniapp_id, 'order_no' => 0,'item_id' => $item_id,'uid' =>0,'config' => $config]);
  71. if($rebate){
  72. return json(['code'=>200,'msg'=>'成交成功','data' => ['url' => url('entrust/lists',['page' => $page])]]);
  73. }
  74. return json(['code'=>0,'msg'=>'成交失败']);
  75. }
  76. /**
  77. * 指定成交
  78. * @return void
  79. */
  80. public function usergift(){
  81. if($this->user->parent_id){
  82. return json(['code'=>0,'msg'=>'无权限,非【创始人】身份']);
  83. }
  84. if(request()->isAjax()){
  85. $data = [
  86. 'item_id' => input('post.item_id/d'),
  87. 'phone_id' => input('post.phone_id/d'),
  88. 'member_miniapp_id' => $this->member_miniapp_id,
  89. ];
  90. $validate = $this->validate($data,'Order.sendgift');
  91. if(true !== $validate){
  92. return json(['code'=>0,'msg'=>$validate]);
  93. }
  94. $rebate_user = model('SystemUser')->where(['phone_uid' => $data['phone_id'],'member_miniapp_id' => $this->member_miniapp_id])->find();
  95. if(empty($rebate_user)){
  96. return json(['code'=>0,'msg'=>'未找到用户']);
  97. }
  98. $config = model('Config')->where(['member_miniapp_id' => $this->member_miniapp_id])->find();
  99. $rebate = widget('order/rebate',['miniapp_id' => $this->member_miniapp_id, 'order_no' => 0,'item_id' => $data['item_id'],'uid' =>$rebate_user->id,'config' => $config]);
  100. if($rebate){
  101. return json(['code'=>200,'msg'=>'成交成功','data' => ['url' => url('entrust/lists',['page' => input('post.page/d')])]]);
  102. }else{
  103. return json(['code'=>0,'msg'=>'未找到要对的单']);
  104. }
  105. }else{
  106. $view['item_id'] = input('get.item_id/d');
  107. $view['page'] = input('get.page/d');
  108. return view('order/usergift')->assign($view);
  109. }
  110. }
  111. /**
  112. * 数据校准
  113. * @return void
  114. */
  115. public function giftcount(int $item_id,int $page){
  116. $entrust = model('EntrustList')->where(['member_miniapp_id' => $this->member_miniapp_id,'is_rebate' => 0,'item_id' => $item_id])->count();
  117. model('entrust')->where(['member_miniapp_id' => $this->member_miniapp_id,'item_id' => $item_id])->update(['gite_count' => $entrust]);
  118. return json(['code'=>200,'msg'=>'校准成功','data' => ['url' => url('entrust/lists',['page' => $page])]]);
  119. }
  120. /**
  121. * 置顶/取消
  122. * @param integer $id 用户ID
  123. */
  124. public function isUnder(int $id){
  125. $info = model('EntrustList')->where(['id' => $id])->field('id,is_under,is_rebate')->find();
  126. if($info->is_rebate){
  127. return json(['code'=>0,'message'=>'已成交,禁止修改']);
  128. }
  129. $data['is_under'] = $info->is_under ? 0 : 1;
  130. $result = model('EntrustList')->where(['id' => $info->id])->update($data);
  131. if(!$result){
  132. return json(['code'=>0,'message'=>'操作失败']);
  133. }else{
  134. return json(['code'=>200,'message'=>'操作成功']);
  135. }
  136. }
  137. }