diff --git a/src/main/java/com/hxtec/polaris/PolarisApplication.java b/src/main/java/com/hxtec/polaris/PolarisApplication.java index d49865f87a50260a859234ee9d1231c06313cbd5..9b0870a72f43d965946087c428f6739b93f67a7c 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 b6ce7744e316715a71824ef807ef0a34b26f839d..4dc40003f0d9221ac35f5abc6769c4eccf33985e 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/config/ResourceServerConfiguration.java b/src/main/java/com/hxtec/polaris/config/ResourceServerConfiguration.java index 094fb04e9cc556db66618a201a351cf0cd761615..7ae10dafb0c81a413833f0f2d3c4a7c1fdecbfe5 100644 --- a/src/main/java/com/hxtec/polaris/config/ResourceServerConfiguration.java +++ b/src/main/java/com/hxtec/polaris/config/ResourceServerConfiguration.java @@ -18,4 +18,4 @@ public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter .antMatchers("/category", "/goods", "/product","/address").authenticated() .antMatchers("/user").hasAnyAuthority("user"); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hxtec/polaris/controller/CategoryController.java b/src/main/java/com/hxtec/polaris/controller/CategoryController.java index 932eb95c2b22dab6be865804c4bac47b0bb82241..1fa9fd18195bb9d4e0cccd94317d29e43f900573 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 7dc1940ae5a90bc47246df37631d987e98d3e555..10c2f6710672d320ca65c54c76ac29d81bf19920 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("productm") +@RequestMapping("productManage") @CrossOrigin -@Api(value = "/productm", 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 6989d05491c6ef64096c6affcb543909fdda704e..189d7127c6db95a399e01ee429e11d498da52aba 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 a79f8ef9763df74fb1a0994342823aad62961842..bcfe645f8aae7351448248550521b3c771028462 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 2426058b06e512a8bcf07b5090bdfb1c46a76f7a..640f5897f426996744422fe63b8cebc2f3e61a57 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 c6e89ecdda20c3d16c6da6aa04bdd685166d21d2..e0600903246c673d4ed287e270a9a214e2e86b07 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 8d1f0edef0cd19b86e6a7f6d35ca2970d8f144d6..e06eee507a09dd355c421fc34ca3512c5ea67660 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 2d988c3ce7465fafca7877a815f79b0beb847759..ba96c8e78ef39f3285b51964c164c1d0199d39fe 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 0000000000000000000000000000000000000000..f983fa299d84280c10f2dcdd10f97d57f2ad83fd --- /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()); + } +}