数据库地址为: 599d4f7e37e2a.gz.cdb.myqcloud.com
有4个库:
WINXIN, 顾名思义是记录微信公众号用户信息的
COUPON: 抽奖用的奖券
BASE_INFO: 基础信息, 比如餐厅信息, 客户信息, 员工信息.
PROGRAM: 节目信息.
20171110补录两个接口
machine/updateMachineByMacAddr.do
可用于更新machine是否为餐厅主设备
可以考虑先用
machine/getMachineByRestaurantID.do
查询餐厅的主设备是哪个, 然后做两次更新, 一次将现有的主设备改成不是, 一次是自己设置成主设备.
20171105新增两个接口:
NowOrNeverII/update/getLastUpdate.do
NowOrNeverII/update/listAllUpdate.do
分别拿最新的跟所有的更新.
无需传入任何键值.
20171103增加一个增加新设备与搜索新设备的接口, 都需要传入MAC_ADDR字段
新的表在BASE_INFO库里面
device/addNewDevice.do
device/findNewDeviceByMacAddr.do
测试用例:
device/addNewDevice.do?MAC_ADDR=2C:91
device/findNewDeviceByMacAddr.do?MAC_ADDR=2C:91
20171102增加通过Code直接查微信用户详细信息的接口
gongzhonghao/getWeixinUserByAccessToken.do
传入code即可得到用户的最新的从微信服务端返回的相信信息, 省略了一次访问.
20171101补录:
查询WEINXIN.WEIXIN_USER表的接口为:
weixin/findWeixinUserByOpenID.do
传OPENID即可
新增微信User的纪录为:
weixin/addWeixinUser.do
要传入的键值为:
"OPENID", "opentest5";
"NICKNAME", "4狗";
"LANGUAGE", "4狗";
"PROVINCE", "4狗";
"CITY", "4狗";
"COUNTRY", "4狗";
"HEADIMGURL", "4狗";
"REMARK", "4狗";
"SUBCRIBE", 1;
"GROUPID", 5;
"REMARK", 2;
"SEX", 3;
"SUBSCRIBE_TIME", 4;
通过查询
gongzhonghao/getWeixinUserDetail.do
接口得到的微信用的详细信息, 可以使用这个接口进行持久化.
20171030补录:
直接传OPENID,得到微信用户的详细信息.
gongzhonghao/getWeixinUserDetail.do
测试用例
gongzhonghao/getWeixinUserDetail.do?OPENID=oMlX10gIjUSBsqWRyQJyXX1c7ZDk
20171030更新:
补录一个app拿节目单的新街口
program/getProgramListByRestaurant.do
测试用例, 需要传入餐厅ID
program/getProgramListByRestaurant.do?RESTAURANT_ID=a28e09c4-87ed-11e7-97ad-6c92bf482631
增加了log的接口
首先查询:
log/searchLogByMacAddr.do
测试用例:
log/searchLogByMacAddr.do?MAC_ADDR=123
增加log:
log/addLog.do
传: MAC_ADDR, CONTENT, LOG_TYPE,
LOG_TYPE目前设定为:
1: 开机
2: 找不到Master
20171029更新
增加了一个通过MAC_ADDR修改设备IP的接口(同时增加了IP这个键值)
machine/updateMachineIPByMacAddr.do
测试用例:
machine/updateMachineIPByMacAddr.do?MAC_ADDR=c2:21:0d:11:48:96&IP=192.168.0.7
20171016更新
增加了列出用户所有券的接口:
coupon/findCounponUserByOwnerId.do
测试用例:
coupon/findCounponUserByOwnerId.do?OWNER_ID=oMlX10qownzXblB_JemUKdQv66ro
增加了一个COUPON_CODE表
有三个接口, 分别是增, 改, 查
couponCode/findCouponCodeByOwnerID.do
couponCode/addCouponCode.do
couponCode/updateCouponCode.do
CouponSeller校验接口:
couponCode/findCouponCodeByID.do
查是根据用户的OPEN_ID去查, 测试用例如下:
couponCode/findCouponCodeByOwnerID.do?OWNER_ID=oMlX10qownzXblB_JemUKdQv66ro
有几点注意:
1. 这个表的ACTIVATE状态表示为 1: 可用 2: 过期 3: 已兑换
2. 这个表的纪录增加的时候, 要随机传输一个8位数字作为ID, 同时也可以拿来做验证用
3. 这个表纪录的增加, 是在用户兑奖完成后, 如果bean的值超过100, 就先随机产生一个8位数字增加一条纪录
20171015更新
增加了接口传入RESTAURANT_ID, 查询餐厅内所有的电视的信息, 包括是否为MASTER(主设备)
machine/getMachineByRestaurantID.do
测试用例
/machine/getMachineByRestaurantID.do?RESTAURANT_ID=a28e09c4-87ed-11e7-97ad-6c92bf482631
20171013更新
增加了Event表, 主键是RESTAURANT_ID,通过这个来搜索该餐厅所有的优惠券(活动)
event/getCouponByRestaurantID.do
测试用例:
event/getCouponByRestaurantID.do?RESTAURANT_ID=a28e09c4-87ed-11e7-97ad-6c92bf482631
20171001更新:
增加了Machine表, 主键是MAC_ADDR, 关联一个餐厅, 根据主键可以搜索这个machine的详情.
machine/getMachineByMachineID.do
测试用例:
machine/getMachineByID.do?MAC_ADDR=23:23:11:23:23:11
根据ID拿微信短链接口:
weixin/findLinkByID.do
测试用例:
weixin/findLinkByID.do?ID=test
20170930更新, 增加查询Program的详细信息的接口
增加了用餐厅ID搜索当前节目以及更新当前节目的接口
将多个表加入了IMG_URL字段, 用于放视频的预览图片
拿AccessToken的接口:
weixin/getAccessKey.do
用餐厅ID搜索当前节目以及更新当前节目的接口:
program/updateRestaurantProgram.do
program/findProgramByRestaurantID.do
具体用法参考测试页面.
-----------------------------------------------------------------------------------------------------------------------------------------------------
给channel1的节目点赞:
program/updateChannel1Zan.do
传入键值:
ID, ZAN
回应是:
{"success":true,"msg":"OK","obj":null}
测试用例:
http://app01.saferkid.net/NowOrNeverII/program/updateChannel1Zan.do?ID=002&ZAN=88
-----------------------------------------------------------------------------------------------------------------------------------------------------
给餐厅独有内容点赞:
program/updateRPPZan.do
传入的键值:
ID, ZAN
回应是:
{"success":true,"msg":"OK","obj":null}
program/updateRPPZan.do.do?ID=002&ZAN=88
-----------------------------------------------------------------------------------------------------------------------------------------------------
餐厅独有交互内容点赞:
program/updateRPIZanDislike.do
传入键值:
ID,ZAN,DISLIKE
回应是:
{"success":true,"msg":"OK","obj":null}
测试用例:
program/updateRPIZanDislike.do?ID=003&ZAN=66&DISLIKE=66
-----------------------------------------------------------------------------------------------------------------------------------------------------
公共交互内容点赞:
program/updatePIZanDislike.do
传入键值:
ID,ZAN,DISLIKE
回应是:
{"success":true,"msg":"OK","obj":null}
测试用例:
program/updatePIZanDislike.do?ID=003&ZAN=66&DISLIKE=66
-----------------------------------------------------------------------------------------------------------------------------------------------------
通过CATEGORY跟ID获取节目详情:
/program/getProgramDetail.do
CATEGORY:
1: Channel 1的节目
2: Restaurant Private Program, 餐厅专有节目, 通常是餐厅自己的视频内容.
3: Public Interaction, 公共的交互内容
4: Restaurant Private Interaction, 餐厅自己的交互内容.
5: WhaleAd大客户的广告
6: LocalAd本地客户的广告
首先接口都需要有一个KEY键值用于确认访问者的合法身份, KEY的算法, 请参考另一份加密文档.
接口测试页面: index.jsp
公众号业务逻辑:
A: 抽奖,
抽奖拢共分几步?
1. 查询该用户是否有抽奖/中奖的纪录
coupon/findCounponUserByCouponIdAndOwnerID.do
2. 如果有, 就看看是不是在24小时之内, 如果是, 就告诉他, 24小时内只能抽一次
3. 如果之前有抽奖记录, 就用这个接口, 获取一个随机获取的pici bean
coupon/shakeAndWin.do
把这个获取到的bean, 加在之前获得bean数量上, 一起update这个用户的bean的数量
coupon/updateCouponUser.do
4. 如果这个用户没有抽过奖, 完全没有记录, 就产生一条
coupon/addCouponUser.do
5. 一旦将puci bean分配给用户, 就用下面的接口把库存减掉:
couponStore/assignPuciBean.do
B. 分享奖券
1. 用户需要分享他的券, 就创建一个分享
couponSharing/createSharingCoupon.do
2. 被分享的用户查询分享券校验接口:
couponSharing/findByShortID.do
3. 被领走的分享券, 用接口删除:
couponSharing/disableSharing.do
20170919更新, 增加了短链接跟长链接的转换用接口.
获取可用的的一次性shortID,
shortid/get1ShortID.do
shortID用于取代ID, 在终端显示的时候, 便于产生二维码使用, 以免使用32位的uuid导致二维码过于复杂.
公众号端接口:
抽奖功能:
入口:
coupon/findCounponUserByCouponIdAndOwnerID.do
进入这个接口必须传入:
COUPON_ID: 免费券的ID
OWNER_ID: 用户的openID
返回数据例子:
success true
msg "OK"
obj
coupon
couponSeller
id "3963be49-8a62-11e7-97ad-6c92bf482631"
name "珍珠奶茶"
description "超好喝"
id "b5a31f86-9245-11e7-97ad-6c92bf482631"
create_TIME 1504621375000
owner_ID "opentest"
puci_BEAN_QUANTITY 66
time_LIMIT_DAYS 30
播放器接口:
接口测试页面: pro.jsp
program/getPrograms.do
输入键值:
KEY: 校验用秘钥
RESTAURANT_ID: 餐厅ID
输出JSON:
msg: 成功是OK
obj: totalTimeSecond, 指总时长
channle1List: Channel 1的节目
rppList: Restaurant Private Program, 餐厅专有节目, 通常是餐厅自己的视频内容.
piPlayGroups: Public Interaction, 公共的交互内容
rpiPlayGroups: Restaurant Private Interaction, 餐厅自己的交互内容.
whaleAdList: 大客户的广告
localAdList: 本地客户的广告
----------------------------------------------------------------------------
公众号接口:
http://localhost:8090/NowOrNeverII/coupon/findCounponUserByCouponIdAndOwnerID.do?KEY=609bdda1b0c6e432cee057b4e207380b&COUPON_ID=3963be49-8a62-11e7-97ad-6c92bf482631&OWNER_ID=opentest