为你推荐
This commit is contained in:
parent
f3bcd3aa0c
commit
795fbf721e
@ -39,13 +39,13 @@ spring:
|
|||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.jdbc.Driver
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
url: jdbc:mysql://127.0.0.1:3306/crmeb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
|
url: jdbc:mysql://127.0.0.1:3306/crmeb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
|
||||||
username: crmeb
|
username: zack
|
||||||
password: 111111
|
password: zack0430
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
host: 127.0.0.1 #地址
|
host: 127.0.0.1 #地址
|
||||||
port: 6379 #端口
|
port: 6379 #端口
|
||||||
password: 111111
|
password: hat123
|
||||||
timeout: 30000 # 连接超时时间(毫秒)
|
timeout: 30000 # 连接超时时间(毫秒)
|
||||||
database: 15 #默认数据库
|
database: 15 #默认数据库
|
||||||
jedis:
|
jedis:
|
||||||
|
|||||||
@ -1,17 +1,19 @@
|
|||||||
package com.zbkj.common.model.product;
|
package com.zbkj.common.model.product;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品表
|
* 商品表
|
||||||
* +----------------------------------------------------------------------
|
* +----------------------------------------------------------------------
|
||||||
@ -130,7 +132,8 @@ public class StoreProduct implements Serializable {
|
|||||||
@ApiModelProperty(value = "砍价状态 0未开启 1开启")
|
@ApiModelProperty(value = "砍价状态 0未开启 1开启")
|
||||||
private Boolean isBargain;
|
private Boolean isBargain;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否优品推荐")
|
//为你推荐使用该字段
|
||||||
|
@ApiModelProperty(value = "是否优品推荐 0false不推荐 1true推荐")
|
||||||
private Boolean isGood;
|
private Boolean isGood;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否单独分佣")
|
@ApiModelProperty(value = "是否单独分佣")
|
||||||
@ -166,4 +169,22 @@ public class StoreProduct implements Serializable {
|
|||||||
@ApiModelProperty(value = "商品详情")
|
@ApiModelProperty(value = "商品详情")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
//新增字段
|
||||||
|
@ApiModelProperty(value = "开始售卖时间")
|
||||||
|
private DateTime beginTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束售卖时间")
|
||||||
|
private DateTime endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "搜索状态:0=售卖中,1=上新预告,2=团购结束")
|
||||||
|
private String searchStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "水果规格")
|
||||||
|
private String size;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "水果尺寸")
|
||||||
|
private String dimensions;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
package com.zbkj.common.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 为你推荐分页查询
|
||||||
|
* @Author Administrator
|
||||||
|
* @Date 2025/4/28 11:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProductSuggestPage {
|
||||||
|
//当前页
|
||||||
|
private Long currentPage;
|
||||||
|
//页容
|
||||||
|
private Long pageSize;
|
||||||
|
//搜索词商品名
|
||||||
|
private String storeName;
|
||||||
|
}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
package com.zbkj.front.controller;
|
package com.zbkj.front.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.zbkj.common.model.product.StoreProduct;
|
import com.zbkj.common.model.product.StoreProduct;
|
||||||
import com.zbkj.common.page.CommonPage;
|
import com.zbkj.common.page.CommonPage;
|
||||||
import com.zbkj.common.request.PageParamRequest;
|
import com.zbkj.common.request.PageParamRequest;
|
||||||
@ -8,6 +9,7 @@ import com.zbkj.common.request.ProductListRequest;
|
|||||||
import com.zbkj.common.request.ProductRequest;
|
import com.zbkj.common.request.ProductRequest;
|
||||||
import com.zbkj.common.response.*;
|
import com.zbkj.common.response.*;
|
||||||
import com.zbkj.common.vo.CategoryTreeVo;
|
import com.zbkj.common.vo.CategoryTreeVo;
|
||||||
|
import com.zbkj.common.vo.ProductSuggestPage;
|
||||||
import com.zbkj.front.service.ProductService;
|
import com.zbkj.front.service.ProductService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
@ -42,11 +44,13 @@ public class ProductController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 为你推荐
|
* 为你推荐
|
||||||
|
* 参数暂定分页对象
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "热门商品推荐")
|
@ApiOperation(value = "为你推荐")
|
||||||
@RequestMapping(value = "/pageList/suggest", method = RequestMethod.GET)
|
@RequestMapping(value = "/pageList/suggest", method = RequestMethod.GET)
|
||||||
public CommonResult<CommonPage<IndexProductResponse>> getProductSuggestionList(@RequestParam String searchWord) {
|
public CommonResult<Object> getProductSuggestionList(ProductSuggestPage param) {
|
||||||
return CommonResult.success(productService.getProductSuggestionList(searchWord));
|
IPage<StoreProduct> list = productService.getProductSuggestionList(param);
|
||||||
|
return CommonResult.success(list,"查询成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,16 @@
|
|||||||
package com.zbkj.front.service;
|
package com.zbkj.front.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.zbkj.common.model.product.StoreProduct;
|
import com.zbkj.common.model.product.StoreProduct;
|
||||||
import com.zbkj.common.page.CommonPage;
|
import com.zbkj.common.page.CommonPage;
|
||||||
import com.zbkj.common.request.PageParamRequest;
|
import com.zbkj.common.request.PageParamRequest;
|
||||||
import com.zbkj.common.request.ProductListRequest;
|
import com.zbkj.common.request.ProductListRequest;
|
||||||
import com.zbkj.common.request.ProductRequest;
|
import com.zbkj.common.request.ProductRequest;
|
||||||
import com.github.pagehelper.PageInfo;
|
|
||||||
import com.zbkj.common.response.*;
|
import com.zbkj.common.response.*;
|
||||||
import com.zbkj.common.vo.CategoryTreeVo;
|
import com.zbkj.common.vo.CategoryTreeVo;
|
||||||
|
import com.zbkj.common.vo.ProductSuggestPage;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -23,7 +26,14 @@ import java.util.List;
|
|||||||
* | Author: CRMEB Team <admin@crmeb.com>
|
* | Author: CRMEB Team <admin@crmeb.com>
|
||||||
* +----------------------------------------------------------------------
|
* +----------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
public interface ProductService {
|
public interface ProductService extends IService<StoreProduct> {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 为你推荐
|
||||||
|
* @return List
|
||||||
|
*/
|
||||||
|
//为你推荐
|
||||||
|
IPage<StoreProduct> getProductSuggestionList(ProductSuggestPage param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品分类
|
* 商品分类
|
||||||
@ -104,10 +114,5 @@ public interface ProductService {
|
|||||||
*/
|
*/
|
||||||
List<StoreProduct> getLeaderboard();
|
List<StoreProduct> getLeaderboard();
|
||||||
|
|
||||||
/**
|
|
||||||
* !!!wby cc!!!
|
|
||||||
* 为你推荐
|
|
||||||
* @return List
|
|
||||||
*/
|
|
||||||
CommonPage<IndexProductResponse> getProductSuggestionList(String searchWord);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,11 +3,13 @@ package com.zbkj.front.service.impl;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.zbkj.common.constants.CategoryConstants;
|
import com.zbkj.common.constants.CategoryConstants;
|
||||||
import com.zbkj.common.constants.Constants;
|
import com.zbkj.common.constants.Constants;
|
||||||
import com.zbkj.common.constants.RedisConstatns;
|
|
||||||
import com.zbkj.common.constants.SysConfigConstants;
|
import com.zbkj.common.constants.SysConfigConstants;
|
||||||
import com.zbkj.common.model.product.StoreProduct;
|
import com.zbkj.common.model.product.StoreProduct;
|
||||||
import com.zbkj.common.model.product.StoreProductAttr;
|
import com.zbkj.common.model.product.StoreProductAttr;
|
||||||
@ -24,9 +26,12 @@ import com.zbkj.common.utils.CrmebUtil;
|
|||||||
import com.zbkj.common.utils.RedisUtil;
|
import com.zbkj.common.utils.RedisUtil;
|
||||||
import com.zbkj.common.vo.CategoryTreeVo;
|
import com.zbkj.common.vo.CategoryTreeVo;
|
||||||
import com.zbkj.common.vo.MyRecord;
|
import com.zbkj.common.vo.MyRecord;
|
||||||
|
import com.zbkj.common.vo.ProductSuggestPage;
|
||||||
import com.zbkj.front.service.ProductService;
|
import com.zbkj.front.service.ProductService;
|
||||||
|
import com.zbkj.service.dao.StoreProductDao;
|
||||||
import com.zbkj.service.delete.ProductUtils;
|
import com.zbkj.service.delete.ProductUtils;
|
||||||
import com.zbkj.service.service.*;
|
import com.zbkj.service.service.*;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -50,7 +55,7 @@ import java.util.List;
|
|||||||
* +----------------------------------------------------------------------
|
* +----------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProductServiceImpl implements ProductService {
|
public class ProductServiceImpl extends ServiceImpl<StoreProductDao,StoreProduct> implements ProductService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private StoreProductService storeProductService;
|
private StoreProductService storeProductService;
|
||||||
@ -91,6 +96,24 @@ public class ProductServiceImpl implements ProductService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserVisitRecordService userVisitRecordService;
|
private UserVisitRecordService userVisitRecordService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 为你推荐
|
||||||
|
* @return List
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<StoreProduct> getProductSuggestionList(ProductSuggestPage param) {
|
||||||
|
//分页查询
|
||||||
|
IPage<StoreProduct> page = new Page<>(param.getCurrentPage(), param.getPageSize());
|
||||||
|
//构造查询条件
|
||||||
|
QueryWrapper<StoreProduct> query = new QueryWrapper<>();
|
||||||
|
if(StringUtils.isNotEmpty(param.getStoreName())){
|
||||||
|
query.lambda().like(StoreProduct::getStoreName, param.getStoreName());
|
||||||
|
}
|
||||||
|
//按照上架时间降序排列
|
||||||
|
query.lambda().orderByDesc(StoreProduct::getBeginTime);
|
||||||
|
return this.baseMapper.selectPage(page, query);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取分类
|
* 获取分类
|
||||||
* @return List<CategoryTreeVo>
|
* @return List<CategoryTreeVo>
|
||||||
@ -538,5 +561,8 @@ public class ProductServiceImpl implements ProductService {
|
|||||||
return storeProductService.getLeaderboard();
|
return storeProductService.getLeaderboard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,12 +34,12 @@ spring:
|
|||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.jdbc.Driver
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
url: jdbc:mysql://127.0.0.1:3306/crmeb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
|
url: jdbc:mysql://127.0.0.1:3306/crmeb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
|
||||||
username: crmeb
|
username: zack
|
||||||
password: 111111
|
password: zack0430
|
||||||
redis:
|
redis:
|
||||||
host: 127.0.0.1 #地址
|
host: 127.0.0.1 #地址
|
||||||
port: 6379 #端口
|
port: 6379 #端口
|
||||||
password: 111111
|
password: hat123
|
||||||
timeout: 30000 # 连接超时时间(毫秒)
|
timeout: 30000 # 连接超时时间(毫秒)
|
||||||
database: 3 #默认数据库
|
database: 3 #默认数据库
|
||||||
jedis:
|
jedis:
|
||||||
|
|||||||
@ -1,7 +1,10 @@
|
|||||||
package com.zbkj.service.dao;
|
package com.zbkj.service.dao;
|
||||||
|
|
||||||
import com.zbkj.common.model.product.StoreProduct;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.zbkj.common.model.product.StoreProduct;
|
||||||
|
import com.zbkj.common.vo.ProductSuggestPage;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品表 Mapper 接口
|
* 商品表 Mapper 接口
|
||||||
@ -16,5 +19,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
* +----------------------------------------------------------------------
|
* +----------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
public interface StoreProductDao extends BaseMapper<StoreProduct> {
|
public interface StoreProductDao extends BaseMapper<StoreProduct> {
|
||||||
|
/*
|
||||||
|
* 为你推荐
|
||||||
|
* @return List
|
||||||
|
*/
|
||||||
|
//为你推荐
|
||||||
|
IPage<StoreProduct> getProductSuggestionList(IPage<StoreProduct> page,@Param("parm") ProductSuggestPage param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,4 +2,12 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.zbkj.service.dao.StoreProductDao">
|
<mapper namespace="com.zbkj.service.dao.StoreProductDao">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getProductSuggestionList" resultType="com.zbkj.common.model.product.StoreProduct">
|
||||||
|
select p.* from crmeb.eb_store_product as p
|
||||||
|
where is_good = true and search_status = '0' and stock > 0
|
||||||
|
<if test="param.storeName != '' and param.storeName != null">
|
||||||
|
and p.store_name like CONCAT('%',#{param.storeName},'%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user