企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[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; } } ~~~