diff --git a/food-common/src/main/java/com/zbkj/common/request/UserCouponReceiveRequest.java b/food-common/src/main/java/com/zbkj/common/request/UserCouponReceiveRequest.java index 929363f..d0c2c81 100644 --- a/food-common/src/main/java/com/zbkj/common/request/UserCouponReceiveRequest.java +++ b/food-common/src/main/java/com/zbkj/common/request/UserCouponReceiveRequest.java @@ -6,10 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; import java.io.Serializable; /** @@ -27,4 +24,8 @@ public class UserCouponReceiveRequest implements Serializable { @ApiModelProperty(value = "优惠券id") @NotNull(message = "优惠券编号不能为空") private Integer couponId; + + @ApiModelProperty(value = "状态:login-登录,register-注册, start-注册起始页") + private String userType; + } 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 bc517cb..caf5e12 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 @@ -74,9 +74,9 @@ public class IndexProductResponse { private String flatPattern; @ApiModelProperty(value = "标签") - private String tags; + private String tags = ""; - @ApiModelProperty(value = "规格 0单 1多") + @ApiModelProperty(value = "规格 false单 true多") private Boolean specType; @ApiModelProperty(value = "产品属性") diff --git a/food-common/src/main/java/com/zbkj/common/response/ProductDetailResponse.java b/food-common/src/main/java/com/zbkj/common/response/ProductDetailResponse.java index 42b2c1e..8bdcbaa 100644 --- a/food-common/src/main/java/com/zbkj/common/response/ProductDetailResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/ProductDetailResponse.java @@ -29,15 +29,16 @@ public class ProductDetailResponse implements Serializable { @ApiModelProperty(value = "商品属性详情") private HashMap productValue; - @ApiModelProperty(value = "返佣金额区间") - private String priceName; +// @ApiModelProperty(value = "返佣金额区间") +// private String priceName; - @ApiModelProperty(value = "为移动端特定参数 所有参与的活动") - private List activityAllH5; +// @ApiModelProperty(value = "为移动端特定参数 所有参与的活动") +// private List activityAllH5; @ApiModelProperty(value = "商品信息") - private StoreProduct productInfo; + private StoreProductResponse productInfo; @ApiModelProperty(value = "收藏标识") private Boolean userCollect; + } diff --git a/food-common/src/main/java/com/zbkj/common/response/StoreProductAttrValueResponse.java b/food-common/src/main/java/com/zbkj/common/response/StoreProductAttrValueResponse.java index b384eda..c69cc70 100644 --- a/food-common/src/main/java/com/zbkj/common/response/StoreProductAttrValueResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/StoreProductAttrValueResponse.java @@ -53,51 +53,51 @@ public class StoreProductAttrValueResponse implements Serializable { @ApiModelProperty(value = "唯一值") private String unique; - @ApiModelProperty(value = "成本价") - private BigDecimal cost; +// @ApiModelProperty(value = "成本价") +// private BigDecimal cost; +// +// @ApiModelProperty(value = "商品条码") +// private String barCode; - @ApiModelProperty(value = "商品条码") - private String barCode; - - @ApiModelProperty(value = "原价") - private BigDecimal otPrice; - - @ApiModelProperty(value = "重量") - private BigDecimal weight; - - @ApiModelProperty(value = "体积") - private BigDecimal volume; - - @ApiModelProperty(value = "一级返佣") - private BigDecimal brokerage; - - @ApiModelProperty(value = "二级返佣") - private BigDecimal brokerageTwo; +// @ApiModelProperty(value = "原价") +// private BigDecimal otPrice; +// +// @ApiModelProperty(value = "重量") +// private BigDecimal weight; +// +// @ApiModelProperty(value = "体积") +// private BigDecimal volume; +// +// @ApiModelProperty(value = "一级返佣") +// private BigDecimal brokerage; +// +// @ApiModelProperty(value = "二级返佣") +// private BigDecimal brokerageTwo; @ApiModelProperty(value = "活动类型 0=商品,1=秒杀,2=砍价,3=拼团") private Integer type; - @ApiModelProperty(value = "活动限购数量") - private Integer quota; - - @ApiModelProperty(value = "活动限购数量显示") - private Integer quotaShow; - - @ApiModelProperty(value = "创建时间") - private Date createTime; - - @ApiModelProperty(value = "更新时间") - private Date updateTime; +// @ApiModelProperty(value = "活动限购数量") +// private Integer quota; +// +// @ApiModelProperty(value = "活动限购数量显示") +// private Integer quotaShow; +// +// @ApiModelProperty(value = "创建时间") +// private Date createTime; +// +// @ApiModelProperty(value = "更新时间") +// private Date updateTime; @ApiModelProperty(value = "attrValue字段,取表中suk字段") private Object attrValue; - @ApiModelProperty(value = "砍价商品最低价") - private BigDecimal minPrice; +// @ApiModelProperty(value = "砍价商品最低价") +// private BigDecimal minPrice; - @ApiModelProperty(value = "是否选中") - private Boolean checked; +// @ApiModelProperty(value = "是否选中") +// private Boolean checked; - @ApiModelProperty(value = "会员价") - private BigDecimal vipPrice; +// @ApiModelProperty(value = "会员价") +// private BigDecimal vipPrice; } diff --git a/food-common/src/main/java/com/zbkj/common/response/StoreProductResponse.java b/food-common/src/main/java/com/zbkj/common/response/StoreProductResponse.java index 97e6b8e..72faa25 100644 --- a/food-common/src/main/java/com/zbkj/common/response/StoreProductResponse.java +++ b/food-common/src/main/java/com/zbkj/common/response/StoreProductResponse.java @@ -24,8 +24,7 @@ import java.util.List; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@TableName("eb_store_product") -@ApiModel(value="StoreProduct对象", description="商品表") +@ApiModel(value="StoreProductResponse", description="商品表") public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "商品id") @@ -35,6 +34,9 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "商户Id(0为总后台管理员创建,不为0的时候是商户后台创建)") private Integer merId; + @ApiModelProperty(value = "质检报告") + private String qualityTest; + @ApiModelProperty(value = "商品图片") private String image; @@ -47,11 +49,11 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "商品简介") private String storeInfo; - @ApiModelProperty(value = "关键字") - private String keyword; +// @ApiModelProperty(value = "关键字") +// private String keyword; - @ApiModelProperty(value = "商品条码(一维码)") - private String barCode; +// @ApiModelProperty(value = "商品条码(一维码)") +// private String barCode; @ApiModelProperty(value = "分类id") private String cateId; @@ -62,20 +64,20 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "商品价格") private BigDecimal price; - @ApiModelProperty(value = "会员价格") - private BigDecimal vipPrice; +// @ApiModelProperty(value = "会员价格") +// private BigDecimal vipPrice; @ApiModelProperty(value = "市场价") private BigDecimal otPrice; - @ApiModelProperty(value = "邮费") - private BigDecimal postage; +// @ApiModelProperty(value = "邮费") +// private BigDecimal postage; @ApiModelProperty(value = "单位名") private String unitName; - @ApiModelProperty(value = "排序") - private Integer sort; +// @ApiModelProperty(value = "排序") +// private Integer sort; @ApiModelProperty(value = "销量") private Integer sales; @@ -86,47 +88,47 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "状态(0:未上架,1:上架)") private Boolean isShow; - @ApiModelProperty(value = "是否热卖") - private Boolean isHot; - - @ApiModelProperty(value = "是否优惠") - private Boolean isBenefit; - - @ApiModelProperty(value = "是否精品") - private Boolean isBest; - - @ApiModelProperty(value = "是否新品") - private Boolean isNew; - - @ApiModelProperty(value = "添加时间") - private Integer addTime; - - @ApiModelProperty(value = "是否包邮") - private Boolean isPostage; - - @ApiModelProperty(value = "是否删除") - private Boolean isDel; - - @ApiModelProperty(value = "商户是否代理 0不可代理1可代理") - private Boolean merUse; - - @ApiModelProperty(value = "获得积分") - private Integer giveIntegral; - - @ApiModelProperty(value = "成本价") - private BigDecimal cost; - - @ApiModelProperty(value = "秒杀状态 0 未开启 1已开启") - private Boolean isSeckill; - - @ApiModelProperty(value = "砍价状态 0未开启 1开启") - private Boolean isBargain; - - @ApiModelProperty(value = "是否优品推荐") - private Boolean isGood; - - @ApiModelProperty(value = "是否单独分佣") - private Boolean isSub; +// @ApiModelProperty(value = "是否热卖") +// private Boolean isHot; +// +// @ApiModelProperty(value = "是否优惠") +// private Boolean isBenefit; +// +// @ApiModelProperty(value = "是否精品") +// private Boolean isBest; +// +// @ApiModelProperty(value = "是否新品") +// private Boolean isNew; +// +// @ApiModelProperty(value = "添加时间") +// private Integer addTime; +// +// @ApiModelProperty(value = "是否包邮") +// private Boolean isPostage; +// +// @ApiModelProperty(value = "是否删除") +// private Boolean isDel; +// +// @ApiModelProperty(value = "商户是否代理 0不可代理1可代理") +// private Boolean merUse; +// +// @ApiModelProperty(value = "获得积分") +// private Integer giveIntegral; +// +// @ApiModelProperty(value = "成本价") +// private BigDecimal cost; +// +// @ApiModelProperty(value = "秒杀状态 0 未开启 1已开启") +// private Boolean isSeckill; +// +// @ApiModelProperty(value = "砍价状态 0未开启 1开启") +// private Boolean isBargain; +// +// @ApiModelProperty(value = "是否优品推荐") +// private Boolean isGood; +// +// @ApiModelProperty(value = "是否单独分佣") +// private Boolean isSub; @ApiModelProperty(value = "虚拟销量") private Integer ficti; @@ -134,17 +136,17 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "浏览量") private Integer browse; - @ApiModelProperty(value = "商品二维码地址(用户小程序海报)") - private String codePath; +// @ApiModelProperty(value = "商品二维码地址(用户小程序海报)") +// private String codePath; +// +// @ApiModelProperty(value = "淘宝京东1688类型") +// private String soureLink; - @ApiModelProperty(value = "淘宝京东1688类型") - private String soureLink; +// @ApiModelProperty(value = "主图视频链接") +// private String videoLink; - @ApiModelProperty(value = "主图视频链接") - private String videoLink; - - @ApiModelProperty(value = "运费模板ID") - private Integer tempId; +// @ApiModelProperty(value = "运费模板ID") +// private Integer tempId; @ApiModelProperty(value = "规格 0单 1多") private Boolean specType; @@ -152,14 +154,14 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "活动显示排序 0=默认,1=秒杀,2=砍价,3=拼团") private String activity; - @ApiModelProperty(value = "活动显示排序 0=默认,1=秒杀,2=砍价,3=拼团") - private String activityStr; +// @ApiModelProperty(value = "活动显示排序 0=默认,1=秒杀,2=砍价,3=拼团") +// private String activityStr; - @ApiModelProperty(value = "为移动端特定参数") - private ProductActivityItemResponse activityH5; - - @ApiModelProperty(value = "为移动端特定参数 所有参与的活动") - private List activityAllH5; +// @ApiModelProperty(value = "为移动端特定参数") +// private ProductActivityItemResponse activityH5; +// +// @ApiModelProperty(value = "为移动端特定参数 所有参与的活动") +// private List activityAllH5; @ApiModelProperty(value = "商品属性") private List attr; @@ -167,8 +169,8 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "商品属性详情") private List attrValue; - @ApiModelProperty(value = "管理端用于映射attrResults") - private List> attrValues; +// @ApiModelProperty(value = "管理端用于映射attrResults") +// private List> attrValues; private Integer[] cateIds; @@ -184,74 +186,74 @@ public class StoreProductResponse implements Serializable { @ApiModelProperty(value = "优惠券Ids") private List couponIds; - // 秒杀用到 - @ApiModelProperty(value = "活动标题") - private String title; +// // 秒杀用到 +// @ApiModelProperty(value = "活动标题") +// private String title; +// +// @ApiModelProperty(value = "简介") +// private String info; +// +// @ApiModelProperty(value = "时间段ID") +// private Integer timeId; +// +// @ApiModelProperty(value = "最多秒杀几个") +// private Integer num; +// +// @ApiModelProperty(value = "开始时间") +// private Date startTime; +// +// @ApiModelProperty(value = "结束时间") +// private Date stopTime; +// +// @ApiModelProperty(value = "开始时间") +// private String startTimeStr; +// +// @ApiModelProperty(value = "结束时间") +// private String stopTimeStr; +// +// @ApiModelProperty(value = "秒杀状态 0=关闭 1=开启") +// private Integer status; +// +// @ApiModelProperty(value = "商品id") +// private Integer productId; +// +// @ApiModelProperty(value = "秒杀轮播图") +// private String images; +// +// @ApiModelProperty(value = "限购数量 - 销量") +// private Integer quota; +// +// @ApiModelProperty(value = "限购总数") +// private Integer quotaShow; +// +// @ApiModelProperty(value = "砍价规则") +// private String rule; +// +// @ApiModelProperty(value = "用户每次砍价的次数") +// private Integer bargainNum; +// +// @ApiModelProperty(value = "帮助砍价好友人数") +// private Integer peopleNum; - @ApiModelProperty(value = "简介") - private String info; - - @ApiModelProperty(value = "时间段ID") - private Integer timeId; - - @ApiModelProperty(value = "最多秒杀几个") - private Integer num; - - @ApiModelProperty(value = "开始时间") - private Date startTime; - - @ApiModelProperty(value = "结束时间") - private Date stopTime; - - @ApiModelProperty(value = "开始时间") - private String startTimeStr; - - @ApiModelProperty(value = "结束时间") - private String stopTimeStr; - - @ApiModelProperty(value = "秒杀状态 0=关闭 1=开启") - private Integer status; - - @ApiModelProperty(value = "商品id") - private Integer productId; - - @ApiModelProperty(value = "秒杀轮播图") - private String images; - - @ApiModelProperty(value = "限购数量 - 销量") - private Integer quota; - - @ApiModelProperty(value = "限购总数") - private Integer quotaShow; - - @ApiModelProperty(value = "砍价规则") - private String rule; - - @ApiModelProperty(value = "用户每次砍价的次数") - private Integer bargainNum; - - @ApiModelProperty(value = "帮助砍价好友人数") - private Integer peopleNum; - - // 拼团部分 - @ApiModelProperty(value = "推荐") - private Boolean isHost; - - @ApiModelProperty(value = "参团人数") - private Integer people; - - @ApiModelProperty(value = "拼团订单有效时间(小时)") - private Integer effectiveTime; - - @ApiModelProperty(value = "单次购买数量") - private Integer onceNum; - - @ApiModelProperty(value = "虚拟成团百分比") - private Integer virtualRation; - - @ApiModelProperty(value = "砍价商品最低价") - private BigDecimal minPrice; - - @ApiModelProperty(value = "砍价结束时间") - private Long endTime; +// // 拼团部分 +// @ApiModelProperty(value = "推荐") +// private Boolean isHost; +// +// @ApiModelProperty(value = "参团人数") +// private Integer people; +// +// @ApiModelProperty(value = "拼团订单有效时间(小时)") +// private Integer effectiveTime; +// +// @ApiModelProperty(value = "单次购买数量") +// private Integer onceNum; +// +// @ApiModelProperty(value = "虚拟成团百分比") +// private Integer virtualRation; +// +// @ApiModelProperty(value = "砍价商品最低价") +// private BigDecimal minPrice; +// +// @ApiModelProperty(value = "砍价结束时间") +// private Long endTime; } diff --git a/food-front/src/main/java/com/zbkj/front/controller/CouponController.java b/food-front/src/main/java/com/zbkj/front/controller/CouponController.java index 463b3e5..583a4ff 100644 --- a/food-front/src/main/java/com/zbkj/front/controller/CouponController.java +++ b/food-front/src/main/java/com/zbkj/front/controller/CouponController.java @@ -34,6 +34,20 @@ public class CouponController { @Autowired private StoreCouponUserService storeCouponUserService; + /** + * 新人注册券 + * @param pageParamRequest 分页参数 + */ + @ApiOperation(value = "新人注册券") + @RequestMapping(value = "/newUserCoupon", method = RequestMethod.GET) + @ApiImplicitParams({ + @ApiImplicitParam(name="page", value="页码", required = true), + @ApiImplicitParam(name="limit", value="每页数量", required = true) + }) + public CommonResult> getNewUserCoupon(@Validated PageParamRequest pageParamRequest) { + return CommonResult.success(storeCouponService.getNewUserCoupon(pageParamRequest)); + } + /** * 分页显示优惠券表 * @param type 类型,1-通用,2-商品,3-品类 diff --git a/food-front/src/main/java/com/zbkj/front/controller/ProductController.java b/food-front/src/main/java/com/zbkj/front/controller/ProductController.java index 406dd44..9df0618 100644 --- a/food-front/src/main/java/com/zbkj/front/controller/ProductController.java +++ b/food-front/src/main/java/com/zbkj/front/controller/ProductController.java @@ -36,7 +36,7 @@ public class ProductController { */ @ApiOperation(value = "首页商品列表") @RequestMapping(value = "/product/{type}", method = RequestMethod.GET) - @ApiImplicitParam(name = "type", value = "类型【1首页精品推荐, 2为你推荐】", dataType = "int", required = true) + @ApiImplicitParam(name = "type", value = "类型【1首页精品推荐, 5为你推荐】", dataType = "int", required = true) public CommonResult> getProductList(@PathVariable(value = "type") Integer type, PageParamRequest pageParamRequest) { return CommonResult.success(productService.getProductListByType(type, pageParamRequest)); } 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 e4acf4a..82dd576 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 @@ -125,18 +125,21 @@ public class ProductServiceImpl implements ProductService { public ProductDetailResponse getDetail(Integer id, String type) { // 获取用户 User user = userService.getInfo(); - SystemUserLevel userLevel = null; - if (ObjectUtil.isNotNull(user) && user.getLevel() > 0) { - userLevel = systemUserLevelService.getByLevelId(user.getLevel()); - } +// SystemUserLevel userLevel = null; +// if (ObjectUtil.isNotNull(user) && user.getLevel() > 0) { +// userLevel = systemUserLevelService.getByLevelId(user.getLevel()); +// } ProductDetailResponse productDetailResponse = new ProductDetailResponse(); // 查询商品 StoreProduct storeProduct = storeProductService.getH5Detail(id); - if (ObjectUtil.isNotNull(userLevel)) { - storeProduct.setVipPrice(storeProduct.getPrice()); - } - productDetailResponse.setProductInfo(storeProduct); +// if (ObjectUtil.isNotNull(userLevel)) { +// storeProduct.setVipPrice(storeProduct.getPrice()); +// } + + StoreProductResponse spResponse = new StoreProductResponse(); + BeanUtils.copyProperties(storeProduct, spResponse); + productDetailResponse.setProductInfo(spResponse); // 获取商品规格 List attrList = attrService.getListByProductIdAndType(storeProduct.getId(), Constants.PRODUCT_TYPE_NORMAL); @@ -149,34 +152,34 @@ public class ProductServiceImpl implements ProductService { for (StoreProductAttrValue storeProductAttrValue : storeProductAttrValues) { StoreProductAttrValueResponse atr = new StoreProductAttrValueResponse(); BeanUtils.copyProperties(storeProductAttrValue, atr); - // 设置会员价 - if (ObjectUtil.isNotNull(userLevel)) { - atr.setVipPrice(atr.getPrice()); - } +// // 设置会员价 +// if (ObjectUtil.isNotNull(userLevel)) { +// atr.setVipPrice(atr.getPrice()); +// } skuMap.put(atr.getSuk(), atr); } productDetailResponse.setProductValue(skuMap); - // 用户收藏、分销返佣 + // 用户收藏 if (ObjectUtil.isNotNull(user)) { // 查询用户是否收藏收藏 user = userService.getInfo(); productDetailResponse.setUserCollect(storeProductRelationService.getLikeOrCollectByUser(user.getUid(), id,false).size() > 0); - // 判断是否开启分销 - String brokerageFuncStatus = systemConfigService.getValueByKey(SysConfigConstants.CONFIG_KEY_BROKERAGE_FUNC_STATUS); - if (brokerageFuncStatus.equals(Constants.COMMON_SWITCH_OPEN)) {// 分销开启 - // 判断是否开启气泡 - String isBubble = systemConfigService.getValueByKey(SysConfigConstants.CONFIG_KEY_STORE_BROKERAGE_IS_BUBBLE); - if (isBubble.equals(Constants.COMMON_SWITCH_OPEN)) { - productDetailResponse.setPriceName(getPacketPriceRange(storeProduct.getIsSub(), storeProductAttrValues, user.getIsPromoter())); - } - } +// // 判断是否开启分销 +// String brokerageFuncStatus = systemConfigService.getValueByKey(SysConfigConstants.CONFIG_KEY_BROKERAGE_FUNC_STATUS); +// if (brokerageFuncStatus.equals(Constants.COMMON_SWITCH_OPEN)) {// 分销开启 +// // 判断是否开启气泡 +// String isBubble = systemConfigService.getValueByKey(SysConfigConstants.CONFIG_KEY_STORE_BROKERAGE_IS_BUBBLE); +// if (isBubble.equals(Constants.COMMON_SWITCH_OPEN)) { +// productDetailResponse.setPriceName(getPacketPriceRange(storeProduct.getIsSub(), storeProductAttrValues, user.getIsPromoter())); +// } +// } } else { productDetailResponse.setUserCollect(false); } - // 商品活动 - List activityAllH5 = productUtils.getProductAllActivity(storeProduct); - productDetailResponse.setActivityAllH5(activityAllH5); +// // 商品活动 +// List activityAllH5 = productUtils.getProductAllActivity(storeProduct); +// productDetailResponse.setActivityAllH5(activityAllH5); // 商品浏览量+1 StoreProduct updateProduct = new StoreProduct(); @@ -204,11 +207,11 @@ public class ProductServiceImpl implements ProductService { @Override public ProductDetailResponse getSkuDetail(Integer id) { // 获取用户 - User user = userService.getInfo(); - SystemUserLevel userLevel = null; - if (ObjectUtil.isNotNull(user) && user.getLevel() > 0) { - userLevel = systemUserLevelService.getByLevelId(user.getLevel()); - } +// User user = userService.getInfo(); +// SystemUserLevel userLevel = null; +// if (ObjectUtil.isNotNull(user) && user.getLevel() > 0) { +// userLevel = systemUserLevelService.getByLevelId(user.getLevel()); +// } ProductDetailResponse productDetailResponse = new ProductDetailResponse(); // 查询商品 @@ -225,11 +228,11 @@ public class ProductServiceImpl implements ProductService { for (StoreProductAttrValue storeProductAttrValue : storeProductAttrValues) { StoreProductAttrValueResponse atr = new StoreProductAttrValueResponse(); BeanUtils.copyProperties(storeProductAttrValue, atr); - // 设置会员价 - if (ObjectUtil.isNotNull(userLevel)) { - BigDecimal vipPrice = atr.getPrice().multiply(new BigDecimal(userLevel.getDiscount())).divide(new BigDecimal(100), 2 ,BigDecimal.ROUND_HALF_UP); - atr.setVipPrice(vipPrice); - } +// // 设置会员价 +// if (ObjectUtil.isNotNull(userLevel)) { +// BigDecimal vipPrice = atr.getPrice().multiply(new BigDecimal(userLevel.getDiscount())).divide(new BigDecimal(100), 2 ,BigDecimal.ROUND_HALF_UP); +// atr.setVipPrice(vipPrice); +// } skuMap.put(atr.getSuk(), atr); } productDetailResponse.setProductValue(skuMap); @@ -337,13 +340,14 @@ public class ProductServiceImpl implements ProductService { return resultIndexProductResponse(storeProductList); } + private static Integer floorPage = 1; 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.setPage(floorPage); page.setLimit(2); List homeVos = ebHomeService.selectPageFloor(floor, page); if (!homeVos.isEmpty()) { @@ -353,6 +357,7 @@ public class ProductServiceImpl implements ProductService { list.add(addItem); // 使用Collections.shuffle()打乱列表 Collections.shuffle(list); + floorPage = floorPage + 1; } } return list; @@ -390,20 +395,20 @@ public class ProductServiceImpl implements ProductService { break; } } - if (activity.equals(Constants.PRODUCT_TYPE_BARGAIN)) { - ProductActivityItemResponse itemResponse = activityByProduct.get(Constants.PRODUCT_TYPE_BARGAIN); - if (ObjectUtil.isNotNull(itemResponse)) { - productResponse.setActivityH5(itemResponse); - break; - } - } - if (activity.equals(Constants.PRODUCT_TYPE_PINGTUAN)) { - ProductActivityItemResponse itemResponse = activityByProduct.get(Constants.PRODUCT_TYPE_PINGTUAN); - if (ObjectUtil.isNotNull(itemResponse)) { - productResponse.setActivityH5(itemResponse); - break; - } - } +// if (activity.equals(Constants.PRODUCT_TYPE_BARGAIN)) { +// ProductActivityItemResponse itemResponse = activityByProduct.get(Constants.PRODUCT_TYPE_BARGAIN); +// if (ObjectUtil.isNotNull(itemResponse)) { +// productResponse.setActivityH5(itemResponse); +// break; +// } +// } +// if (activity.equals(Constants.PRODUCT_TYPE_PINGTUAN)) { +// ProductActivityItemResponse itemResponse = activityByProduct.get(Constants.PRODUCT_TYPE_PINGTUAN); +// if (ObjectUtil.isNotNull(itemResponse)) { +// productResponse.setActivityH5(itemResponse); +// break; +// } +// } } } productResponseArrayList.add(productResponse); diff --git a/food-front/src/main/java/com/zbkj/front/service/impl/UserCenterServiceImpl.java b/food-front/src/main/java/com/zbkj/front/service/impl/UserCenterServiceImpl.java index 1a0281f..6cce428 100644 --- a/food-front/src/main/java/com/zbkj/front/service/impl/UserCenterServiceImpl.java +++ b/food-front/src/main/java/com/zbkj/front/service/impl/UserCenterServiceImpl.java @@ -571,7 +571,7 @@ public class UserCenterServiceImpl extends ServiceImpl implements logger.error(StrUtil.format("绑定手机号,自动登录生成token失败,uid={}", finalUser.getUid())); e.printStackTrace(); } - loginResponse.setType("login"); + loginResponse.setType("register"); loginResponse.setUid(user.getUid()); loginResponse.setNikeName(user.getNickname()); loginResponse.setPhone(user.getPhone()); diff --git a/food-service/src/main/java/com/zbkj/service/service/StoreCouponService.java b/food-service/src/main/java/com/zbkj/service/service/StoreCouponService.java index 719e2a7..280cad8 100644 --- a/food-service/src/main/java/com/zbkj/service/service/StoreCouponService.java +++ b/food-service/src/main/java/com/zbkj/service/service/StoreCouponService.java @@ -81,4 +81,12 @@ public interface StoreCouponService extends IService { * @return */ Integer getCouponAllCount(); + + /** + * 新人注册券 + * @param pageParamRequest + * @return + */ + List getNewUserCoupon(PageParamRequest pageParamRequest); + } diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCombinationServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCombinationServiceImpl.java index 9ca281f..026f583 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCombinationServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCombinationServiceImpl.java @@ -567,9 +567,9 @@ public class StoreCombinationServiceImpl extends ServiceImpl getNewUserCoupon(PageParamRequest pageParamRequest) { + PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); + List registerList = findRegisterList(); + List resList = registerList.stream().map(i-> { + StoreCouponFrontResponse scf = new StoreCouponFrontResponse(); + BeanUtils.copyProperties(i, scf); + return scf; + }).collect(Collectors.toList()); + return resList; + } + /** * 获取用户注册赠送新人券 * @return List diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCouponUserServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCouponUserServiceImpl.java index 5810312..6d06dcf 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreCouponUserServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreCouponUserServiceImpl.java @@ -343,6 +343,11 @@ public class StoreCouponUserServiceImpl extends ServiceImpl storeProductPage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); @@ -224,43 +226,43 @@ public class StoreProductServiceImpl extends ServiceImpl attrs = attrService.getByEntity(storeProductAttrPram); - - if (attrs.size() > 0) { - storeProductResponse.setAttr(attrs); - } - List storeProductAttrValueResponse = new ArrayList<>(); - - StoreProductAttrValue storeProductAttrValuePram = new StoreProductAttrValue(); - storeProductAttrValuePram.setProductId(product.getId()).setType(Constants.PRODUCT_TYPE_NORMAL); - List storeProductAttrValues = storeProductAttrValueService.getByEntity(storeProductAttrValuePram); - storeProductAttrValues.stream().map(e->{ - StoreProductAttrValueResponse response = new StoreProductAttrValueResponse(); - BeanUtils.copyProperties(e,response); - storeProductAttrValueResponse.add(response); - return e; - }).collect(Collectors.toList()); - storeProductResponse.setAttrValue(storeProductAttrValueResponse); - // 处理富文本 - StoreProductDescription sd = storeProductDescriptionService.getOne( - new LambdaQueryWrapper() - .eq(StoreProductDescription::getProductId, product.getId()) - .eq(StoreProductDescription::getType, Constants.PRODUCT_TYPE_NORMAL)); - if (null != sd) { - storeProductResponse.setContent(null == sd.getDescription()?"":sd.getDescription()); - } - // 处理分类中文 - List cg = categoryService.getByIds(CrmebUtil.stringToArray(product.getCateId())); - if (CollUtil.isEmpty(cg)) { - storeProductResponse.setCateValues(""); - } else { - storeProductResponse.setCateValues(cg.stream().map(Category::getName).collect(Collectors.joining(","))); - } - - storeProductResponse.setCollectCount( - storeProductRelationService.getList(product.getId(),"collect").size()); +// StoreProductAttr storeProductAttrPram = new StoreProductAttr(); +// storeProductAttrPram.setProductId(product.getId()).setType(Constants.PRODUCT_TYPE_NORMAL); +// List attrs = attrService.getByEntity(storeProductAttrPram); +// +// if (attrs.size() > 0) { +// storeProductResponse.setAttr(attrs); +// } +// List storeProductAttrValueResponse = new ArrayList<>(); +// +// StoreProductAttrValue storeProductAttrValuePram = new StoreProductAttrValue(); +// storeProductAttrValuePram.setProductId(product.getId()).setType(Constants.PRODUCT_TYPE_NORMAL); +// List storeProductAttrValues = storeProductAttrValueService.getByEntity(storeProductAttrValuePram); +// storeProductAttrValues.stream().map(e->{ +// StoreProductAttrValueResponse response = new StoreProductAttrValueResponse(); +// BeanUtils.copyProperties(e,response); +// storeProductAttrValueResponse.add(response); +// return e; +// }).collect(Collectors.toList()); +// storeProductResponse.setAttrValue(storeProductAttrValueResponse); +// // 处理富文本 +// StoreProductDescription sd = storeProductDescriptionService.getOne( +// new LambdaQueryWrapper() +// .eq(StoreProductDescription::getProductId, product.getId()) +// .eq(StoreProductDescription::getType, Constants.PRODUCT_TYPE_NORMAL)); +// if (null != sd) { +// storeProductResponse.setContent(null == sd.getDescription()?"":sd.getDescription()); +// } +// // 处理分类中文 +// List cg = categoryService.getByIds(CrmebUtil.stringToArray(product.getCateId())); +// if (CollUtil.isEmpty(cg)) { +// storeProductResponse.setCateValues(""); +// } else { +// storeProductResponse.setCateValues(cg.stream().map(Category::getName).collect(Collectors.joining(","))); +// } +// +// storeProductResponse.setCollectCount( +// storeProductRelationService.getList(product.getId(),"collect").size()); storeProductResponses.add(storeProductResponse); } // 多条sql查询处理分页正确 @@ -606,7 +608,7 @@ public class StoreProductServiceImpl extends ServiceImpl storeProductAttrValues = storeProductAttrValueService.getByEntity(spavPram); @@ -663,7 +665,7 @@ public class StoreProductServiceImpl extends ServiceImpl getTabsHeader() { - List headers = new ArrayList<>(); - StoreProductTabsHeader header1 = new StoreProductTabsHeader(0,"出售中商品",1); - StoreProductTabsHeader header2 = new StoreProductTabsHeader(0,"仓库中商品",2); - StoreProductTabsHeader header3 = new StoreProductTabsHeader(0,"已经售馨商品",3); - StoreProductTabsHeader header4 = new StoreProductTabsHeader(0,"警戒库存",4); - StoreProductTabsHeader header5 = new StoreProductTabsHeader(0,"商品回收站",5); - headers.add(header1); - headers.add(header2); - headers.add(header3); - headers.add(header4); - headers.add(header5); - for (StoreProductTabsHeader h : headers) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - switch (h.getType()) { - case 1: - //出售中(已上架) - lambdaQueryWrapper.eq(StoreProduct::getIsShow, true); - lambdaQueryWrapper.eq(StoreProduct::getIsRecycle, false); - lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); - break; - case 2: - //仓库中(未上架) - lambdaQueryWrapper.eq(StoreProduct::getIsShow, false); - lambdaQueryWrapper.eq(StoreProduct::getIsRecycle, false); - lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); - break; - case 3: - //已售罄 - lambdaQueryWrapper.le(StoreProduct::getStock, 0); - lambdaQueryWrapper.eq(StoreProduct::getIsRecycle, false); - lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); - break; - case 4: - //警戒库存 - Integer stock = Integer.parseInt(systemConfigService.getValueByKey("store_stock")); - lambdaQueryWrapper.le(StoreProduct::getStock, stock); - lambdaQueryWrapper.eq(StoreProduct::getIsRecycle, false); - lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); - break; - case 5: - //回收站 - lambdaQueryWrapper.eq(StoreProduct::getIsRecycle, true); - lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); - break; - default: - break; + Integer stock = Integer.parseInt(systemConfigService.getValueByKey("store_stock")); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(StoreProduct::getIsDel, false); + List storeProducts = dao.selectList(lambdaQueryWrapper); + Integer header1Count = 0; + Integer header2Count = 0; + Integer header3Count = 0; + Integer header4Count = 0; + Integer header5Count = 0; + for (StoreProduct storeProduct : storeProducts) { + // 出售中商品 + if (storeProduct.getIsShow() && !storeProduct.getIsRecycle()) { + header1Count = header1Count + 1; + } + // 仓库中商品 + else if (!storeProduct.getIsShow() && !storeProduct.getIsRecycle()) { + header2Count = header2Count + 1; + } + // 已经售馨商品 + else if (storeProduct.getStock() <= 0 && !storeProduct.getIsRecycle()) { + header3Count = header3Count + 1; + } + // 警戒库存 + else if (storeProduct.getStock() <= stock && !storeProduct.getIsRecycle()) { + header4Count = header4Count + 1; + } + // 商品回收站 + else if (storeProduct.getIsRecycle()) { + header5Count = header5Count + 1; } - List storeProducts = dao.selectList(lambdaQueryWrapper); - h.setCount(storeProducts.size()); } - + List headers = new ArrayList<>(); + headers.add(new StoreProductTabsHeader(header1Count,"出售中商品",1)); + headers.add(new StoreProductTabsHeader(header2Count,"仓库中商品",2)); + headers.add(new StoreProductTabsHeader(header3Count,"已经售馨商品",3)); + headers.add(new StoreProductTabsHeader(header4Count,"警戒库存",4)); + headers.add(new StoreProductTabsHeader(header5Count,"商品回收站",5)); return headers; } @@ -1208,8 +1196,11 @@ public class StoreProductServiceImpl extends ServiceImpl getIndexProduct(Integer type, PageParamRequest pageParamRequest) { PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.select(StoreProduct::getId, StoreProduct::getImage, StoreProduct::getStoreName,StoreProduct::getUnitName, - StoreProduct::getPrice, StoreProduct::getOtPrice, StoreProduct::getActivity, StoreProduct::getTags, StoreProduct::getSales, StoreProduct::getFicti); + lambdaQueryWrapper.select( + StoreProduct::getId, StoreProduct::getImage, StoreProduct::getStoreName,StoreProduct::getUnitName,StoreProduct::getSpecType,StoreProduct::getStock, + StoreProduct::getPrice, StoreProduct::getOtPrice, StoreProduct::getActivity, StoreProduct::getTags, StoreProduct::getSales, StoreProduct::getFicti, + StoreProduct::getFlatPattern, StoreProduct::getStoreInfo + ); switch (type) { case Constants.INDEX_RECOMMEND_BANNER: //精品推荐 lambdaQueryWrapper.eq(StoreProduct::getIsBest, true); @@ -1458,4 +1449,3 @@ public class StoreProductServiceImpl extends ServiceImpl getList(Integer pid, String attType, PageParamRequest pageParamRequest) { - PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(SystemAttachment::getPid, pid); if(StringUtils.isNotEmpty(attType)){ @@ -65,6 +64,7 @@ public class SystemAttachmentServiceImpl extends ServiceImpl