Aslee 3 лет назад
Родитель
Сommit
d739d9ec6f

+ 2 - 1
src/main/java/com/caimei/controller/ProductApi.java

@@ -4,6 +4,7 @@ import com.caimei.model.ResponseJson;
 import com.caimei.model.vo.ProductDetailVo;
 import com.caimei.model.vo.ProductDetailVo;
 import com.caimei.model.vo.ProductListVo;
 import com.caimei.model.vo.ProductListVo;
 import com.caimei.service.ProductService;
 import com.caimei.service.ProductService;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,7 +54,7 @@ public class ProductApi {
      *      ]
      *      ]
      */
      */
     @PostMapping("/list")
     @PostMapping("/list")
-    public ResponseJson<List<ProductListVo>> productList(HttpServletRequest request){
+    public ResponseJson<PageInfo<ProductListVo>> productList(HttpServletRequest request){
         String cmAccount = request.getParameter("cmAccount");
         String cmAccount = request.getParameter("cmAccount");
         String data = request.getParameter("data");
         String data = request.getParameter("data");
         if (StringUtils.isEmpty(cmAccount)) {
         if (StringUtils.isEmpty(cmAccount)) {

+ 3 - 0
src/main/java/com/caimei/mapper/ProductMapper.java

@@ -6,6 +6,7 @@ import com.caimei.model.po.ProductImagePo;
 import com.caimei.model.po.ProductPo;
 import com.caimei.model.po.ProductPo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.OrderProductVo;
 import com.caimei.model.vo.OrderProductVo;
+import com.caimei.model.vo.ProductListVo;
 import com.caimei.model.vo.ProductVo;
 import com.caimei.model.vo.ProductVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
@@ -38,4 +39,6 @@ public interface ProductMapper {
     ProductDetailInfoPo findProductDetailByOriginalId(Integer originalProductId);
     ProductDetailInfoPo findProductDetailByOriginalId(Integer originalProductId);
 
 
     List<OrderProductVo> getOrderProduct(Long orderID);
     List<OrderProductVo> getOrderProduct(Long orderID);
+
+    List<ProductListVo> getProductResultList(Integer organizeId, String productName);
 }
 }

+ 2 - 3
src/main/java/com/caimei/service/ProductService.java

@@ -3,8 +3,7 @@ package com.caimei.service;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.vo.ProductDetailVo;
 import com.caimei.model.vo.ProductDetailVo;
 import com.caimei.model.vo.ProductListVo;
 import com.caimei.model.vo.ProductListVo;
-
-import java.util.List;
+import com.github.pagehelper.PageInfo;
 
 
 /**
 /**
  * @author Aslee
  * @author Aslee
@@ -17,7 +16,7 @@ public interface ProductService {
      * @param data
      * @param data
      * @return
      * @return
      */
      */
-    ResponseJson<List<ProductListVo>> productList(String cmAccount, String data);
+    ResponseJson<PageInfo<ProductListVo>> productList(String cmAccount, String data);
 
 
     /**
     /**
      * 商品详情
      * 商品详情

+ 20 - 15
src/main/java/com/caimei/service/impl/ProductServiceImpl.java

@@ -14,6 +14,7 @@ import com.caimei.utils.MathUtil;
 import com.caimei.utils.ProductUtils;
 import com.caimei.utils.ProductUtils;
 import com.caimei.utils.KeyUtils;
 import com.caimei.utils.KeyUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -38,7 +39,7 @@ public class ProductServiceImpl implements ProductService {
     private String domain;
     private String domain;
 
 
     @Override
     @Override
-    public ResponseJson<List<ProductListVo>> productList(String cmAccount, String data){
+    public ResponseJson<PageInfo<ProductListVo>> productList(String cmAccount, String data){
         // 获取组织信息
         // 获取组织信息
         CmApiOrganizePo organizePo = organizeMapper.getOrganizeByCmAccount(cmAccount);
         CmApiOrganizePo organizePo = organizeMapper.getOrganizeByCmAccount(cmAccount);
         if (null == organizePo) {
         if (null == organizePo) {
@@ -64,24 +65,28 @@ public class ProductServiceImpl implements ProductService {
         String productName = (String) productInfo.get("productName");
         String productName = (String) productInfo.get("productName");
         PageHelper.startPage(pageNum, pageSize);
         PageHelper.startPage(pageNum, pageSize);
         List<ProductVo> productList = productMapper.getProductList(organizePo.getOrganizeId(), productName);
         List<ProductVo> productList = productMapper.getProductList(organizePo.getOrganizeId(), productName);
-        List<ProductListVo> resultVoList = new ArrayList<>();
+        PageHelper.startPage(pageNum, pageSize);
+        List<ProductListVo> resultVoList = productMapper.getProductResultList(organizePo.getOrganizeId(), productName);
         DecimalFormat decimalFormat = new DecimalFormat("0000");
         DecimalFormat decimalFormat = new DecimalFormat("0000");
         for (ProductVo product : productList) {
         for (ProductVo product : productList) {
             setProductPrice(product);
             setProductPrice(product);
-            ProductListVo productResult = new ProductListVo();
-            productResult.setProductId(decimalFormat.format(product.getProductId()));
-            productResult.setProductName(product.getProductName());
-            productResult.setShopName(product.getShopName());
-            productResult.setImage(product.getMainImage());
-            productResult.setPrice(product.getRetailPrice());
-            productResult.setBrandName(product.getBrandName());
-            productResult.setMinBuyNumber(product.getMinBuyNumber());
-            productResult.setUnit(product.getUnit());
-            productResult.setLadderPriceFlag(product.getLadderPriceFlag());
-            productResult.setLadderPriceList(product.getLadderPriceList());
-            resultVoList.add(productResult);
+            for (ProductListVo productResult : resultVoList) {
+                if (product.getProductId().toString().equals(productResult.getProductId())) {
+                    productResult.setProductId(decimalFormat.format(product.getProductId()));
+                    productResult.setProductName(product.getProductName());
+                    productResult.setShopName(product.getShopName());
+                    productResult.setImage(product.getMainImage());
+                    productResult.setPrice(product.getRetailPrice());
+                    productResult.setBrandName(product.getBrandName());
+                    productResult.setMinBuyNumber(product.getMinBuyNumber());
+                    productResult.setUnit(product.getUnit());
+                    productResult.setLadderPriceFlag(product.getLadderPriceFlag());
+                    productResult.setLadderPriceList(product.getLadderPriceList());
+                }
+            }
         }
         }
-        return ResponseJson.success(resultVoList);
+        PageInfo<ProductListVo> pageInfo = new PageInfo<>(resultVoList);
+        return ResponseJson.success(pageInfo);
     }
     }
 
 
 
 

+ 13 - 0
src/main/resources/mapper/ProductMapper.xml

@@ -149,5 +149,18 @@
         WHERE
         WHERE
             orderID = #{orderID}
             orderID = #{orderID}
     </select>
     </select>
+    <select id="getProductResultList" resultType="com.caimei.model.vo.ProductListVo">
+        select
+        cop.id as productId
+        from cm_api_organize_product cop
+        left join product p on cop.productId = p.productID
+        left join cm_brand b on p.brandID = b.id
+        left join shop s on p.shopID = s.shopID
+        where cop.organizeId = #{organizeId} and cop.delFlag = 0 and cop.status = 1
+        <if test="productName != null and productName != ''">
+            and p.name like concat('%',#{productName},'%')
+        </if>
+        order by cop.id desc
+    </select>
 
 
 </mapper>
 </mapper>

+ 8 - 6
src/test/java/caimei/OpenApplicationTests.java

@@ -20,12 +20,14 @@ import java.util.UUID;
 
 
 @SpringBootTest
 @SpringBootTest
 public class OpenApplicationTests {
 public class OpenApplicationTests {
-
+    //本地
     //private String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDawyiPFWo4tSS1YX/mXTIGWghehyYfec2JeQFJONfLTOcyJ11RP+19E3QSn6JiclYbRM+Rzt/gvFOnVAyvZ6VUFkIZlMr9ykqB74crQs6pw4AY0lREscV8yk5QYEGPCv3I97A8Pm44ThWGuXQ1cjmxBk+zS4xR2Yu+jPZb65HsNwIDAQAB";
     //private String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDawyiPFWo4tSS1YX/mXTIGWghehyYfec2JeQFJONfLTOcyJ11RP+19E3QSn6JiclYbRM+Rzt/gvFOnVAyvZ6VUFkIZlMr9ykqB74crQs6pw4AY0lREscV8yk5QYEGPCv3I97A8Pm44ThWGuXQ1cjmxBk+zS4xR2Yu+jPZb65HsNwIDAQAB";
     private String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANrDKI8Vaji1JLVhf+ZdMgZaCF6HJh95zYl5AUk418tM5zInXVE/7X0TdBKfomJyVhtEz5HO3+C8U6dUDK9npVQWQhmUyv3KSoHvhytCzqnDgBjSVESxxXzKTlBgQY8K/cj3sDw+bjhOFYa5dDVyObEGT7NLjFHZi76M9lvrkew3AgMBAAECgYBFSyISyI6/7aj2By8zMfwBhQ03nAmYWMWhMQIWRnocPHzTJyLo9J3uS3Yt3ADcvCjINHCnV+cUUbMRwo7OFL+KH+NDeLBmv0b+oMoVeOhgJZWkpt+O4bA90+NrA4P3sPqPbJUG1fqtm+Ll8wTASrLxrwyiRn2VRCfwMRTqaTc9sQJBAPqvhe+Ler0dx82kXxr+gwOdRJLqYCqverP66obKRamOG0wF9Hj04fTgz0iwiQK/Jpvu4jfPg6fWyGvGq6lNFdkCQQDfZmMCOHowT9AS21VZYJVE+cBZjg2aP5XV1rXPnOi18cBaDwo8EIIO9gXPtk1GtMeuVf9esXNfSI8SI9GtTXiPAkEAl7UTXAVP8RUNrqCTwbVWuiA5uKNIMWzi1/q4ZXwRrmvGjzpnWa/w8o3+Q6I6OERP7DwkANx/c1ojDj478ogo+QJAfK3H1BVxHEVu+xcuKxOcO0Kn91MwhEW4ef+6uIP53JFvqNN8AsmzzGXCGIrF1hBO4R1dyJuAqEz2jEkxXGdAQQJBAKKFeQ6eiHzwWeiiuMG0Hge4gTPra4v4lHtxcFfqv3tlQ+7LVnw4+4YBMqXRoW+CbwCYhrvoaOqSYTq0xvkctGo=";
     private String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANrDKI8Vaji1JLVhf+ZdMgZaCF6HJh95zYl5AUk418tM5zInXVE/7X0TdBKfomJyVhtEz5HO3+C8U6dUDK9npVQWQhmUyv3KSoHvhytCzqnDgBjSVESxxXzKTlBgQY8K/cj3sDw+bjhOFYa5dDVyObEGT7NLjFHZi76M9lvrkew3AgMBAAECgYBFSyISyI6/7aj2By8zMfwBhQ03nAmYWMWhMQIWRnocPHzTJyLo9J3uS3Yt3ADcvCjINHCnV+cUUbMRwo7OFL+KH+NDeLBmv0b+oMoVeOhgJZWkpt+O4bA90+NrA4P3sPqPbJUG1fqtm+Ll8wTASrLxrwyiRn2VRCfwMRTqaTc9sQJBAPqvhe+Ler0dx82kXxr+gwOdRJLqYCqverP66obKRamOG0wF9Hj04fTgz0iwiQK/Jpvu4jfPg6fWyGvGq6lNFdkCQQDfZmMCOHowT9AS21VZYJVE+cBZjg2aP5XV1rXPnOi18cBaDwo8EIIO9gXPtk1GtMeuVf9esXNfSI8SI9GtTXiPAkEAl7UTXAVP8RUNrqCTwbVWuiA5uKNIMWzi1/q4ZXwRrmvGjzpnWa/w8o3+Q6I6OERP7DwkANx/c1ojDj478ogo+QJAfK3H1BVxHEVu+xcuKxOcO0Kn91MwhEW4ef+6uIP53JFvqNN8AsmzzGXCGIrF1hBO4R1dyJuAqEz2jEkxXGdAQQJBAKKFeQ6eiHzwWeiiuMG0Hge4gTPra4v4lHtxcFfqv3tlQ+7LVnw4+4YBMqXRoW+CbwCYhrvoaOqSYTq0xvkctGo=";
+    private String cmAccount = "AAD38EE44AC49124B18C089717ED10B0";
+
+    //测试
 //    private String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAICCSN7GK4wCYyT6uZttd69OHz+dZ+utyzgnDx2BOkX6bxTZ9YcTR42B7NcBpuAXQ51cZiBS7wUVl/Gb4ATu6s2xrGgCQ33JVwAJYsidbFLj7vq8YXGII6lnRFUfn+S2BUYU1Vti2FA7pzYaZ9/t1TMv83gjM/hEs9bdxazv52zTAgMBAAECgYAuKR5tzzdTOoRMgzdqqj6knOZCnpL2qF3oFLesPIAnJNcD4Wr9kyJPpUziyngb5J9oBgm1MLUk2WXT5s7oVr3GlO6B7Ei2Gl7lvYQCmBiIIRg4xa5wPn5T4cGCAPqOZ0LPLZSt7tOVUCiPo3oTQDxQoWbt9pS777GiMjiI7ZJDWQJBALXbDm4GWPRYqpyk7EB59vK1wrp7nv1yxUC8hH5hqpZIe/xy2Qhr79R/NI5YQ5A/+W2/7vQh3260Fjj8pXbntgcCQQC05zs1XI53qArMaJo2Ijzd2hmG3t/U0TTiCav0jDGv7tRsAypkwm/emAcoc81GvXEG0HEwWKguS4GoykGj1P/VAkAaySIt+IdfrjOrEOuvb4d9JmKBPzYi1KXTLDFDwDT1H8YLYAsxn1xa60Wddci11YZysOOMV/TmBGaFjEj+45A/AkBjTMIdam7xk5ZJ2ek8adLLXJrCg7iN00CaCwEOvZ3QmuKTX7F3mZtarkzPkbFOcVKHkQdwqFm4/81uX4dkbNj5AkEAiTQESAc0v/DaI89m97cD6bR3o7VMdmdhS+FDjmR0EKJYhsF7iWC2jehOz9GQH+26z7udh9XC7yHMviXYzt945A==";
 //    private String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAICCSN7GK4wCYyT6uZttd69OHz+dZ+utyzgnDx2BOkX6bxTZ9YcTR42B7NcBpuAXQ51cZiBS7wUVl/Gb4ATu6s2xrGgCQ33JVwAJYsidbFLj7vq8YXGII6lnRFUfn+S2BUYU1Vti2FA7pzYaZ9/t1TMv83gjM/hEs9bdxazv52zTAgMBAAECgYAuKR5tzzdTOoRMgzdqqj6knOZCnpL2qF3oFLesPIAnJNcD4Wr9kyJPpUziyngb5J9oBgm1MLUk2WXT5s7oVr3GlO6B7Ei2Gl7lvYQCmBiIIRg4xa5wPn5T4cGCAPqOZ0LPLZSt7tOVUCiPo3oTQDxQoWbt9pS777GiMjiI7ZJDWQJBALXbDm4GWPRYqpyk7EB59vK1wrp7nv1yxUC8hH5hqpZIe/xy2Qhr79R/NI5YQ5A/+W2/7vQh3260Fjj8pXbntgcCQQC05zs1XI53qArMaJo2Ijzd2hmG3t/U0TTiCav0jDGv7tRsAypkwm/emAcoc81GvXEG0HEwWKguS4GoykGj1P/VAkAaySIt+IdfrjOrEOuvb4d9JmKBPzYi1KXTLDFDwDT1H8YLYAsxn1xa60Wddci11YZysOOMV/TmBGaFjEj+45A/AkBjTMIdam7xk5ZJ2ek8adLLXJrCg7iN00CaCwEOvZ3QmuKTX7F3mZtarkzPkbFOcVKHkQdwqFm4/81uX4dkbNj5AkEAiTQESAc0v/DaI89m97cD6bR3o7VMdmdhS+FDjmR0EKJYhsF7iWC2jehOz9GQH+26z7udh9XC7yHMviXYzt945A==";
-    private String cmAccount = "A1F078B2B6DE43EC34071ED42EC6D359";
-//    private String cmAccount = "AAD38EE44AC49124B18C089717ED10B0";
+//    private String cmAccount = "A1F078B2B6DE43EC34071ED42EC6D359";
 
 
 
 
     @Test
     @Test
@@ -48,7 +50,7 @@ public class OpenApplicationTests {
     @Test
     @Test
     public void productDetail() throws Exception {
     public void productDetail() throws Exception {
         JSONObject json = new JSONObject();
         JSONObject json = new JSONObject();
-        json.put("productId", "0009");
+        json.put("productId", "0003");
         // 私钥签名
         // 私钥签名
         String sign = KeyUtils.buildSign(json, privateKey);
         String sign = KeyUtils.buildSign(json, privateKey);
         json.put("sign", sign);
         json.put("sign", sign);
@@ -63,7 +65,7 @@ public class OpenApplicationTests {
     @Test
     @Test
     public void orderSubmit() throws Exception {
     public void orderSubmit() throws Exception {
         JSONObject json = new JSONObject();
         JSONObject json = new JSONObject();
-        json.put("orderId", "cm8882");
+        json.put("orderId", "cm8883");
         json.put("notifyUrl", "https://open-b.caimei365.com/order/pay/callBack");
         json.put("notifyUrl", "https://open-b.caimei365.com/order/pay/callBack");
         JSONObject addressInfoMap =  new JSONObject();
         JSONObject addressInfoMap =  new JSONObject();
         addressInfoMap.put("provinceName", "广东省");
         addressInfoMap.put("provinceName", "广东省");
@@ -79,7 +81,7 @@ public class OpenApplicationTests {
 //        productInfoMap.put("0003", 4);
 //        productInfoMap.put("0003", 4);
         productInfoMap.put("0003", 2);
         productInfoMap.put("0003", 2);
         json.put("productInfo", productInfoMap);
         json.put("productInfo", productInfoMap);
-        json.put("orderShouldPayFee", new BigDecimal(600f).toString());
+        json.put("orderShouldPayFee", new BigDecimal(837f).toString());
         JSONObject orderInvoiceMap = new JSONObject();
         JSONObject orderInvoiceMap = new JSONObject();
         orderInvoiceMap.put("type", 2);
         orderInvoiceMap.put("type", 2);
         orderInvoiceMap.put("invoiceTitle", "单位名称");
         orderInvoiceMap.put("invoiceTitle", "单位名称");