コード例 #1
0
 /**
  * 用户前台生成邀请码
  * @param array $data
  * @param int $num
  * @return mixed
  * @author 郑钟良<*****@*****.**>
  */
 public function createCodeUser($data = array(), $num = 1)
 {
     $map['status'] = 1;
     $map['id'] = $data['invite_type'];
     $invite_type = D('Ucenter/InviteType')->getSimpleList($map, 'length,time');
     $data['end_time'] = unitTime_to_time($invite_type[0]['time'], '+');
     $data['uid'] = is_login();
     //用户前台生成,以正数uid标记
     $dataList = array();
     do {
         $dataList[] = $this->createOneCode($data, $invite_type[0]['length']);
     } while (count($dataList) < $num);
     $res = $this->addAll($dataList);
     if ($res) {
         $result['status'] = 1;
         $result['url'] = U('Ucenter/Invite/invite');
     } else {
         $result['status'] = 0;
         $result['info'] = "生成邀请码时失败!" . $this->getError();
     }
     return $result;
 }
コード例 #2
0
 /**
  * 获取可兑换最大值
  * @param int $inviteType
  * @return int
  * @author 郑钟良<*****@*****.**>
  */
 private function _getCanBuyNum($inviteType = 0)
 {
     $inviteType = $this->mInviteTypeModel->where(array('id' => $inviteType))->find();
     $this->assign('long', unitTime_to_showUnitTime($inviteType['cycle_time']));
     $this->assign('num_buy', $inviteType['cycle_num']);
     //以周期算,获取最多购买
     $map['uid'] = is_login();
     $map['invite_type'] = $inviteType['id'];
     $map['create_time'] = array('gt', unitTime_to_time($inviteType['cycle_time'], '-'));
     $buyList = $this->mInviteBuyLogModel->where($map)->select();
     $can_buy_num = 0;
     foreach ($buyList as $val) {
         $can_buy_num += $val['num'];
     }
     $can_buy_num = $inviteType['cycle_num'] - $can_buy_num;
     //以周期算,获取最多购买 end
     $max_num_score = query_user('score' . $inviteType['pay_score_type']);
     if ($inviteType['pay_score'] != 0) {
         $max_num_score = intval($max_num_score / $inviteType['pay_score']);
         //以积分算,获取最多购买
         $can_buy_num = $max_num_score > $can_buy_num ? $can_buy_num : $max_num_score;
     }
     if ($can_buy_num < 0) {
         $can_buy_num = 0;
     }
     return $can_buy_num;
 }