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按 ...
随机推荐
- C# 枚举的使用
/// <summary> /// 枚举的使用 /// 主要功能:使用枚举的值DataTypeId.Money,获取对应的Money字符串. /// </summa ...
- node源码详解(四) —— js代码如何调用C++的函数
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource4 本博客同步在https://cnodejs.o ...
- MyBatis中多对多关系的映射和查询
先说一下需求: 在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别) 创建表: 笔者这里使用 中间表 连接 图书表 和 图书类别表,图书表中 没有使 ...
- linux驱动的多种init函数及其调用顺序
在驱动设计时可以选用多种驱动初始化函数达到控制驱动初始化顺序控制,其中level(__define_initcall的第一个参数即优先级)越小优先级越高, #define pure_initcall( ...
- vb.net 总结
vb.net 可以说是vb6.0的升级版,在语法结构上与vb很相似.那么,我们就来说一下它们之间有什么不同的地方吧. vb6.0 vb是我们入门的一个非常好的编程软件,它可以实现软件 ...
- Swift 面向对象解析(一)
面向对象总体概括: Swift 不仅能够面向过程编程,也能够面向对象编程(OOP).面向对象其实就是“以对象为核心”,把我们的客观世界想着是由一个个对象组成的,面向对象编程则为对象提供了属性和方法,属 ...
- int装箱比较
看过Effctive-java 这本书的人多少都会记得,int类型的值,-128到127之间的数,会进行缓存. 所以在心间装箱对象 new Integer()的时候,如果在此范围则不会新建对象而是使用 ...
- bootstrap模态框总结
<html lang="zh-cn"> <head> <meta charset="utf-8"> <title> ...
- [Spark] - HashPartitioner & RangePartitioner 区别
Spark RDD的宽依赖中存在Shuffle过程,Spark的Shuffle过程同MapReduce,也依赖于Partitioner数据分区器,Partitioner类的代码依赖结构主要如下所示: ...
- 20150817---成长日记1---DelayQueue&&Delayed&&Other
今天第一次接触DelayQueue,源于项目中的话单解析入库的拆分线程中引入,首先简单了解一下DelayQueue: DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素.该队列的 ...