php 糟糕,为什么说 php 容易写出一手糟糕的代码?

周梦康 发表于 2018-02-07

分类于

public static function getRewardDetail($id)

{

$res = RoundTableRewardStore::getRewardById($id);

if (!$res) {

return array();

}

if ($res['order_type'] == RoundTableRewardStore::TYPE_LOTTERY) {

// 如果是抽奖的订单,需要通过memo填充gift信息

$res['gift'] = json_decode($res['memo'], true);

} else {

$res['gift'] = GiftStore::get($res['gid']);

}

$res['op_user'] = UserStore::getUserBasicInfo($res['op_uid']);

$urlprefix = \Library\Util::getScheme() . \MCore_Tool_Conf::getDataConfigByEnv('mix', 'www_host');

if ($res['order_type'] == RoundTableRewardStore::TYPE_ROUNDTABLE) {

$question = QuestionStore::getQuestionsByIds(array($res['qid']))[0];

if ($question == null) {

$question["title"] = "已删除或不存在";

}

$question['url'] = $urlprefix.'/roundtable/'.$question['qid'];

$res['question'] = $question;

} else if ($res['order_type'] == RoundTableRewardStore::TYPE_MALL) {

$res['mallinfo'] = MallGiftStore::getGiftByGid($res['gid']);

}

$res['type'] = 'unknown';

$res['status_desc'] = '';

$res['send_type_desc'] = '未知';

// 实物礼品

if ($res['gift']['type_id'] == GiftStore::TYPE_PHYSICAL) {

$res['type'] = 'physical';

switch ($res['send_type']) {

case RoundTableRewardStore::SEND_TYPE_DELIVERY:

$res['send_type_desc'] = '快递';

break;

case RoundTableRewardStore::SEND_TYPE_DIY:

$res['send_type_desc'] = '自提';

break;

}

switch ($res['status']) {

case RoundTableRewardStore::STATUS_INIT:

$res['status_desc'] = '未发货';

break;

case RoundTableRewardStore::STATUS_SHIPPED:

$res['status_desc'] = '已发货';

break;

case RoundTableRewardStore::STATUS_REPLACED:

$res['status_desc'] = '已调整';

break;

case RoundTableRewardStore::STATUS_FOR_REPLACE:

$res['status_desc'] = '未发货';

break;

}

} else if ($res['gift']['type_id'] == GiftStore::TYPE_VIRTUAL_INTERNAL) {

// 内部虚拟

$res['type'] = 'virtual_internal';

$res['status_desc'] = '已发放';

$res['send_type_desc'] = '线上';

// 如果是抽奖订单,需要特殊处理

if ($res['order_type'] == RoundTableRewardStore::TYPE_LOTTERY) {

$res['gift_extra'] = array(

'card_number' => $res['gift']['card_number'],

);

} else {

$glstore = new \Models\Gift\GiftLeavingStore();

$glrecord = $glstore->getByRepoIdAndReceipt(

RoundTableRewardStore::orderTypeToRepoId($res['order_type']),

$res['id']);

if (!$glrecord) {

$res['gift_virtual'] = array();

}

$ivgstore = new \Models\Gift\InternalVirtualGiftStore();

$res['gift_extra']= $ivgstore->getByLeavingId($glrecord['id']);

}

} else if ($res['gift']['type_id'] == GiftStore::TYPE_VIRTUAL_EXTERNAL) {

// 外部虚拟

$res['type'] = 'virtual_external';

switch ($res['status']) {

case RoundTableRewardStore::STATUS_INIT:

$res['status_desc'] = '未发放';

break;

case RoundTableRewardStore::STATUS_SHIPPED:

$res['status_desc'] = '已发放';

break;

}

$res['send_type_desc'] = '线上';

}

return $res;

}

本博客是否对你有帮助呢?赞赏的人最可爱

f357e8613de1cb2e5b5efd35fa914ff1.png

如果觉得这篇文章不错的话,可以分享到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值