| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 | <?php/** * Gamemoney.php UTF-8 * * * @date    : 2018/6/5 15:40 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author  : luowei <lw@huosdk.com> * @version : HUOSDK 8.0 */namespace huo\controller\wallet;use huo\controller\common\Base;use huo\controller\common\CommonFunc;use huo\controller\member\MemCache;use huo\controller\member\MemWallet;use huo\logic\finance\GmChargeLogic;use huo\logic\finance\GmOrderLogic;use huo\model\finance\GmChargeModel;use huolib\constant\WalletConst;use huolib\status\CommonStatus;use huolib\status\MemberStatus;use huolib\status\OrderStatus;use huolib\status\SettleStatus;use huolib\tool\StrUtils;class Gamemoney extends Base {    protected function retSucMsg($code, $data = []) {        $_msg = OrderStatus::getMsg($code);        return $this->huoSuccess($code, $_msg, $data);    }    protected function retErrMsg($code) {        $_err_msg = OrderStatus::getMsg($code);        return $this->huoError($code, $_err_msg);    }    /**     * 获取游戏币充值记录     * @param        $mem_id     * @param        $app_id     * @param array  $param     * @param string $page     * @param string $order     *     * @return array     */    public function getMemChargeList($mem_id, $app_id, $param = [], $page = '1,10', $order = '-create_time') {        $_data = (new GmChargeLogic())->getMemList($mem_id, $app_id, $param, $page, $order);        return $this->retSucMsg(CommonStatus::NO_ERROR, $_data);    }    /**     * 获取游戏币消费记录     * @param        $mem_id     * @param        $app_id     * @param array  $param     * @param string $page     * @param string $order     *     * @return array     */    public function getMemConsumeList($mem_id, $app_id, $param = [], $page = '1,10', $order = '-create_time') {        $_data = (new GmOrderLogic())->getMemList($mem_id, $app_id, $param, $page, $order);        return $this->retSucMsg(CommonStatus::NO_ERROR, $_data);    }    /**     * 充值游戏币 预下单     *     * @param $mem_id     * @param $app_id     * @param $amount     *     * @param $type     * @param $payway     *     * @return array|bool|string     */    public function preorder($mem_id, $app_id, $amount, $type, $payway) {        if (empty($mem_id)) {            $_code = MemberStatus::LOGIN_IS_OUT;            return $this->huoError($_code, MemberStatus::getMsg($_code));        }        if (empty($amount) || $amount < 1) {            $_code = OrderStatus::ORDER_AMOUNT_MINIMUM_IS_1;            return $this->huoError($_code, OrderStatus::getMsg($_code));        }        $_mc_class = MemCache::ins();        $_mem_data = $_mc_class->getInfoById($mem_id);        $_gmc_class = GmCache::ins();        $_gmc_data = $_gmc_class->getInfoByMemGame($mem_id, $app_id);        if (empty($_mem_data) || empty($_gmc_data)) {            $_code = MemberStatus::UID_INVALID;            return $this->huoError($_code, MemberStatus::getMsg($_code));        }        $_wr_class = new WalletRequest();        $_order_id = StrUtils::genOrderId($_mem_data['agent_id'], $_mem_data['agent_id'], $mem_id, WalletConst::WALLET_ORDER_PREFIX_GC);        $_wr_class->setOrderId($_order_id);        $_wr_class->setRealAmount($amount);        $_wr_class->setType($type);        $_wr_class->setPayway($payway);        $_wr_class->setMemId($mem_id);        $_wr_class->setAppId($app_id);        // TODO: wuyonghong 2018/4/27  折扣处理        $_wr_class->setAmount($amount);        $_gm_cnt = floor($amount * CommonFunc::getGmRmbRate());        $_wr_class->setGmCnt($_gm_cnt);        $_rs = (new MemWallet())->createGmcOrder($_wr_class);        if (SettleStatus::NO_ERROR != $_rs) {            return $this->huoError($_rs, SettleStatus::getMsg($_rs));        }        $_rdata['order_id'] = $_order_id;        return $this->retSucMsg(OrderStatus::NO_ERROR, $_rdata);    }    /**     * @param $order_id     *     * @return bool     */    public function getStatus($order_id = '') {        if (empty($order_id)) {            return false;        }        $_model = new GmChargeModel();        $_rs = $_model->getStatus($order_id);        if (false == $_rs) {            return false;        }        return $_rs;    }    /**     * @param string $app_id     *     * @return array     */    public function getPayWays($app_id) {        // TODO: wuyonghong 2018/4/28 从数据库读取        if (empty($app_id)) {            /* 获取支付方式 */            $_rdata[0]['payway'] = 'alipay';            $_rdata[0]['name'] = '支付宝';            $_rdata[0]['icon'] = '';            $_rdata[0]['url'] = STATICSITE.'/h5sdk/images/arwec.png';            $_rdata[1]['payway'] = 'wxpay';            $_rdata[1]['name'] = '微信';            $_rdata[1]['icon'] = STATICSITE.'/h5sdk/images/wergcder.png';            $_rdata[1]['url'] = '支付宝';        }        /* 获取支付方式 */        $_rdata[0]['payway'] = 'alipay';        $_rdata[0]['name'] = '支付宝';        $_rdata[0]['icon'] = STATICSITE.'/h5sdk/images/arwec.png';        $_rdata[0]['url'] = '支付宝';        $_rdata[1]['payway'] = 'wxpay';        $_rdata[1]['name'] = '微信';        $_rdata[1]['icon'] = STATICSITE.'/h5sdk/images/wergcder.png';        $_rdata[1]['url'] = '微信';        return $_rdata;    }    /**     * 查询微信订单     *     * @param $order_id     */    public function queryWxOrder($order_id) {        // TODO: wuyonghong 2018/5/7 查询订单完成情况    }}
 |