package com.doumee.service.business; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.Bikes; import com.doumee.dao.business.model.DiscountMember; import com.doumee.dao.business.model.Goodsorder; import com.doumee.dao.business.model.MemberRides; import com.doumee.dao.business.vo.BikeIncomeReportVO; import com.doumee.dao.business.vo.GoodsorderExportVO; import com.doumee.dao.business.vo.GoodsorderTotalDataVO; import com.doumee.dao.business.web.request.BackElecBikeRequest; import com.doumee.dao.business.web.request.GoodsorderBackDTO; import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO; import com.doumee.dao.business.web.response.GoodsorderDetailVO; import com.doumee.dao.business.web.response.HomeResponse; import com.doumee.dao.business.web.response.GoodsorderDetailDTO; import com.doumee.dao.business.web.response.RidesDetailResponse; import com.wechat.pay.java.service.refund.model.RefundNotification; import io.swagger.models.auth.In; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 订单信息表Service定义 * @author 江蹄蹄 * @date 2023/09/27 18:06 */ public interface GoodsorderService { /** * 创建 * * @param goodsorder 实体对象 * @return String */ String create(Goodsorder goodsorder); /** * 主键删除 * * @param id 主键 */ void deleteById(String id); /** * 删除 * * @param goodsorder 实体对象 */ void delete(Goodsorder goodsorder); /** * 批量主键删除 * * @param ids 主键集 */ void deleteByIdInBatch(List ids); /** * 主键更新 * * @param goodsorder 实体对象 */ void updateById(Goodsorder goodsorder); /** * 批量主键更新 * * @param goodsorders 实体集 */ void updateByIdInBatch(List goodsorders); /** * 主键查询 * * @param id 主键 * @return Goodsorder */ Goodsorder findById(String id); /** * 条件查询单条记录 * * @param goodsorder 实体对象 * @return Goodsorder */ Goodsorder findOne(Goodsorder goodsorder); /** * 条件查询 * * @param goodsorder 实体对象 * @return List */ List findList(Goodsorder goodsorder); /** * 分页查询 * * @param pageWrap 分页对象 * @return PageData */ PageData findPage(PageWrap pageWrap); PageData findAccountDetailPage(PageWrap pageWrap); /** * 条件统计 * * @param goodsorder 实体对象 * @return long */ long count(Goodsorder goodsorder); /** * 首页数据 * @param memberId * @return */ HomeResponse getHome(String memberId); /** * 押金支付业务 * @param memberId * @return */ Object createGoodsOrderPay(String memberId); /** * 套餐购买 * @param discountId * @param memberId * @return */ Object createDiscountOrderPay(String discountId,String memberId); /** * 支付回调业务 * @param preOrderId * @return */ String payNotify(String preOrderId,String paymentNo); /** * 查询订单详情 * @param id * @return */ GoodsorderDetailDTO getGoodsorderDetailDTO(String id); Integer getVoltageStatus(Bikes bikes); /** * 套餐卡订单详情 * @param id * @return */ GoodsorderDetailVO getGoodsorderDetailForDisCount(String id); /** * 强制结算订单 * @return */ void closeGoodsorder(Goodsorder order,int type ); void dealCloseGoodsorderBiz(Goodsorder goodsorder, int type, List memberRides) ; void closeGoodsorderDone(RefundNotification param); void forceCloseGoodsorder(String orderId); /** * 退款 */ void backGoodsorder(GoodsorderBackDTO goodsorderBackDTO); List getMemberRidesForClose(String orderid ); /** * 获取可退款信息 * @param orderId */ GoodsorderCanBanlanceDTO getGoodsorderCanBanlanceDTO(String orderId); /** * 骑行记录详情 * @param id * @return */ RidesDetailResponse getRidesDetailResponse(String id); GoodsorderTotalDataVO getTotalData(Goodsorder pageWrap); /** * 验证是否为营业时间 */ Boolean checkBusiness(); /** * 验证是否处于停止运营时间 */ Boolean checkTemporaryStop(); Goodsorder findOneByWrapper(QueryWrapper wrapper); List findExportAccountDetailPage(Goodsorder model); void goodsOrderSettlement(String memberId); void autoCloseOrder(); void autoCancelRefunOrder(); DiscountMember getUseDiscount(String memberId, Integer driveTime,Integer type); void autCancel(); List> getBikeIncomeReportVOList(Date startDate , Date endDate); void excel(Date startDate , Date endDate, HttpServletResponse response); }