Add service to fetch shouman orders

pull/8040/head
Qiuyi LI 2024-10-14 15:29:26 +02:00
parent 431d2049bd
commit 210441cd89
4 changed files with 55 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import org.jeecg.modules.business.domain.api.mabang.getorderlist.Order;
import org.jeecg.modules.business.entity.PlatformOrder; import org.jeecg.modules.business.entity.PlatformOrder;
import org.jeecg.modules.business.entity.PlatformOrderShopSync; import org.jeecg.modules.business.entity.PlatformOrderShopSync;
import org.jeecg.modules.business.vo.OrderKpi; import org.jeecg.modules.business.vo.OrderKpi;
import org.jeecg.modules.business.vo.PlatformOrderPage;
import org.jeecg.modules.business.vo.ShippingFeeBillableOrders; import org.jeecg.modules.business.vo.ShippingFeeBillableOrders;
import org.jeecg.modules.business.vo.clientPlatformOrder.ClientPlatformOrderPage; import org.jeecg.modules.business.vo.clientPlatformOrder.ClientPlatformOrderPage;
import org.jeecg.modules.business.vo.clientPlatformOrder.section.OrderQuantity; import org.jeecg.modules.business.vo.clientPlatformOrder.section.OrderQuantity;
@ -219,4 +220,8 @@ public interface PlatformOrderMapper extends BaseMapper<PlatformOrder> {
OrderKpi countPlatformOrders(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("showAllData") boolean showAllData, @Param("username") String username); OrderKpi countPlatformOrders(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("showAllData") boolean showAllData, @Param("username") String username);
Map<String, String> fetchShippingPeriodAndType(@Param("invoiceNumber") String invoiceNumber); Map<String, String> fetchShippingPeriodAndType(@Param("invoiceNumber") String invoiceNumber);
List<PlatformOrderPage> pagePotentialShoumanOrders(long pageNo, long pageSize, String column, String order);
Integer countPotentialShoumanOrders();
} }

View File

@ -879,4 +879,44 @@
JOIN shipping_invoice s ON po.shipping_invoice_number = s.invoice_number JOIN shipping_invoice s ON po.shipping_invoice_number = s.invoice_number
WHERE shipping_invoice_number = #{invoiceNumber}; WHERE shipping_invoice_number = #{invoiceNumber};
</select> </select>
<sql id="pagePotentialShoumanOrders">
SELECT distinct p.*
FROM platform_order_content poc
JOIN platform_order p ON poc.platform_order_id = p.id
JOIN shop sh ON p.shop_id = sh.id
JOIN sku s ON poc.sku_id = s.id
JOIN shouman_sku_relation ssr ON s.id = ssr.sku_id
JOIN shouman_category sc ON ssr.shouman_category_id = sc.id
JOIN shouman_regex sr ON sc.id = sr.shouman_category_id
WHERE p.erp_status in (1, 2)
AND sr.is_active = 1
AND p.platform_order_id NOT IN (SELECT platform_order_id FROM shouman_order)
AND p.order_time > '2024-10-01'
</sql>
<select id="pagePotentialShoumanOrders"
resultType="org.jeecg.modules.business.vo.PlatformOrderPage">
<include refid="pagePotentialShoumanOrders"/>
<if test="column != null and order != null">
ORDER BY ${column} ${order}
</if>
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="countPotentialShoumanOrders" resultType="java.lang.Integer">
SELECT count(distinct p.id)
FROM platform_order_content poc
JOIN platform_order p ON poc.platform_order_id = p.id
JOIN shop sh ON p.shop_id = sh.id
JOIN sku s ON poc.sku_id = s.id
JOIN shouman_sku_relation ssr ON s.id = ssr.sku_id
JOIN shouman_category sc ON ssr.shouman_category_id = sc.id
JOIN shouman_regex sr ON sc.id = sr.shouman_category_id
WHERE p.erp_status in (1, 2)
AND sr.is_active = 1
AND p.platform_order_id NOT IN (SELECT platform_order_id FROM shouman_order)
AND p.order_time > '2024-10-01'
</select>
</mapper> </mapper>

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.business.controller.UserException; import org.jeecg.modules.business.controller.UserException;
import org.jeecg.modules.business.entity.*; import org.jeecg.modules.business.entity.*;
import org.jeecg.modules.business.vo.PlatformOrderPage;
import org.jeecg.modules.business.vo.PlatformOrderQuantity; import org.jeecg.modules.business.vo.PlatformOrderQuantity;
import org.jeecg.modules.business.vo.ShippingFeeBillableOrders; import org.jeecg.modules.business.vo.ShippingFeeBillableOrders;
import org.jeecg.modules.business.vo.SkuQuantity; import org.jeecg.modules.business.vo.SkuQuantity;
@ -243,4 +244,5 @@ public interface IPlatformOrderService extends IService<PlatformOrder> {
Map<String, String> fetchShippingPeriodAndType(String invoiceNumber); Map<String, String> fetchShippingPeriodAndType(String invoiceNumber);
void pagePotentialShoumanOrders(IPage<PlatformOrderPage> page, String column, String order);
} }

View File

@ -491,4 +491,12 @@ public class PlatformOrderServiceImpl extends ServiceImpl<PlatformOrderMapper, P
public Map<String, String> fetchShippingPeriodAndType(String invoiceNumber) { public Map<String, String> fetchShippingPeriodAndType(String invoiceNumber) {
return platformOrderMap.fetchShippingPeriodAndType(invoiceNumber); return platformOrderMap.fetchShippingPeriodAndType(invoiceNumber);
} }
@Override
public void pagePotentialShoumanOrders(IPage<PlatformOrderPage> page, String column, String order) {
List<PlatformOrderPage> potentialShoumanOrders = platformOrderMap.pagePotentialShoumanOrders(page.offset(), page.getSize(), column, order);
page.setRecords(potentialShoumanOrders);
page.setTotal(platformOrderMap.countPotentialShoumanOrders());
}
} }