edusoho兑换码功能二次开发
功能描述:兑换码,是由一串数字或字母的组合,用户可使用兑换码去兑换网校课程。网校可通过其它流量平台售卖兑换码、印制线下礼品卡等方式,将兑换码发送给用户;
场景示例:某网校想要拓宽自己的销售渠道,使用兑换码功能,将课程加入到兑换码中,放在淘宝天猫店铺内售卖,用户获得兑换码即可兑换网校课程,网校借助淘宝天猫平台的流量为网校引流,提高销量;
技术支持二次开发QQ: 735660248
<?phpnamespace CouponPlugin\Controller;use AppBundle\Common\ArrayToolkit;
use AppBundle\Common\Paginator;
use AppBundle\Controller\BaseController;
use Biz\Coupon\Service\CouponService;
use Codeages\Biz\Order\Service\OrderService;
use CouponPlugin\Biz\Coupon\Service\CouponBatchService;
use Symfony\Component\HttpFoundation\Request;class CouponBatchController extends BaseController
{public function appendAction(Request $request, $batchId){$batch = $this->getCouponBatchService()->getBatch($batchId);if ($request->isMethod('POST')) {$data = $request->request->all();$data['batch'] = $batch;$appendBatch = $this->getCouponBatchService()->appendCoupon($batch['id'], $data);$data = array('url' => $this->generateUrl('admin_coupon_batch_create', array('batchId' => $batch['id'])),'num' => $appendBatch['generatedNum'] - $batch['generatedNum'],);return $this->createJsonResponse($data);}return $this->render('CouponPlugin::batch-append-coupon-modal.html.twig', array('batch' => $batch,));}public function checkNumAction(Request $request, $batchId){$appendNum = $request->query->get('value');$batch = $this->getCouponBatchService()->getBatch($batchId);$remain = CouponBatchService::BATCH_COUPON_MAX_NUM - $batch['generatedNum'];if ($appendNum > $remain) {$response = array('success' => false, 'message' => '当前批次优惠券数量已达到最大值,请重新创建优惠券批次');} else {$response = array('success' => true, 'message' => '');}return $this->createJsonResponse($response);}public function detailAction(Request $request, $batchId){$count = $this->getCouponService()->searchCouponsCount(array('batchId' => $batchId));$batch = $this->getCouponBatchService()->getBatch($batchId);$paginator = new Paginator($this->get('request'), $count, 20);$coupons = $this->getCouponService()->searchCoupons(array('batchId' => $batchId),array('orderTime' => 'DESC', 'id' => 'ASC'),$paginator->getOffsetCount(),$paginator->getPerPageCount());$users = $this->getUserService()->findUsersByIds(ArrayToolkit::column($coupons, 'userId'));$orders = $this->getOrderService()->findOrdersByIds(ArrayToolkit::column($coupons, 'orderId'));return $this->render('CouponPlugin:coupon:coupon-modal.html.twig', array('coupons' => $coupons,'batch' => $batch,'paginator' => $paginator,'users' => $users,'orders' => ArrayToolkit::index($orders, 'id'),));}public function logAction(Request $request, $batchId){$count = $this->getCouponBatchService()->countBatchLog(array('batchId' => $batchId));$paginator = new Paginator($this->get('request'), $count, 20);$batchLogs = $this->getCouponBatchService()->searchBatchLog(array('batchId' => $batchId),array('createdTime' => 'DESC'),$paginator->getOffsetCount(),$paginator->getPerPageCount());$users = $this->getUserService()->findUsersByIds(ArrayToolkit::column($batchLogs, 'userId'));return $this->render('CouponPlugin:coupon:coupon-log-tab.html.twig', array('batchLogs' => $batchLogs,'paginator' => $paginator,'users' => $users,));}/*** @return CouponService*/private function getCouponService(){return $this->createService('Coupon:CouponService');}/*** @return CouponBatchService*/protected function getCouponBatchService(){return $this->createService('CouponPlugin:Coupon:CouponBatchService');}/*** @return OrderService*/private function getOrderService(){return $this->createService('Order:OrderService');}
}
edusoho兑换码功能二次开发相关推荐
- 全面剖析支付宝服务窗功能二次开发
支付宝服务窗功能二次开发是类似于微信公众号功能二次开发一样的平台,但是支付宝跟微信之间只有区别的,微信可提供给客户发布些个人相关的信息.言论.文章等,也可以提供给单位使用:而且都支持二次开发的.而支付 ...
- EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码
随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...
- 自主开发悟空crm增加 公文管理功能 二次开发代码披露
1.招聘需求 2.审核刚刚创建的招聘需求内容 3.编辑内容 4.简历管理 5.面试记录时间轴 6.offer管理 <?php namespace app\hrm\model; use app\a ...
- 微信公众号二次开发可以做哪些功能?
微信公众平台现在很多商家企业都在使用,但如何通过微信公众平台展现自己企业的特色和优势,给客户提供更多便利功能,进而通过微信公众平台为企业带来更多的益处呢? 这是众多使用微信公众平台的商家企业需要深入思 ...
- 微信公众号二次开发实现自动回复文字,图片,图文功能
微信公众号二次开发实现自动回复文字,图片,图文功能 自动回复文字或图片: 表单里需要有关键字和内容.但就这两个字段也需要在两个数据表里分别显示,因为要提前准备字段内容里有可能是图片,图文等等类型.所以 ...
- AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)...
/** 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用.** -------------------------------------------------- ...
- pdps修改服务器,Tecnomatix PDPS二次开发功能介绍
PDPS是Process Designer & Process Simulate的简称,属于西门子Tecnomatix下的产品.PDPS是一套软件系统,其中包含两个不同功能的产品,即PD(Pr ...
- 逐浪CMS2 x3.8新功能:定时执行C#代码让二次开发虎虎添翼
关于本功能的简介: <隐藏简介 详细说明 众所周知,由于Zoomla!逐浪CMS2 x3.8是基于MVC架构,不仅性能卓越,同时也带来了很多全新的开发机制. 本文介绍最新功能之一:定时执行C#代 ...
- 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能
海康摄像头二次开发详解 准备 海康摄像头SDK开发下载路径: 开发过程中遇到的问题记录: 添加maven依赖 下面代码中会出现的实体类 CameraManage实体类: ControlDto实体类: ...
最新文章
- WPE修改完之后服务器里数据没变,【Wpe技术吧】wpe开启封包ID一直在变化,如何解决...
- ubuntu下zip文件操作
- 如何评价模型的好坏(一)
- 《DB 查询分析器》中断SQL语句的执行
- 在服务器使用mysql_Linux服务器---使用mysql
- Django第二天笔记
- java数据结构期末复习_java数据结构复习02
- 基于Spring Cloud及K8S构建微服务应用
- 全能直播王pc版_企鹅游戏直播助手v2.28.330.8-企鹅游戏直播助手PC版下载
- Sharepoint创建List
- 瑞友天翼建文件服务器,瑞友天翼简明使用手册
- c语言程序设计第五版第四章例题
- [附源码]java+ssm计算机毕业设计磐基建筑机械租赁有限公司机械租赁系统41c32(源码+程序+数据库+部署)
- deepin允许root登录_deepin官网发布深度操作系统15.10
- 人工智能改变人力资源的11种方式
- 变频技术在起重机上的应用
- 如何用PS制作一个小泡泡呢?
- 下图是微型计算机cpu的结构图它由控制器,下图是微型计算机CPU的结构图,它由控制器、( )、寄存器等构成。...
- html文件剖析 - mdn学习
- 电子类专业的毕业后就业方向