fixed
This commit is contained in:
@@ -110,29 +110,6 @@ class Users extends BaseHttpApi
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:计算排名
|
||||
* author:wh
|
||||
*/
|
||||
private function countRank($openid){
|
||||
if(cache('user_rank_'.$openid)){
|
||||
return cache('user_rank_'.$openid);
|
||||
}
|
||||
$lists = Db::table(TabConf::$fa_users)
|
||||
->order('now_level desc')
|
||||
->field('openid,now_level')
|
||||
->select();
|
||||
|
||||
if($lists){
|
||||
foreach ($lists as $k=>$v){
|
||||
if($v['openid'] == $openid){
|
||||
cache('user_rank_'.$openid,$k+1,3600);
|
||||
return $k+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;//没有排名
|
||||
}
|
||||
/**
|
||||
* desc:授权,登录
|
||||
*
|
||||
@@ -200,709 +177,4 @@ class Users extends BaseHttpApi
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:修改用户昵称、头像
|
||||
*
|
||||
* /api/users/updateuser
|
||||
*
|
||||
* 参数:
|
||||
* openid 必传
|
||||
* nickname,headimage
|
||||
*/
|
||||
function updateuser(){
|
||||
return Mmodel::catchJson(function (){
|
||||
|
||||
$nickname = input('nickname','');
|
||||
$headimage = input('headimage','');
|
||||
|
||||
$data = [];
|
||||
if($nickname){
|
||||
$data['nickname'] = $nickname;
|
||||
}
|
||||
if($headimage){
|
||||
$data['headimage'] = $headimage;
|
||||
}
|
||||
$openid = input('openid');
|
||||
if(empty($openid)){
|
||||
return Tools::set_fail('OPENID MUST');
|
||||
}
|
||||
if(!empty($data)){
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',$openid)
|
||||
->data($data)
|
||||
->update();
|
||||
}
|
||||
|
||||
return Tools::set_ok();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:更新最新关卡
|
||||
* api/users/updatenowlevel
|
||||
*
|
||||
* 参数:
|
||||
* now_level 最新关卡
|
||||
* author:wh
|
||||
*/
|
||||
function updateNowLevel(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$now_level = input('now_level');
|
||||
if(empty($now_level)){
|
||||
return Tools::set_fail('now_level 必须');
|
||||
}
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->update([
|
||||
'now_level'=>$now_level,
|
||||
]);
|
||||
return Tools::set_ok();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:查询好友列表-计算离线奖励
|
||||
* /api/users/getFriendsOfflinePrizeList
|
||||
*
|
||||
* 离线奖励:从用户下线时刻开始,每3个小时奖励一瓶随机等级的肥料,只取整数,不四舍五入。离线时长除以3取整数。
|
||||
* 比如:离线 0-2.9 个小时 不奖励
|
||||
离线 3-5.9 个小时 奖励 1瓶
|
||||
离线 6-8.9 个小时 奖励 2瓶
|
||||
*
|
||||
gameprop_id 道具奖品
|
||||
prize_all_num 总奖励数量
|
||||
self_got_num 自己保底所得数量(固定)
|
||||
can_lose_num 可被偷取的数量(固定)
|
||||
now_can_lose_num 已偷取(偷取后数值增加,数值大于可被偷取的总数量时,拒绝偷取)
|
||||
* author:wh
|
||||
*/
|
||||
function getFriendsOfflinePrizeList(){
|
||||
return Mmodel::catchJson(function (){
|
||||
//查询我的离线好友
|
||||
$friends = Db::table(TabConf::$fa_gamefriend)
|
||||
->where('openid',api_user_openid())
|
||||
->select();
|
||||
if(empty($friends)){
|
||||
return Tools::set_res(220,'没有好友');
|
||||
}
|
||||
//可偷取的奖励部分每次允许偷取比例配置
|
||||
$lose_rate = SundryConfig::val('offline_prize_can_lose_per_times_lose_rate');
|
||||
|
||||
|
||||
foreach ($friends as &$list){
|
||||
$friend_openid = $list['friend_openid'];
|
||||
$sql = "
|
||||
select * from fa_user_offline_prize a left join
|
||||
fa_user_offline_prize_got_record b
|
||||
on a.id = b.user_offline_prizeid
|
||||
where a.openid='{$friend_openid}' and b.user_offline_prizeid is null;
|
||||
";
|
||||
//查询好友的离线奖励
|
||||
$friend_prize = Db::query($sql);
|
||||
//统计我的已偷取数量
|
||||
//$my_already_lose_num = Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
// ->where('openid',api_user_openid())
|
||||
// ->whereIn('user_offline_prizeid',array_column($friend_prize,'id'))
|
||||
// ->sum('num');
|
||||
//统计我的已偷取数量=$can_lose_num*$lose_rate,如果相等就设置偷取数量为0
|
||||
$can_lose_num_arr = array_column($friend_prize,'can_lose_num');
|
||||
//总的可偷取数量
|
||||
$can_lose_num = array_sum($can_lose_num_arr);
|
||||
$already_lose_num_arr = array_column($friend_prize,'already_lose_num');
|
||||
//已偷取的总数量
|
||||
$already_lose_num = array_sum($already_lose_num_arr);
|
||||
|
||||
$friend_prize['now_can_lose_num'] = floor(($can_lose_num-$already_lose_num)*$lose_rate);
|
||||
$friend_prize['lose_rate'] = $lose_rate;
|
||||
|
||||
$tmp_arr = [];
|
||||
//查询好友的奖励
|
||||
$tmp_arr['friend_prize'] = $friend_prize;
|
||||
$list = array_merge($list, $tmp_arr);
|
||||
|
||||
|
||||
//$can_lose_num_arr = array_column($friend_prize,'can_lose_num');
|
||||
//$can_lose_num = array_sum($can_lose_num_arr);//总的可偷取数量
|
||||
//if($my_already_lose_num == $can_lose_num*$lose_rate){
|
||||
// //默认为0
|
||||
// $friend_prize['now_can_lose_num'] = 0;
|
||||
// $friend_prize['lose_rate'] = 0;
|
||||
// $tmp_arr = [];
|
||||
// $tmp_arr['friend_prize'] = $friend_prize;
|
||||
// $list = array_merge($list, $tmp_arr);
|
||||
//}else{
|
||||
// //过滤已偷过的记录
|
||||
// //$already_lose_record = Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
// // ->where('openid',api_user_openid())
|
||||
// // ->whereIn('user_offline_prizeid',array_column($friend_prize,'id'))
|
||||
// // ->select();
|
||||
// $friend_prize = Db::table(TabConf::$fa_user_offline_prize)
|
||||
// ->where('openid',$list['friend_openid'])
|
||||
// ->whereNotIn('id',array_column($already_lose_record,'id'))//剔除已偷过的记录
|
||||
// ->select();
|
||||
//
|
||||
// $can_lose_num_arr = array_column($friend_prize,'can_lose_num');
|
||||
// //总的可偷取数量
|
||||
// $can_lose_num = array_sum($can_lose_num_arr);
|
||||
// $already_lose_num_arr = array_column($friend_prize,'already_lose_num');
|
||||
// //已偷取的总数量
|
||||
// $already_lose_num = array_sum($already_lose_num_arr);
|
||||
//
|
||||
// $friend_prize['now_can_lose_num'] = floor(($can_lose_num-$already_lose_num)*$lose_rate);
|
||||
// $friend_prize['lose_rate'] = $lose_rate;
|
||||
//
|
||||
// $tmp_arr = [];
|
||||
// //查询好友的奖励
|
||||
// $tmp_arr['friend_prize'] = $friend_prize;
|
||||
// $list = array_merge($list, $tmp_arr);
|
||||
//}
|
||||
}
|
||||
return Tools::set_ok('ok',$friends);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:随机奖励
|
||||
*/
|
||||
private function random_prop($key=''){
|
||||
$count = Db::table(TabConf::$fa_gameprop)
|
||||
->count('id');
|
||||
$id = mt_rand(1,$count);
|
||||
|
||||
$p = Db::table(TabConf::$fa_gameprop)->where('id',$id)->find();
|
||||
if(empty($p)){
|
||||
$id = mt_rand(1,$count);
|
||||
$p = Db::table(TabConf::$fa_gameprop)->where('id',$id)->find();
|
||||
}
|
||||
if(empty($p)){
|
||||
throw new Exception('道具获取失败');
|
||||
}
|
||||
return $key?$p[$key]:$p;
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:(偷取)领取好友离线奖励(领取多少根据后台配置领取比例而定),偷取后发邮件给用户
|
||||
*
|
||||
* api/users/offlineprizegot
|
||||
* 参数:
|
||||
* friend_openid 好友
|
||||
*
|
||||
* author:wh
|
||||
*/
|
||||
function offlinePrizeGot(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
$friend_openid = input('friend_openid');
|
||||
if(empty($friend_openid)){
|
||||
return Tools::set_fail('friend_openid 必须');
|
||||
}
|
||||
//可偷取的奖励部分每次允许偷取比例配置
|
||||
$lose_rate = SundryConfig::val('offline_prize_can_lose_per_times_lose_rate');
|
||||
|
||||
$sql = "
|
||||
select a.* from fa_user_offline_prize a left join
|
||||
fa_user_offline_prize_got_record b
|
||||
on a.id = b.user_offline_prizeid
|
||||
where a.openid='{$friend_openid}' and b.user_offline_prizeid is null;
|
||||
";
|
||||
//查询好友的离线奖励
|
||||
$prize_lists = Db::query($sql);
|
||||
|
||||
$got_prize_arr = [];
|
||||
foreach ($prize_lists as $prize){
|
||||
$gameprop_id = $prize['gameprop_id'];
|
||||
//计算本次可领取奖励
|
||||
$num = floor($prize['can_lose_num'] * $lose_rate);
|
||||
if($num<=0){
|
||||
//偷取数量为0
|
||||
$got_prize_arr[]=[
|
||||
'num'=>0,
|
||||
'gameprop_id'=>0
|
||||
];
|
||||
continue;
|
||||
}
|
||||
//查询用户已有道具
|
||||
$usergameprop = Db::table(TabConf::$fa_usergameprop)
|
||||
->where('openid',api_user_openid())
|
||||
->where('gameprop_id',$gameprop_id)
|
||||
->find();
|
||||
//偷取时更新奖励
|
||||
if($usergameprop){
|
||||
//更新用户道具数量
|
||||
Db::table(TabConf::$fa_usergameprop)
|
||||
->where('openid',api_user_openid())
|
||||
->where('gameprop_id',$gameprop_id)
|
||||
->setInc('num',$num);
|
||||
}else{
|
||||
//查询道具
|
||||
$gameprop = Db::table(TabConf::$fa_gameprop)
|
||||
->where('id',$prize['gameprop_id'])
|
||||
->find();
|
||||
//新增用户道具
|
||||
Db::table(TabConf::$fa_usergameprop)
|
||||
->data([
|
||||
'gameproptype_id'=>$gameprop['gameproptype_id'],
|
||||
'name'=>$gameprop['name'],
|
||||
'image'=>$gameprop['image'],
|
||||
'openid'=>api_user_openid(),
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id
|
||||
])
|
||||
->insert();
|
||||
}
|
||||
|
||||
//偷取时,增加已偷取数量
|
||||
Db::table(TabConf::$fa_user_offline_prize)
|
||||
->where('id',$prize['id'])
|
||||
->setInc('already_lose_num',$num);
|
||||
|
||||
//写入(偷取)领取记录
|
||||
Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
->data([
|
||||
'openid'=>api_user_openid(),
|
||||
'friend_openid'=>$friend_openid,
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id,
|
||||
'user_offline_prizeid'=>$prize['id'],//记录id
|
||||
])
|
||||
->insert();
|
||||
$got_prize_arr[]=[
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id
|
||||
];
|
||||
|
||||
}
|
||||
//添加一封邮件(不是真实的邮件,可以理解为消息)
|
||||
Db::table(TabConf::$fa_user_email)
|
||||
->data([
|
||||
'addresser_openid'=>api_user_openid(),
|
||||
'addressee_openid'=>$friend_openid,//收件人
|
||||
'title'=>'好友偷取奖励',
|
||||
'content'=>'您的奖励已被好友偷取啦!',
|
||||
])
|
||||
->insert();
|
||||
return Tools::set_ok('ok',$got_prize_arr);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询自己的离线奖励
|
||||
*
|
||||
* 离线奖励:从用户下线时刻开始,每3个小时奖励一瓶随机等级的肥料,只取整数,不四舍五入。离线时长除以3取整数。
|
||||
* 比如:离线 0-2.9 个小时 不奖励
|
||||
离线 3-5.9 个小时 奖励 1瓶
|
||||
离线 6-8.9 个小时 奖励 2瓶
|
||||
*
|
||||
* api/users/getselfofflineprize
|
||||
*/
|
||||
function getSelfOfflinePrize(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$lists = Db::table(TabConf::$fa_user_offline_prize)
|
||||
->where('openid',api_user_openid())
|
||||
->order('id asc')//客户端要取最早的那个时间
|
||||
->select();
|
||||
if(empty($lists)){
|
||||
return Tools::set_res(220,'没有离线奖励');
|
||||
}
|
||||
//可偷取的奖励部分每次允许偷取比例配置
|
||||
$lose_rate = SundryConfig::val('offline_prize_can_lose_per_times_lose_rate');
|
||||
$lists_data = [];
|
||||
foreach ($lists as $list){
|
||||
if($list['self_got_num']==0){
|
||||
continue;//领取过的数据,不返回
|
||||
}
|
||||
$record = Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
->where('openid',api_user_openid())//当前登陆人
|
||||
->where('user_offline_prizeid',$list['id'])
|
||||
->find();
|
||||
if(empty($record)){//为空说明未偷取
|
||||
$lists_data[] = array_merge($list, ['now_can_lose_num'=>floor($list['can_lose_num']*$lose_rate),'lose_rate'=>$lose_rate]);
|
||||
}else{
|
||||
$lists_data[] = array_merge($list, ['now_can_lose_num'=>0]);
|
||||
}
|
||||
}
|
||||
return Tools::set_ok('ok',$lists_data);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* desc:领取自己的离线奖励(一次性领取所有离线奖励,不能分批次领取,没有部分领取一说)
|
||||
* api/users/receiveSelfOfflinePrize
|
||||
* 参数:
|
||||
* is_double 是否双倍奖励 1 一倍,2 二倍
|
||||
* author:wh
|
||||
*/
|
||||
function receiveSelfOfflinePrize(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
//查询我的离线奖励
|
||||
$prize_lists = Db::table(TabConf::$fa_user_offline_prize)
|
||||
->where('openid',api_user_openid())
|
||||
->lock(true)//锁住
|
||||
->select();
|
||||
|
||||
$got_prize_arr = [];
|
||||
//是否双倍奖励 1 一倍,2 二倍
|
||||
$is_double = input('is_double',1);
|
||||
foreach ($prize_lists as $item){
|
||||
//查询领取记录
|
||||
$offline_prize_got_record = Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
->where('openid',api_user_openid())
|
||||
->where('user_offline_prizeid',$item['id'])
|
||||
->find();
|
||||
if($offline_prize_got_record){
|
||||
continue;//领取过的数据,不能再次领取
|
||||
}
|
||||
//道具id
|
||||
$gameprop_id = $item['gameprop_id'];
|
||||
//自己保底所得数量+可被偷取的数量-已被偷取的数量
|
||||
$prize_all_num = $item['self_got_num'] + $item['can_lose_num'] - $item['already_lose_num'];
|
||||
//乘以倍数
|
||||
$num = $prize_all_num * $is_double;
|
||||
|
||||
//查询道具
|
||||
$gameprop = Db::table(TabConf::$fa_gameprop)
|
||||
->where('id',$gameprop_id)
|
||||
->find();
|
||||
if(empty($gameprop)){
|
||||
//道具不应该不存在
|
||||
continue;
|
||||
//return Tools::set_fail('道具不存在');
|
||||
}
|
||||
//写入领取记录
|
||||
Db::table(TabConf::$fa_user_offline_prize_got_record)
|
||||
->data([
|
||||
'openid'=>api_user_openid(),
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id,
|
||||
'is_double'=>$is_double,
|
||||
'user_offline_prizeid'=>$item['id'],
|
||||
])
|
||||
->insert();
|
||||
//查询用户已有道具
|
||||
$usergameprop = Db::table(TabConf::$fa_usergameprop)
|
||||
->where('openid',api_user_openid())
|
||||
->where('gameprop_id',$gameprop_id)
|
||||
->find();
|
||||
if($usergameprop){
|
||||
//更新道具数量
|
||||
Db::table(TabConf::$fa_usergameprop)
|
||||
->where('openid',api_user_openid())
|
||||
->where('gameprop_id',$gameprop_id)
|
||||
->setInc('num',$num);
|
||||
}else{
|
||||
//新增道具
|
||||
Db::table(TabConf::$fa_usergameprop)
|
||||
->data([
|
||||
'gameproptype_id'=>$gameprop['gameproptype_id'],
|
||||
'name'=>$gameprop['name'],
|
||||
'image'=>$gameprop['image'],
|
||||
'openid'=>api_user_openid(),
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id
|
||||
])
|
||||
->insert();
|
||||
}
|
||||
|
||||
Db::table(TabConf::$fa_user_offline_prize)
|
||||
->where('id',$item['id'])
|
||||
->data([
|
||||
'self_got_num'=>0,
|
||||
'can_lose_num'=>0,
|
||||
])
|
||||
->update();
|
||||
$got_prize_arr[]=[
|
||||
'num'=>$num,
|
||||
'gameprop_id'=>$gameprop_id
|
||||
];
|
||||
}
|
||||
//领取之后删除离线奖励表
|
||||
UserOfflinePrizeLogic::deletedPrize(api_user_openid());
|
||||
return Tools::set_ok('领取成功',$got_prize_arr);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:查询我的好友列表
|
||||
*
|
||||
* api/users/getMyFriends
|
||||
*
|
||||
* author:wh
|
||||
*/
|
||||
function getMyFriends(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$lists = Db::table(TabConf::$fa_gamefriend)
|
||||
->where('openid',api_user_openid())
|
||||
->select();
|
||||
return Tools::set_ok('ok',$lists);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* desc:添加好友
|
||||
*
|
||||
* api/users/addFriend
|
||||
* 参数:
|
||||
* friend_openid 好友openid
|
||||
* 注意:如果好友在线,会向好友发送申请消息
|
||||
* author:wh
|
||||
*/
|
||||
function addFriend(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$friend_openid = input('friend_openid');
|
||||
if(empty($friend_openid)){
|
||||
return Tools::set_fail('请输入好友openid');
|
||||
}
|
||||
$user_friend = Db::table(TabConf::$fa_users)
|
||||
->where('openid',$friend_openid)
|
||||
->find();
|
||||
if(empty($user_friend)){
|
||||
return Tools::set_fail('好友不存在');
|
||||
}
|
||||
$uf = Db::table(TabConf::$fa_gamefriend)
|
||||
->where('openid',api_user_openid())
|
||||
->where('friend_openid',$friend_openid)
|
||||
->find();
|
||||
if($uf){
|
||||
return Tools::set_fail('不能添加自己和自己的好友');
|
||||
}
|
||||
if($friend_openid == api_user_openid()){
|
||||
return Tools::set_fail('不能添加自己');
|
||||
}
|
||||
$data = [
|
||||
'openid'=>api_user_openid(),
|
||||
'headimage'=>api_user_info('headimage'),
|
||||
'nickname'=>api_user_info('nickname'),
|
||||
'friend_openid'=>$friend_openid,
|
||||
'friend_nickname'=>$user_friend['nickname']
|
||||
];
|
||||
//如果已经申请则不再申请
|
||||
$apply_record = Db::table(TabConf::$fa_friend_apply_record)
|
||||
->where('openid',api_user_openid())
|
||||
->where('friend_openid',$friend_openid)
|
||||
->find();
|
||||
if($apply_record){
|
||||
return Tools::set_fail('你已申请过该好友');
|
||||
}
|
||||
|
||||
Db::table(TabConf::$fa_friend_apply_record)
|
||||
->data($data)
|
||||
->insert();
|
||||
|
||||
//如果好友在线,则发送添加好友申请
|
||||
if($user_friend['clientid']){
|
||||
$json = BaseWssApi::json_wss('new-friend-apply', '有新的好友申请');
|
||||
Gateway::sendToClient($user_friend['clientid'], json_encode($json, JSON_UNESCAPED_UNICODE));
|
||||
}
|
||||
|
||||
return Tools::set_ok('申请已发送');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:查询我的好友申请列表
|
||||
*
|
||||
* api/users/getFriendApplyList
|
||||
* author:wh
|
||||
*/
|
||||
function getFriendApplyList(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$friend_apply_record = Db::table(TabConf::$fa_friend_apply_record)
|
||||
->where('friend_openid',api_user_openid())
|
||||
->select();
|
||||
return Tools::set_ok('ok',$friend_apply_record);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 同意好友申请
|
||||
* api/users/agreeFriendApply
|
||||
* 参数:
|
||||
* friend_openid 好友openid
|
||||
*/
|
||||
function agreeFriendApply(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
$friend_openid = input('friend_openid');
|
||||
if(empty($friend_openid)){
|
||||
return Tools::set_fail('请输入好友openid');
|
||||
}
|
||||
$user_friend = Db::table(TabConf::$fa_users)
|
||||
->where('openid',$friend_openid)
|
||||
->find();
|
||||
if(empty($user_friend)){
|
||||
return Tools::set_fail('好友不存在.');
|
||||
}
|
||||
//好友已存在
|
||||
$uf = Db::table(TabConf::$fa_gamefriend)
|
||||
->where('openid',api_user_openid())
|
||||
->where('friend_openid',$friend_openid)
|
||||
->find();
|
||||
if($uf){
|
||||
return Tools::set_fail('好友已存在');
|
||||
}
|
||||
//添加陌生人为好友
|
||||
Db::table(TabConf::$fa_gamefriend)
|
||||
->data([
|
||||
'openid'=>api_user_openid(),
|
||||
'nickname'=>api_user_info('nickname'),
|
||||
'friend_openid'=>$friend_openid,
|
||||
'friend_nickname'=>$user_friend['nickname'],
|
||||
'friend_image'=>$user_friend['headimage'],
|
||||
])
|
||||
->insert();
|
||||
//把自己添加为陌生人的好友
|
||||
Db::table(TabConf::$fa_gamefriend)
|
||||
->data([
|
||||
'openid'=>$friend_openid,
|
||||
'nickname'=>$user_friend['nickname'],
|
||||
'friend_openid'=>api_user_openid(),
|
||||
'friend_nickname'=>api_user_info('nickname'),
|
||||
'friend_image'=>api_user_info('headimage'),
|
||||
])
|
||||
->insert();
|
||||
|
||||
//删除好友申请记录
|
||||
Db::table(TabConf::$fa_friend_apply_record)
|
||||
->where('openid',$friend_openid)
|
||||
//->where('friend_openid',$friend_openid)
|
||||
->delete();
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 拒绝好友申请
|
||||
*
|
||||
* api/users/refuseFriendApply
|
||||
* 参数:
|
||||
* friend_openid 好友openid
|
||||
*/
|
||||
function refuseFriendApply(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
$friend_openid = input('friend_openid');
|
||||
if(empty($friend_openid)){
|
||||
return Tools::set_fail('请输入好友openid');
|
||||
}
|
||||
$users = Db::table(TabConf::$fa_users)
|
||||
->where('openid',$friend_openid)
|
||||
->find();
|
||||
if(empty($users)){
|
||||
return Tools::set_fail('用户不存在');
|
||||
}
|
||||
//删除好友申请记录
|
||||
Db::table(TabConf::$fa_friend_apply_record)
|
||||
->where('openid',$friend_openid)
|
||||
//->where('friend_openid',$friend_openid)
|
||||
->delete();
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:增加金币,直接存用户信息里
|
||||
* author:wh
|
||||
* 参数:
|
||||
* coins 金币数量
|
||||
*/
|
||||
function addCoins(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
$coins = input('coins');
|
||||
if(empty($coins)){
|
||||
return Tools::set_fail('请输入金币');
|
||||
}
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setInc('coins',$coins);
|
||||
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setInc('all_coins',$coins);//累计金币
|
||||
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
/**
|
||||
* desc:消耗金币
|
||||
* author:wh
|
||||
* 参数:
|
||||
* coins 金币数量
|
||||
*/
|
||||
function cutCoins(){
|
||||
return Mmodel::catchJson(function (){
|
||||
$coins = input('coins');
|
||||
if(empty($coins)){
|
||||
return Tools::set_fail('请输入金币');
|
||||
}
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setDec('coins',$coins);
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 消耗金币增加体力(消耗金币增加体力次数减一)
|
||||
* 参数:无
|
||||
* api/users/cutCoinsAddStrength
|
||||
*/
|
||||
function cutCoinsAddStrength(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
//消耗金币增加体力的金币数值配置
|
||||
$cut_n_coins_add_power = SundryConfig::val('cut_n_coins_add_power');
|
||||
$user = Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->lock(true)
|
||||
->find();
|
||||
if($user['coin_power_times'] <= 0){
|
||||
return Tools::set_fail('金币增加体力次数不足');
|
||||
}
|
||||
if($user['coins'] < $cut_n_coins_add_power){
|
||||
return Tools::set_fail('金币不足');
|
||||
}
|
||||
//消耗金币
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setDec('coins',$cut_n_coins_add_power);
|
||||
//增加体力
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setInc('power',1);
|
||||
|
||||
//减少金币增加体力次数
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->where('coin_power_times','>',0)
|
||||
->setDec('coin_power_times',1);
|
||||
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 看广告增加体力 (看广告增加体力次数减一)
|
||||
* 参数:无
|
||||
* api/users/lookAdAddPower
|
||||
*/
|
||||
function lookAdAddPower(){
|
||||
return Mmodel::catchTransJson(function (){
|
||||
$user = Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->lock(true)
|
||||
->find();
|
||||
if($user['ad_power_times'] <= 0){
|
||||
return Tools::set_fail('看广告增加体力次数不足');
|
||||
}
|
||||
//增加体力
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->setInc('power',1);
|
||||
|
||||
//
|
||||
Db::table(TabConf::$fa_users)
|
||||
->where('openid',api_user_openid())
|
||||
->where('ad_power_times','>',0)
|
||||
->setDec('ad_power_times',1);
|
||||
|
||||
return Tools::set_ok('ok');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user