h5接口业务
2016-11-18 17:59:15 0 举报
AI智能生成
h5接口业务
作者其他创作
大纲/内容
/h5ser/checkPhone
(接口入口 H5服务(手机验证))
saveUserIden
UPDATE TB_H5_USER SET USERIDEN=? WHERE USERPHONE = ?
根据手机号更新用户身份
成功返回1,失败返回0
getUserIdByUserPhone
根据用户手机号获取用户id,查到手机号返回id,否则新建一条数据返回id
如果用户为大卡用户从tb_h5_user中没有手机号,保存用户时需要获取大卡用户的用户身份、大卡身份是否认证、开放平台用户身份
TB_H5_USER
调用大卡的service
@Autowired
private RmUserService rmUserService;
pom.xml关联的jar
<dependency>
<groupId>com.sinoiov.lhjh.lhjh-rm</groupId>
<artifactId>rm-interface</artifactId>
<version>1.0.0</version>
</dependency>
phone
微信公众号整合-登录回调接口(微信公众号菜单配置的链接地址中的redirect_uri) 手机是否验证
1.调用微信认证API获取openId
微信id获取配置
api_weixin_access_token=程序配置文件中
AuthAccessToken javaBean
微信授权-通过code换取网页授权access_token请求返回JSON实体
2.微信id是否已经验证了手机号
SELECT USERPHONE FROM TB_H5_USER WHERE WXUID= ?
3.微信手机号加密加密
4.#h5用户令牌 1是微信token
user_token=1_E050A8C072665D81D285881399F20003,2_C81D2E050A5399F8C072682000365881,3_C81D2E050A5399F8D285881399F20003,4_0C92C771A4ED4291A482B87C70763AA1_123,4_116E9BF068114ACDA0EBB1BA4FCF60BB_456,5_A7ACCEE74D644FB5B66F032EDE540129_789
5.根据serviceCode判断是找车页面还是找货页面
#微信跳转页面的时候添加https头部
WX_SKIP_URL=https://wxbeta.95155.com
6.response.sendRedirect(url);
sendCode
手机验证页面请求验证码,发送验证码接口
redis db (openAPIDB ) table(weixinPhone) 存储验证码
规则
phoneCode = (int)(Math.random()*9000+1000) + "";
String key = uid + "_" + phone;
//存储验证码 到 缓存
checkPhoneDao.addPhoneCodetoRedis(key, PHONECODE_VALID_TIME, phoneCode);
com.sinoiov.h5ser.hessian.service; private SMSService smsService;
#发送短信调用路径
smsService.hessianURL=http://192.168.110.141:8082/MessageCenter/hessian/smsService
<!-- 发送短信-调用MessageCenter -->
<bean id="smsService" class="com.sinoiov.h5ser.hessian.CtfoHessianProxyFactoryBean">
<property name="serviceUrl" value="${smsService.hessianURL}" />
<property name="serviceInterface" value="com.sinoiov.h5ser.hessian.service.SMSService" />
</bean>
phoneCode
手机验证码验证接口
#微信用新手机号绑定,将原来绑定关系中的微信id置空
delWXidByUserWXid=UPDATE TB_H5_USER SET WXUID='' WHERE WXUID = ?
一个用户对应多个手机号,每个手机号对应一个h5用户,微信id只能绑定用户其中一个手机号。
H5UserBean h5UserBean = publicDao.queryUserInfoByPhone(phone);
if(h5UserBean==null){
//直接保存微信用户信息,先清掉当前wxid对应记录中的微信id,置为空
publicDao.delWXidByUserWXid(uid);
publicDao.saveWXUserInfo(uid, phone);
//删除验证码
RedisCacheManager.INSTANCE.delPhoneCode(key);
}else{
if(!uid.equals(h5UserBean.getWxUid())){
//更换微信id
publicDao.updateWXidByUserWXid(uid,phone);
}
}
checkIden
查询用户身份接口
queryUserInfoByPhone=SELECT * FROM TB_H5_USER WHERE USERPHONE = ?
userIden = list.get(0).get("USERIDEN")+"";
/saveH5Tourist
保存游客用户信息
/h5ser/queryCargo
业务接口 接口入口 H5服务(找货)
queryTruckNoList
1.10.车主的车牌号列表查询接口
queryTruckNoList=SELECT T.VEHICLE_NO, T.VID, T.VEHICLE_OWNER_NAME, T.VEHICLE_OWNER_PHONE FROM TB_TRUCK T, SYS_GENERAL_CODE VTYPE WHERE T.VEHICLE_TYPE = VTYPE.GENERAL_CODE AND VTYPE.PARENT_GENERAL_CODE = 'SYS_VEHICLE_TYPE' AND T.VEHICLE_OWNER_PHONE = ? ORDER BY VID DESC
queryTruckList
车辆列表查询接口
1.微信sql
SELECT *
FROM (SELECT A.*, ROWNUM RN
FROM (SELECT T.VEHICLE_NO AS VNO,
T.VID AS VID,
A.ATTACH_URL AS VIMG,
T.VEHICLE_LENGTH AS VOLEN,
T.BOX_LENGTH AS VLEN,
VTYPE.CODE_NAME AS VTYPE,
DECODE(S.VID, NULL, 1, 2) AS VSTATE,
T.VEHICLE_OWNER_NAME AS VEHICLEOWNERNAME,
T.VEHICLE_OWNER_PHONE AS VEHICLEOWNERPHONE
FROM TB_TRUCK T,
TB_TRUCK_SOURCE S,
SYS_GENERAL_CODE VTYPE,
TB_VEHICLE_ATTACH A
WHERE T.VEHICLE_NO = S.VEHICLE_NO(+)
AND T.VID = A.VID(+)
AND T.VEHICLE_TYPE = VTYPE.GENERAL_CODE
AND VTYPE.PARENT_GENERAL_CODE = 'SYS_VEHICLE_TYPE'
AND A.ATTACH_URL_TYPE(+) = '3'
AND T.VEHICLE_OWNER_PHONE = ?
ORDER BY VID DESC) A
WHERE ROWNUM <= ?)
WHERE RN >= ?
2 大卡
@Autowired
private UserTruckService userTruckService;// 大卡用户ID查询车辆列表hessian接口
@Autowired
private IVehicleService iVehicleService;// 大卡用户ID查询车辆列表hessian接口
<!-- 大卡用户ID查询车辆列表hessian接口 -->
<bean id="userTruckService" class="com.sinoiov.h5ser.hessian.CtfoHessianProxyFactoryBean">
<property name="connectTimeOut" value="3000"></property>
<property name="readTimeOut" value="60000"></property>
<property name="serviceUrl" value="${userTruckServiceURL}" />
<property name="serviceInterface" value="com.sinoiov.lhjh.truck.intf.UserTruckService" />
</bean>
<!-- 大卡用户ID查询车辆列表hessian接口 -->
<bean id="iVehicleService" class="com.sinoiov.h5ser.hessian.CtfoHessianProxyFactoryBean">
<property name="connectTimeOut" value="3000"></property>
<property name="readTimeOut" value="60000"></property>
<property name="serviceUrl" value="${iVehicleServiceURL}" />
<property name="serviceInterface" value="com.vims.external.intf.bluesea.IVehicleService" />
</bean>
queryTruckInfo
车辆详细信息查询接口
1.微信sql
queryTruckInfo=SELECT T.ROAD_TRANSPORT AS ROADTRANSPORT, T.COMPANYNAME AS COMPANYNAME, T.VEHICLE_OWNER_NAME AS VEHICLEOWNERNAME, T.VEHICLE_OWNER_PHONE AS VEHICLEOWNERPHONE, (SELECT I.AREA_NAME FROM SYS_AREA_INFO I WHERE T.AREA_CODE = I.AREA_CODE) || '-' || (SELECT I.AREA_NAME FROM SYS_AREA_INFO I WHERE T.CITY_ID = I.AREA_CODE) AS AREACODE, T.VIN_CODE AS VINCODE, SPT.PROD_NAME AS TYPENO, T.VEHICLE_TON AS VEHICLETON, SGC.CODE_NAME AS VEHICLETYPE, SGC2.CODE_NAME AS VBRANDCODE, T.LOAD_TON AS LOADTON, T.VEHICLE_DRAW_TON AS VEHICLEDRAWTON, T.BOX_LENGTH AS INSIDESIZELENGTH, T.BOX_WIDTH AS INSIDESIZEWIDTH, T.BOX_HEIGHT AS INSIDESIZEHEIGHT, T.VEHICLE_NO AS VEHICLENO, T.VEHICLE_LENGTH AS VEHICLELENGTH, T.VEHICLE_WIDTH AS VEHICLEWIDTH, T.VEHICLE_HEIGHT AS VEHICLEHEIGHT, T.VEHICLE_AXIS AS VEHICLEAXIS, T.VEHICLE_TYRE_NUMBER AS VEHICLETYRENUMBER, T.VEHICLE_TYRE_SIZE AS VEHICLETYRESIZE, T.VEHICLE_BUSINESS_SCOPE AS VEHICLEBUSINESSSCOPE, T.OUT_FACTORY_TIME AS OUTFACTORYTIME, T.VEHICLE_COLOR AS VEHICLECOLOR, T.PURCHASE_TYPE AS PURCHASETYPE, T.INSURANCE_EXPIRATE_TIME AS INSURANCEEXPIRATETIME, T.CORP_ROAD_TRANSPORT AS CORPROADTRANSPORT, T.INSURANCE_TYPE AS INSURANCETYPE, T.INSURANCE_TYPE_OTHER AS INSURANCETYPEOTHER, B.URLS AS VIMG FROM TB_TRUCK T, SYS_GENERAL_CODE SGC, SYS_GENERAL_CODE SGC2, SYS_PRODUCT_TYPE SPT, (SELECT A.VID, WMSYS.WM_CONCAT(A.ATTACH_URL_TYPE || '#' || A.ATTACH_URL) AS URLS FROM TB_VEHICLE_ATTACH A GROUP BY A.VID) B WHERE (SGC.GENERAL_CODE = T.VEHICLE_TYPE AND SGC.PARENT_GENERAL_CODE = 'SYS_VEHICLE_TYPE') AND (SGC2.GENERAL_CODE = T.VBRAND_CODE AND SGC2.PARENT_GENERAL_CODE = 'SYS_VEHICLE_BRAND') AND SPT.PROD_CODE = T.PROD_CODE AND T.VID = B.VID(+) AND T.VID = ?
2.大卡
@Autowired
private IVehicleService iVehicleService;// 大卡用户ID查询车辆列表hessian接口
QueryVehicleDetailResult queryVehicleDetailResult = iVehicleService.queryVehicleDetailById(vid, userCode);
/publishTruckInfo/loadTruckInfo
加载车源信息接口
queryTruckSourceInfo=SELECT S.AREACODE AS AREACODE, S.CARGO AS CARGO, S.LENGTH AS LENGTH, S.WEIGHT AS WEIGHT, S.TRUCKBAK AS TRUCKBAK, S.VEHICLEOWNERNAME AS VEHICLEOWNERNAME, S.VEHICLEOWNERPHONE AS VEHICLEOWNERPHONE FROM TB_TRUCK_SOURCE S WHERE S.VEHICLE_NO = ?
/publishTruckInfo/queryCargo
查询常载货物接口
#查询常载货物
queryCargoInfo=SELECT CARGO_ID,CARGO_NAME FROM TB_CARGO_WITH
/publishTruckInfo/queryCity
查询常跑城市接口
SELECT CARGO_CITY FROM TB_CARGO_CITY WHERE VEHICLE_NO=?
子主题
loadTruckInfoDaka
加载大卡车源信息接口
tb_truck_source车源表有vid返回车源信息,没有从tb_truck中查询出车牌号、车主手机号、车主姓名;修改2,新增1
/publishTruckInfo
发布车源接口
openapi-datainfoser
https://zhiyunopenapitest.95155.com/apis/publishTruckSourceInfo/
StaticInfoController
com.sinoiov.datainfo.service.apis.PublishTruckSourceInfo
execute
#保存车源
saveTruckSourceInfo=INSERT INTO TB_TRUCK_SOURCE (TSID, USERID, VID, UFLAG, AREACODE, CARGO, LENGTH, WEIGHT, VEHICLEOWNERNAME, VEHICLEOWNERPHONE, TRUCKBAK, VEHICLE_NO, CREATE_TIME, UPDATE_TIME, H5UID) VALUES (SYS_GUID(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
#修改车源
updateTruckSourceInfo=UPDATE TB_TRUCK_SOURCE SET USERID = ?, AREACODE = ?, CARGO = ?, LENGTH = ?, WEIGHT = ?, VEHICLEOWNERNAME = ?, VEHICLEOWNERPHONE = ?, TRUCKBAK = ?, UFLAG = ?, UPDATE_TIME = ?, H5UID =? WHERE VEHICLE_NO = ?
/savePriceDetail
保存车主对货源报价接口
有车无车
1:有车
2:无车
查询货运库是否有车接口
String retVid = publicService.getcheckTruck(vno);// 有车返回vid,无车返回null
redis openAPIDB vehicleNoVidTable_STATUS
通过车牌号从VehicleNoVidTable A/B表中 取VID
该车主对此货源是否报价
否
#保存车主对货源的报价详情--
savePriceDetail=INSERT INTO TB_H5_BID_PRICE (ID, USERID, VID,GOODSID, VNO, CONTACT, CONTEL, INSTATUS, BIDPRICE, BAK, BIDTYPE, CREATTIME, UPDATETIME,BAKSTATUS,MSGSTATUS,TRUCKFLAG) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)
是
#保存报价信息时判断此车主是否已经对此货源报过价
queryBidCount=select count(*) from tb_h5_bid_price where goodsid=? and userid=?
保存报价时,给货主发送一条短信
#车主留言
H5_SMS_LEAVE_WORD=您好,您在【@1】平台上发布的【@2-@3】的货源被车主【联系电话:@4】抢单了,请登陆系统确认,如有疑问请致电 13366850042
/queryPriceDetail
查询报价详情接口(车主端)
queryPriceDetail=SELECT P.BIDPRICE, P.BIDTYPE, P.VNO, P.CONTACT, P.CONTEL, P.BAK, S.GBIDTYPE FROM TB_H5_BID_PRICE P ,TB_H5_GOODS_SOURCE S WHERE P.ID = ? AND S.ID=P.GOODSID
queryMsgList
车主消息列表查看接口
queryTruckOwnMsg=SELECT BAK, GOODSOWNERPHONE, ID, READFLAG, CREATTIME FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TB_H5_TRUCK_OWNER_MSG WHERE VCLUSERID = ? and BAKSTATUS = '1' ORDER BY CREATTIME DESC) A WHERE ROWNUM <= ?) WHERE RN >= ?
setMsgStatus
车主消息状态设置接口
UPDATE TB_H5_TRUCK_OWNER_MSG set READFLAG = 2 WHERE ID in (:ids)
queryGoodsInfo
查看货源详情接口(车主端和货主端)
queryGoodsInfo=SELECT THGS.STARTAREA, THGS.STARTINFO, THGS.ENDAREA, THGS.ENDINFO, THGS.VTYPE, THGS.VLEN, THGS.VTON, THGS.EXPIRETIME, THGS.SENDFREQ, THGS.CARGOID, THGS.GTON, THGS.GVOL, THGS.CONTACT, THGS.CONTEL, THGS.BAK, THGS.BELEUP, THGS.REFERPRICE, THGS.GBIDTYPE, THGS.PRICETYPE, THGS.DATASTATUS, THGS.INSTATUS, TCW.CARGO_NAME FROM TB_H5_GOODS_SOURCE THGS LEFT JOIN TB_CARGO_WITH TCW ON THGS.CARGOID = TCW.CARGO_ID WHERE ID = ?
车辆常载货物表 TB_CARGO_WITH
queryGoodsList
查询货源列表接口
实时货源
SELECT Z.*
FROM (SELECT ROWNUM AS ROWDD, Y.*
FROM (SELECT A.ID AS GOODSID,
A.STARTAREA AS STARTAREA,
A.ENDAREA AS ENDAREA,
A.VTYPE AS VEHICLETYPE,
A.VLEN AS VEHICLELEN,
A.VTON AS VEHICLETON,
A.EXPIRETIME AS EXPIRETIME,
A.SENDFREQ AS SENDFREQ,
C.CARGO_NAME AS GOODSTYPE,
A.UPDATETIME AS PUBLISHTIME,
A.INSTATUS AS INSTATUS,
A.CONTEL AS GOODSOWNERPHONE,
A.BELEUP AS BELEUP,
A.GOODSSORCAUTH AS GOODSSORCAUTH,
U.USERLOGO AS USERLOGO,
U.LOGOFLAG AS LOGOFLAG,
A.PRICETYPE AS PRICETYPE,
A.GBIDTYPE AS GBIDTYPE,
A.REFERPRICE AS REFERPRICE,
A.BAK AS BAK
FROM TB_H5_GOODS_SOURCE A
LEFT JOIN TB_H5_USER U ON A.USERID = U.ID
LEFT JOIN TB_CARGO_WITH C ON A.CARGOID = C.CARGO_ID
WHERE A.INSTATUS = '1'
AND A.LTGOODS = '0'
AND A.DATASTATUS = '1'
AND (A.STARTAREA LIKE :STARTAREA OR :STARTAREA IS NULL)
AND (A.ENDAREA LIKE :ENDAREA OR :ENDAREA IS NULL)
AND (A.VTYPE = :VEHICLETYPE OR :VEHICLETYPE IS NULL)
AND (A.VLEN = :VEHICLELEN OR :VEHICLELEN IS NULL)
AND A.ID NOT IN (SELECT GOODSID
FROM TB_H5_BID_PRICE
WHERE USERID = :UID)
ORDER BY A.UPDATETIME DESC) Y
WHERE ROWNUM <= (:PAGENO * 20)) Z
WHERE Z.ROWDD > ((:PAGENO - 1) * 20)
长期货源
SELECT Z.*
FROM (SELECT ROWNUM AS ROWDD, Y.*
FROM (SELECT A.ID AS GOODSID,
A.STARTAREA AS STARTAREA,
A.ENDAREA AS ENDAREA,
A.VTYPE AS VEHICLETYPE,
A.VLEN AS VEHICLELEN,
A.VTON AS VEHICLETON,
A.EXPIRETIME AS EXPIRETIME,
A.SENDFREQ AS SENDFREQ,
C.CARGO_NAME AS GOODSTYPE,
A.UPDATETIME AS PUBLISHTIME,
A.INSTATUS AS INSTATUS,
A.CONTEL AS GOODSOWNERPHONE,
A.BELEUP AS BELEUP,
A.GOODSSORCAUTH AS GOODSSORCAUTH,
U.USERLOGO AS USERLOGO,
U.LOGOFLAG AS LOGOFLAG,
A.PRICETYPE AS PRICETYPE,
A.GBIDTYPE AS GBIDTYPE,
A.REFERPRICE AS REFERPRICE,
A.BAK AS BAK
FROM TB_H5_GOODS_SOURCE A
LEFT JOIN TB_H5_USER U ON A.USERID = U.ID
LEFT JOIN TB_CARGO_WITH C ON A.CARGOID = C.CARGO_ID
WHERE A.INSTATUS = '1'
AND A.DATASTATUS = '1'
AND A.LTGOODS = '1'
AND (A.STARTAREA LIKE :STARTAREA OR :STARTAREA IS NULL)
AND (A.ENDAREA LIKE :ENDAREA OR :ENDAREA IS NULL)
AND (A.VTYPE = :VEHICLETYPE OR :VEHICLETYPE IS NULL)
AND (A.VLEN = :VEHICLELEN OR :VEHICLELEN IS NULL)
AND A.ID NOT IN (SELECT GOODSID
FROM TB_H5_BID_PRICE
WHERE USERID = :UID)
ORDER BY A.UPDATETIME DESC) Y
WHERE ROWNUM <= (:PAGENO * 20)) Z
WHERE Z.ROWDD > ((:PAGENO - 1) * 20)
已竞价
SELECT Z.*
FROM (SELECT ROWNUM AS ROWDD, Y.*
FROM (SELECT B.ID AS GOODSID,
B.STARTAREA AS STARTAREA,
B.ENDAREA AS ENDAREA,
B.VTYPE AS VEHICLETYPE,
B.VLEN AS VEHICLELEN,
B.VTON AS VEHICLETON,
B.EXPIRETIME AS EXPIRETIME,
B.SENDFREQ AS SENDFREQ,
D.CARGO_NAME AS GOODSTYPE,
B.UPDATETIME AS PUBLISHTIME,
A.INSTATUS AS INSTATUS,
A.VNO AS BIDTRUCKNO,
A.BIDPRICE AS BIDPRIC,
A.BIDTYPE AS BIDPRICTYPE,
A.VID AS BIDTRUCKVID,
A.ID AS QUOTATIONID,
B.CONTEL AS GOODSOWNERPHONE,
A.READFLAG AS READFLAG,
B.BELEUP AS BELEUP,
B.GOODSSORCAUTH AS GOODSSORCAUTH,
U.USERLOGO AS USERLOGO,
U.LOGOFLAG AS LOGOFLAG,
B.PRICETYPE AS PRICETYPE,
B.GBIDTYPE AS GBIDTYPE,
B.REFERPRICE AS REFERPRICE,
B.BAK AS BAK,
A.CONTACT AS BIDCONTACT
FROM TB_H5_BID_PRICE A
INNER JOIN TB_H5_GOODS_SOURCE B ON A.GOODSID = B.ID
AND B.DATASTATUS = '1'
AND (B.STARTAREA LIKE
:STARTAREA OR
:STARTAREA IS NULL)
AND (B.ENDAREA LIKE :ENDAREA OR
:ENDAREA IS NULL)
AND (B.VTYPE = :VEHICLETYPE OR
:VEHICLETYPE IS NULL)
AND (B.VLEN = :VEHICLELEN OR
:VEHICLELEN IS NULL)
LEFT JOIN TB_H5_USER U ON B.USERID = U.ID
LEFT JOIN TB_CARGO_WITH D ON B.CARGOID = D.CARGO_ID
WHERE A.USERID = :UID
AND A.INSTATUS in ('2', '3', '4')
ORDER BY A.UPDATETIME DESC) Y
WHERE ROWNUM <= (:PAGENO * 20)) Z
WHERE Z.ROWDD > ((:PAGENO - 1) * 20)
TB_H5_GOODS_SOURCE INSTATUS 货源状态,1:进行中,2:已完成,3:已过期
TB_H5_BID_PRICE INSTATUS 参与状态(2:竞价中,3:竞价成功,4:竞价失败)
queryMsg
检查是否有留言接口
SELECT COUNT(*)
FROM TB_H5_TRUCK_OWNER_MSG
WHERE VCLUSERID = ?
AND READFLAG = '1'
AND BAKSTATUS = '1'
queryBidMsg
车主竞价状态提示接口
SELECT NVL((SELECT COUNT(A.ID)
FROM TB_H5_BID_PRICE A, TB_H5_GOODS_SOURCE B
WHERE A.USERID = :UID
AND A.GOODSID = B.ID
AND B.DATASTATUS = '1'
AND A.INSTATUS = '3'
AND A.READFLAG = '2'
GROUP BY A.USERID),
0) AS BIDSUCCESS,
NVL((SELECT COUNT(C.ID)
FROM TB_H5_BID_PRICE C, TB_H5_GOODS_SOURCE D
WHERE C.USERID = :UID
AND C.GOODSID = D.ID
AND D.DATASTATUS = '1'
AND C.INSTATUS = '4'
AND C.READFLAG = '2'
GROUP BY C.USERID),
0) AS BIDFAIL
FROM DUAL
readBidMsg
更新车主竞价提示消息为已读接口
UPDATE TB_H5_BID_PRICE
SET READFLAG = '1'
WHERE USERID = :UID
AND (INSTATUS = :INSTATUS OR :INSTATUS IS NULL)
AND ID IN (:BIDIDS)
/h5ser/queryTruck
业务接口 接口入口 H5服务(找车入口)
/queryTruckList
查询找车列表接口
/queryMyGoodsList
我的货源查询接口(货主端)
saveGoodsInfo
保存或修改货源接口(货主端)
/queryAreaCode
获取当天区县接口
/queryPhone
获取当前车辆手机号 记录用户拨打记录
/queryTruckCount
符合筛选条件的车辆数
leaveWordsToVehicle
货主给车主发送留言接口
/daka/sendGoods
大卡发布的货源信息,保存接口
/queryBidTruckList
竞价中车辆列表查询接口
/setCarrierTruck
选择承运车辆接口
自由主题
0 条评论
下一页