Search in sources :

Example 6 with Goods

use of com.wayn.common.core.domain.shop.Goods in project waynboot-mall by wayn111.

the class DiamondController method getGoodsList.

@GetMapping("getGoodsList")
public R getGoodsList(Long diamondId) {
    Page<Goods> page = getPage();
    Diamond diamond = iDiamondService.getById(diamondId);
    DiamondJumpType diamondJumpType = diamondJumpContext.getInstance(diamond.getJumpType());
    List<Goods> goods = diamondJumpType.getGoods(page, diamond);
    return R.success().add("diamond", diamond).add("goods", goods);
}
Also used : DiamondJumpType(com.wayn.mobile.design.strategy.strategy.DiamondJumpType) Goods(com.wayn.common.core.domain.shop.Goods) Diamond(com.wayn.common.core.domain.shop.Diamond) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 7 with Goods

use of com.wayn.common.core.domain.shop.Goods in project waynboot-mall by wayn111.

the class GoodsController method syncEs.

@PostMapping("syncEs")
public R syncEs() {
    if (redisCache.getCacheObject(SysConstants.ES_GOODS_INDEX_KEY) != null) {
        return R.error(ReturnCodeEnum.CUSTOM_ERROR.setMsg("正在同步,请稍等"));
    }
    boolean flag = false;
    redisCache.setCacheObject(SysConstants.ES_GOODS_INDEX_KEY, true, 3, TimeUnit.MINUTES);
    try {
        elasticDocument.deleteIndex(SysConstants.ES_GOODS_INDEX);
        InputStream inputStream = this.getClass().getResourceAsStream(SysConstants.ES_INDEX_GOODS_FILENAME);
        if (elasticDocument.createIndex(SysConstants.ES_GOODS_INDEX, FileUtils.getContent(inputStream))) {
            List<Goods> list = iGoodsService.list();
            List<ElasticEntity> entities = new ArrayList<>();
            for (Goods goods : list) {
                ElasticEntity elasticEntity = new ElasticEntity();
                Map<String, Object> map = new HashMap<>();
                elasticEntity.setId(goods.getId().toString());
                map.put("id", goods.getId());
                map.put("name", goods.getName());
                map.put("sales", goods.getActualSales() + goods.getVirtualSales());
                map.put("isHot", goods.getIsHot());
                map.put("isNew", goods.getIsNew());
                map.put("countPrice", goods.getCounterPrice());
                map.put("retailPrice", goods.getRetailPrice());
                map.put("keyword", goods.getKeywords().split(","));
                map.put("isOnSale", goods.getIsOnSale());
                map.put("createTime", goods.getCreateTime());
                elasticEntity.setData(map);
                entities.add(elasticEntity);
            }
            flag = elasticDocument.insertBatch("goods", entities);
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    } finally {
        redisCache.deleteObject(SysConstants.ES_GOODS_INDEX_KEY);
    }
    return R.result(flag);
}
Also used : HashMap(java.util.HashMap) InputStream(java.io.InputStream) ArrayList(java.util.ArrayList) ElasticEntity(com.wayn.data.elastic.manager.ElasticEntity) Goods(com.wayn.common.core.domain.shop.Goods) IOException(java.io.IOException)

Aggregations

Goods (com.wayn.common.core.domain.shop.Goods)7 R (com.wayn.common.util.R)4 GetMapping (org.springframework.web.bind.annotation.GetMapping)4 JSONObject (com.alibaba.fastjson.JSONObject)2 QueryWrapper (com.baomidou.mybatisplus.core.conditions.query.QueryWrapper)2 IPage (com.baomidou.mybatisplus.core.metadata.IPage)2 Page (com.baomidou.mybatisplus.extension.plugins.pagination.Page)2 GoodsProduct (com.wayn.common.core.domain.shop.GoodsProduct)2 IGoodsService (com.wayn.common.core.service.shop.IGoodsService)2 Cart (com.wayn.mobile.api.domain.Cart)2 MobileSecurityUtils (com.wayn.mobile.framework.security.util.MobileSecurityUtils)2 IOException (java.io.IOException)2 LocalDateTime (java.time.LocalDateTime)2 Collectors (java.util.stream.Collectors)2 CollectionUtils (org.apache.commons.collections4.CollectionUtils)2 StringUtils (org.apache.commons.lang3.StringUtils)2 JSONArray (com.alibaba.fastjson.JSONArray)1 Wrappers (com.baomidou.mybatisplus.core.toolkit.Wrappers)1 ServiceImpl (com.baomidou.mybatisplus.extension.service.impl.ServiceImpl)1 BaseController (com.wayn.common.base.controller.BaseController)1