[TOC]
## 红天地项目版本
git使用htd1.0分支
git地址:http://106.3.45.149:8090/app/dst
## 测试环境
服务器:47.94.253.81
使用端口:9090
目录地址:hongtiandi
项目同步方式,本地开发git 提交->服务器拉取最新代码
数据库:47.94.253.81上hongtiandi数据库
## 优惠券功能说明
sql变更
`
ALTER TABLE `ims_wlmerchant_couponlist`
ADD COLUMN `merchant_type` int(11) NOT NULL COMMENT '商户ID类型 0 全平台 1 商户组 2 商户 3 门店' AFTER `merchantid`,
ADD COLUMN `is_registered_give` int(11) NOT NULL COMMENT '是否新用户赠送 0 不赠送 1 赠送' AFTER `is_show`,
ADD COLUMN `is_undertake` int(11) NOT NULL COMMENT '承担方 1 平台 2 商户 3门店' AFTER `is_registered_give`;
`
字段说明:
merchant_type:为实现优惠券 商铺三级联动,新增优惠券商铺类型字段,
* 0表示全部用户组 merchantid 存储 0
* 1表示 具体商户组下面全部商铺 merchantid 存储组id groupid值
* 2 表示具体商户merchantid 存储商户id
* 3 表示具体门店merchantid 存储门店ID
is_registered_give:是否新用户赠送 0 不赠送 、1赠送
is_undertake : 优惠券承担方 1 平台 、2商户 、3门店
## 相关功能简单说明
1. 优惠券前台兼容
利用 uniacid 不同 ,区分显示前台功能按钮,示例如下
~~~
### uniacid 不是红天地正常展示
{if !in_array($_W['uniacid'],['2'])}
...
<span class="tab-label">{if $_W['agentset']['foot']['onename']} {$_W['agentset']['foot']['onename']} {else} 首页 {/if}
...
{/if}
~~~
2. 入口扫码 未登录进入登录页面,登录后跳转 优惠券列表
~~~
// public/addons/weliam_merchant/plugin/wlcoupon/app/controller/coupon_app.ctrl.php 文件下 couponslist 方法
if(in_array($_W['uniacid'],[2])){
//未登录 跳转到登陆页面
if(empty($_W['uid'])){
//登录入口url ,因原登录入口,未注册提示 手机号未注册,需要先进入注册页面注册,才能正常登录,红天地登录url 需要伟伟提供
}else{
//跳转到券列表
header("Location:".app_url('wlcoupon/coupon_app/htdcouponslist'));
die();
}
}
~~~
3. 新用户登录 默认发放 赠送优惠券 (注册时 具体调用方式在协商)
~~~
// public/addons/weliam_merchant/plugin/wlcoupon/app/controller/coupon_app.ctrl.php 文件下 giveCoupon方法
public function giveCoupon($id){
global $_W, $_GPC;
$where = "uniacid = {$_W['uniacid']} AND aid = {$_W['aid']} and is_registered_give = 1 and status = 1 and is_charge = 0 " ;
$where .= " and starttime <= " . time() . " and endtime >= ".time() ;
$couponlist = pdo_fetchall("SELECT * FROM " . tablename('wlmerchant_couponlist') . "WHERE $where");
$return = [];
if(!empty($couponlist)){
foreach ($couponlist as $key => $val){
if ($val['time_type'] == 1) {
$starttime = $val['starttime'];
$endtime = $val['endtime'];
} else {
$starttime = time();
$endtime = time() + ($val['deadline'] * 24 * 3600);
}
$data = array('mid' => $id, 'aid' => $_W['aid'], 'parentid' => $val['id'], 'status' => 1, 'type' => $val['type'], 'title' => $val['title'], 'sub_title' => $val['sub_title'], 'content' => $val['goodsdetail'], 'description' => $val['description'], 'color' => $val['color'], 'starttime' => $starttime, 'endtime' => $endtime, 'createtime' => time(), 'usetimes' => $val['usetimes'], 'concode' => Util::createConcode(4));
$res = wlCoupon::saveMemberCoupons($data);
$return[] = $res;
}
}
if(empty($return)){
return false;
}else{
return true;
}
}
~~~