123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use think\Db;
- /**
- * 靓号
- */
- class Uidsale extends Api
- {
- protected $noNeedLogin = [];
- protected $noNeedRight = ['*'];
- //靓号首页
- public function lists(){
- $keyword = input('keyword','');
- $typelist = Db::name('uidsale_type')->order('id asc')->select();
- $map = [
- 'status' => 0, //未卖出
- 'saletime' => 0, //卖出时间
- 'user_id' => 0, //目前所属用户
- 'is_show' => 1, //上架
- ];
- if(!empty($keyword)){
- $map['new_id'] = ['LIKE','%'.$keyword.'%'];
- }
- $uidlist = Db::name('uidsale')->field('id,new_id,type_id')->where($map)->order('id asc')->select();
- foreach($typelist as $key => &$val){
- $val['child'] = [];
- foreach($uidlist as $k => $v){
- if($v['type_id'] == $val['id']){
- $val['child'][] = $v;
- }
- }
- //去掉空的组
- if(empty($val['child'])){
- unset($typelist[$key]);
- }
- }
- $this->success(1,$typelist);
- }
- //买靓号
- public function buy_one(){
- if(!$this->apiLimit()){
- $this->error('操作频繁');
- }
- $id = input('id',0);
- if(!$id){
- $this->error();
- }
- Db::startTrans();
- //检查
- $map = [
- 'status' => 0, //未卖出
- 'saletime' => 0, //卖出时间
- 'user_id' => 0, //目前所属用户
- 'is_show' => 1, //上架
- ];
- $info = Db::name('uidsale')->field('id,new_id')->where($map)->where('id',$id)->lock(true)->find();
- if(empty($info)){
- Db::rollback();
- $this->error('此靓号不存在,请刷新重试');
- }
- //卖出
- $update = [
- 'status' => 1, //卖出
- 'saletime' => time(), //卖出时间
- 'user_id' => $this->auth->id, //目前所属用户
- 'is_show' => 0, //下架
- ];
- $rs = Db::name('uidsale')->where('id',$id)->update($update);
- if($rs === false){
- Db::rollback();
- $this->error('购买失败');
- }
- //插入用户背包
- $nownum = Db::name('uidsale_bag')->where('user_id',$this->auth->id)->find();
- if(empty($nownum)){
- $data = [
- 'user_id' => $this->auth->id,
- 'u_id' => $this->auth->u_id,
- 'is_cool' => 0,
- 'is_using' => 1,
- ];
- $rs1 = Db::name('uidsale_bag')->insertGetId($data);
- if(!$rs1){
- Db::rollback();
- $this->error('购买失败');
- }
- }
- //插入用户靓号
- $data = [
- 'user_id' => $this->auth->id,
- 'u_id' => $info['new_id'],
- 'is_cool' => 1,
- ];
- $rs2 = Db::name('uidsale_bag')->insertGetId($data);
- if(!$rs2){
- Db::rollback();
- $this->error('购买失败');
- }
- Db::commit();
- $this->success('操作成功',$id);
- }
- //用户当前靓号背包
- public function my_bag(){
- $list = Db::name('uidsale_bag')->where('user_id',$this->auth->id)->order('is_using desc,is_cool desc,id desc')->select();
- $this->success(1,$list);
- }
- //切换使用靓号
- public function use_newone(){
- $id = input('id',0);
- if(!$id){
- $this->error();
- }
- Db::startTrans();
- $info = Db::name('uidsale_bag')->where('user_id',$this->auth->id)->where('id',$id)->find();
- if(empty($info)){
- Db::rollback();
- $this->error('操作有误,请刷新重试');
- }
- //全部卸下
- $rs = Db::name('uidsale_bag')->where('user_id',$this->auth->id)->update(['is_using'=>0]);
- if($rs === false){
- Db::rollback();
- $this->error('切换失败');
- }
- //此靓号切换
- $rs = Db::name('uidsale_bag')->where('user_id',$this->auth->id)->where('id',$id)->update(['is_using'=>1]);
- if($rs === false){
- Db::rollback();
- $this->error('切换失败');
- }
- //更新用户
- $rs = Db::name('user')->where('id',$this->auth->id)->update(['u_id'=>$info['u_id'],'is_cool'=>$info['is_cool']]);
- if($rs === false){
- Db::rollback();
- $this->error('切换失败');
- }
- Db::commit();
- $this->success();
- }
- }
|