123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- <?php
- namespace app\api\controller;
- use app\api\model\MarketGoods;
- use think\Db;
- /**
- * @title 会员管理
- * @controller Usermanage
- * @group base
- */
- class Usermanage extends Base
- {
- public function initialize()
- {
- parent::check_login();
- }
- /**
- * @title 获取我的运费券
- * @desc 获取我的运费券
- * @author qc
- * @url /api/Usermanage/getMyCouponByStatus
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:sel_status type:int : default:0 desc:0全部,1正常,2已使用,3过期
- * @param name:page type:int : default:1 desc:页数
- * @param name:page_num type:int : default:20 desc:每页数
- * @return name:create_at type:float default:-- desc:领取(发放时间)
- * @return name:status type:int default:-- desc:1正常,2已使用,3过期
- * @return name:past_at type:string default:-- desc:到期时间
- * @return name:used_time type:string default:-- desc:使用时间
- */
- public function getMyCouponByStatus()
- {
- user_coupon_over($this->uid);
- $sel_status = input('sel_status');
- $where['user_id'] = $this->uid;
- if(in_array($sel_status,[1,2,3])) $where['status'] = $sel_status;
- $list = Db::table('user_coupon_list')
- ->where($where)
- ->order('id desc')
- ->limit($this->off_set,$this->page_num)
- ->select();
- $this->success('获取成功',['list'=>$list]);
- }
- /**
- * @title 设置收货地址(新增或修改)
- * @desc 设置收货地址(新增或修改)
- * @author qc
- * @url /api/Usermanage/setDeliveryAddress
- * @method POST
- * @header name:Authorization require:1 desc:Token
- * @param name:id type:int : default:0 desc:收货地址记录id(不传值是添加)
- * @param name:pro_name type:int require:1 default:-- desc:省名
- * @param name:city_name type:int require:1 default:-- desc:市名
- * @param name:county_name type:int require:1 default:-- desc:县区名
- * @param name:detail type:string require:1 default:-- desc:详细地址
- * @param name:phone type:string require:1 default:-- desc:联系电话
- * @param name:name type:string require:1 default:-- desc:联系人
- * @param name:is_mr type:int require:0 default:0 desc:是否是默认(0不默认,1默认)
- */
- public function setDeliveryAddress()
- {
- $pro_name = input('post.pro_name');// 省
- $city_name = input('post.city_name');// 市
- $county_name = input('post.county_name');// 县区
- $pro_id = Db::table('store_area')->where('name',$pro_name)->value('id');
- $city_id = Db::table('store_area')->where('name',$city_name)->value('id');
- $county_id = Db::table('store_area')->where('name',$county_name)->value('id');
- $detail = input('post.detail');// 详细地址
- $phone = input('post.phone');
- $name = input('post.name');
- $id = input('post.id');
- $is_mr = input('post.is_mr',0);
- $set_data = compact(['pro_id','city_id','county_id','detail','phone','name','is_mr']);
- $set_data['user_id'] = $this->uid;
- $set_data['pro_name'] = $pro_name;
- $set_data['city_name'] = $city_name;
- $set_data['county_name']= $county_name;
- $set_data['mer_name']=$pro_name . $city_name. $county_name;
- if($id) {
- Db::table('delivery_address')->where(['id'=>$id])->update($set_data);
- }else{
- Db::table('delivery_address')->insert($set_data);
- $id = Db::getLastInsID();
- }
- if($is_mr) Db::table('delivery_address')->where('user_id','=',$this->uid)->where('id','<>',$id)->where('is_mr','=',1)->update(['is_mr'=>0]);
- $this->success('编辑成功');
- }
- /**
- * @title 修改默认收货地址
- * @desc 修改默认收货地址
- * @author qc
- * @url /api/Usermanage/changeApproveDelivery
- * @method POST
- * @header name:Authorization require:1 desc:Token
- * @param name:id type:int : default:0 desc:收货地址记录id
- * @param name:is_mr type:int default:1 desc:是否是默认(0不默认,1默认)
- */
- public function changeApproveDelivery()
- {
- $id = input('post.id');
- $is_mr = input('post.is_mr',1);
- if($is_mr) {
- Db::table('delivery_address')
- ->where('user_id','=',$this->uid)
- ->where('is_mr','=',1)
- ->update(['is_mr'=>0]);
- Db::table('delivery_address')
- ->where('user_id','=',$this->uid)
- ->where('id','=',$id)
- ->update(['is_mr'=>1]);
- }else{
- Db::table('delivery_address')
- ->where('user_id','=',$this->uid)
- ->where('id','=',$id)
- ->update(['is_mr'=>0]);
- }
- $this->success('修改成功');
- }
- /**
- * @title 删除收货地址
- * @desc 删除收货地址
- * @author qc
- * @url /api/Usermanage/delDeliveryAddress
- * @method POST
- * @header name:Authorization require:1 desc:Token
- * @param name:id type:int require:1 default:1 desc:收货地址记录id
- */
- public function delDeliveryAddress()
- {
- $id = input('post.id');
- if(!$id)$this->error('请选择要删除的收货地址');
- Db::table('delivery_address')->where(['user_id'=>$this->uid,'id'=>$id])->update(['is_deleted'=>1,'is_mr'=>0]);
- $this->success('删除成功!');
- }
- /**
- * @title 获取收货地址列表
- * @desc 获取收货地址列表
- * @author qc
- * @url /api/Usermanage/getDeliveryAddressList
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:page type:int default:1 desc:页数
- * @param name:page_num type:int default:20 desc:每页数
- * @return name:pro_id type:int default:-- desc:省id
- * @return name:city_id type:int default:-- desc:市id
- * @return name:county_id type:int default:-- desc:县区id
- * @return name:pro_name type:string default:-- desc:省名
- * @return name:city_name type:string default:-- desc:市名
- * @return name:county_name type:string default:-- desc:县区名
- * @return name:detail type:string default:-- desc:详细地址
- * @return name:phone type:string default:-- desc:联系电话
- * @return name:name type:string default:-- desc:联系人
- * @return name:is_mr type:int default:0 desc:是否是默认(0不默认,1默认)
- */
- public function getDeliveryAddressList()
- {
- $list = Db::table('delivery_address')
- ->where(['user_id'=>$this->uid,'is_deleted'=>0])
- ->order('is_mr desc ,id desc')
- ->limit($this->off_set,$this->page_num)
- ->select();
- $this->success('ok',['list'=>$list]);
- }
- /**
- * @title 获取收货地址详情
- * @desc 获取收货地址详情
- * @author qc
- * @url /api/Usermanage/getDeliveryAddressDetail
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:id type:int default:1 desc:收货地址记录id
- * @return name:pro_id type:int default:-- desc:省id
- * @return name:city_id type:int default:-- desc:市id
- * @return name:county_id type:int default:-- desc:县区id
- * @return name:pro_name type:string default:-- desc:省名
- * @return name:city_name type:string default:-- desc:市名
- * @return name:county_name type:string default:-- desc:县区名
- * @return name:detail type:string default:-- desc:详细地址
- * @return name:phone type:string default:-- desc:联系电话
- * @return name:name type:string default:-- desc:联系人
- * @return name:is_mr type:int default:0 desc:是否是默认(0不默认,1默认)
- */
- public function getDeliveryAddressDetail()
- {
- $detail = Db::table('delivery_address')->find(input('id'));
- $this->success('ok',$detail);
- }
- /**
- * @title 获取明信片变更日志
- * @desc 获取明信片变更日志
- * @author qc
- * @url /api/Usermanage/getCrystalLog
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:page type:int default:1 desc:页数
- * @param name:page_num type:int default:20 desc:每页数
- * @return name:create_at type:string default:-- desc:时间
- * @return name:crystal type:int default:-- desc:变更数
- * @return name:desc type:string default:-- desc:描述
- */
- public function getCrystalLog()
- {
- $list = Db::table('crystal_info')
- ->field('id,create_at,crystal,desc')
- ->where(['user_id'=>$this->uid,'is_deleted'=>0])
- ->order('id desc')
- ->limit($this->off_set,$this->page_num)
- ->select();
- $this->success('ok',['list'=>$list]);
- }
- /**
- * @title 获取推荐人信息
- * @desc 获取推荐人信息
- * @author qc
- * @url /api/Usermanage/getParentInfo
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @return name:name type:string default:-- desc:昵称
- * @return name:headimg type:string default:-- desc:头像
- * @return name:create_at type:string default:-- desc:注册时间
- */
- public function getParentInfo()
- {
- $pid = Db::table('store_member')->where('id',$this->uid)->value('pid');
- $parent_info = [];
- if($pid){
- $parent_info= Db::table('store_member')
- ->field('id,name,headimg,create_at')
- ->find($pid);
- }
- $this->success('ok',$parent_info);
- }
- /**
- * @title 获取我邀请的会员列表
- * @desc 获取我邀请的会员列表
- * @author qc
- * @url /api/Usermanage/getMyInviteList
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:page type:int default:1 desc:页数
- * @param name:page_num type:int default:20 desc:每页数
- * @return name:name type:string default:-- desc:昵称
- * @return name:headimg type:string default:-- desc:头像
- * @return name:create_at type:string default:-- desc:注册时间
- */
- public function getMyInviteList()
- {
- $list = Db::table('store_member')
- ->field('id,name,headimg,create_at')
- ->where(['pid'=>$this->uid])
- ->order('id desc')
- ->limit($this->page,$this->page_num)
- ->select();
- $this->success('ok',$list);
- }
- /**
- * @title 获取推荐线统计数据
- * @desc 获取推荐线统计数据
- * @author qc
- * @url /api/Usermanage/getRecommendNum
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @return name:first_num type:int default:-- desc:一级下级数量
- * @return name:second_num type:int default:-- desc:二级下级数量
- * @return name:recommend_crystal type:int default:-- desc:收益
- */
- public function getRecommendNum()
- {
- $first_children = Db::table('store_member')
- ->field('id,pid')
- ->where('pid',$this->uid)
- ->select();
- $second_children = Db::table('store_member')
- ->field('id,pid')
- ->where('pid','in',array_column($first_children,'id'))
- ->where('pid','>',0)
- ->select();
- $recommend_crystal =Db::table('crystal_info')
- ->where('user_id','=',$this->uid)
- ->where('type','in',[1,12,13])
- ->sum('crystal');
- $recommend_crystal = $recommend_crystal?$recommend_crystal:0;
- $this->success('ok',['first_num'=>count($first_children),'second_num'=>count($second_children),'recommend_crystal'=>$recommend_crystal]);
- }
- /**
- * @title 用户反馈
- * @desc 用户反馈
- * @author qc
- * @url /api/Usermanage/leaveFeedback
- * @method POST
- * @header name:Authorization require:1 desc:Token
- * @param name:content type:string require:1 default:-- desc:反馈内容
- * @param name:images type:string require:0 default:-- desc:反馈图片(逗号隔开,没有不传)
- */
- public function leaveFeedback()
- {
- $insert_data = [
- 'user_id'=>$this->uid,
- 'content'=>input('content'),
- 'images'=>input('images'),
- 'create_at'=>date('Y-m-d H:i:s')
- ];
- Db::table('user_feedback')->insert($insert_data);
- $this->success('反馈成功',Db::getLastInsID());
- }
- /**
- * @title 获取集市商品
- * @desc 获取集市商品
- * @author qc
- * @url /api/Usermanage/getMyMarketGoods
- * @method GET
- * @header name:Authorization require:1 desc:Token
- * @param name:page type:int default:1 desc:页数
- * @param name:page_num type:int : default:20 desc:每页数
- * @return name:id type:int default:-- desc:商品id
- * @return name:sell_price type:string default:-- desc:售价
- * @return name:cover type:string default:-- desc:商品图
- * @return name:status type:int default:-- desc:0已下架1正常售卖
- * @return name:user_id type:int default:-- desc:售卖商品会员id
- * @return name:stock type:int default:-- desc:数量
- * @return name:sell_price type:int default:-- desc:售价(所有数量的售价)
- * @return name:crystal type:float default:-- desc:每个价值
- * @return name:sell_status type:int default:-- desc:售卖状态1在售2售完3真正支付中
- * @return name:order_status type:int default:-- desc:0售卖中1已售卖/待发货2待收货3已完成
- * @return name:pro_info type:array default:-- desc:详情
- * @return name:pro_info.num type:int default:-- desc:数量
- * @return name:pro_info.case_name type:int default:-- desc:名称
- * @return name:pro_info.case_cover type:int default:-- desc:图片
- * @return name:pro_info.crystal type:int default:-- desc:明信片
- */
- public function getMyMarketGoods()
- {
- $list = MarketGoods::where('user_id',$this->uid)
- ->order('id desc')
- ->limit($this->off_set,$this->page_num)
- ->select();
- $this->success('ok',['list'=>$list]);
- }
- }
|