package com.iamberry.rent.face.machine; import java.util.List; import com.iamberry.exception.ServiceException; import com.iamberry.wechat.core.entity.ResultMsg; import com.iamberry.wechat.core.entity.rent.*; import com.iamberry.wechat.tools.ResponseJson; /** * 机器业务暴露接口 * @company 深圳爱贝源科技有限公司 * @website www.iamberry.com * @author 献 * @tel 18271840547 * @date 2017年3月9日 */ public interface MachineService { /** * 激活机器 - 扫描二维码激活, 必须有openid 以及其deviceid参数, 整个过程不包含返利 * @param machineInfo * @return * @author 献 * @throws ServiceException * @Time 2017年3月10日 */ int initBefore(MachineInfo machineInfo) throws ServiceException; /** * 激活返利,在接受到机器上报的数据以后,开始激活返利的操作 * @param openid * @param deviceId * @return * @author 献 * @throws ServiceException * @Time 2017年4月5日 */ int init(String openid, String deviceId) throws ServiceException; /** * 查询机器信息,如果deviceid不能为空,那么查询为单条数据 * @param info * @return * @author 献 * @Time 2017年3月10日 */ List list(MachineInfo info); /** * 同步机器信息(TDS、剩余水量) * @param info * @return * @author 献 * @Time 2017年3月10日 */ Integer syncMachine(MachineInfo info); /** * 获取当前用户服务费抵扣券列表 * @Date 2017年3月22日 * @author muzx * @return */ ResponseJson listServiceCoupon(String openId, String machineId); /** * 为机器续费 - 请求支付 * @param machineRecharge * @return * @author 献 * @Time 2017年3月13日 */ ResponseJson requestPay(MachineRecharge machineRecharge, Integer couponId); /** * 根据续费记录的订单id - 请求支付 */ ResponseJson rechargeOrderIdPay(String orderId); /** * 续费支付回调 * @param orderId * @return 0 : 失败;其他表示成功 * @author 献 * @Time 2017年3月13日 */ Integer rechargeOrderPayCallback(String orderId, String transactionId); /** * 查询续费记录 */ List listRecharge(Integer machineId); /** * 后台机器信息列表 * @param machineInfo * @return */ List selectEquipmentList(MachineInfo machineInfo); /** * 后台机器信息总数 * @param machineInfo * @return */ Integer selectEquipmentCount(MachineInfo machineInfo); /** * 添加机器,注意:只能初始化机器信息 * @param info * @return * @author LJK * @Time 2017年3月16日10:58:27 */ Integer add(MachineInfo info); /** * 根据 id 或 orderid 查询单个充值记录 * @date 2017年3月22日 * @author muzx * @param recharge * @return */ MachineRecharge getRechargeByIdOrOrderId(MachineRecharge recharge); /** * 订单详情页面送人 将机器分享出去,添加分享记录 * 2017年3月29日 * @author muzx * @param orderItemId * @param openId * @return */ ResultMsg presentMachine(String orderItemId, String openId); /** * 领取他人分享的机器 * 2017年3月29日 * @author muzx */ ResultMsg receiveMachine(String shareId, String openId); /** * 绑定用户和机器的关系 * @param machineId * @param openId * @return * @author 献 * @Time 2017年3月20日 */ int bindMachineToOpenId(String machineId, String openId); /** * 根据设备id查询单个设备 * @param machineInfo * @return */ MachineInfo selectMachineById(MachineInfo machineInfo); /** * 分页查询所有分享机器记录<后台> * 2017年3月20日 * @author muzx * @param machineShare * @return */ List listMachineShareAdmin(MachineShare machineShare); /** * 查询所有分享机器记录总数<后台> * 2017年3月20日 * @author muzx * @return */ int countMachineShare(MachineShare machineShare); /** * 处理存在下一条指令的机器,注意:此方法只下发指令,不参与具体的业务逻辑 * @author 献 * @Time 2017年4月8日 */ void handlerNextCommand(); /** * 修改机器,根据machineId或deviceid修改,其他不能为空的机器信息 * @param info * @return * @author LJK * @Time 2017年4月7日16:23:53 */ Integer update(MachineInfo info); /** * 根据条件查询滤芯更换记录 * @param rentChangeLogs * @return */ List listSelectChangeLogs(RentChangeLogs rentChangeLogs); /** * 批量添加滤芯更换记录 * @param list * @return */ Integer saveChangeLogs(List list, RentOrder rentOrder) throws Exception; /** * 查询更换滤芯集合 * @param rentChangeLogs * @return */ List listChangeFilterLogs(RentChangeLogs rentChangeLogs); /** * 根据条件查询更换滤芯数量 * @param rentChangeLogs * @return */ Integer getChangeFilterCount(RentChangeLogs rentChangeLogs); /** * 新增比拼水质记录 * @param competeWaterInfo * @return */ Integer addCompeteWater(CompeteWaterInfo competeWaterInfo); /** * 查询比拼水质记录 * @param shareId * @return */ CompeteWaterInfo selectCompeteWater(String shareId); /** * 修改滤芯更换记录表 * @param rentChangeLogs * @return */ boolean updateChangeLogsById(RentChangeLogs rentChangeLogs); }