Member.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2018-2020 rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: TABLE ME
  8. // +----------------------------------------------------------------------
  9. // | Date: 2020-08-31 20:43
  10. // +----------------------------------------------------------------------
  11. namespace app\admin\controller\v1;
  12. use app\BaseController;
  13. use app\model\admin\Admin;
  14. use app\model\admin\Member as MemberModel;
  15. use app\model\admin\MemberLevel;
  16. use app\model\api\MemberDetail;
  17. use library\services\UtilService;
  18. use library\utils\IpLocation;
  19. use app\Request;
  20. class Member extends BaseController
  21. {
  22. public function getMember(Request $request)
  23. {
  24. $pageSize = 50;
  25. $post = UtilService::getMore([
  26. ['page',1],
  27. ['keyword',''],
  28. ['i_uid',''],
  29. ['mobile',''],
  30. ['level',''],
  31. ['uid','']
  32. ]);
  33. $post['sassid'] = $request->site['sassid'];
  34. list($pageCount,$data) = (new MemberModel())
  35. ->getList($post['page'], $post,$pageSize,'*','uid desc');
  36. $result = UtilService::getParam([
  37. 'uid',
  38. 'mobile',
  39. 'weixin_name',
  40. 'nickname',
  41. 'sex',
  42. 'avatar',
  43. 'address',
  44. 'money',
  45. 'name',
  46. "tx_money",
  47. "level_name",
  48. "site_name",
  49. 'status',
  50. 'levelid',
  51. 'order_count',
  52. 'recharge_count',
  53. 'order_info_count',
  54. 'i_mobile',
  55. 'i_nickname',
  56. 'i_uid',
  57. 'sassid',
  58. 'regip',
  59. ['regtime','regtime','date("Y-m-d H:i:s",$1)'],
  60. ['lasttime','lasttime','date("Y-m-d H:i:s",$1)'],
  61. ['ipara','regip',function($item){
  62. return (new IpLocation())->getlocation($item)['country'];
  63. }]
  64. ],$data);
  65. return app('json')->success([
  66. 'list' => $result,
  67. 'pageCount' => $pageCount,
  68. 'pageSize' => $pageSize,
  69. 'page' => $post['page']
  70. ]);
  71. }
  72. /**
  73. * 获取会员数据
  74. * @param Request $request
  75. * @return mixed
  76. */
  77. public function getItem(Request $request)
  78. {
  79. $pageSize = 50;
  80. $post = UtilService::getMore([
  81. ['uid',1]
  82. ]);
  83. $data = (new MemberModel())->getItem($post['uid'],$request->site['sassid']);
  84. $result = UtilService::getParam([
  85. 'uid',
  86. 'mobile',
  87. 'nickname',
  88. 'sex',
  89. 'avatar',
  90. 'address',
  91. 'money',
  92. 'name',
  93. "tx_money",
  94. "level_name",
  95. "site_name",
  96. 'status',
  97. 'levelid',
  98. 'order_count',
  99. 'recharge_count',
  100. 'order_info_count',
  101. 'regip',
  102. ['regtime','regtime','date("Y-m-d H:i:s",$1)'],
  103. ['lasttime','lasttime','date("Y-m-d H:i:s",$1)'],
  104. ['ipara','regip',function($item){
  105. return (new IpLocation())->getlocation($item)['country'];
  106. }]
  107. ],[$data]);
  108. return app('json')->success(empty($result) ? [] : $result[0]);
  109. }
  110. /**
  111. * 修改会员数据
  112. * @param Request $request
  113. */
  114. public function memberUpdate(Request $request) {
  115. $post = UtilService::getMore([
  116. ['levelid','0'],
  117. ['mobile','','isMobile','请输入手机号码'],
  118. ['nickname',''],
  119. ['status','0'],
  120. ['name',''],
  121. ['password',''],
  122. ['avatar',''],
  123. ['sex','0'],
  124. ['uid','0','empty','参数错误']
  125. ], $request);
  126. $save = [
  127. 'mobile' => $post['mobile'],
  128. 'nickname' => $post['nickname'],
  129. 'sex' => $post['sex'],
  130. 'name' => $post['name'],
  131. 'levelid' => $post['levelid'],
  132. 'status' => $post['status'],
  133. 'avatar' => $post['avatar']
  134. ];
  135. if(!empty($post['password'])) {
  136. $save['password'] = md5($post['password']);
  137. }
  138. //
  139. (new \app\model\admin\Member)->where('uid',$post['uid'])->where('sassid',$request->site['sassid'])->save($save);
  140. return app('json')->success('修改成功');
  141. }
  142. public function getMemberLevel(Request $request)
  143. {
  144. $pageSize = 50;
  145. $post = UtilService::getMore([
  146. ['page',1]
  147. ]);
  148. $where = ['sassid'=>$request->site['sassid']];
  149. list($pageCount,$data) = (new MemberLevel())
  150. ->getList($post['page'],$where,$pageSize,'*','id desc');
  151. $result = UtilService::getParam([
  152. 'id',
  153. 'name',
  154. "is_show",
  155. 'code',
  156. ['update_money','update_money',function($val) { return empty($val) ? '0.00' : $val; }]
  157. ],$data);
  158. return app('json')->success([
  159. 'list' => $result,
  160. 'pageCount' => $pageCount,
  161. 'pageSize' => $pageSize,
  162. 'page' => $post['page']
  163. ]);
  164. }
  165. /**
  166. * 操作明细
  167. * @param Request $request
  168. */
  169. public function detailList(Request $request) {
  170. $pageSize = 5;
  171. $post = UtilService::getMore(
  172. [
  173. ['page',1],
  174. ['uid','0'],
  175. ['time',[]]
  176. ],$request
  177. );
  178. $where['uid'] = $post['uid'];
  179. $where['sassid'] = $request->site['sassid'];
  180. if(!empty($post['tabType']) && $post['tabType'] != 'all') {
  181. $where['code'] = $post['tabType'];
  182. }
  183. if(!empty($post['time'])) {
  184. $where['time'] = [[strtotime($post['time'][0]),strtotime($post['time'][1])],'whereBetween'];
  185. }
  186. $detail = new MemberDetail();
  187. list($pageCount,$data) = $detail->getList($post['page'],$where,$pageSize,"*","time desc");
  188. $result = UtilService::getParam([
  189. "id",
  190. "code",
  191. "v",
  192. 'title',
  193. 'content',
  194. "type",
  195. ["time","time","date('Y-m-d H:i:s',$1)"]
  196. ],$data);
  197. return app('json')->success([
  198. 'list' => $result,
  199. 'pageCount' => $pageCount,
  200. 'pageSize' => $pageSize,
  201. 'page' => $post['page']
  202. ]);
  203. }
  204. /**
  205. * 修改推荐人
  206. * @param Request $request
  207. */
  208. public function editTj(Request $request) {
  209. $post = UtilService::getMore(
  210. [
  211. ['uid','','empty','参数错误'],
  212. ['i_uid','0']
  213. ],$request
  214. );
  215. if($post['uid'] == $post['i_uid']) {
  216. return app('json')->fail('自己无法挂载自己下面');
  217. }
  218. if(!empty($post['i_uid'])) {
  219. $count = (new \app\model\admin\Member)
  220. ->where('sassid',$request->site['sassid'])
  221. ->where('uid',$post['i_uid'])
  222. ->count();
  223. if($count <= 0) {
  224. return app('json')->fail('当前推荐用户不存在!');
  225. }
  226. }
  227. (new \app\model\admin\Member)
  228. ->where('sassid',$request->site['sassid'])
  229. ->where('uid',$post['uid'])
  230. ->save(['i_uid'=>$post['i_uid']]);
  231. return app('json')->success('操作成功');
  232. }
  233. /**
  234. * 获取等级
  235. * @param Request $request
  236. * @return mixed
  237. */
  238. public function levelInfo(Request $request)
  239. {
  240. [$id] = UtilService::getMore([
  241. ['id','0']
  242. ],$request,true);
  243. $data = MemberLevel::alias("ml")
  244. ->field("ml.name,ml.id,sl.update_money")
  245. ->leftJoin("site_level sl","sl.level_id = ml.id AND sass_id=".$request->site['sassid'])
  246. ->where('ml.id',$id)
  247. ->find();
  248. if(empty($data)) return app('json')->fail('数据错误');
  249. $tAr = [];
  250. $tAr['name'] = $data['name'];
  251. $tAr['id'] = $data['id'];
  252. $tAr['update_money'] = empty($data['update_money']) ? '0.00' : $data['update_money'];
  253. return app('json')->success($tAr);
  254. }
  255. /**
  256. * 保存等级设置
  257. * @param Request $request
  258. */
  259. public function levelSave(Request $request) {
  260. [$id,$update_money] = UtilService::getMore([
  261. ['id','0'],
  262. ['update_money','0'],
  263. ],$request,true);
  264. $siteLevel = new \app\model\admin\SiteLevel;
  265. $count = $siteLevel
  266. ->where('sass_id',$request->site['sassid'])
  267. ->where('level_id',$id)
  268. ->count();
  269. if($count > 0) {
  270. $siteLevel
  271. ->where('sass_id',$request->site['sassid'])
  272. ->where('level_id',$id)
  273. ->save(['update_money'=>$update_money]);
  274. } else {
  275. $siteLevel->insert([
  276. 'sass_id' => $request->site['sassid'],
  277. 'level_id' => $id,
  278. 'update_money' => $update_money
  279. ]);
  280. }
  281. return app('json')->success("操作成功");
  282. }
  283. }