部署队列服务
需要后台常驻一个进程,并监听进程的存活性(可以用supervision)
#启动命令 需要进入项目根目录文件然后执行队列启动,并且需要php设置环境变量或全路径,默认是前台方式,需要常驻
cd /home/www/shop
php think queue:listen --queue ShopQueue
定时任务
-
设置小铃铛的数据
3分钟一次 请求
https://dev.s.dajxyl.com/order/getTaskMessage
不同环境前面域名不一样 -
设置活动结束-兜底定时,防止队列消费异常
10分钟一次 请求
https://dev.s.dajxyl.com/promotion/setEnd
不同环境前面域名不一样 -
设置自动确认收货-兜底定时,防止队里了消费异常
10分钟一次 请求
https://dev.s.dajxyl.com/order/setConfirm
不同环境前面域名不一样
注意:队列和定时任务一定注意执行用户和权限问题!!!!
环境配置文件
项目根目录下 即shop/.env 文件
#正式环境记得关闭APP_DEBUG
APP_DEBUG = true
DAJX_API_HOST = https://dev.api.dajxyl.com
SHOP_API = https://dev.s.dajxyl.com
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 不同服务器的地址
DATABASE = shop
USERNAME = root
PASSWORD = root
HOSTPORT = 不同服务器端口
CHARSET = utf8
DEBUG = true
[API_DATABASE]
DATABASE = dajx-api
[REDIS]
HOSTNAME = 不同服务器地址
PORT = 不同服务器端口
[LANG]
default_lang = zh-cn
[SWITCH]
#快递订阅开关,开启后会请求第三方接口,必须为真实快递单才会成功(并且有后续回调)
EXPRESS_OPEN = false
#快递回调签名开关,默认开启
EXPRESS_SIGN = false
#活动开始的群推开关,开启后,队列会触发igt的群推
IGT_APP = false
#单推,开启后才会调用第三发推送
IGT_SINGLE = false
#个推的环境前缀 其他环境 dajx_api_pre 等
IGT_PREFIX = dajx_api_dev_
#真实退款开关,开启后会走真实退款, 默认false
REFUND = false
#自动确认收货时间,单位秒,正式环境设置15天 测试设置1小时
RECEIPT_TIME = 3600
数据库相关
新建商城数据库shop
![image-20201224141935095](/Users/lex/Library/Application Support/typora-user-images/image-20201224141935095.png)
项目目录/document下是迭代9初始化sql
-
shop.sql 就是初始化的sql包含结构和数据
-
然后添加一个超级管理员
超级管理员:初始密码是123456
INSERT INTO `admin` (`username`,`password`,`nickname`,`creator_id`,`status`,`role_id`) VALUES ('admin','$2y$10$IwxpRqDFc1ZCtAAznYXYx.raox/u/Km8h3jzLpUYEwjCRmfO.7hB2','超级管理员',0,1,0)
客户端配置文件
dajx-api/config/__param.php
阿里云短信配置新增如下AliyunSMS
//固定的商城客服号码
'SendPhone_shop'=>'',
//商城支付后提醒发货
'TemplateCode_shop_pay' => 'SMS_208635202',
//商城提醒退款
'TemplateCode_shop_refund' => 'SMS_208580415',
2021-1-20 更新sql 修复关于‘添加商品’前端路由权限问题
ALTER TABLE `shop`.`menu`
ADD COLUMN `type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=菜单 2=前端独立路由' AFTER `mark`;
INSERT INTO `menu` (`title`,`mark`,`type`)VALUES('添加商品','product/creat',2);
INSERT INTO `menu` (`title`,`mark`,`type`)VALUES('新建账号','admin/add',2);
INSERT INTO `menu` (`title`,`mark`,`type`)VALUES('优惠券子码管理','coupon/child',2);