From 14afc9a83c7c46aa93ae1dbc26df499cbc390da6 Mon Sep 17 00:00:00 2001 From: tangzh Date: Fri, 21 Mar 2025 18:06:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zbkj/admin/config/WebConfig.java | 4 +- .../zbkj/admin/config/WebSecurityConfig.java | 1 + .../SystemAttachmentController.java | 2 +- .../com/zbkj/common/constants/Constants.java | 7 +-- .../java/com/zbkj/common/model/home/Home.java | 12 ++--- .../home/{HomeProducts.java => HomeItem.java} | 26 +++++++--- .../common/request/CategorySearchRequest.java | 4 +- ...orProRequest.java => FloorProRequest.java} | 10 ++-- .../com/zbkj/common/request/FloorRequest.java | 39 ++++++++++++++ .../common/request/SetMealFloorRequest.java | 25 --------- .../request/StoreProductAddRequest.java | 1 + .../common/response/IndexProductResponse.java | 7 +++ .../response/StoreProductInfoResponse.java | 3 ++ .../{HomeProductVo.java => HomeItemVo.java} | 29 ++++++++--- .../main/java/com/zbkj/common/vo/HomeVo.java | 26 ++++------ .../zbkj/front/controller/HomeController.java | 26 +++++----- .../service/impl/ProductServiceImpl.java | 39 +++++++++----- .../java/com/zbkj/service/dao/HomeDao.java | 6 +-- .../com/zbkj/service/dao/HomeItemDao.java | 13 +++++ .../com/zbkj/service/dao/HomeProductsDao.java | 13 ----- .../service/EbHomeProductsService.java | 10 ---- .../zbkj/service/service/EbHomeService.java | 12 ++--- .../impl/EbHomeProductsServiceImpl.java | 12 ----- .../service/impl/EbHomeServiceImpl.java | 51 ++++++++++--------- .../service/impl/StoreCartServiceImpl.java | 17 +++---- .../service/impl/StoreProductServiceImpl.java | 2 + .../impl/SystemAttachmentServiceImpl.java | 4 +- .../resources/mapper/home/HomeItemMapper.xml | 9 ++++ .../main/resources/mapper/home/HomeMapper.xml | 32 ++++++------ .../mapper/home/HomeProductMapper.xml | 9 ---- 30 files changed, 247 insertions(+), 204 deletions(-) rename food-common/src/main/java/com/zbkj/common/model/home/{HomeProducts.java => HomeItem.java} (66%) rename food-common/src/main/java/com/zbkj/common/request/{SetMealFloorProRequest.java => FloorProRequest.java} (56%) create mode 100644 food-common/src/main/java/com/zbkj/common/request/FloorRequest.java delete mode 100644 food-common/src/main/java/com/zbkj/common/request/SetMealFloorRequest.java rename food-common/src/main/java/com/zbkj/common/vo/{HomeProductVo.java => HomeItemVo.java} (55%) create mode 100644 food-service/src/main/java/com/zbkj/service/dao/HomeItemDao.java delete mode 100644 food-service/src/main/java/com/zbkj/service/dao/HomeProductsDao.java delete mode 100644 food-service/src/main/java/com/zbkj/service/service/EbHomeProductsService.java delete mode 100644 food-service/src/main/java/com/zbkj/service/service/impl/EbHomeProductsServiceImpl.java create mode 100644 food-service/src/main/resources/mapper/home/HomeItemMapper.xml delete mode 100644 food-service/src/main/resources/mapper/home/HomeProductMapper.xml diff --git a/food-admin/src/main/java/com/zbkj/admin/config/WebConfig.java b/food-admin/src/main/java/com/zbkj/admin/config/WebConfig.java index c417230..cd47c14 100644 --- a/food-admin/src/main/java/com/zbkj/admin/config/WebConfig.java +++ b/food-admin/src/main/java/com/zbkj/admin/config/WebConfig.java @@ -82,8 +82,8 @@ public class WebConfig implements WebMvcConfigurer { .addResourceLocations("classpath:/META-INF/resources/webjars/"); /** 本地文件上传路径 */ - registry.addResourceHandler(Constants.UPLOAD_TYPE_IMAGE + "/**") - .addResourceLocations("file:" + crmebConfig.getImagePath() + "/" + Constants.UPLOAD_TYPE_IMAGE + "/"); + registry.addResourceHandler(Constants.UPLOAD_TYPE_IMAGE + "/**").addResourceLocations("file:" + crmebConfig.getImagePath() + "/" + Constants.UPLOAD_TYPE_IMAGE + "/"); + registry.addResourceHandler(Constants.UPLOAD_TYPE_FILE + "/**").addResourceLocations("file:" + crmebConfig.getImagePath() + "/" + Constants.UPLOAD_TYPE_FILE + "/"); } @Bean diff --git a/food-admin/src/main/java/com/zbkj/admin/config/WebSecurityConfig.java b/food-admin/src/main/java/com/zbkj/admin/config/WebSecurityConfig.java index 8a05856..b4a26d7 100644 --- a/food-admin/src/main/java/com/zbkj/admin/config/WebSecurityConfig.java +++ b/food-admin/src/main/java/com/zbkj/admin/config/WebSecurityConfig.java @@ -116,6 +116,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers("/api/admin/getLoginPic").permitAll() // 放行资源路径 .antMatchers("/"+ Constants.UPLOAD_TYPE_IMAGE +"/**").anonymous() + .antMatchers("/"+ Constants.UPLOAD_TYPE_FILE +"/**").anonymous() // 放行图片、文件上传 .antMatchers("/api/admin/upload/image").permitAll() .antMatchers("/api/admin/upload/file").permitAll() diff --git a/food-admin/src/main/java/com/zbkj/admin/controller/SystemAttachmentController.java b/food-admin/src/main/java/com/zbkj/admin/controller/SystemAttachmentController.java index 47a9f5a..740da0f 100644 --- a/food-admin/src/main/java/com/zbkj/admin/controller/SystemAttachmentController.java +++ b/food-admin/src/main/java/com/zbkj/admin/controller/SystemAttachmentController.java @@ -40,7 +40,7 @@ public class SystemAttachmentController { @RequestParam @Validated Integer pid, @RequestParam( value = "attType", - defaultValue = "png,jpeg,jpg,audio/mpeg,text/plain,video/mp4,gif", + defaultValue = "image_ext_str", required = false) String attType, @Validated PageParamRequest pageParamRequest) { CommonPage systemAttachmentCommonPage = diff --git a/food-common/src/main/java/com/zbkj/common/constants/Constants.java b/food-common/src/main/java/com/zbkj/common/constants/Constants.java index 7f00c3a..d0937d0 100644 --- a/food-common/src/main/java/com/zbkj/common/constants/Constants.java +++ b/food-common/src/main/java/com/zbkj/common/constants/Constants.java @@ -246,9 +246,10 @@ public class Constants { public static final String CART_DEFAULT = "default"; public static final String CART_SETMEAL = "setmeal"; - // 楼层渠道 - public static final Integer HOME_TYPE_1 = 1; - public static final Integer HOME_TYPE_2 = 2; + // 展示渠道(1首页楼层,2随心配套餐层,3首页精品推荐) + public static final String HOME_TYPE_1 = "1"; + public static final String HOME_TYPE_2 = "2"; + public static final String HOME_TYPE_3 = "3"; //config配置的formId public static final int CONFIG_FORM_ID_INDEX = 133; //首页配置 diff --git a/food-common/src/main/java/com/zbkj/common/model/home/Home.java b/food-common/src/main/java/com/zbkj/common/model/home/Home.java index 8f25809..2799680 100644 --- a/food-common/src/main/java/com/zbkj/common/model/home/Home.java +++ b/food-common/src/main/java/com/zbkj/common/model/home/Home.java @@ -36,7 +36,7 @@ public class Home implements Serializable { /** * 列表路径 */ - private String directUrl; + private String jumpUrl; /** * 是否有效 1:有效,0:无效 */ @@ -46,17 +46,17 @@ public class Home implements Serializable { */ private String imgUrl; /** - * 跳转id(list_ids/product_id) + * 跳转参数(pId,cIds,pIds,hId) */ private String jumpIds; /** - * 跳转类型1,列表0,详情 + * 跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目 */ private Integer jumpType; /** - * 渠道:【1首页楼层,2套餐分类层】 + * 展示渠道:【1首页楼层,2随心配套餐层,3首页精品推荐】 */ - private Integer type; + private String channel; /** * 业务编号:【type=2 套餐分类(eb_category.id)】 */ @@ -72,6 +72,6 @@ public class Home implements Serializable { @Transient @TableField(exist = false) - private List products; + private List products; } diff --git a/food-common/src/main/java/com/zbkj/common/model/home/HomeProducts.java b/food-common/src/main/java/com/zbkj/common/model/home/HomeItem.java similarity index 66% rename from food-common/src/main/java/com/zbkj/common/model/home/HomeProducts.java rename to food-common/src/main/java/com/zbkj/common/model/home/HomeItem.java index 81b5e7d..e0c836e 100644 --- a/food-common/src/main/java/com/zbkj/common/model/home/HomeProducts.java +++ b/food-common/src/main/java/com/zbkj/common/model/home/HomeItem.java @@ -9,8 +9,8 @@ import java.io.Serializable; import java.util.Date; @Data -@TableName("eb_home_products") -public class HomeProducts implements Serializable { +@TableName("eb_home_item") +public class HomeItem implements Serializable { private static final long serialVersionUID = 1L; /** @@ -23,21 +23,33 @@ public class HomeProducts implements Serializable { */ private Integer homeId; /** - * 产品编号 + * 名称 */ - private Integer productId; + private String name; /** - * 排序 + * 标题 */ - private Integer orderNo; + private String title; /** * 图片 */ private String imgUrl; + /** + * 跳转参数(pId,cIds,pIds,hId) + */ + private String jumpIds; + /** + * 跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目 + */ + private Integer jumpType; + /** + * 排序 + */ + private Integer orderNo; /** * 跳转地址 */ - private String directUrl; + private String jumpUrl; /** * 是否有效 1:有效 0:无效 */ diff --git a/food-common/src/main/java/com/zbkj/common/request/CategorySearchRequest.java b/food-common/src/main/java/com/zbkj/common/request/CategorySearchRequest.java index 49bed7e..2f38857 100644 --- a/food-common/src/main/java/com/zbkj/common/request/CategorySearchRequest.java +++ b/food-common/src/main/java/com/zbkj/common/request/CategorySearchRequest.java @@ -1,7 +1,5 @@ package com.zbkj.common.request; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -30,7 +28,7 @@ public class CategorySearchRequest implements Serializable { @ApiModelProperty(value = "分类名称") private String name; - @ApiModelProperty(value = "类型ID | 类型,1 产品分类,2 附件分类,3 文章分类, 4 设置分类, 5 菜单分类, 6 配置分类, 7 秒杀配置") + @ApiModelProperty(value = "类型ID | 1 产品分类,2 附件分类,4 设置分类, 5 菜单分类,6 配置分类,7 秒杀配置,8 套餐分类,9 帮助分类") private Integer type; @ApiModelProperty(value = "状态, 1正常,0失效 -1全部") diff --git a/food-common/src/main/java/com/zbkj/common/request/SetMealFloorProRequest.java b/food-common/src/main/java/com/zbkj/common/request/FloorProRequest.java similarity index 56% rename from food-common/src/main/java/com/zbkj/common/request/SetMealFloorProRequest.java rename to food-common/src/main/java/com/zbkj/common/request/FloorProRequest.java index 14eac70..f8bcf71 100644 --- a/food-common/src/main/java/com/zbkj/common/request/SetMealFloorProRequest.java +++ b/food-common/src/main/java/com/zbkj/common/request/FloorProRequest.java @@ -6,17 +6,19 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@ApiModel(value="SetMealRequest", description="套餐导航类型列表") -public class SetMealFloorProRequest implements Serializable { +@ApiModel(value="FloorProRequest", description="FloorProRequest") +public class FloorProRequest implements Serializable { private static final long serialVersionUID = 3481659942630712958L; - @ApiModelProperty(value = "楼层id") - private String homeId; + @ApiModelProperty(value = "楼层id", required = true) + @NotNull(message = "楼层ID不能为空") + private Integer homeId; } diff --git a/food-common/src/main/java/com/zbkj/common/request/FloorRequest.java b/food-common/src/main/java/com/zbkj/common/request/FloorRequest.java new file mode 100644 index 0000000..b82e47f --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/request/FloorRequest.java @@ -0,0 +1,39 @@ +package com.zbkj.common.request; + +import com.zbkj.common.annotation.StringContains; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="FloorRequest", description="FloorRequest") +public class FloorRequest implements Serializable { + + private static final long serialVersionUID = 3481659942630712958L; + + @ApiModelProperty(value = "门店id") + private String storeId; + + @ApiModelProperty(value = "类型id") + private String cid; + + @ApiModelProperty(value = "展示渠道:【1首页楼层,2随心配套餐层,3首页精品推荐】", required = true) + @StringContains(limitValues = {"1","2","3"}, message = "未知的展示渠道") + @NotNull(message = "展示渠道不能为空") + private String channel; + + public FloorRequest() { + } + + public FloorRequest(String channel, String storeId) { + this.channel = channel; + this.storeId = storeId; + } +} diff --git a/food-common/src/main/java/com/zbkj/common/request/SetMealFloorRequest.java b/food-common/src/main/java/com/zbkj/common/request/SetMealFloorRequest.java deleted file mode 100644 index 72a1ccd..0000000 --- a/food-common/src/main/java/com/zbkj/common/request/SetMealFloorRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zbkj.common.request; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@ApiModel(value="SetMealRequest", description="套餐导航类型列表") -public class SetMealFloorRequest implements Serializable { - - private static final long serialVersionUID = 3481659942630712958L; - - @ApiModelProperty(value = "门店id") - private String storeId; - - @ApiModelProperty(value = "类型id") - private String cid; - -} diff --git a/food-common/src/main/java/com/zbkj/common/request/StoreProductAddRequest.java b/food-common/src/main/java/com/zbkj/common/request/StoreProductAddRequest.java index f74382d..4668ca9 100644 --- a/food-common/src/main/java/com/zbkj/common/request/StoreProductAddRequest.java +++ b/food-common/src/main/java/com/zbkj/common/request/StoreProductAddRequest.java @@ -126,4 +126,5 @@ public class StoreProductAddRequest implements Serializable { @ApiModelProperty(value = "标签") private String tags; + } diff --git a/food-common/src/main/java/com/zbkj/common/response/IndexProductResponse.java b/food-common/src/main/java/com/zbkj/common/response/IndexProductResponse.java index 5cca56b..bc517cb 100644 --- a/food-common/src/main/java/com/zbkj/common/response/IndexProductResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/IndexProductResponse.java @@ -1,5 +1,7 @@ package com.zbkj.common.response; +import com.zbkj.common.vo.HomeItemVo; +import com.zbkj.common.vo.HomeVo; import com.zbkj.common.vo.product.ProductAttrVo; import com.zbkj.common.vo.product.ProductInfoVo; import io.swagger.annotations.ApiModel; @@ -23,6 +25,11 @@ import java.util.List; @ApiModel(value="IndexProductResponse对象", description="首页商品对象") public class IndexProductResponse { + @ApiModelProperty(value = "轮播集合") + private List homeVos; + + @ApiModelProperty(value = "类型:0商品,1轮播") + private Integer type = 0; @ApiModelProperty(value = "商品id") private Integer id; diff --git a/food-common/src/main/java/com/zbkj/common/response/StoreProductInfoResponse.java b/food-common/src/main/java/com/zbkj/common/response/StoreProductInfoResponse.java index 1fb2fa9..41f0796 100644 --- a/food-common/src/main/java/com/zbkj/common/response/StoreProductInfoResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/StoreProductInfoResponse.java @@ -94,6 +94,9 @@ public class StoreProductInfoResponse implements Serializable { @ApiModelProperty(value = "商品描述") private String content; + @ApiModelProperty(value = "质量检测") + private String qualityTest; + @ApiModelProperty(value = "产品ID") private Integer productId; diff --git a/food-common/src/main/java/com/zbkj/common/vo/HomeProductVo.java b/food-common/src/main/java/com/zbkj/common/vo/HomeItemVo.java similarity index 55% rename from food-common/src/main/java/com/zbkj/common/vo/HomeProductVo.java rename to food-common/src/main/java/com/zbkj/common/vo/HomeItemVo.java index cc1b3b2..fe78417 100644 --- a/food-common/src/main/java/com/zbkj/common/vo/HomeProductVo.java +++ b/food-common/src/main/java/com/zbkj/common/vo/HomeItemVo.java @@ -16,25 +16,40 @@ import java.util.List; @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="HomeProductVo", description="楼层商品信息") -public class HomeProductVo implements Serializable { +public class HomeItemVo implements Serializable { private static final long serialVersionUID=1L; + @ApiModelProperty(value = "名称") + private String name; /** - * 产品编号 + * 标题 */ - @ApiModelProperty(value = "商品id") - private Integer productId; + @ApiModelProperty(value = "标题") + private String title; /** * 图片 */ @ApiModelProperty(value = "图片") private String imgUrl; /** - * 跳转地址 + * 跳转路径 */ - @ApiModelProperty(value = "跳转地址") - private String directUrl; + @ApiModelProperty(value = "跳转路径") + private String jumpUrl; + /** + * 跳转参数(pId,cIds,pIds,hId) + */ + @ApiModelProperty(value = "跳转参数(pId,cIds,pIds,hId)") + private String jumpIds; + /** + * 跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目 + */ + @ApiModelProperty(value = "跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目") + private Integer jumpType; + + @ApiModelProperty(value = "类型 0商品,1轮播图") + private Integer type; @ApiModelProperty(value = "产品属性") private List productAttr; diff --git a/food-common/src/main/java/com/zbkj/common/vo/HomeVo.java b/food-common/src/main/java/com/zbkj/common/vo/HomeVo.java index 7281e58..446d930 100644 --- a/food-common/src/main/java/com/zbkj/common/vo/HomeVo.java +++ b/food-common/src/main/java/com/zbkj/common/vo/HomeVo.java @@ -1,21 +1,13 @@ package com.zbkj.common.vo; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.zbkj.common.model.home.HomeProducts; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.springframework.data.annotation.Transient; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Date; import java.util.List; @Data @@ -26,7 +18,7 @@ public class HomeVo implements Serializable { private static final long serialVersionUID=1L; - private Integer id; + private Integer homeId; /** * 名称 */ @@ -38,28 +30,28 @@ public class HomeVo implements Serializable { @ApiModelProperty(value = "标题") private String title; /** - * 列表路径 + * 跳转路径 */ - @ApiModelProperty(value = "列表路径") - private String directUrl; + @ApiModelProperty(value = "跳转路径") + private String jumpUrl; /** * 图片 */ @ApiModelProperty(value = "图片") private String imgUrl; /** - * 跳转id(list_ids/product_id) + * 跳转参数(pId,cIds,pIds,hId) */ - @ApiModelProperty(value = "跳转id(list_ids/product_id)") + @ApiModelProperty(value = "跳转参数(pId,cIds,pIds,hId)") private String jumpIds; /** - * 跳转类型1,列表0,详情 + * 跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目 */ - @ApiModelProperty(value = "跳转类型1,列表0,详情") + @ApiModelProperty(value = "跳转类型 0默认值,1商品详情,2分类列表,3商品列表,4活动栏目") private Integer jumpType; @Transient @TableField(exist = false) - private Object products; + private List items; } diff --git a/food-front/src/main/java/com/zbkj/front/controller/HomeController.java b/food-front/src/main/java/com/zbkj/front/controller/HomeController.java index ba268ac..290b872 100644 --- a/food-front/src/main/java/com/zbkj/front/controller/HomeController.java +++ b/food-front/src/main/java/com/zbkj/front/controller/HomeController.java @@ -2,13 +2,13 @@ package com.zbkj.front.controller; import com.zbkj.common.page.CommonPage; +import com.zbkj.common.request.FloorProRequest; +import com.zbkj.common.request.FloorRequest; import com.zbkj.common.request.PageParamRequest; -import com.zbkj.common.request.SetMealFloorProRequest; -import com.zbkj.common.request.SetMealFloorRequest; import com.zbkj.common.request.SetMealRequest; import com.zbkj.common.response.CommonResult; import com.zbkj.common.response.SetMealResponse; -import com.zbkj.common.vo.HomeProductVo; +import com.zbkj.common.vo.HomeItemVo; import com.zbkj.common.vo.HomeVo; import com.zbkj.service.service.EbHomeService; import io.swagger.annotations.Api; @@ -24,30 +24,30 @@ import java.util.List; @Slf4j @RestController("HomeController") -@RequestMapping("api/front") +@RequestMapping("api/front/home") @Api(tags = "楼层") public class HomeController { @Autowired private EbHomeService homeService; - @ApiOperation(value = "套餐导航列表-分页") + @ApiOperation(value = "随心配套餐导航-分页") @RequestMapping(value = "/setMeal/type", method = RequestMethod.GET) public CommonResult> selectPageSetMealType(@Validated SetMealRequest entity, @Validated PageParamRequest page) { List list = homeService.selectPageSetMealType(entity, page); return CommonResult.success(CommonPage.restPage(list)); } - @ApiOperation(value = "套餐楼层列表-分页") - @RequestMapping(value = "/setMeal/floor", method = RequestMethod.GET) - public CommonResult> selectPageSetMealFloor(@Validated SetMealFloorRequest entity, @Validated PageParamRequest page) { - List list = homeService.selectPageSetMealFloor(entity, page); + @ApiOperation(value = "楼层展示层-分页") + @RequestMapping(value = "/floor", method = RequestMethod.GET) + public CommonResult> selectPageFloor(@Validated FloorRequest entity, @Validated PageParamRequest page) { + List list = homeService.selectPageFloor(entity, page); return CommonResult.success(CommonPage.restPage(list)); } - @ApiOperation(value = "套餐楼层商品-分页") - @RequestMapping(value = "/setMeal/floor/pro", method = RequestMethod.GET) - public CommonResult> selectPageSetMealFloorPro(@Validated SetMealFloorProRequest entity, @Validated PageParamRequest page) { - List list = homeService.selectPageSetMealFloorPro(entity, page); + @ApiOperation(value = "楼层商品层-分页") + @RequestMapping(value = "/floor/pro", method = RequestMethod.GET) + public CommonResult> selectPageFloorItem(@Validated FloorProRequest entity, @Validated PageParamRequest page) { + List list = homeService.selectPageFloorItem(entity, page); return CommonResult.success(CommonPage.restPage(list)); } diff --git a/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java b/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java index 131141e..e4acf4a 100644 --- a/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java +++ b/food-front/src/main/java/com/zbkj/front/service/impl/ProductServiceImpl.java @@ -3,17 +3,13 @@ package com.zbkj.front.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zbkj.common.constants.CategoryConstants; import com.zbkj.common.constants.Constants; -import com.zbkj.common.constants.RedisConstatns; import com.zbkj.common.constants.SysConfigConstants; import com.zbkj.common.model.category.Category; -import com.zbkj.common.model.express.Express; import com.zbkj.common.model.product.StoreProduct; import com.zbkj.common.model.product.StoreProductAttr; import com.zbkj.common.model.product.StoreProductAttrValue; @@ -21,15 +17,12 @@ import com.zbkj.common.model.record.UserVisitRecord; import com.zbkj.common.model.system.SystemUserLevel; import com.zbkj.common.model.user.User; import com.zbkj.common.page.CommonPage; -import com.zbkj.common.request.GetReplyListRequest; -import com.zbkj.common.request.PageParamRequest; -import com.zbkj.common.request.ProductListRequest; -import com.zbkj.common.request.ProductRequest; +import com.zbkj.common.request.*; import com.zbkj.common.response.*; import com.zbkj.common.utils.CrmebUtil; import com.zbkj.common.utils.RedisUtil; import com.zbkj.common.vo.CategoryTreeVo; -import com.zbkj.common.vo.HomeProductVo; +import com.zbkj.common.vo.HomeVo; import com.zbkj.common.vo.MyRecord; import com.zbkj.common.vo.ReplyReviewTagsVo; import com.zbkj.common.vo.product.ProductDetailVo; @@ -91,8 +84,7 @@ public class ProductServiceImpl implements ProductService { @Autowired private UserVisitRecordService userVisitRecordService; - @Autowired - private StoreProductProblemService storeProductProblemService; + @Autowired private EbHomeService ebHomeService; @Override public List getCategoryTop() { @@ -327,7 +319,9 @@ public class ProductServiceImpl implements ProductService { if (CollUtil.isEmpty(storeProductList)) { return CommonPage.restPage(new ArrayList<>()); } - return resultIndexProductResponse(storeProductList); + CommonPage result = resultIndexProductResponse(storeProductList); + addFloor(result.getList()); + return result; } /** @@ -343,6 +337,27 @@ public class ProductServiceImpl implements ProductService { return resultIndexProductResponse(storeProductList); } + private List addFloor(List list) { + Random random = new Random(); + if (random.nextBoolean()) { + FloorRequest floor = new FloorRequest(); + floor.setChannel(Constants.HOME_TYPE_3); + PageParamRequest page = new PageParamRequest(); + page.setPage(random.nextInt(4)); + page.setLimit(2); + List homeVos = ebHomeService.selectPageFloor(floor, page); + if (!homeVos.isEmpty()) { + IndexProductResponse addItem = new IndexProductResponse(); + addItem.setHomeVos(homeVos); + addItem.setType(1); + list.add(addItem); + // 使用Collections.shuffle()打乱列表 + Collections.shuffle(list); + } + } + return list; + } + private CommonPage resultIndexProductResponse(List storeProductList) { CommonPage storeProductCommonPage = CommonPage.restPage(storeProductList); Map skuDetails = storeProductService.getSkuDetails(storeProductList.stream().map(StoreProduct::getId).collect(Collectors.toList())); diff --git a/food-service/src/main/java/com/zbkj/service/dao/HomeDao.java b/food-service/src/main/java/com/zbkj/service/dao/HomeDao.java index 75ca57b..aa74fef 100644 --- a/food-service/src/main/java/com/zbkj/service/dao/HomeDao.java +++ b/food-service/src/main/java/com/zbkj/service/dao/HomeDao.java @@ -2,7 +2,7 @@ package com.zbkj.service.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zbkj.common.model.home.Home; -import com.zbkj.common.request.SetMealFloorRequest; +import com.zbkj.common.request.FloorRequest; import com.zbkj.common.request.SetMealRequest; import com.zbkj.common.response.SetMealResponse; import com.zbkj.common.vo.HomeVo; @@ -14,8 +14,6 @@ public interface HomeDao extends BaseMapper { List selectPageSetMealType(@Param("entity") SetMealRequest entity); - List selectPageSetMealFloor(@Param("entity") SetMealFloorRequest entity); - - List selectHomeType(@Param("homeType") Integer homeType, @Param("storeId") Integer storeId); + List selectPageFloor(@Param("entity") FloorRequest entity); } diff --git a/food-service/src/main/java/com/zbkj/service/dao/HomeItemDao.java b/food-service/src/main/java/com/zbkj/service/dao/HomeItemDao.java new file mode 100644 index 0000000..3248573 --- /dev/null +++ b/food-service/src/main/java/com/zbkj/service/dao/HomeItemDao.java @@ -0,0 +1,13 @@ +package com.zbkj.service.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zbkj.common.model.home.HomeItem; +import com.zbkj.common.vo.HomeItemVo; + +import java.util.List; + +public interface HomeItemDao extends BaseMapper { + + List selectHomeItem(Integer homeId); + +} diff --git a/food-service/src/main/java/com/zbkj/service/dao/HomeProductsDao.java b/food-service/src/main/java/com/zbkj/service/dao/HomeProductsDao.java deleted file mode 100644 index ed76650..0000000 --- a/food-service/src/main/java/com/zbkj/service/dao/HomeProductsDao.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.zbkj.service.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.zbkj.common.model.home.HomeProducts; -import com.zbkj.common.vo.HomeProductVo; - -import java.util.List; - -public interface HomeProductsDao extends BaseMapper { - - List selectHomeProduct(Integer homeId); - -} diff --git a/food-service/src/main/java/com/zbkj/service/service/EbHomeProductsService.java b/food-service/src/main/java/com/zbkj/service/service/EbHomeProductsService.java deleted file mode 100644 index e0737b5..0000000 --- a/food-service/src/main/java/com/zbkj/service/service/EbHomeProductsService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.zbkj.service.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.zbkj.common.model.home.HomeProducts; - -public interface EbHomeProductsService extends IService { - -} - diff --git a/food-service/src/main/java/com/zbkj/service/service/EbHomeService.java b/food-service/src/main/java/com/zbkj/service/service/EbHomeService.java index a0543e7..d233913 100644 --- a/food-service/src/main/java/com/zbkj/service/service/EbHomeService.java +++ b/food-service/src/main/java/com/zbkj/service/service/EbHomeService.java @@ -2,12 +2,12 @@ package com.zbkj.service.service; import com.baomidou.mybatisplus.extension.service.IService; import com.zbkj.common.model.home.Home; +import com.zbkj.common.request.FloorProRequest; +import com.zbkj.common.request.FloorRequest; import com.zbkj.common.request.PageParamRequest; -import com.zbkj.common.request.SetMealFloorProRequest; -import com.zbkj.common.request.SetMealFloorRequest; import com.zbkj.common.request.SetMealRequest; import com.zbkj.common.response.SetMealResponse; -import com.zbkj.common.vo.HomeProductVo; +import com.zbkj.common.vo.HomeItemVo; import com.zbkj.common.vo.HomeVo; import java.util.List; @@ -17,11 +17,11 @@ public interface EbHomeService extends IService { List selectPageSetMealType(SetMealRequest entity, PageParamRequest page); - List selectPageSetMealFloor(SetMealFloorRequest entity, PageParamRequest page); - - List selectPageSetMealFloorPro(SetMealFloorProRequest entity, PageParamRequest page); + List selectPageFloor(FloorRequest entity, PageParamRequest page); List getIndexHomeList(Integer storeId); + List selectPageFloorItem(FloorProRequest entity, PageParamRequest page); + } diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeProductsServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeProductsServiceImpl.java deleted file mode 100644 index 28c7c39..0000000 --- a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeProductsServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.zbkj.service.service.impl; - -import com.zbkj.common.model.home.HomeProducts; -import com.zbkj.service.dao.HomeProductsDao; -import com.zbkj.service.service.EbHomeProductsService; -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -@Service -public class EbHomeProductsServiceImpl extends ServiceImpl implements EbHomeProductsService { - -} diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java index 3e10ecd..6976b98 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/EbHomeServiceImpl.java @@ -7,11 +7,11 @@ import com.zbkj.common.page.CommonPage; import com.zbkj.common.request.*; import com.zbkj.common.response.*; import com.zbkj.common.utils.RedisUtil; -import com.zbkj.common.vo.HomeProductVo; +import com.zbkj.common.vo.HomeItemVo; import com.zbkj.common.vo.HomeVo; import com.zbkj.common.vo.product.ProductDetailVo; import com.zbkj.service.dao.HomeDao; -import com.zbkj.service.dao.HomeProductsDao; +import com.zbkj.service.dao.HomeItemDao; import com.zbkj.service.service.EbHomeService; import com.zbkj.service.service.StoreProductService; import org.springframework.beans.factory.annotation.Autowired; @@ -28,21 +28,21 @@ public class EbHomeServiceImpl extends ServiceImpl implements EbH @Autowired private RedisUtil redisUtil; @Autowired private HomeDao dao; - @Autowired private HomeProductsDao homeProductsDao; + @Autowired private HomeItemDao homeItemDao; @Autowired private StoreProductService productService; @Override public List getIndexHomeList(Integer storeId) { - List homeVos = dao.selectHomeType(Constants.HOME_TYPE_1, storeId); + List homeVos = dao.selectPageFloor(new FloorRequest(Constants.HOME_TYPE_1, storeId + "")); for (HomeVo homeVo : homeVos) { // 默认展示5个 PageParamRequest fpPage = new PageParamRequest(); fpPage.setPage(1); fpPage.setLimit(5); - SetMealFloorProRequest fp = new SetMealFloorProRequest(); - fp.setHomeId(homeVo.getId().toString()); - List fpResult = selectPageSetMealFloorPro(fp, fpPage); - homeVo.setProducts(fpResult); + FloorProRequest fp = new FloorProRequest(); + fp.setHomeId(homeVo.getHomeId()); + List fpResult = selectPageFloorItem(fp, fpPage); + homeVo.setItems(fpResult); } return homeVos; } @@ -54,34 +54,39 @@ public class EbHomeServiceImpl extends ServiceImpl implements EbH } @Override - public List selectPageSetMealFloor(SetMealFloorRequest entity, PageParamRequest page) { + public List selectPageFloor(FloorRequest entity, PageParamRequest page) { PageHelper.startPage(page.getPage(), page.getLimit()); - List list = dao.selectPageSetMealFloor(entity); + List list = dao.selectPageFloor(entity); PageHelper.clearPage(); for (HomeVo home : list) { // 默认展示6个 PageParamRequest fpPage = new PageParamRequest(); fpPage.setPage(1); - fpPage.setLimit(6); - SetMealFloorProRequest fp = new SetMealFloorProRequest(); - fp.setHomeId(home.getId().toString()); - List fpResult = selectPageSetMealFloorPro(fp, fpPage); - home.setProducts(CommonPage.restPage(fpResult)); + fpPage.setLimit(5); + FloorProRequest fp = new FloorProRequest(); + fp.setHomeId(home.getHomeId()); + List fpResult = selectPageFloorItem(fp, fpPage); + home.setItems(fpResult); } return list; } @Override - public List selectPageSetMealFloorPro(SetMealFloorProRequest entity, PageParamRequest page) { + public List selectPageFloorItem(FloorProRequest entity, PageParamRequest page) { PageHelper.startPage(page.getPage(), page.getLimit()); - List list = homeProductsDao.selectHomeProduct(Integer.parseInt(entity.getHomeId())); + List list = homeItemDao.selectHomeItem(entity.getHomeId()); PageHelper.clearPage(); - Map skuDetails = productService.getSkuDetails(list.stream().map(HomeProductVo::getProductId).collect(Collectors.toList())); - for (HomeProductVo product : list) { - ProductDetailVo skuDetail = skuDetails.get(product.getProductId()); - product.setProductValue(skuDetail.getProductValue()); - product.setProductAttr(skuDetail.getProductAttr()); - product.setProductInfo(skuDetail.getProductInfo()); + List proList = list.stream().filter(i -> i.getType() == 0).collect(Collectors.toList()); + if (!proList.isEmpty()) { + List pIds = proList.stream().map(HomeItemVo::getJumpIds).map(Integer::valueOf).collect(Collectors.toList()); + Map skuDetails = productService.getSkuDetails(pIds); + for (HomeItemVo itemVo : list) { + if (itemVo.getType() != 0) { continue; } + ProductDetailVo skuDetail = skuDetails.get(Integer.parseInt(itemVo.getJumpIds())); + itemVo.setProductValue(skuDetail.getProductValue()); + itemVo.setProductAttr(skuDetail.getProductAttr()); + itemVo.setProductInfo(skuDetail.getProductInfo()); + } } return list; } diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCartServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCartServiceImpl.java index 2f6b75f..2608a11 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCartServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCartServiceImpl.java @@ -24,21 +24,16 @@ import com.zbkj.common.model.product.StoreProduct; import com.zbkj.common.model.product.StoreProductAttrValue; import com.zbkj.common.model.system.SystemUserLevel; import com.zbkj.common.model.user.User; -import com.zbkj.common.vo.HomeProductVo; +import com.zbkj.common.vo.HomeItemVo; import com.zbkj.common.vo.product.ProductAttrValueVo; import com.zbkj.service.dao.StoreCartDao; import com.zbkj.service.service.*; -import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -206,16 +201,16 @@ public class StoreCartServiceImpl extends ServiceImpl i String business = storeCartRequest.getBusiness(); List cartList = storeCartRequest.getCartList(); if (cartType.equals(Constants.CART_SETMEAL)) { - SetMealFloorProRequest query = new SetMealFloorProRequest(); - query.setHomeId(business); + FloorProRequest query = new FloorProRequest(); + query.setHomeId(Integer.parseInt(business)); PageParamRequest page = new PageParamRequest(); page.setPage(1); page.setLimit(999); - List list = homeService.selectPageSetMealFloorPro(query, page); - cartList = list.stream().map(i -> { + List list = homeService.selectPageFloorItem(query, page); + cartList = list.stream().filter(i-> i.getType() == 0).map(i -> { CartRequest cart = new CartRequest(); cart.setCartNum(1); - cart.setProductId(i.getProductId()); + cart.setProductId(Integer.parseInt(i.getJumpIds())); cart.setProductAttrUnique(((ProductAttrValueVo) i.getProductValue().get(i.getProductAttr().get(0).getAttrValues())).getId() + ""); return cart; }).collect(Collectors.toList()); diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductServiceImpl.java index 967a1a7..64a19ed 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductServiceImpl.java @@ -320,6 +320,7 @@ public class StoreProductServiceImpl extends ServiceImpl addRequestList = storeProductRequest.getAttr(); diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/SystemAttachmentServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/SystemAttachmentServiceImpl.java index 20b3bd6..e1cdf59 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/SystemAttachmentServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/SystemAttachmentServiceImpl.java @@ -60,7 +60,9 @@ public class SystemAttachmentServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(SystemAttachment::getPid, pid); if(StringUtils.isNotEmpty(attType)){ - lambdaQueryWrapper.in(SystemAttachment::getAttType, StringUtils.split(attType,",")); + // 根据前端提交的 image_ext_str / file_ext_str + String extStr = systemConfigService.getValueByKey(attType); + lambdaQueryWrapper.in(SystemAttachment::getAttType, StringUtils.split(extStr,",")); } lambdaQueryWrapper.orderByDesc(SystemAttachment::getAttId); return dao.selectList(lambdaQueryWrapper); diff --git a/food-service/src/main/resources/mapper/home/HomeItemMapper.xml b/food-service/src/main/resources/mapper/home/HomeItemMapper.xml new file mode 100644 index 0000000..cdce94d --- /dev/null +++ b/food-service/src/main/resources/mapper/home/HomeItemMapper.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/food-service/src/main/resources/mapper/home/HomeMapper.xml b/food-service/src/main/resources/mapper/home/HomeMapper.xml index 40ba4b9..a2160be 100644 --- a/food-service/src/main/resources/mapper/home/HomeMapper.xml +++ b/food-service/src/main/resources/mapper/home/HomeMapper.xml @@ -2,26 +2,28 @@ - - - + select h.id homeId, h.name, h.title, h.img_url imgUrl, h.jump_type jumpType, h.jump_url jumpUrl, h.jump_ids jumpIds + from eb_home h + JOIN help_topic b ON b.help_topic_id (length(h.channel) - length(replace(h.channel,',','')) + 1) + where del_flag = 1 + and substring_index(SUBSTRING_INDEX(h.channel, ',', b.help_topic_id + 1), ',', -1) = #{entity.channel} + and ((h.begin_time is null or h.end_time is null) or (h.begin_time NOW() and h.end_time >= NOW())) + and h.business = #{entity.cid} + order by order_no + diff --git a/food-service/src/main/resources/mapper/home/HomeProductMapper.xml b/food-service/src/main/resources/mapper/home/HomeProductMapper.xml deleted file mode 100644 index 9441807..0000000 --- a/food-service/src/main/resources/mapper/home/HomeProductMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - -