From 47e36c9cc47a8b6fecad3148e560f899e8955b61 Mon Sep 17 00:00:00 2001 From: Caps <279205343@qq.com> Date: Mon, 23 Dec 2019 20:23:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=95=86=E5=93=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hxtec/polaris/PolarisApplication.java | 1 - ...archSkuInfo.java => PmsSearchSpuInfo.java} | 30 +++++---- .../controller/CategoryController.java | 1 - .../controller/ProductManageController.java | 42 +++++-------- .../polaris/mapper/ShopProductBaseMapper.java | 5 +- .../hxtec/polaris/service/SearchService.java | 6 +- .../service/impl/ProductBaseServiceImpl.java | 7 +-- .../service/impl/SearchServiceImpl.java | 2 + .../mapper/ShopProductBaseMapper.xml | 21 ++++++- .../polaris/service/elasticSearchTest.java | 46 +++++--------- .../com/hxtec/polaris/service/redisTest.java | 63 +++++++++++++++++++ 11 files changed, 141 insertions(+), 83 deletions(-) rename src/main/java/com/hxtec/polaris/commons/dto/{PmsSearchSkuInfo.java => PmsSearchSpuInfo.java} (32%) create mode 100644 src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/redisTest.java diff --git a/src/main/java/com/hxtec/polaris/PolarisApplication.java b/src/main/java/com/hxtec/polaris/PolarisApplication.java index d49865f..9b0870a 100644 --- a/src/main/java/com/hxtec/polaris/PolarisApplication.java +++ b/src/main/java/com/hxtec/polaris/PolarisApplication.java @@ -17,7 +17,6 @@ import tk.mybatis.spring.annotation.MapperScan; @EnableCaching @EnableJpaAuditing @EnableScheduling -@EnableAutoConfiguration public class PolarisApplication { public static void main(String[] args) { diff --git a/src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSkuInfo.java b/src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSpuInfo.java similarity index 32% rename from src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSkuInfo.java rename to src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSpuInfo.java index b6ce774..4dc4000 100644 --- a/src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSkuInfo.java +++ b/src/main/java/com/hxtec/polaris/commons/dto/PmsSearchSpuInfo.java @@ -1,24 +1,22 @@ package com.hxtec.polaris.commons.dto; -import com.hxtec.polaris.entity.ShopProductVariantAttrValue; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; -import javax.persistence.Id; import java.io.Serializable; -import java.math.BigDecimal; -import java.sql.Timestamp; -import java.util.List; @Data -public class PmsSearchSkuInfo implements Serializable{ - private long sku; - private String skuName; - private String description; - private String categoryId; - private BigDecimal price; - private String image; +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PmsSearchSpuInfo implements Serializable{ + private String sku; private String spu; - private double hotScore; - private Double weight; - private List skuSaleAttrValueList; - + private String price; + private String image; + private String categoryId; + private String weight; + private String skuName; + private String lock; } diff --git a/src/main/java/com/hxtec/polaris/controller/CategoryController.java b/src/main/java/com/hxtec/polaris/controller/CategoryController.java index 932eb95..1fa9fd1 100644 --- a/src/main/java/com/hxtec/polaris/controller/CategoryController.java +++ b/src/main/java/com/hxtec/polaris/controller/CategoryController.java @@ -1,6 +1,5 @@ package com.hxtec.polaris.controller; -import com.hxtec.polaris.entity.ShopCategory; import com.hxtec.polaris.service.CategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/src/main/java/com/hxtec/polaris/controller/ProductManageController.java b/src/main/java/com/hxtec/polaris/controller/ProductManageController.java index 49d806a..10c2f67 100644 --- a/src/main/java/com/hxtec/polaris/controller/ProductManageController.java +++ b/src/main/java/com/hxtec/polaris/controller/ProductManageController.java @@ -1,32 +1,25 @@ package com.hxtec.polaris.controller; -import com.hxtec.polaris.commons.MapperUtils; import com.hxtec.polaris.commons.api.vo.Result; import com.hxtec.polaris.entity.*; import com.hxtec.polaris.service.CategoryService; import com.hxtec.polaris.service.ProductBaseService; import com.hxtec.polaris.service.ProductService; -import com.hxtec.polaris.service.StockService; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * @author Caps.Xia */ @RestController -@RequestMapping("product") +@RequestMapping("productManage") @CrossOrigin -@Api(value = "/product", tags = "商品详情") +@Api(value = "/productManage", tags = "商品管理") public class ProductManageController { private final ProductService skuService; @@ -40,7 +33,6 @@ public class ProductManageController { this.spuService = spuService; } - @ApiOperation(value="保存商品信息", notes="商保存商品信息") @PostMapping("saveSkuInfo") public Result saveSkuInfo(@RequestBody ShopProductVariant skuInfo){ @@ -55,28 +47,28 @@ public class ProductManageController { @GetMapping("spuSaleAttrList") @ResponseBody - public List spuSaleAttrList(Integer spuId){ + public Result spuSaleAttrList(Integer spuId){ List pmsProductSaleAttrs = spuService.spuSaleAttrList(spuId); - return pmsProductSaleAttrs; + return Result.ok(pmsProductSaleAttrs); } - @RequestMapping("saveSpuInfo") + @PostMapping("saveSpuInfo") @ResponseBody - public String saveSpuInfo(@RequestBody ShopProductBase pmsProductInfo){ + public Result saveSpuInfo(@RequestBody ShopProductBase pmsProductInfo){ spuService.saveSpuInfo(pmsProductInfo); - return "success"; + return Result.ok("success"); } - @RequestMapping("spuList") + @GetMapping("spuList") @ResponseBody - public List spuList(String catalogId){ + public Result spuList(String catalogId){ List pmsProductInfos = spuService.spuList(catalogId); - return pmsProductInfos; + return Result.ok(pmsProductInfos); } @@ -86,12 +78,12 @@ public class ProductManageController { * @return */ @ApiOperation("根据二级分类获取三级分类") - @GetMapping("catalog2Id") + @GetMapping("getCatalog3") @ResponseBody - public List getCatalog3(String catalog2Id){ + public Result getCatalog3(String catalog2Id){ List catalog3s = categoryService.getCatalog3(catalog2Id); - return catalog3s; + return Result.ok(catalog3s); } @@ -103,10 +95,10 @@ public class ProductManageController { @ApiOperation("根据一级分类获取二级分类") @GetMapping("getCatalog2") @ResponseBody - public List getCatalog2(String catalog1Id){ + public Result getCatalog2(String catalog1Id){ List catalog2s = categoryService.getCatalog2(catalog1Id); - return catalog2s; + return Result.ok(catalog2s); } /** @@ -116,10 +108,10 @@ public class ProductManageController { @ApiOperation("获取一级分类") @GetMapping("getCatalog1") @ResponseBody - public List getCatalog1(){ + public Result getCatalog1(){ List catalog1s = categoryService.getCatalog1(); - return catalog1s; + return Result.ok(catalog1s); } } diff --git a/src/main/java/com/hxtec/polaris/mapper/ShopProductBaseMapper.java b/src/main/java/com/hxtec/polaris/mapper/ShopProductBaseMapper.java index 6989d05..189d712 100644 --- a/src/main/java/com/hxtec/polaris/mapper/ShopProductBaseMapper.java +++ b/src/main/java/com/hxtec/polaris/mapper/ShopProductBaseMapper.java @@ -1,5 +1,6 @@ package com.hxtec.polaris.mapper; +import com.hxtec.polaris.commons.dto.PmsSearchSpuInfo; import com.hxtec.polaris.entity.ShopProductBase; import org.apache.ibatis.annotations.Param;import tk.mybatis.mapper.MyMapper;import java.util.List;import java.util.Map; @@ -53,4 +54,6 @@ public interface ShopProductBaseMapper extends MyMapper { * @return */ List> getTargrtGroupGoodsCount(@Param("start") Integer start, @Param("rows") Integer rows, @Param("cid") String cid, @Param("order") String order); -} \ No newline at end of file + + List getSpuInfo(); +} diff --git a/src/main/java/com/hxtec/polaris/service/SearchService.java b/src/main/java/com/hxtec/polaris/service/SearchService.java index a79f8ef..bcfe645 100644 --- a/src/main/java/com/hxtec/polaris/service/SearchService.java +++ b/src/main/java/com/hxtec/polaris/service/SearchService.java @@ -1,3 +1,4 @@ +/* package com.hxtec.polaris.service; import com.hxtec.polaris.commons.dto.PmsSearchParam; @@ -5,10 +6,13 @@ import com.hxtec.polaris.commons.dto.PmsSearchSkuInfo; import java.util.List; +*/ /** * @author Caps * @date 2019/12/5 - */ + *//* + public interface SearchService { List list(PmsSearchParam pmsSearchParam); } +*/ diff --git a/src/main/java/com/hxtec/polaris/service/impl/ProductBaseServiceImpl.java b/src/main/java/com/hxtec/polaris/service/impl/ProductBaseServiceImpl.java index 2426058..640f589 100644 --- a/src/main/java/com/hxtec/polaris/service/impl/ProductBaseServiceImpl.java +++ b/src/main/java/com/hxtec/polaris/service/impl/ProductBaseServiceImpl.java @@ -1,14 +1,10 @@ package com.hxtec.polaris.service.impl; -import com.hxtec.polaris.entity.ShopProductBase; -import com.hxtec.polaris.entity.ShopProductSaleAttr; -import com.hxtec.polaris.entity.ShopProductSaleAttrValue; -import com.hxtec.polaris.entity.ShopProductVariant; +import com.hxtec.polaris.entity.*; import com.hxtec.polaris.mapper.ShopProductBaseMapper; import com.hxtec.polaris.mapper.ShopProductSaleAttrMapper; import com.hxtec.polaris.mapper.ShopProductSaleAttrValueMapper; import com.hxtec.polaris.service.ProductBaseService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; @@ -22,6 +18,7 @@ public class ProductBaseServiceImpl implements ProductBaseService { private final ShopProductSaleAttrValueMapper productSaleAttrValueMapper; + public ProductBaseServiceImpl(ShopProductBaseMapper spuMapper, ShopProductSaleAttrMapper productSaleAttrMapper, ShopProductSaleAttrValueMapper productSaleAttrValueMapper) { this.spuMapper = spuMapper; this.productSaleAttrMapper = productSaleAttrMapper; diff --git a/src/main/java/com/hxtec/polaris/service/impl/SearchServiceImpl.java b/src/main/java/com/hxtec/polaris/service/impl/SearchServiceImpl.java index c6e89ec..e060090 100644 --- a/src/main/java/com/hxtec/polaris/service/impl/SearchServiceImpl.java +++ b/src/main/java/com/hxtec/polaris/service/impl/SearchServiceImpl.java @@ -1,3 +1,4 @@ +/* package com.hxtec.polaris.service.impl; import com.hxtec.polaris.commons.dto.PmsSearchParam; @@ -115,3 +116,4 @@ public class SearchServiceImpl implements SearchService { } } +*/ diff --git a/src/main/resources/mapper/ShopProductBaseMapper.xml b/src/main/resources/mapper/ShopProductBaseMapper.xml index 8d1f0ed..e06eee5 100644 --- a/src/main/resources/mapper/ShopProductBaseMapper.xml +++ b/src/main/resources/mapper/ShopProductBaseMapper.xml @@ -14,9 +14,15 @@ + + + + + + - spu, category_id, `name`, detail, create_time, update_time, weight, comment1, comment2, + spu, category_id, `name`, detail, create_time, update_time, weight, comment1, comment2, comment3 @@ -165,4 +171,15 @@ pb.weight desc - \ No newline at end of file + + + + diff --git a/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/elasticSearchTest.java b/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/elasticSearchTest.java index 2d988c3..ba96c8e 100644 --- a/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/elasticSearchTest.java +++ b/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/elasticSearchTest.java @@ -1,7 +1,9 @@ package com.hxtec.polaris.com.hxtec.polaris.service; -import com.hxtec.polaris.commons.dto.PmsSearchSkuInfo; +import com.hxtec.polaris.commons.dto.PmsSearchSpuInfo; +import com.hxtec.polaris.entity.ShopProductBase; import com.hxtec.polaris.entity.ShopProductVariant; +import com.hxtec.polaris.mapper.ShopProductBaseMapper; import com.hxtec.polaris.mapper.ShopProductVariantMapper; import io.searchbox.client.JestClient; import io.searchbox.core.Index; @@ -32,8 +34,8 @@ public class elasticSearchTest { @Autowired private JestClient jestClient; - @Resource - private ShopProductVariantMapper shopProductVariantMapper; + @Autowired + private ShopProductBaseMapper spuMapper; @Test public void contextLoads() throws IOException { @@ -43,27 +45,12 @@ public class elasticSearchTest { public void put() throws IOException { // 查询mysql数据 - List pmsSkuInfoList = new ArrayList<>(); - - pmsSkuInfoList = shopProductVariantMapper.selectAll(); - - // 转化为es的数据结构 - List pmsSearchSkuInfos = new ArrayList<>(); - - for (ShopProductVariant pmsSkuInfo : pmsSkuInfoList) { - PmsSearchSkuInfo pmsSearchSkuInfo = new PmsSearchSkuInfo(); - - BeanUtils.copyProperties(pmsSkuInfo,pmsSearchSkuInfo); + List pmsSpuInfoList = spuMapper.getSpuInfo(); - pmsSearchSkuInfo.setSku(pmsSkuInfo.getSku()); - - pmsSearchSkuInfos.add(pmsSearchSkuInfo); - - } // 导入es - for (PmsSearchSkuInfo pmsSearchSkuInfo : pmsSearchSkuInfos) { - Index put = new Index.Builder(pmsSearchSkuInfo).index("hxtec").type("PmsSkuInfo").id(pmsSearchSkuInfo.getSku()+"").build(); + for (PmsSearchSpuInfo pmsSearchSkuInfo : pmsSpuInfoList) { + Index put = new Index.Builder(pmsSearchSkuInfo).index("hxtec").type("PmsSkuInfo").id(pmsSearchSkuInfo.getSpu()+"").build(); jestClient.execute(put); } @@ -71,18 +58,15 @@ public class elasticSearchTest { - @Test + /* @Test public void get() throws IOException { // jest的dsl工具 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); // bool BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); - // filter - TermQueryBuilder termQueryBuilder = new TermQueryBuilder("skuAttrValueList.valueId","1"); - boolQueryBuilder.filter(termQueryBuilder); // must - MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("attributeName","女"); + MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("spu","女"); boolQueryBuilder.must(matchQueryBuilder); // query searchSourceBuilder.query(boolQueryBuilder); @@ -99,20 +83,20 @@ public class elasticSearchTest { // 用api执行复杂查询 - List pmsSearchSkuInfos = new ArrayList<>(); + List pmsSearchSkuInfos = new ArrayList<>(); Search search = new Search.Builder(dslStr).addIndex("hxtec").addType("PmsSkuInfo").build(); SearchResult execute = jestClient.execute(search); - List> hits = execute.getHits(PmsSearchSkuInfo.class); + List> hits = execute.getHits(PmsSearchSpuInfo.class); - for (SearchResult.Hit hit : hits) { - PmsSearchSkuInfo source = hit.source; + for (SearchResult.Hit hit : hits) { + PmsSearchSpuInfo source = hit.source; pmsSearchSkuInfos.add(source); } System.out.println(pmsSearchSkuInfos.size()); - } + }*/ } diff --git a/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/redisTest.java b/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/redisTest.java new file mode 100644 index 0000000..f983fa2 --- /dev/null +++ b/src/test/java/com/hxtec/polaris/com/hxtec/polaris/service/redisTest.java @@ -0,0 +1,63 @@ +package com.hxtec.polaris.com.hxtec.polaris.service; + +import com.hxtec.polaris.PolarisApplication; +import com.hxtec.polaris.entity.ShopProductSaleAttr; +import com.hxtec.polaris.mapper.ShopProductBaseMapper; +import com.hxtec.polaris.mapper.ShopProductSaleAttrMapper; +import com.hxtec.polaris.mapper.ShopProductVariantMapper; +import com.hxtec.polaris.service.GoodService; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; +import java.time.Duration; +import java.time.Instant; +import java.util.List; +import java.util.Map; + +/** + * @Describtion Todo + * @Author yonyong + * @Date 2019/11/12 15:35 + * @Version 1.0.0 + **/ +@SpringBootTest +@RunWith(SpringRunner.class) +public class redisTest { + @Autowired + private ShopProductSaleAttrMapper productSaleAttr; + + @Autowired + private RedisTemplate redisTemplate; + + @Before + public void insertData(){ + List shopProductSaleAttrs = productSaleAttr.selectSpuSaleAttrListCheckBySku(1, 1); + redisTemplate.opsForValue().set("pdpInfo",shopProductSaleAttrs); + } + + @Test + public void testDb(){ + Instant Inst1 = Instant.now(); + for(int i=0;i<1000;i++){ + productSaleAttr.selectSpuSaleAttrListCheckBySku(1, 1); + } + Instant Inst2 = Instant.now(); + System.out.println(Duration.between(Inst1, Inst2).toMillis()); + } + + @Test + public void testRedis(){ + Instant Inst1 = Instant.now(); + for(int i=0;i<1000;i++){ + redisTemplate.opsForValue().get("pdpInfo"); + } + Instant Inst2 = Instant.now(); + System.out.println(Duration.between(Inst1, Inst2).toMillis()); + } +} -- Gitee From 33f2765bd01e561fa0a473c61bd8dd0104d623f2 Mon Sep 17 00:00:00 2001 From: Caps <279205343@qq.com> Date: Mon, 23 Dec 2019 20:35:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/hxtec/polaris/PolarisApplication.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/hxtec/polaris/PolarisApplication.java b/src/main/java/com/hxtec/polaris/PolarisApplication.java index 9b0870a..d49865f 100644 --- a/src/main/java/com/hxtec/polaris/PolarisApplication.java +++ b/src/main/java/com/hxtec/polaris/PolarisApplication.java @@ -17,6 +17,7 @@ import tk.mybatis.spring.annotation.MapperScan; @EnableCaching @EnableJpaAuditing @EnableScheduling +@EnableAutoConfiguration public class PolarisApplication { public static void main(String[] args) { -- Gitee