From f1473e1d946ea346e1d7456e2e0f2b1933ec9810 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Thu, 6 Jul 2023 16:10:05 +0200 Subject: [PATCH] feature : - changed list loading logic to include filter --- .../controller/admin/SavRefundController.java | 33 ++++++++++++++++--- .../mapper/SavRefundWithDetailMapper.java | 1 + .../mapper/xml/SavRefundWithDetailMapper.xml | 9 +++++ .../service/ISavRefundWithDetailService.java | 1 + .../impl/SavRefundWithDetailServiceImpl.java | 4 +++ 5 files changed, 44 insertions(+), 4 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SavRefundController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SavRefundController.java index e8f4c8740..d09d9e9ed 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SavRefundController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SavRefundController.java @@ -1,11 +1,15 @@ package org.jeecg.modules.business.controller.admin; +import com.aspose.pdf.PageSize; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.base.CaseFormat; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import net.sf.json.JSONObject; +import org.apache.tomcat.util.json.JSONParser; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; @@ -22,6 +26,10 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; + +import static org.apache.commons.lang3.StringUtils.stripAll; +import static org.jeecg.common.util.SqlInjectionUtil.specialFilterContentForDictSql; /** * @Description: 售后退款 @@ -38,7 +46,7 @@ public class SavRefundController extends JeecgController queryPageList(SavRefundWithDetail savRefund, + @RequestParam(name = "shop", defaultValue = "") String shop, + @RequestParam(name = "orderID", defaultValue = "") String platformOrderId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "column", defaultValue = "invoice_umber") String column, + @RequestParam(name = "order", defaultValue = "ASC") String order, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(savRefund, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = savRefundWithShopCodeService.page(page, queryWrapper); + String parsedColumn = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column.replace("_dictText","")); + try { + specialFilterContentForDictSql(parsedColumn); + } + catch (RuntimeException e) { + e.printStackTrace(); + return Result.error("Error 400 : Bad Request"); + } + String parsedShop = "%"+shop.toUpperCase()+"%"; + String parsedPlatformOrderId = "%"+platformOrderId+"%"; + if(!order.equalsIgnoreCase("ASC") && !order.equalsIgnoreCase("DESC")) { + return Result.error("Error 400 Bad Request"); + } + List refundList = savRefundWithDetailService.fetchRefundsWhere(parsedShop, parsedPlatformOrderId, parsedColumn, order); + IPage pageList = new Page<>(pageNo, pageSize); + pageList.setRecords(refundList); return Result.OK(pageList); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SavRefundWithDetailMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SavRefundWithDetailMapper.java index 4d354b9cc..1bc4a4033 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SavRefundWithDetailMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SavRefundWithDetailMapper.java @@ -17,4 +17,5 @@ import java.util.List; @Repository public interface SavRefundWithDetailMapper extends BaseMapper { List findUnprocessedRefundsByClient(@Param("clientId") String clientId); + List fetchRefundsWhere(@Param("shop") String shop, @Param("orderID") String orderID, @Param("column") String column, @Param("order") String order); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SavRefundWithDetailMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SavRefundWithDetailMapper.xml index f16a63b59..681018a9b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SavRefundWithDetailMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SavRefundWithDetailMapper.xml @@ -10,4 +10,13 @@ WHERE invoice_number IS NULL AND s.owner_id = #{clientId} + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISavRefundWithDetailService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISavRefundWithDetailService.java index 0d468f457..e29a9e8e1 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISavRefundWithDetailService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISavRefundWithDetailService.java @@ -13,4 +13,5 @@ import java.util.List; */ public interface ISavRefundWithDetailService extends IService { List findUnprocessedRefundsByClient(String clientId); + List fetchRefundsWhere(String shop, String orderID, String column, String order); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SavRefundWithDetailServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SavRefundWithDetailServiceImpl.java index 6b7ed09f5..c49232be1 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SavRefundWithDetailServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SavRefundWithDetailServiceImpl.java @@ -27,4 +27,8 @@ public class SavRefundWithDetailServiceImpl extends ServiceImpl findUnprocessedRefundsByClient(String clientId) { return savRefundMapper.findUnprocessedRefundsByClient(clientId); } + @Override + public List fetchRefundsWhere(String shop, String orderID, String column, String order) { + return savRefundMapper.fetchRefundsWhere(shop, orderID, column, order); + } }