📖 File Reader
<?php
namespace app\api\controller;
use app\api\common\Common_config;
use app\api\model\ModRegion;
use app\api\model\ModShoppingCart;
use app\BaseController;
use app\common\Common_map;
use app\common\Common_note;
use app\common\Common_qrcode;
use app\common\Common_time;
use app\common\Common_api;
use app\api\common\Common_user;
use app\common\Common_wechat;
use think\facade\Db;
use think\facade\View;
class User extends Base
{
/**
* 会员信息
*/
public function user_info()
{
$time = time();
$user_info = Common_user::user_info($this->user_miyao);
$user_info["region_name"] = $user_info["region_id"] == 0?'请选择':db::name("region")->where("id = $user_info[region_id]")->value("name");//所属地区
$rank_name = db::name("user_rank")->where("rank_id = $user_info[rank_id]")->value("name");
$user_info["rank_name"] = $rank_name != ''?$rank_name:'游客';
$user_info["add_time"] = date("Y-m-d H:i", $user_info["add_time"]);
$address_id = db::name("user_address")->where("user_id = $this->user_id and is_checked = 1")->value("address_id");
$user_info["address_id"] = $address_id != ''?$address_id:0;
$user_info["is_celebrate"] = Common_user::user_birthday($user_info["identity"]);
$user_info["mobile_encryption"] = $user_info["mobile"] != ''?Common_user::encryptPhoneNumber($user_info["mobile"]):'';//加密手机号
//会员其它信息
$user_info_detail = db::name("user_detail")->where("user_id = $this->user_id")->find();
if (empty($user_info_detail)){
$info["user_id"] = $this->user_id;
db::name("user_detail")->insertGetId($info);
$user_info_detail = db::name("user_detail")->where("user_id = $this->user_id")->find();
}
$user_info_detail["motorcycle_expire_time"] = $user_info_detail["motorcycle_expire_time"] != 0?date("Y-m-d",$user_info_detail["motorcycle_expire_time"]):'';
//优惠卷数量
$card_count = db::name("user_activity_preferential_card")->where("user_id = $this->user_id and is_employ = 0 and time_past_due >= $time")->count();
/*订单数量查询*/
$count_daifukuan = db::name("order")->where("state = 0 and user_id = $this->user_id")->count();
$count_daifahuo = db::name("order")->where("state = 1 and user_id = $this->user_id")->count();
$count_daishouhuo = db::name("order")->where("state = 2 and user_id = $this->user_id")->count();
$count_yiwancheng = db::name("order")->where("state = 3 and user_id = $this->user_id")->count();
$count_yiquxiao = db::name("order")->where("state = 4 and user_id = $this->user_id")->count();
$count_quanbu = db::name("order")->where("user_id = $this->user_id")->count();
$data = [
'user_info' => $user_info,
'user_info_detail' => $user_info_detail,
'card_count'=>$card_count,
'count_daifukuan'=>$count_daifukuan,
'count_daifahuo'=>$count_daifahuo,
'count_daishouhuo'=>$count_daishouhuo,
'count_yiwancheng'=>$count_yiwancheng,
'count_yiquxiao'=>$count_yiquxiao,
'count_quanbu'=>$count_quanbu,
];
return $this->succeed_json("查询成功", $data);
}
/*会员级别*/
public function user_rank()
{
$list = db::name("user_rank")->order("rank_id asc")->select()->toArray();
$data = [
'list'=>$list,
];
return $this->succeed_json("ok",$data);
}
/**
* 地区联动(多维数组)
*/
public function region_dw()
{
$list = ModRegion::region_dw();
return $this->succeed_json("ok", $list);
}
/*地区联动*/
public function region_d()
{
$region_id = input("param.region_id");
$list = ModRegion::region_d($region_id);
$data = [
'list'=>$list,
];
return $this->succeed_json("ok", $data);
}
/*地区联动(英文)*/
public function region_america()
{
$superior_id = input("param.superior_id");
$where = 1;
if (empty($superior_id)) {
$where .= " and superior_id = 0";
} else {
$where .= " and superior_id = $superior_id";
}
$list = db::name("region_america")->where($where)->order("sort desc")->select();
$data = [
'list' => $list,
];
return $this->succeed_json("ok", $data);
}
/*所有城市*/
public function all_city()
{
$keyword = input("param.keyword");
$data = ["A", "B", "C", "D", "E", "F", "G","H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R","S", "T", "U", "V", "W", "X", "Y", "Z"];
$where = 1;
if (!empty($keyword)) {
$where .= " and (name like '%".$keyword."%' or pinyin like '%".$keyword."%')";
}
$region_list = db::name("region")->where("level = 2 and $where")->field("id,first,shortname,name,pinyin,first")->order("first asc")->select()->toArray();
$list = [];
foreach ($data as $k => $v){
$data_city = [];
foreach ($region_list as $k2 => $v2){
if ($v == $v2["first"]){
$data_city[] = $v2;
}
}
$list[$k] = ['name'=>$v,'value'=>$data_city,'value_count'=>count($data_city)];
}
$data = [
'list'=>$list,
];
return $this->succeed_json("ok", $data);
}
/*城市选中处理*/
public function city_checked()
{
$id = input("param.id");
db::name("user")->where("user_id = $this->user_id")->update(['region_id'=>$id]);
return $this->succeed_json("操作成功");
}
/**
* 会员地址
*/
public function address_list()
{
$user_miyao = $this->user_miyao;
$user_info = Common_user::user_info($user_miyao);
$list = db::name("user_address")->alias("a")
->join("region b", "a.province = b.id", "LEFT")
->join("region c", "a.city = c.id", "LEFT")
->join("region d", "a.district = d.id", "LEFT")
->field("a.*, b.name as province_name, c.name as city_name, d.name as district_name")
->where("a.user_id = $user_info[user_id]")
->order("a.address_id desc")
->page($this->page,$this->limit)
->select()
->toArray();
//获取总页数
$count = db::name("user_address")->alias("a")
->join("region b", "a.province = b.id", "LEFT")
->join("region c", "a.city = c.id", "LEFT")
->join("region d", "a.district = d.id", "LEFT")
->field("a.*, b.name as province_name, c.name as city_name, d.name as district_name")
->where("a.user_id = $user_info[user_id]")
->count();
$pages = $this->vue_pages($count,$this->limit);
$date = [
'list'=>$list,
'pages'=>$pages,
];
return $this->succeed_json("ok", $date);
}
/*会员地址设为默认处理*/
public function address_default()
{
$address_id = input("param.address_id");
$info["is_checked"] = 0;
db::name("user_address")->where("user_id = $this->user_id")->data($info)->update();
$info2["is_checked"] = 1;
db::name("user_address")->where("address_id = $address_id")->data($info2)->update();
return $this->succeed_json("设置成功");
}
/**
* 会员地址创建
*/
public function address_add()
{
$user_miyao = $this->user_miyao;
$user_info = Common_user::user_info($user_miyao);
$info = [
'user_id' => $user_info["user_id"],
'name' => input("param.name"),
'phone' => input("param.phone"),
'province' => input("param.province"),
'city' => input("param.city"),
'district' => input("param.district"),
'address' => input("param.address"),
'add_time' => time(),
];
if (input("param.is_checked") == 1) {
//选中处理
$info2["is_checked"] = 0;
db::name("user_address")->where("user_id = $user_info[user_id]")->data($info2)->update();
$info["is_checked"] = 1;
}
db::name("user_address")->insertGetId($info);
return $this->succeed_json("创建成功");
}
/**
* 会员地址查询
*/
public function address_info()
{
$address_id = input("param.address_id");
$user_miyao = $this->user_miyao;
$user_info = Common_user::user_info($user_miyao);
$user_address_info = db::name("user_address")->alias("a")
->join("region b", "a.province = b.id", "LEFT")
->join("region c", "a.city = c.id", "LEFT")
->join("region d", "a.district = d.id", "LEFT")
->field("a.*,b.name as province_name,c.name as city_name,d.name as district_name")
->where("a.address_id = $address_id")
->find();
$data["user_address_info"] = $user_address_info;
return $this->succeed_json("ok", $data);
}
/**
* 会员地址修改
*/
public function address_edit()
{
$address_id = input("param.address_id");
$user_miyao = $this->user_miyao;
$user_info = Common_user::user_info($user_miyao);
$info = [
'user_id' => $user_info["user_id"],
'name' => input("param.name"),
'phone' => input("param.phone"),
'province' => input("param.province"),
'city' => input("param.city"),
'district' => input("param.district"),
'address' => input("param.address"),
'add_time' => time(),
];
if (input("param.is_checked") == 1) {
//选中处理
$info2["is_checked"] = 0;
db::name("user_address")->where("user_id = $user_info[user_id]")->data($info2)->update();
$info["is_checked"] = 1;
}
db::name("user_address")->where("address_id = $address_id")->data($info)->update();
return $this->succeed_json("修改成功");
}
/*会员地址删除*/
public function address_del()
{
$address_id = input("param.address_id");
$address_info = db::name("user_address")->where("address_id = $address_id")->find();
if ($address_info["is_checked"] == 1) {
//更改下一个为默认地址
$info["is_checked"] = 1;
$address_edit_id = db::name("user_address")->where("user_id = $this->user_id and address_id != $address_id")->order("address_id asc")->value("address_id");
if (!empty($address_edit_id)) {
db::name("user_address")->where("address_id = $address_edit_id")->data($info)->update();
}
}
db::name("user_address")->where("address_id = $address_id")->delete();
return $this->succeed_json("删除成功");
}
/*根据微信小程序收货地址查系统地址*/
public function wx_address_check()
{
$name_province = input("param.name_province");
$name_city = input("param.name_city");
$name_district = input("param.name_district");
if (empty($name_province)){
return $this->error_json("请上传省名称");
}
if (empty($name_city)){
return $this->error_json("请上传市名称");
}
if (empty($name_district)){
return $this->error_json("请上传区名称");
}
$region_list = db::name("region")->where("shortname in ('$name_province','$name_city','$name_district') or name in ('$name_province','$name_city','$name_district')")->field("id,shortname,name,level")->select()->toArray();
$province_id = 0;//省id
$city_id = 0;//市id
$district_id = 0;//区id
foreach ($region_list as $v){
if ($name_province == $v["shortname"] || $name_province == $v["name"]){$province_id = $v["id"];}
if ($name_city == $v["shortname"] || $name_city == $v["name"]){$city_id = $v["id"];}
if ($name_district == $v["shortname"] || $name_district == $v["name"]){$district_id = $v["id"];}
}
$data = [
'name_province'=>$name_province,
'province_id'=>$province_id,
'name_city'=>$name_city,
'city_id'=>$city_id,
'name_district'=>$name_district,
'district_id'=>$district_id,
];
return $this->error_json("ok",$data);
}
/*微信小程序完善信息*/
public function wx_user_update()
{
if (!empty($_FILES["imageData"])){
$url = 'https://'.$_SERVER['SERVER_NAME'].'/public/uploads/'.$this->upload('imageData');
$info["head"] = $url;
}
$info["nickname"] = input("param.nickname");
$info["mobile"] = input("param.mobile");
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/**
* 实名认证
*/
public function user_upload()
{
$code = input("param.code");
$mobile = input("param.mobile");
// if (empty(input("param.identity_z"))) {
// return $this->error_json("请选择身份证正面");
// }
// if (empty(input("param.identity_f"))) {
// return $this->error_json("请选择身份证反面");
// }
// if (empty(input("param.name"))) {
// return $this->error_json("请输入姓名");
// }
// if (empty($mobile)) {
// return $this->error_json("请输入手机号");
// }
// if (empty($code)) {
// return $this->error_json("请输入验证码");
// }
/*实名认证检测*/
// $certification = Common_api::certification(input("param.name"), input("param.identity"));
// if ($certification["code"] != 200) {
// return $this->error_json($certification["msg"]);
// }
$user_info = Common_user::user_info($this->user_miyao);
//验证码验证
// $verify = Common_note::verify($mobile, $code);
// if ($verify["code"] == 400) {
// return $this->error_json($verify["msg"]);
// }
if (!empty(input("param.head"))){
$info["head"] = input("param.head");
}
if (!empty(input("param.nickname"))){
$info["nickname"] = input("param.nickname");
}
if (!empty(input("param.name"))){
$info["name"] = input("param.name");
}
if (!empty(input("param.mobile"))){
$info["mobile"] = input("param.mobile");
}
db::name("user")->where("user_id = $user_info[user_id]")->data($info)->update();
return $this->succeed_json("操作成功");
}
/*身份证识别*/
public function identity_recognition()
{
$img_url = input("param.img_url");
if (empty($img_url)) {
return $this->error_json("请上传证件地址");
}
$identity_recognition = Common_api::identity_recognition($img_url);
if ($identity_recognition["code"] != 200) {
return $this->error_json($identity_recognition["msg"]);
}
$data = [
'name' => $identity_recognition["rbody"]["name"],
'num' => $identity_recognition["rbody"]["num"],
];
return $this->succeed_json("ok", $data);
}
/*会员基本信息修改*/
public function user_basic_upload()
{
$info = [
'nickname' => input("param.nickname"),
'name' => input("param.name"),
'mobile' => input("param.mobile"),
'identity'=>input("param.identity"),
];
$info2 = [
'motorcycle_type'=>input("param.motorcycle_type"),
'plate_number'=>input("param.plate_number"),
'motorcycle_expire_time'=>strtotime(input("param.motorcycle_expire_time")),
];
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
//db::name("user_detail")->where("user_id = $this->user_id")->data($info2)->update();
return $this->succeed_json("操作成功");
}
/*手机号检测*/
public function mobile_verify()
{
$verify = Common_note::verify(input("param.mobile"), input("param.code"));
if ($verify["code"] != 200) {
return $this->error_json($verify["msg"]);
} else {
return $this->succeed_json($verify["msg"]);
}
}
/*手机号修改*/
public function mobile_upload()
{
$mobile = input("param.mobile");
$verify = Common_note::verify(input("param.mobile"), input("param.code"));
if ($verify["code"] != 200) {
return $this->error_json($verify["msg"]);
}
$user_info = db::name("user")->where("mobile = '$mobile' and user_id != $this->user_id")->find();
if (!empty($user_info)){
return $this->error_json("该手机号已存在!");
}
$info = [
'mobile' => input("param.mobile"),
];
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
return $this->succeed_json("修改成功");
}
/*密码修改*/
public function password_edit()
{
$user_info = $this->user_info;
if (empty($user_info["mobile"])) {
return $this->error_json("请先完成实名认证", 301);
}
$mobile = $user_info["mobile"];
$code = input("param.code");
if (empty(input("param.password"))) {
return $this->error_json("请输入密码");
}
if (input("param.password2") != input("param.password")) {
return $this->error_json("两次密码不一致");
}
if (empty(input("param.code"))) {
return $this->error_json("请输入验证码");
}
//验证码验证
$verify = Common_note::verify($mobile, $code);
if ($verify["code"] == 400) {
return $this->error_json($verify["msg"]);
}
$info["password"] = md5(input("param.password"));
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/*支付密码修改*/
public function pay_passord_upload()
{
$password = input("param.password");
$mobile = input("param.mobile");
if (empty($password)) {
return $this->error_json("请输入密码");
}
if ($password != input("param.password2")) {
return $this->error_json("两次密码不一致");
}
if (empty($mobile)) {
return $this->error_json("请输入手机号");
}
/*短信验证*/
$verify = Common_note::verify($mobile, input("param.code"));
if ($verify["code"] != 200) {
return $this->error_json($verify["msg"]);
}
$info = [
'pay_password' => md5(input("password")),
];
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
return $this->succeed_json("设置成功");
}
/*头像上传*/
public function head_upload()
{
if (empty(input("param.head"))) {
return $this->error_json("请上传头像");
}
$info["head"] = $_POST["head"];
db::name("user")->where("user_id = $this->user_id")->data($info)->update();
return $this->succeed_json("上传成功");
}
/*平台充值信息*/
public function platform_chongzhi()
{
$config = Common_config::config("'platform_bank','platform_bank_card','is_platform_bank','platform_weixin','is_platform_weixin','platform_zhifubao','is_platform_zhifubao'");
if ($config["is_platform_bank"] != 1){
$config["platform_bank"] = '';
$config["platform_bank_card"] = '';
}
if ($config["is_platform_weixin"] != 1){
$config["platform_weixin"] = '';
}
if ($config["is_platform_zhifubao"] != 1){
$config["platform_zhifubao"] = '';
}
$data = [
'platform_bank'=>$config["platform_bank"],
'platform_bank_card'=>$config["platform_bank_card"],
'platform_weixin'=>$config["platform_weixin"],
'platform_zhifubao'=>$config["platform_zhifubao"],
];
return $this->succeed_json("ok", $data);
}
/*充值*/
public function chongzhi()
{
if (empty(input("param.money"))){
return $this->error_json("请如实填写充值金额");
}
if (empty(input("param.img_evidence"))) {
return $this->error_json("请上传充值凭证图");
}
$order_sn = $this->user_id . Common_user::suijishu(20, 1);
$info = [
'order_sn' => $order_sn,
'user_id' => $this->user_id,
'money'=>input("param.money"),
'img_evidence'=>input("param.img_evidence"),
'type' => 0,
'state' => 0,
'add_time' => time(),
];
db::name("money_request")->insertGetId($info);
return $this->succeed_json("提交成功,请等待审核~");
}
/**
* 提现出来
*/
public function tixian()
{
$money = input("param.money");
if (empty(input("param.bank"))) {
return $this->error_json("请输入开户行名称");
}
if (empty(input("param.bank_card"))) {
return $this->error_json("请输入开户行卡号");
}
if (!preg_match("/^[1-9][0-9]*$/" ,$money)){
return $this->error_json("提现金额错误,不可输入小数");
}
/*支付密码验证*/
// $pay_password_verify = Common_user::pay_password_verify($this->user_miyao, input("param.pay_password"));
// if ($pay_password_verify["code"] != 200) {
// return $this->error_json($pay_password_verify["msg"]);
// }
$order_sn = $this->user_id . Common_user::suijishu(20, 1);
$this->record_log("提现", 9, $this->user_id, '-' . $money, 0);
$info = [
'order_sn' => $order_sn,
'user_id' => $this->user_id,
'bank' => input("param.bank"),
'bank_card' => input("param.bank_card"),
'type' => 1,
'state' => 0,
'money' => $money,
'add_time' => time(),
];
db::name("money_request")->insertGetId($info);
return $this->succeed_json("提交成功,请等待审核~");
}
/*会员充值、提现记录*/
public function money_request()
{
$type = input("param.type");
$list = db::name("money_request")->where("user_id = $this->user_id and type = $type")->order("id desc")->page($this->page,$this->limit)->select();
$list = json_decode($list,true);
foreach ($list as $k => $v){
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
$list[$k]["audit_time"] = $v["audit_time"] > 0?date("Y-m-d H:i",$v["add_time"]):'';
}
/*获取最大页数*/
$count = db::name("money_request")->where("user_id = $this->user_id and type = $type")->count();
$pages = $this->vue_pages($count,$this->limit);
$data = [
'list'=>$list,
'pages'=>$pages,
];
return $this->succeed_json("ok",$data);
}
/*转账*/
public function zhuanzhang()
{
$mobile = input("param.mobile");//目标人手机号
$type = input("param.type");//转账类型:1余额 2积分
$money = input("param.money");
if (empty($mobile)){
return $this->error_json("请输入目标人手机号");
}
if (empty($money)){
return $this->error_json("请输入转账金额");
}
$user_mubiao = db::name("user")->where("mobile = '$mobile'")->find();
if (empty($user_mubiao)){
return $this->error_json("目标认不存在");
}
if ($type == 1) {
$this->record_log("转出「目标人:" . $user_mubiao["mobile"] . "」", 11, $this->user_id, '-' .$money, 0, 0);
$this->record_log("转入「操作人:" . $this->user_info["mobile"] . "」", 12, $user_mubiao["user_id"], $money, 0, 0);
}else if($type == 2){
$this->record_log("转出「目标人:" . $user_mubiao["mobile"] . "」", 11, $this->user_id,0, '-'.$money,0);
$this->record_log("转入「操作人:" . $this->user_info["mobile"] . "」", 12, $user_mubiao["user_id"],0,$money,0);
}
return $this->succeed_json("操作成功");
}
/*会员钱包列表*/
public function wallet_list()
{
$list = db::name("wallet")->where("user_id = $this->user_id")->order("wallet_id desc")->select();
$list = json_decode($list, true);
foreach ($list as $k => $v) {
$list[$k]["add_time"] = date("Y-m-d H:i", $v["add_time"]);
}
$data = [
'list' => $list,
];
return $this->succeed_json("ok", $data);
}
/*银行卡创建*/
public function wallet_add()
{
$code = input("param.code");
$mobile = db::name("user")->where("user_id = $this->user_id")->value("mobile");
if (empty($mobile)) {
return $this->error_json("请先完成实名认证", 301);
}
$is_default = input("param.is_default");
if (empty(input("param.name"))) {
return $this->error_json("请输入持卡人");
}
if (empty(input("param.identity"))) {
return $this->error_json("请输入持卡人身份证号");
}
if (empty(input("param.bank"))) {
return $this->error_json("请输入开户行");
}
if (empty(input("param.bank_card"))) {
return $this->error_json("请输入卡号");
}
if (input("param.is_default") == '') {
return $this->error_json("请选择是否默认");
}
if (empty($code)) {
return $this->error_json("请输入验证码");
}
/*银行卡检测*/
$bank_card_detection = Common_api::bank_card_detection(input("param.bank_card"), input("param.identity"), input("param.name"));
if ($bank_card_detection["code"] != 200) {
return $this->error_json($bank_card_detection["msg"]);
}
$yanzheng = Common_note::verify($mobile, $code);
if ($yanzheng["code"] != 200) {
return $this->error_json($yanzheng["msg"]);
}
$info = [
'user_id' => $this->user_id,
'bank' => input("param.bank"),
'name' => input("param.name"),
'identity' => input("param.identity"),
'bank_card' => input("param.bank_card"),
'add_time' => time(),
];
if (input("param.is_default") == 1) {
$info["is_default"] = 1;
$info2["is_default"] = 0;
db::name("wallet")->where("user_id = $this->user_id")->data($info2)->update();
}
db::name("wallet")->insertGetId($info);
return $this->succeed_json("创建成功");
}
/*银行卡查询*/
public function wallet_info()
{
$wallet_id = input("param.wallet_id");
$info = db::name("wallet")->where("wallet_id = $wallet_id")->find();
$info["add_time"] = date("Y-m-d H:i", $info["add_time"]);
$data = [
'info' => $info,
];
return $this->succeed_json("ok", $info);
}
/*银行卡编辑*/
public function wallet_edit()
{
$wallet_id = input("param.wallet_id");
$code = input("param.code");
$mobile = db::name("user")->where("user_id = $this->user_id")->value("mobile");
if (empty($mobile)) {
return $this->error_json("请先完成实名认证", 301);
}
$is_default = input("param.is_default");
if (empty(input("param.name"))) {
return $this->error_json("请输入持卡人");
}
if (empty(input("param.identity"))) {
return $this->error_json("请输入持卡人身份证号");
}
if (empty(input("param.bank"))) {
return $this->error_json("请输入开户行");
}
if (empty(input("param.bank_card"))) {
return $this->error_json("请输入卡号");
}
if (input("param.is_default") == '') {
return $this->error_json("请选择是否默认");
}
if (empty($code)) {
return $this->error_json("请输入验证码");
}
$yanzheng = Common_note::verify($mobile, $code);
if ($yanzheng["code"] != 200) {
return $this->error_json($yanzheng["msg"]);
}
$info = [
'user_id' => $this->user_id,
'bank' => input("param.bank"),
'name' => input("param.name"),
'identity' => input("param.identity"),
'bank_card' => input("param.bank_card"),
'add_time' => time(),
];
if (input("param.is_default") == 1) {
$info["is_default"] = 1;
$info2["is_default"] = 0;
db::name("wallet")->where("user_id = $this->user_id")->data($info2)->update();
}
db::name("wallet")->where("wallet_id = $wallet_id")->data($info)->update();
return $this->succeed_json("修改成功");
}
/*银行卡删除*/
public function wallet_del()
{
$wallet_id = input("param.wallet_id");
db::name("wallet")->where("user_id = $this->user_id and wallet_id = $wallet_id")->delete();
return $this->succeed_json("删除成功");
}
/*优惠卷信息*/
public function preferential_card()
{
$type = input("param.type");//状态:1未领取 2已领取 3已使用 4未使用 5已过期(只计算未使用的)
$time = time();
$where = 1;
$user_card = db::name("user_activity_preferential_card")->where("user_id = $this->user_id")->order("id desc")->field("id,card_id,card_name,is_employ,time_past_due")->select()->toArray();
$user_card_id = '';//会员已领取优惠卷id
$user_card_id_employ = '';//会员已使用优惠卷id
$user_card_id_unused = '';//会员未使用优惠卷id
$user_card_id_overdue = '';//会员过期优惠卷id
foreach ($user_card as $v){
$user_card_id .= $v["card_id"].',';
if ($v["is_employ"] == 1){$user_card_id_employ .= $v["card_id"].',';}
if ($v["is_employ"] == 0){$user_card_id_unused .= $v["card_id"].',';}
if ($v["is_employ"] == 0 && $time >= $v["time_past_due"]){$user_card_id_overdue .= $v["card_id"].',';}
}
$user_card_id = $user_card_id != ''?substr($user_card_id,0,strlen($user_card_id)-1):0;
$user_card_id_employ = $user_card_id_employ != ''?substr($user_card_id_employ,0,strlen($user_card_id_employ)-1):0;
$user_card_id_unused = $user_card_id_unused != ''?substr($user_card_id_unused,0,strlen($user_card_id_unused)-1):0;
$user_card_id_overdue = $user_card_id_overdue != ''?substr($user_card_id_overdue,0,strlen($user_card_id_overdue)-1):0;
if ($type == 1){
$where .= " and time_ks <= $time and time_js >= $time and id not in ($user_card_id)";
}else if($type == 2){
$where .= " and id in ($user_card_id)";
}else if($type == 3){
$where .= " and id in ($user_card_id_employ)";
}else if($type == 4){
$where .= " and id in ($user_card_id_unused)";
}else if($type == 5){
$where .= " and id in ($user_card_id_overdue)";
}
$list = db::name("activity_preferential_card")->where("num_surplus > 0 and is_show = 1 and $where")->order("id desc")->page($this->page,$this->limit)->select()->toArray();
foreach ($list as $k => $v){
$user_card = db::name("user_activity_preferential_card")->where("card_id = $v[id] and user_id = $this->user_id")->find();
$is_employ = 0;
$is_guoqi = 0;//是否过期:1是 0否
if (!empty($user_card)){
$is_employ = $user_card["is_employ"];
if ($time >= $user_card["time_past_due"]){
$is_guoqi = 1;
}
}
$list[$k]["is_employ"] = $is_employ;
$list[$k]["is_guoqi"] = $is_guoqi;
$list[$k]["time_past_due"] = date("Y-m-d H:i",$v["time_past_due"]);
$list[$k]["time_ks"] = date("Y.m.d",$v["time_ks"]);
$list[$k]["time_js"] = date("Y.m.d",$v["time_js"]);
$list[$k]["time_add"] = date("Y-m-d H:i",$v["time_add"]);
}
/*获取总页数*/
$count = db::name("activity_preferential_card")->where("num_surplus > 0 and is_show = 1 and $where")->count();
$pages = $this->vue_pages($count,$this->limit);
$data = [
'list'=>$list,
'pages'=>$pages,
];
return $this->succeed_json('ok',$data);
}
/*优惠卷领取*/
public function preferential_card_lingqu()
{
$id = input("param.id");
if (empty($id)){
return $this->error_json("参数错误");
}
$card_info = db::name("activity_preferential_card")->where("id = $id")->find();
if (empty($card_info)){
return $this->error_json("暂无优惠卷");
}
if ($card_info["num_surplus"] < 1){
return $this->error_json("优惠卷已被抢光");
}
$user_card_count = db::name("user_activity_preferential_card")->where("user_id = $this->user_id and card_id = $card_info[id]")->count();
if (!empty($user_card_count)){
return $this->error_json("不可重复领取");
}
$info = [
'user_id'=>$this->user_id,
'card_id'=>$card_info["id"],
'card_name'=>$card_info["title"],
'price_yh'=>$card_info["price_yh"],
'price_satisfy'=>$card_info["price_satisfy"],
'time_past_due'=>$card_info["time_past_due"],
'is_employ'=>0,
'time_add'=>time(),
];
db::name("user_activity_preferential_card")->insertGetId($info);
$info2["num_surplus"]= $card_info["num_surplus"]-1;
db::name("activity_preferential_card")->where("id = $id")->data($info2)->update();
return $this->succeed_json("领取成功");
}
/*我的团队*/
public function group_list()
{
$keyword = input("param.keyword");
$where = 1;
if (!empty($keyword)) {
$where .= " and (a.name like '%" . $keyword . "%' or a.mobile = '$keyword')";
}
$list = db::name("user")->alias("a")
->join("user_rank b","a.rank_id = b.rank_id","LEFT")
->field("a.user_id,a.head,a.nickname,a.name,a.mobile,a.add_time,b.name as rank_name")
->where("a.superior_id = $this->user_id and " . $where)
->order("a.user_id desc")
->page($this->page,$this->limit)
->select()
->toarray();
foreach ($list as $k => $v){
$list[$k]["mobile_encryption"] = $v["mobile"] != ''?Common_user::encryptPhoneNumber($v["mobile"]):'';//加密手机号
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
}
/*总页数*/
$count = db::name("user")->alias("a")
->join("user_rank b","a.rank_id = b.rank_id","LEFT")
->where("a.superior_id = $this->user_id and " . $where)
->count();
$pages = $this->vue_pages($count,$this->limit);
$data = [
'list' => $list,
'count' => $count,
'pages'=>$pages,
];
return $this->succeed_json("ok", $data);
}
/*APP下载二维码生成(图片格式)*/
public function download_qrcode(Common_qrcode $common_qrcode)
{
$config = Common_config::config("'logo','register_url'");
$logo = $config["logo"] != ''?$_SERVER['DOCUMENT_ROOT'].$config["logo"]:'';
$background = $_SERVER['DOCUMENT_ROOT'].'/public/mobile_zhengde/img/beijing.jpg';
$data = $common_qrcode->qrcode($config["register_url"],$logo,$background);
return $data["erweima_url"];
}
/*APP分享二维码*/
public function erweima()
{
$url = 'http://' . $_SERVER['HTTP_HOST'] . '/api/Login/register_h5?invite_code=' . $this->user_info["invitation_code"];
$data = [
'url' => $url,
];
return $this->succeed_json("ok", $data);
}
/*微信小程序生成分享二维码*/
public function erweima_xcx(Common_wechat $common_wechat)
{
$type = input("param.type")!=''?input("param.type"):0;//类型:0、Base64格式 1、url(不带背景图)2、url(带背景图)
$path = 'pages/index/index?superior_id='.$this->user_id;//小程序访问地址
if ($type == 0){
$url = $common_wechat->create_xcx($path);
}else if($type == 1){
$bese64 = $common_wechat->create_xcx($path);
$bese64_transition = Common_qrcode::bese64_transition($bese64,$this->user_info["user_id"]);
$url = $bese64_transition["file_link"];
}else if($type == 2){
$bese64 = $common_wechat->create_xcx($path);
$bese64_transition = Common_qrcode::bese64_transition($bese64,$this->user_info["user_id"]);
$url = $_SERVER['DOCUMENT_ROOT'].$bese64_transition["file_link"];
$background = $_SERVER['DOCUMENT_ROOT'].'/public/mobile_zhengde/img/beijing.jpg';
$qrcode_wechat = Common_qrcode::qrcode_wechat($url,$background);
$url = $bese64_transition["file_link"];
}
return $this->succeed_json("ok",$url);
}
/*根据经纬度获取地址*/
public function wx_get_address(Common_map $common_map)
{
$latitude = input("param.latitude");//纬度
$longitude = input("param.longitude");//经度
$address = $longitude.','.$latitude;
$getaddress = $common_map->getaddress($address);
$data = [
'address'=>$getaddress,
];
return $this->succeed_json("ok",$data);
}
/*公众号参数二维码*/
public function erweima_parameter(Common_wechat $common_wechat)
{
$data = ['promotion_user_id'=>$this->user_id];
$erweima_url = $common_wechat->erweima_parameter($data);
$data = [
'erweima_url'=>$erweima_url,
];
return $this->succeed_json("ok",$data);
}
/*生成跳转到小程序地址*/
public function create_link(Common_wechat $common_wechat)
{
$url = '/pages/index/index';
$query = 'user_miyao='.$this->user_info["user_miyao"];
$data = $common_wechat->create_link($url,$query);
return $this->succeed_json("ok",$data);
}
/*留言列表*/
public function leave_word_list()
{
$list = db::name("leave_word")->where("user_id = $this->user_id")->order("id desc")->page($this->page,$this->limit)->select()->toArray();
foreach ($list as $k => $v){
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
}
/*总页数*/
$count = db::name("leave_word")->where("user_id = $this->user_id")->count();
$pages = $this->vue_pages($count,$this->limit);
$data = [
'list'=>$list,
'pages'=>$pages,
];
return $this->succeed_json("ok",$data);
}
/*留言创建*/
public function leave_word()
{
$info = [
'user_id' => $this->user_id,
'describe'=>input("param.describe"),
'is_check'=>0,
'add_time'=>time(),
];
db::name("leave_word")->insertGetId($info);
return $this->succeed_json("提交成功,请耐心等待结果!");
}
/*留言信息查询*/
public function leave_word_info()
{
$id = input("param.id");
$leave_word_info = db::name("leave_word")->where("id = $id")->find();
$leave_word_info["add_time"] = date("Y-m-d H:i",$leave_word_info["add_time"]);
$leave_word_info["check_time"] = date("Y-m-d H:i",$leave_word_info["check_time"]);
$data = [
'leave_word_info'=>$leave_word_info,
];
return $this->succeed_json("ok",$data);
}
/*留言删除*/
public function leave_word_del()
{
$id = input("param.id");
db::name("leave_word")->where("id = $id")->delete();
return $this->succeed_json("删除成功");
}
/*签到处理*/
public function signup()
{
/*实名认证检测*/
$user_data = Common_user::user_detection($this->user_id);
if ($user_data["code"] != 200){
return $this->error_json($user_data["msg"],301);
}
$config = Common_config::config("'sign_integral'");
$time_lc = strtotime(date("Y-m-d 00:00:00",time()));
$sign_count = db::name("sign_log")->where("user_id = $this->user_id and time_add >= $time_lc")->count();
if (!empty($sign_count)){
return $this->error_json("今日已成功签到");
}
$info = [
'user_id'=>$this->user_id,
'integral'=>$config["sign_integral"],
'time_add'=>time(),
];
db::name("sign_log")->insertGetId($info);
$this->record_log('签到赠送积分',23,$this->user_id,0,$config["sign_integral"],0);
return $this->succeed_json("签到成功");
}
/*本月签到信息*/
public function signup_list()
{
$time_t = date("d",time());
$time_yc = strtotime(date("Y-m-01 00:00:00",time()));
$list = db::name("sign_log")->where("user_id = $this->user_id and time_add >= $time_yc")->order("id asc")->select()->toArray();
$sign_jinti = 0;
foreach ($list as $k => $v){
$time_sign_t = date("d",$v["time_add"]);
$list[$k]["time_add"] = date("Y-m-d H:i",$v["time_add"]);
$list[$k]["time_sign_t"] = intval($time_sign_t);
if ($time_t == $time_sign_t){
$sign_jinti = 1;//今日已签到
}
}
$data = [
'list'=>$list,
'sign_jinti'=>$sign_jinti,
];
return $this->succeed_json('ok',$data);
}
}