Shopapply.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 山西牛酷信息科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com.cn
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\admin\controller;
  13. use app\model\shop\ShopCategory as ShopCategoryModel;
  14. use app\model\shop\ShopGroup as ShopGroupModel;
  15. use app\model\shop\ShopApply as ShopApplyModel;
  16. use app\model\web\WebSite;
  17. /**
  18. * 商家申请控制器
  19. */
  20. class Shopapply extends BaseAdmin
  21. {
  22. /******************************* 商家申请列表及相关操作 ***************************/
  23. /**
  24. * 商家申请
  25. */
  26. public function apply()
  27. {
  28. if (request()->isAjax()) {
  29. $page = input('page', 1);
  30. $page_size = input('page_size', PAGE_LIST_ROWS);
  31. $search_text = input('search_text', '');
  32. $search_text_user = input('search_text_user', '');
  33. $category_id = input('category_id', 0);
  34. $group_id = input('group_id', 0);
  35. $apply_state = input('apply_state', 0);
  36. $start_time = input("start_time", '');
  37. $end_time = input("end_time", '');
  38. $condition = [];
  39. $site_id = input('site_id', '');
  40. if ($site_id) {
  41. $condition[] = [ 'site_id', '=', $site_id ];
  42. }
  43. $condition[] = [ 'shop_name', 'like', '%' . $search_text . '%' ];
  44. $condition[] = [ 'username', 'like', '%' . $search_text_user . '%' ];
  45. if ($category_id != 0) {
  46. $condition[] = [ 'category_id', '=', $category_id ];
  47. }
  48. if ($group_id != 0) {
  49. $condition[] = [ 'group_id', '=', $group_id ];
  50. }
  51. if ($apply_state != 0) {
  52. if ($apply_state == 4) {
  53. $condition[] = ['apply_state', '=', '2'];
  54. $condition[] = ['paying_money_certificate', '=', ''];
  55. } else {
  56. $condition[] = [ 'apply_state', '=', $apply_state ];
  57. }
  58. }
  59. if (!empty($start_time) && empty($end_time)) {
  60. $condition[] = [ 'create_time', '>=', date_to_time($start_time) ];
  61. } elseif (empty($start_time) && !empty($end_time)) {
  62. $condition[] = [ "create_time", "<=", date_to_time($end_time) ];
  63. } elseif (!empty($start_time) && !empty($end_time)) {
  64. $condition[] = [ 'create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  65. }
  66. $order = 'create_time desc';
  67. //申请会员 店铺名称 申请状态名称 拒绝理由(apply_message) 入驻时长(apply_year) 分类名称(category_name) 分组名称(group_name)create_time(申请时间)
  68. $field = 'apply_id,member_id,member_name,cert_id,shop_name,apply_state,apply_message,apply_year,category_name,paying_money_certificate,group_name,audit_time,finish_time,create_time,username,paying_apply,paying_deposit,paying_amount';
  69. $shop_apply_model = new ShopApplyModel();
  70. $res = $shop_apply_model->getApplyPageList($condition, $page, $page_size, $order, $field);
  71. //处理审核状态
  72. $apply_state_arr = $shop_apply_model->getApplyState();
  73. foreach ($res['data']['list'] as $key => $val) {
  74. if ($apply_state == 2) {
  75. if (empty(trim($val['paying_money_certificate']))) {
  76. $res['data']['count'] = $res['data']['count'] - 1;
  77. unset($res['data']['list'][$key]);
  78. continue;
  79. }
  80. }
  81. $res['data']['list'][ $key ]['apply_state_name'] = $apply_state_arr[ $val['apply_state'] ];
  82. }
  83. if ($apply_state == 2) {
  84. if (empty($res['data']['count'])) {
  85. $res['data']['page_count'] = 0;
  86. } else {
  87. $res['data']['page_count'] = ceil($res['data']['page_count']/$page_size);
  88. }
  89. }
  90. return $res;
  91. } else {
  92. //商家主营行业
  93. $shop_category_model = new ShopCategoryModel();
  94. $shop_category_list = $shop_category_model->getCategoryList([], 'category_id, category_name', 'sort asc');
  95. $this->assign('shop_category_list', $shop_category_list['data']);
  96. //店铺等级
  97. $shop_group_model = new ShopGroupModel();
  98. $shop_group_list = $shop_group_model->getGroupList([['is_own','=',0]], 'group_id,is_own,group_name,fee,remark', 'is_own asc,fee asc');
  99. $this->assign('shop_group_list', $shop_group_list['data']);
  100. //申请状态
  101. $shop_apply_model = new ShopApplyModel();
  102. $apply_state_arr = $shop_apply_model->getApplyState();
  103. $this->assign('apply_state_arr', $apply_state_arr);
  104. $is_addon_city = addon_is_exit('city');
  105. $this->assign('is_addon_city',$is_addon_city);
  106. if($is_addon_city == 1){
  107. $website_model = new WebSite();
  108. $website_list = $website_model->getWebsiteList([],'site_id,site_area_name');
  109. $this->assign('website_list',$website_list['data']);
  110. }
  111. return $this->fetch('shopapply/apply');
  112. }
  113. }
  114. /**
  115. * 申请详情
  116. */
  117. public function applyDetail()
  118. {
  119. $apply_id = input('apply_id', 0);
  120. $shop_apply_model = new ShopApplyModel();
  121. $apply_detail = $shop_apply_model->getApplyDetail([ [ 'nsa.apply_id', '=', $apply_id ] ]);
  122. $this->assign('apply_detail', $apply_detail['data']);
  123. return $this->fetch('shopapply/apply_detail');
  124. }
  125. /**
  126. * 编辑商家申请
  127. */
  128. public function editApply()
  129. {
  130. $shop_apply_model = new ShopApplyModel();
  131. if (request()->isAjax()) {
  132. if (empty(input('apply_state'))) {
  133. return 0;
  134. }
  135. $apply_state = input('apply_state');
  136. if (!in_array($apply_state, [3, -2])) {
  137. return 0;
  138. }
  139. $data = [
  140. 'apply_state' => $apply_state,
  141. 'apply_message' => input('apply_message', ''),//审核意见
  142. ];
  143. $apply_id = input('apply_id', 0);
  144. if($apply_state == -2) {
  145. $this->addLog("财务审核拒绝入驻申请ID:" . $apply_id);
  146. } else {
  147. $this->addLog("入驻申请通过ID:" . $apply_id);
  148. }
  149. if ($apply_state == 3) {
  150. $this->addLog("开店通过,申请id:" . $apply_id);
  151. $re = $shop_apply_model->openShop($apply_id,$data['apply_message']);
  152. }else{
  153. $re = $shop_apply_model->editApply($data, [ [ 'apply_id', '=', $apply_id ] ]);
  154. }
  155. return $re;
  156. } else {
  157. $apply_id = input('apply_id', 0);
  158. //申请信息
  159. $apply_info = $shop_apply_model->getApplyInfo([ [ 'apply_id', '=', $apply_id ] ]);
  160. //商家主营行业
  161. $shop_category_model = new ShopCategoryModel();
  162. $shop_category = $shop_category_model->getCategoryInfo(['category_id' => $apply_info['data']['category_id']], 'category_name');
  163. $apply_info['category_name'] = $shop_category['data']['category_name'];
  164. $this->assign('apply_info', $apply_info['data']);
  165. return $this->fetch('shopapply/edit_apply');
  166. }
  167. }
  168. /**
  169. * 申请通过
  170. */
  171. public function applyPass()
  172. {
  173. $apply_id = input('apply_id', 0);
  174. $shop_apply_model = new ShopApplyModel();
  175. $this->addLog("商家申请通过id:" . $apply_id);
  176. return $shop_apply_model->applyPass($apply_id);
  177. }
  178. /**
  179. * 申请失败
  180. */
  181. public function applyReject()
  182. {
  183. $apply_id = input('apply_id', 0);
  184. $reason = input('reason', '');
  185. $this->addLog("商家申请拒绝id:" . $apply_id);
  186. $shop_apply_model = new ShopApplyModel();
  187. return $shop_apply_model->applyReject($apply_id, $reason);
  188. }
  189. /**
  190. * 入驻通过
  191. */
  192. public function openShop()
  193. {
  194. $apply_id = input('apply_id', 0);
  195. $this->addLog("入驻通过,申请id:" . $apply_id);
  196. $shop_apply_model = new ShopApplyModel();
  197. return $shop_apply_model->openShop($apply_id);
  198. }
  199. }