swoole 增加 展示 修改

<?php
/**
 * 奖品领取记录相关模块
 * Created by PhpStorm.
 * User: chen
 * Date: 2017/7/11
 * Time: 下午1:42
 */

namespace Module;

use Common\BaseModule;
use Common\Response;

class LotteryReceive extends BaseModule
{
    /**
     * 添加奖品领取记录
     *@param   int      $lid      '抽奖记录ID',
     *@param   varchar  $name  '收件人姓名',
     *@param   varchar  $address '收件人详细地址',
     *@param   int      $pid    '省份ID',
     *@param   int      $cid      '城市ID',
     *@param   int      $did     '县ID',
     */
    public function addReceive($lid, $name, $address, $pid, $cid, $did) {

        $lotteryModel = \Model\LotteryReceive::instance();
        $db = $lotteryModel->getDataBase(false);
        // 开启事物
        $db->beginTransaction();
        try {
            // 添加领奖记录
            $lotteryId = $lotteryModel->addReceive($lid, $name, $address, $pid, $cid, $did);

            $db->commit();
            return  Response::instance()->setData([]);
        } catch (\Exception $e) {
            $db->rollBack();
            return Response::instance()->setError(100000002);
        }
    }
    /*展示领奖记录
     * 活动列表
     * @param int $offset 偏移量
     * @param int $pageSize 分页大小
     * @param string $order 排序字符串(例如:id desc, time asc)
     * @return 有数据返回 array('count'=>1, 'list'=>[...])
    */
    public function listReceive($offset, $pageSize, $order) {
        $model = \Model\LotteryReceive::instance();
        $fields = 'id, log_id, name, address, province_id, city_id, distinct_id';
        $whereArr = [];
        $orderArr = explode(',', $order);

        try {
            // 计算数据条数
            $count = $model->getReceiveCount($whereArr);
            if (!$count) {
                return Response::instance()->setData([]);
            }
            // 获取数据数组
            $list = $model->getListReceive($fields, $offset, $pageSize, $whereArr, $orderArr);
            return  Response::instance()->setData(['count'=>$count, 'list'=>$list]);
        } catch (\Exception $e) {
            echo $e;die;
            return Response::instance()->setError(100000002);
        }
    }


    /**
     * 获取领奖记录详情
     * @param int $id 活动ID
     * @return 活动详情数组
     */
    public function detailReceive($log_id) {
        $model = \Model\LotteryReceive::instance();
        $fields = 'id, log_id, name, address, province_id, city_id, distinct_id';
        $whereArr[] = 'log_id='.$log_id;
        try {
            $list = $model->getListReceive($fields, 0, 1, $whereArr, null);
            if (!empty($list)) {
                $list = array_shift($list);
            }
            return Response::instance()->setData($list);
        } catch (\Exception $e) {
            return Response::instance()->setError(100000002);
        }
    }
    /**
     * 修改领奖记录
     *@param int $id 记录id ID
     *@param   varchar  $name  '收件人姓名',
     *@param   varchar  $address '收件人详细地址',
     *@param   int      $pid    '省份ID',
     *@param   int      $cid      '城市ID',
     *@param   int      $did     '县ID',
     * @return 成功返回 code=0 失败 code != 0
     */
    public function updateReceive($lid, $name, $address, $pid, $cid, $did) {
        $model = \Model\LotteryReceive::instance();
        try {
            $count = $model->updateReceive($lid, $name, $address, $pid, $cid, $did);
            return Response::instance()->setData(['rowCount' => $count]);
        } catch (\Exception $e) {
            return Response::instance()->setError(100000002);
        }
    }
}

<?php/** * 奖品领取记录操作 * @author * @date 2017年6月27日 * @time 下午3:10:24 */namespace Model;use Common\BaseModel;class LotteryReceive extends BaseModel { /* * 添加奖品领取记录 *@param int $lid '抽奖记录ID', *@param varchar $name '收件人姓名', *@param varchar $address '收件人详细地址', *@param int $pid '省份ID', *@param int $cid '城市ID', *@param int $did '县ID', */ public function addReceive($lid, $name, $address, $pid, $cid, $did) { $db = $this->getDataBase(false); $sql = 'INSERT INTO lottery_receive (name, log_id, address, province_id, city_id, distinct_id) VALUE (:name, :log_id, :address, :province_id, :city_id, :distinct_id)'; $query = array( ':name' => $name, ':log_id' => $lid, ':address' => $address, ':province_id' => $pid, ':city_id' => $cid, ':distinct_id' => $did, ); $rowCount = $db->createSql($sql)->query($query)->rowCount(); return $rowCount ? $db->lastInsertId() : 0; } /* * 奖品领取记录展示*/ /** * 获取查询列表 * @param string $fields 需要显示的字段 * @param int $offset 数据起始偏移量 * @param int $pageSize 分页大小 * @param array $whereArr 条件数组 * @param array $orderArr 排序数组 * @return array 返回所有数据的数组 array('count'=>11, 'list'=>[...]) */ public function getListReceive($fields, $offset, $pageSize, $whereArr, $orderArr) { $db = $this->getDataBase(); $orderStr = $whereStr = $limitStr = ''; if ($whereArr) { $whereStr = ' where '.implode(' and ', $whereArr); } if ($orderArr) { $orderStr = ' order by '.implode(',', $orderArr); } if ($pageSize) { $limitStr = " limit {$offset},{$pageSize}"; } $sql = "select {$fields} from lottery_receive {$whereStr} {$orderStr} {$limitStr}"; $stmt = $db->createSql($sql)->query(); $data = array(); while ($tmp = $stmt->fetch()){ $data[] = $tmp; } return $data; } /** * 获取指定条件的数据条数 * @param array $whereArr 条件数组 array('key'=>'value') * @return 返回符合条件的数据条数 */ public function getReceiveCount($whereArr) { $db = $this->getDataBase(); $orderStr = $whereStr = $limitStr = ''; if ($whereArr) { $whereStr = ' where '.implode(' and ', $whereArr); } $sql = "select count(id) as num from lottery_receive {$whereStr} "; $count = $db->createSql($sql)->query()->fetch(); return $count['num']; } /** *修改领奖记录 *@param int $id 记录id ID *@param varchar $name '收件人姓名', *@param varchar $address '收件人详细地址', *@param int $pid '省份ID', *@param int $cid '城市ID', *@param int $did '县ID', * @return 成功返回 code=0 失败 code != 0 */ public function updateReceive($lid, $name, $address, $pid, $cid, $did) { $db = $this->getDataBase(false); $sql = 'update lottery_receive set name= :name, address=:address ,province_id=:province_id, city_id=:city_id, distinct_id=:distinct_id where log_id=:id'; $query = array ( ':id' => $lid, ':name' => $name, ':address' => $address, ':province_id' => $pid, ':city_id' => $cid, ':distinct_id' => $did, ); return $db->createSql($sql) ->query($query) ->rowCount(); }}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值