123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- namespace app\common\model;
- use think\facade\Db;
- /**
-
- *
-
- *
- * ----------------------------------------------------------------------------
- *
-
- * 数据层模型
- */
- class Bonus extends BaseModel
- {
- public $page_info;
- /**
- * 吸粉红包列表
- * @author csdeshang
- * @param array $condition 检索条件
- * @param array $pagesize 分页信息
- * @return array 数组类型的返回结果
- */
- public function getBonusList($condition, $pagesize, $limit = 0, $order = 'bonus_id desc')
- {
- if ($pagesize) {
- $result = Db::name('bonus')->where($condition)->order($order)->paginate(['list_rows' => $pagesize, 'query' => request()->param()], false);
- $this->page_info = $result;
- return $result->items();
- } else {
- $result = Db::name('bonus')->where($condition)->order($order)->limit($limit)->select()->toArray();
- return $result;
- }
- }
- /**
- * 取单个吸粉红包的内容
- * @author csdeshang
- * @param array $condition 检索条件
- * @return array 数组类型的返回结果
- */
- public function getOneBonus($condition)
- {
- return Db::name('bonus')->where($condition)->find();
- }
- /**
- * 新增
- * @author csdeshang
- * @param array $data 参数内容
- * @return bool 布尔类型的返回结果
- */
- public function addBonus($data)
- {
- if (empty($data)) {
- return false;
- }
- return Db::name('bonus')->insertGetId($data);
- }
- /**
- * 更新信息
- * @author csdeshang
- * @param array $condition 条件
- * @param array $data 更新数据
- * @return bool 布尔类型的返回结果
- */
- public function editBonus($condition, $data)
- {
- if (empty($data)) {
- return false;
- }
- return Db::name('bonus')->where($condition)->update($data);
- }
- /**
- * 删除
- * @author csdeshang
- * @param array $condition 检索条件
- * @return array $rs_row 返回数组形式的查询结果
- */
- public function delBonus($condition)
- {
- return Db::name('bonus')->where($condition)->delete();
- }
- // 获取红包类型
- public function bonus_type_list()
- {
- return array(
- '1' => '活动红包',
- '2' => '注册红包',
- '3' => '奖品红包'
- );
- }
- // 获取红包状态
- public function bonus_state_list()
- {
- return array(
- '1' => '正在进行',
- '2' => '已过期',
- '3' => '已失效'
- );
- }
- /**
- * 吸粉红包领取列表
- * @author csdeshang
- * @param array $condition 检索条件
- * @param array $pagesize 分页信息
- * @return array 数组类型的返回结果
- */
- public function getBonusreceiveList($condition, $pagesize, $limit = 0)
- {
- if ($pagesize) {
- $result = Db::name('bonusreceive')->where($condition)->paginate(['list_rows' => $pagesize, 'query' => request()->param()], false);
- $this->page_info = $result;
- return $result->items();
- } else {
- $result = Db::name('bonusreceive')->where($condition)->limit($limit)->select()->toArray();
- return $result;
- }
- }
- /**
- * 取吸粉红包的领取详情
- * @author csdeshang
- * @param array $condition 检索条件
- * @return array 数组类型的返回结果
- */
- public function getOneBonusreceive($condition)
- {
- return Db::name('bonusreceive')->where($condition)->find();
- }
- /**
- * 更新信息
- * @author csdeshang
- * @param array $bonusreceive_id 条件
- * @param array $data 更新数据
- * @return bool 布尔类型的返回结果
- */
- public function editBonusreceive($bonusreceive_id, $data)
- {
- if (empty($data)) {
- return false;
- }
- return Db::name('bonusreceive')->where('bonusreceive_id', $bonusreceive_id)->update($data);
- }
- /**
- * 领取红包
- * @author csdeshang
- * @param array $member_info 用户信息
- * @param array $bonus 红包信息
- * @param array $bonusreceive 红包领取信息
- * @param string $lg_desc 描述信息
- * @return bool 布尔类型的返回结果
- */
- public function receiveBonus($member_info, $bonus, $bonusreceive, $lg_desc)
- {
- $data_bonusreceive = array(
- 'member_id' => $member_info['member_id'],
- 'member_name' => $member_info['member_name'],
- 'bonusreceive_time' => TIMESTAMP,
- 'bonusreceive_transformed' => 1, //是否转入预存款
- );
- $flag = $this->editBonusreceive($bonusreceive['bonusreceive_id'], $data_bonusreceive);
- if (!$flag) {
- return ds_callback(false, '红包领取信息更新失败');
- }
- //更新活动红包统计
- $data_bonus = array(
- 'bonus_receivecount' => $bonus['bonus_receivecount'] + 1,
- 'bonus_receiveprice' => $bonus['bonus_receiveprice'] + $bonusreceive['bonusreceive_price'],
- );
- $flag = $this->editBonus(array('bonus_id' => $bonus['bonus_id']), $data_bonus);
- if (!$flag) {
- return ds_callback(false, '红包信息更新失败');
- }
- //把红包加入预存款
- $data = array();
- $data['member_id'] = $member_info['member_id'];
- $data['member_name'] = $member_info['member_name'];
- $data['amount'] = $bonusreceive['bonusreceive_price'];
- $data['order_sn'] = $bonusreceive['bonusreceive_id'];
- $data['rcblog_description'] = $lg_desc;
- model('predeposit')->changeRcb('bonus', $data);
- return ds_callback(true);
- }
- }
|