WeMall微信商城源码插件代金券部分代码
WeMall微信商城源码插件Coupon代金券代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考
AdminController.class.php
<?php
namespace Addons\Coupon\Controller;
class AdminController extends InitController
{
public function index()
{
$num = 25;
$p = I("get.page") ? I("get.page") : 1;
$couponModel = D(’Addons://Coupon/AddonCouponMenu’);
$coupon = $couponModel->getPageConditionOrder($p, $num, "id desc");
$this->assign("couponList", $coupon);// 赋值数据集
$count = $couponModel->getCount();// 查询满足要求的总记录数
$Page = new \Think\Page($count, $num);// 实例化分页类 传入总记录数和每页显示的记录数
$Page->setConfig(’theme’, "<ul class=’pagination no-margin pull-right’></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a> %HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页</a></ul>");
$show = $Page->show();// 分页显示输出
$this->assign(’page’, $show);// 赋值分页输出
$this->display(); // 输出模板
}
public function add()
{
if (IS_POST) {
if (!I("post.name")) {
return;
}
$data = I("post.");
$data[’last_time’] = I(’post.last_time’, ’’, ’strtotime’);
$coupon_id = D(’Addons://Coupon/AddonCouponMenu’)->addCouponMenu($data);
isset($coupon_id) ? $this->success(’添加成功’, ’Admin/Admin/index/addon/Coupon’) : $this->error(’添加失败’, u_addons("Coupon://Admin/Admin/index"));
} else {
$this->display(); // 输出模板
}
}
public function detail()
{
$cdata[’coupon_menu_id’] = I(’get.id’);
$m = M(’AddonCoupon’);
$count = $m->where($cdata)->count(); // 查询满足要求的总记录数
$Page = new \Think\Page ($count, 15); // 实例化分页类 传入总记录数和每页显示的记录数
$Page->setConfig(’theme’, "<ul class=’pagination no-margin pull-right’></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a> %HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页</a></ul>");
$show = $Page->show(); // 分页显示输出
$detail = $m->where($cdata)->limit($Page->firstRow . ’,’ . $Page->listRows)->select();
$this->assign("page", $show); // 赋值分页输出
$this->assign(’coupon’, $detail);
$this->display();
}
public function export()
{
}
public function del()
{
$cdata[’coupon_menu_id’] = $data[’id’] = I(’get.id’);
$c = M(’AddonCouponMenu’)->where($data)->delete();
$m = M(’AddonCoupon’)->where($cdata)->delete();
if ($c != false && $m != false) {
$this->success(’删除成功’, ’Admin/Admin/index/addon/Coupon’);
} else {
$this->error(’操作失败’, ’Admin/Admin/index/addon/Coupon’);
}
}
public function detail_del()
{
$cdata[’id’] = I(’get.id’);
$m = M(’AddonCoupon’)->where($cdata)->delete();
if ($m != false) {
$this->success(’删除成功’, ’Admin/Admin/index/addon/Coupon’);
} else {
$this->error(’操作失败’, ’Admin/Admin/index/addon/Coupon’);
}
}
}
AddonCouponMenuModel.class.php
<?php
namespace Addons\Coupon\Model;
use Think\Model\RelationModel;
class AddonCouponMenuModel extends RelationModel
{
protected $_link = array();
public function getCount()
{
$count = $this->count();
return $count;
}
public function getPageConditionOrder($p = 1, $num = 1, $order)
{
// 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
$orderList = $this->page($p . ’,’ . $num . ’’)->order($order)->select();
return $orderList;
}
public function addCouponMenu($data)
{
$data[’ctime’] = time();
$number = $data[’num’] = intval($data[’num’]);
$data[’coupon_menu_id’] = $this->add($data);
for ($i = 0; $i < $number; $i++) {
$data[’code’] = rand_code(6);
$code = M(’AddonCoupon’)->where(array(’code’ => $data[’code’]))->find();
if (!isset($code)) {
$coupon_id = M(’AddonCoupon’)->add($data);
} else {
$number = $number + 1;
}
}
return $coupon_id;
}
}
Admin_detail.html
<section class="content-header">
<h1>
优惠券管理
<small></small>
</h1>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- /.col -->
<div class="col-md-12">
<div class="box box-danger">
<div class="box-header with-border">
<h3 class="box-title">优惠券管理</h3>
<!-- /.box-tools -->
</div>
<!-- /.box-header -->
<div class="box-body no-padding">
<div class="mailbox-controls">
<div class="btn-group">
<a href="{:u_addons(\’Coupon://Admin/Admin/index\’)}" class="btn btn-danger ">
返回优惠券列表页
</a>
</div>
<!-- /.btn-group -->
</div>
<div class="table-responsive" style="overflow-x: visible;">
<table class="table table-bordered table-hover">
<tbody>
<tr>
<!--<th class="hidden-xs">-->
<!--<label><input onchange="checkAll()" type="checkbox" value=""></label>-->
<!--</th>-->
<th>ID</th>
<th>优惠码</th>
<th>金额</th>
<th>状态</th>
<th>截止时间</th>
<th>操作</th>
</tr>
<volist name="coupon" id="coupon">
<tr>
<!--<td class="hidden-xs">-->
<!--<label><input name="checkbox" class="check" type="checkbox"-->
<!--value="{$coupon.id}"></label>-->
<!--</td>-->
<td>
{$coupon.id}
</td>
<td>
{$coupon.code}
</td>
<td>
{$coupon.price}
</td>
<td>
{$coupon.status}
</td>
<td>
{:date(’Y-m-d H:i:s’,$coupon[’last_time’])}
</td>
<td class="table-action"><a
href="{:u_addons(\’Coupon://Admin/Admin/detail_del\’,array(’id’=>$coupon[’id’]))}">删除</a></td>
</tr>
</volist>
</tbody>
</table>
<div class="box-footer no-padding">
<div class="mailbox-controls">
<!--<div class="btn-group">-->
<!--<button type="button" class="btn btn-danger"-->
<!--onclick="batchUrl(’{:U(\’Admin/coupon/delcoupon\’)}’)">全部删除-->
<!--</button>-->
<!--</div>-->
<div class="pull-right" style="margin-bottom: 6px">
{$page}
<!-- /.btn-group -->
</div>
</div>
</div>
</div>
<!-- /.mail-box-messages -->
</div>
</div>
<!-- /. box -->
</div>
<!-- /.col -->
</div>
</section>
代码来源: www.wemallshop.com

WeMall微信商城源码插件代金券部分代码的更多相关文章
- WeMall微信商城源码插件会员卡代码详情
WeMall微信商城源码插件会员卡代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 Index_index.html <html> <head> ...
- WeMall微信商城源码插件大转盘代码详情
WeMall微信商城源码插件大转盘代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 代码详情地址:http://addon.wemallshop.com/Product/ ...
- WeMall微信商城源码活动报名插件代码详情
WeMall微信商城源码插件活动报名代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考,商家可自由设置报名项目,活动时间,报名内容 代码详情地址:http://addon. ...
- wemall app商城源码Android之支付宝通知处理类
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之处 ...
- wemall app商城源码机器人检测
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...
- wemall app商城源码Android之支付宝接口公用函数
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...
- wemall app商城源码Android数据的SharedPreferences储存方式
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据 ...
- wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之L ...
- wemall app商城源码中android按钮的三种响应事件
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...
随机推荐
- cgLib生成动态代理
package com.stono.cglib; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import ...
- SuperSocket入门(二)- 探索AppServer、AppSession,Conmmand和App.config
在上一篇文章中,我们已经了解到了如何在SuperSocket处理客户端请求. 同时我们可能会发现一个问题,如果我们的服务器端包含有很多复杂的业务逻辑,这样的switch/case代码将会很 ...
- 光荣与梦想 | XMove动作捕捉系统(一)
XMove是我和几个死党从2010年开始开发的一套人体动作捕捉系统,软硬件全部自行开发,投入了大量的精力,历经三年,发展四个版本. 今年春节回到老家,翻出了2011年春节时焊电路用过的松香和和硬盘角落 ...
- ThreadLocal模式的原理
在JDK的早期版本中,提供了一种解决多线程并发问题的方案:java.lang.ThreadLocal类.ThreadLocal类在维护变量时,实际使用了当前线程(Thread)中的一个叫做Thread ...
- cmake的两个命令: option 和 configure_file
本节要讨论的是cmake的两个命令: option 和 configure_file option 选项,让你可以根据选项值进行条件编译. configure_file 配置文件,让你可以在代码文件中 ...
- Vuex 模块化与项目实例 (2.0)
Vuex 强调使用单一状态树,即在一个项目里只有一个 store,这个 store 集中管理了项目中所有的数据以及对数据的操作行为.但是这样带来的问题是 store 可能会非常臃肿庞大不易维护,所以就 ...
- iptables 完成联网控制 (续) ,独立native进程监听。
上一篇:http://www.cnblogs.com/oscar1011/p/5243877.html 之前做的iptables 来进行的联网控制,一直耿耿于怀,想要知道系统里的netd等等是如何做到 ...
- 解决HTML导出Excel表数字变成科学计数法
- js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转 ...
- Unity渲染优化中文翻译(三)——GPU的优化策略
如果游戏的渲染瓶颈来自于GPU 首要任务就是找出造成GPU瓶颈的因素所在,通常GPU的性能受到像素分辨率的影响,特别是在移动客户端的游戏,但是内存带宽和顶点计算的影响也需要注意.这些因素的影响都需要实 ...
- android学习16——library project的使用
library project和普通的project没有区别.用如下命令新建的一个工程. android create project --target 3 --name MyActivity --p ...