package com.dderp.business.dao; import com.dderp.common.entity.order.*; import com.dySweetFishPlugin.sql.dao.*; import com.sweetfish.source.PageFlipper; import org.rex.RMap; import java.util.List; public interface OrderDao extends DaoRepository { @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.QUERY, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "queryBusinessOrderList", table = "deBusinessOrder", tableParam = 4, params = {1}) List queryBusinessOrderList(RMap params, PageFlipper pageFlipper, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.QUERY, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "queryOrderFinancesList", table = "deOrderFinances", tableParam = 4, params = {1}) List queryOrderFinancesList(RMap params, PageFlipper pageFlipper, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.QUERY, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "queryOrderDeliveryInfoList", table = "deOrderDeliveryInfo", tableParam = 4, params = {1}) List queryOrderDeliveryInfoList(RMap params, PageFlipper pageFlipper, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.QUERY, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "queryOrderDetailItemList", table = "deOrderDetailItem", tableParam = 4, params = {1}) List queryOrderDetailItemList(RMap params, PageFlipper pageFlipper, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.QUERY, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "queryOrderStepList", table = "deOrderStep", tableParam = 4, params = {1}) List queryOrderStepList(RMap params, PageFlipper pageFlipper, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "addBusinessOrder", table = "deBusinessOrder", tableParam = 8, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderFinances", table = "deOrderFinances", tableParam = 8, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderDiscount", table = "deOrderDiscount", tableParam = 8, params = {3}, sort = 3) @SqlId(clazz = OrderDao.class, sql = "addOrderDeliveryInfo", table = "deOrderDeliveryInfo", tableParam = 8, params = {4}, sort = 4) @SqlId(clazz = OrderDao.class, sql = "addOrderDetailItem", table = "deOrderDetailItem", tableParam = 8, params = {5}, sort = 5) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 8, params = {6}, sort = 6) int addBusinessOrder(BusinessOrder businessOrder, OrderFinances orderFinances, List discounts, OrderDeliveryInfo orderDeliveryInfo, List items, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "acceptBusinessOrder", table = "deBusinessOrder", tableParam = 4, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 4, params = {2}, sort = 2) int acceptBusinessOrder(BusinessOrder businessOrder, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "voidBusinessOrderIn", table = "deBusinessOrder", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderAfterSaleBill", table = "deOrderAfterSaleBill", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int voidBusinessOrderIn(BusinessOrder businessOrder, OrderAfterSaleBill afterSaleBill, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "voidBusinessOrderIn", table = "deBusinessOrder", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderRefundRequest", table = "deOrderRefundRequest", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int requestRefundOrder(BusinessOrder businessOrder, OrderRefundRequest refundRequest, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "updateOrderRefundRequest", table = "deOrderRefundRequest", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderAfterSaleBill", table = "deOrderAfterSaleBill", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int processRefundOrder(OrderRefundRequest refundRequest, List afterSaleBills, //这个地方用list是为了规避参数不能为null的情况 List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "updateOrderFinances", table = "deOrderFinances", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderAfterSaleBill", table = "deOrderAfterSaleBill", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int partRefundOrder(OrderFinances orderFinances, OrderAfterSaleBill afterSaleBill, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "updateOrderFinances", table = "deOrderFinances", tableParam = 4, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 4, params = {2}, sort = 2) int orderConfirmBill(OrderFinances orderFinances, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.ASNYC) @SqlId(clazz = OrderDao.class, sql = "updateBusinessOrder", table = "deBusinessOrder", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "updateOrderDeliveryInfo", table = "deOrderDeliveryInfo", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int updateOrderDelivery(BusinessOrder businessOrder, OrderDeliveryInfo orderDeliveryInfo, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); //region 配送平台业务 @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "expressCreateOrder", table = "deBusinessOrder", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "expressCreateOrderFinance", table = "deOrderFinances", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int expressCreateOrder(BusinessOrder businessOrder, OrderFinances orderFinances, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); @Sharding(databaseShardingStrategy = SupplierDataBaseShardingStrategy.class, tableShardingStrategy = OrderTableShardingStrategy.class) @DAOMethod(operator = OperatorType.UPDATE, owait = OperatorWait.AWAIT) @SqlId(clazz = OrderDao.class, sql = "expressRiderOrder", table = "deBusinessOrder", tableParam = 5, params = {1}, sort = 1) @SqlId(clazz = OrderDao.class, sql = "addOrderRiderItem", table = "deOrderRiderItems", tableParam = 5, params = {2}, sort = 2) @SqlId(clazz = OrderDao.class, sql = "addOrderStep", table = "deOrderStep", tableParam = 5, params = {3}, sort = 3) int expressRiderOrder(BusinessOrder businessOrder, OrderRiderItem orderRiderItem, List stepList, @DatabaseShardingBy String dataSourceId, String tableKey); //endregion }