From 44fb0601a677e28fbbaa4c2e1fad187462fcb9f6 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Tue, 20 Jul 2021 20:25:57 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=B4=AD=E4=B9=B0=E4=BD=86=E6=98=AF=E5=95=86=E5=93=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E5=BA=93=E5=AD=98=E6=98=BE=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/goods/GoodsBuyerController.java | 7 ------- .../cn/lili/event/impl/StockUpdateExecute.java | 5 +++++ .../goods/serviceimpl/GoodsSkuServiceImpl.java | 16 +++++++--------- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java index b293b4fa..f2778d7e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java @@ -5,7 +5,6 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.distribution.service.DistributionService; import cn.lili.modules.goods.entity.dos.Goods; import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.vos.GoodsVO; @@ -61,12 +60,6 @@ public class GoodsBuyerController { */ @Autowired private EsGoodsSearchService goodsSearchService; - /** - * 分销员 - */ - @Autowired - private DistributionService distributionService; - @ApiOperation(value = "通过id获取商品信息") @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path", dataType = "Long") diff --git a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java index 402b74f0..56ff305f 100644 --- a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java @@ -161,6 +161,11 @@ public class StockUpdateExecute implements OrderStatusChangeEvent { /** * 同步库存和促销库存 * + * 需修改:DB:商品库存、Sku商品库存、活动商品库存 + * 1.获取需要修改的Sku列表、活动商品列表 + * 2.写入sku商品库存,批量修改 + * 3.写入促销商品的卖出数量、剩余数量,批量修改 + * 4.调用方法修改商品库存 * @param order 订单 */ private void synchroDB(OrderDetailVO order) { diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index 567572f7..f601e134 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -189,17 +189,15 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } cache.put(GoodsSkuService.getCacheKeys(id), goodsSku); } + //获取商品库存 String quantity = stringRedisTemplate.opsForValue().get(GoodsSkuService.getStockCacheKey(id)); - if (quantity != null) { - if (goodsSku.getQuantity().equals(Convert.toInt(quantity))) { - goodsSku.setQuantity(Convert.toInt(quantity)); - this.updateById(goodsSku); - } - } else { - stringRedisTemplate.opsForValue().set(GoodsSkuService.getStockCacheKey(id), goodsSku.getQuantity().toString()); - } + //如果sku缓存的库存与库存缓存不符则按照库存缓存进行 + if (quantity == null) { + goodsSku.setQuantity(Convert.toInt(quantity)); + cache.put(GoodsSkuService.getCacheKeys(goodsSku.getId()), goodsSku); + } return goodsSku; } @@ -437,7 +435,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i quantity += goodsSku.getQuantity(); } } - //保存商品库存结果 这里在for循环中调用数据库保存不太好,需要优化 + //保存商品库存结果 goodsService.updateStock(goodsId, quantity); } From bdbf4589ea0a0c9ac97ee08244c8928511fc1af3 Mon Sep 17 00:00:00 2001 From: paulGao Date: Wed, 21 Jul 2021 07:59:58 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=BA=E5=88=86=E8=AF=8D=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/EsGoodsSearchServiceImpl.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java index 72239a17..200f805f 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.lucene.search.join.ScoreMode; import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery; import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.Operator; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder; import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders; @@ -411,12 +412,23 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { */ private void keywordSearch(BoolQueryBuilder filterBuilder, BoolQueryBuilder queryBuilder, String keyword, boolean isAggregation) { List filterFunctionBuilders = new ArrayList<>(); - //商品名字匹配 - filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.wildcardQuery("goodsName", "*" + keyword + "*"), - ScoreFunctionBuilders.weightFactorFunction(10))); - //属性匹配 - filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.nestedQuery(ATTR_PATH, QueryBuilders.wildcardQuery(ATTR_VALUE, "*" + keyword + "*"), ScoreMode.None), - ScoreFunctionBuilders.weightFactorFunction(8))); + if (keyword.contains(" ")) { + for (String s : keyword.split(" ")) { + filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery("goodsName", s).operator(Operator.AND), + ScoreFunctionBuilders.weightFactorFunction(10))); + //属性匹配 + filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.nestedQuery(ATTR_PATH, QueryBuilders.wildcardQuery(ATTR_VALUE, "*" + s + "*"), ScoreMode.None), + ScoreFunctionBuilders.weightFactorFunction(8))); + } + } else { + //分词匹配 + filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.AND), + ScoreFunctionBuilders.weightFactorFunction(10))); + //属性匹配 + filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.nestedQuery(ATTR_PATH, QueryBuilders.wildcardQuery(ATTR_VALUE, "*" + keyword + "*"), ScoreMode.None), + ScoreFunctionBuilders.weightFactorFunction(8))); + } + FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()]; filterFunctionBuilders.toArray(builders); From 13ecd5815bd1b79fd7eccd6de8a11ac8a649a1c3 Mon Sep 17 00:00:00 2001 From: paulGao Date: Wed, 21 Jul 2021 08:04:19 +0800 Subject: [PATCH 3/9] =?UTF-8?q?sql=20=E4=B8=AD=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E8=AF=8D=E7=AE=A1=E7=90=86=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update-sql/version4.1to4.2.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update-sql/version4.1to4.2.sql b/update-sql/version4.1to4.2.sql index ee0c7839..2d1b18c3 100644 --- a/update-sql/version4.1to4.2.sql +++ b/update-sql/version4.1to4.2.sql @@ -13,4 +13,7 @@ ALTER TABLE li_promotion_goods ADD goods_type varchar (200); /** 修改历史积分积分类型的字段类型 **/ alter table li_member_points_history modify column point_type varchar(50); update li_member_points_history set point_type = 'INCREASE' where point_type=1; -update li_member_points_history set point_type = 'REDUCE' where point_type=0; \ No newline at end of file +update li_member_points_history set point_type = 'REDUCE' where point_type=0; + +/** 添加分词管理菜单*/ +INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1349247640584085511, 'admin', '2021-01-13 14:51:20', b'0', 'admin', '2021-02-25 09:02:59', 'null', 'customWords/index', 'ios-american-football', 2, 'customWords', '1349237129847005184', 'customWords', 8.00, '分词管理', 'null'); \ No newline at end of file From 6f1aa6e3d5f493948c1223d0fc038efd3920f33a Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 21 Jul 2021 12:00:03 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BD=BF=E7=94=A8hutool=E5=81=9AString?= =?UTF-8?q?=E9=9D=9E=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index f601e134..844cfd3e 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -194,7 +194,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i String quantity = stringRedisTemplate.opsForValue().get(GoodsSkuService.getStockCacheKey(id)); //如果sku缓存的库存与库存缓存不符则按照库存缓存进行 - if (quantity == null) { + if (StrUtil.isNotEmpty(quantity)) { goodsSku.setQuantity(Convert.toInt(quantity)); cache.put(GoodsSkuService.getCacheKeys(goodsSku.getId()), goodsSku); } From 9ff2f50b8f9cbbbbeecaac2e3a7e67fc598267c3 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 21 Jul 2021 12:51:35 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9A=E5=85=B3=E9=97=AD=E4=BC=98=E6=83=A0=E5=88=B8=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E5=95=86=E5=93=81=E9=A1=B5=E9=9D=A2=E8=BF=98=E6=98=AF?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=BC=98=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/CouponServiceImpl.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index 666b7539..329efcc6 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -156,16 +156,14 @@ public class CouponServiceImpl extends ServiceImpl impleme couponVO.setPromotionStatus(promotionStatus.name()); this.updateById(couponVO); this.mongoTemplate.save(couponVO); - if (promotionStatus.name().equals(PromotionStatusEnum.START.name())) { - PromotionMessage promotionMessage = new PromotionMessage(couponVO.getId(), PromotionTypeEnum.COUPON.name(), PromotionStatusEnum.START.name(), couponVO.getStartTime(), couponVO.getEndTime()); - //更新延时任务 - this.timeTrigger.edit(TimeExecuteConstant.PROMOTION_EXECUTOR, - promotionMessage, - couponVO.getStartTime().getTime(), couponVO.getStartTime().getTime(), - DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (promotionMessage.getPromotionType() + promotionMessage.getPromotionId())), - DateUtil.getDelayTime(couponVO.getStartTime().getTime()), - rocketmqCustomProperties.getPromotionTopic()); - } + PromotionMessage promotionMessage = new PromotionMessage(couponVO.getId(), PromotionTypeEnum.COUPON.name(), promotionStatus.name(), couponVO.getStartTime(), couponVO.getEndTime()); + //更新延时任务 + this.timeTrigger.edit(TimeExecuteConstant.PROMOTION_EXECUTOR, + promotionMessage, + couponVO.getStartTime().getTime(), couponVO.getStartTime().getTime(), + DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (promotionMessage.getPromotionType() + promotionMessage.getPromotionId())), + DateUtil.getDelayTime(couponVO.getStartTime().getTime()), + rocketmqCustomProperties.getPromotionTopic()); } return true; } From b851de488ba90ea35c71d3393e168eb3ad5f7bdf Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 21 Jul 2021 13:38:42 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=BA=97=E9=93=BA?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=BE=85=E5=8F=91=E8=B4=A7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/modules/order/order/mapper/OrderMapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java index 6bcbbf42..4496c5a4 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java @@ -60,7 +60,8 @@ public interface OrderMapper extends BaseMapper { */ @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," + "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," + - "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order_item oi INNER JOIN li_order o ON oi.order_sn=o.sn ${ew.customSqlSegment}") + "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " + + "ON oi.order_sn=o.sn ${ew.customSqlSegment}") List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); /** From dd491e38e50af7bfbd67f37c419ed133732b3747 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 21 Jul 2021 15:13:50 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E6=BB=A1=E5=87=8F=E6=B4=BB=E5=8A=A8=E5=8F=AF=E4=BB=A5=E5=85=B3?= =?UTF-8?q?=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/FullDiscountService.java | 26 +++++---- .../serviceimpl/FullDiscountServiceImpl.java | 55 +++++++++++++++---- .../FullDiscountManagerController.java | 23 ++++++-- .../FullDiscountStoreController.java | 20 ++++++- 4 files changed, 95 insertions(+), 29 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/FullDiscountService.java b/framework/src/main/java/cn/lili/modules/promotion/service/FullDiscountService.java index 03e3b3db..0184f2ab 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/FullDiscountService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/FullDiscountService.java @@ -1,9 +1,10 @@ package cn.lili.modules.promotion.service; import cn.lili.common.vo.PageVO; -import cn.lili.modules.promotion.entity.dos.FullDiscount; -import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; +import cn.lili.modules.promotion.entity.dos.FullDiscount; +import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; +import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -17,14 +18,6 @@ import java.util.List; */ public interface FullDiscountService extends IService { - /** - * 当前满优惠活动 - * - * @param storeId 商家编号 - * @return 满优惠活动信息 - */ - FullDiscountVO currentPromotion(String storeId); - /** * 当前满优惠活动 * @@ -53,8 +46,8 @@ public interface FullDiscountService extends IService { /** * 从mongo中分页获取满优惠列表 * - * @param searchParams 搜索参数 - * @param page 分页参数 + * @param searchParams 搜索参数 + * @param page 分页参数 * @return 满优惠列表 */ IPage getFullDiscountByPageFromMongo(FullDiscountSearchParams searchParams, PageVO page); @@ -84,4 +77,13 @@ public interface FullDiscountService extends IService { */ boolean deleteFullDiscount(String id); + /** + * 更新满额活动状态 + * + * @param id 优惠券编号 + * @param promotionStatus 促销状态 + * @return 更新结果 + */ + boolean updateFullDiscountStatus(String id, PromotionStatusEnum promotionStatus); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java index b2b0a962..f45e4082 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/FullDiscountServiceImpl.java @@ -1,13 +1,13 @@ package cn.lili.modules.promotion.serviceimpl; import cn.lili.common.enums.ResultCode; -import cn.lili.common.trigger.util.DelayQueueTools; -import cn.lili.common.trigger.enums.DelayTypeEnums; -import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.exception.ServiceException; +import cn.lili.common.trigger.enums.DelayTypeEnums; import cn.lili.common.trigger.interfaces.TimeTrigger; +import cn.lili.common.trigger.message.PromotionMessage; import cn.lili.common.trigger.model.TimeExecuteConstant; import cn.lili.common.trigger.model.TimeTriggerMsg; +import cn.lili.common.trigger.util.DelayQueueTools; import cn.lili.common.utils.DateUtil; import cn.lili.common.utils.PageUtil; import cn.lili.common.vo.PageVO; @@ -77,13 +77,6 @@ public class FullDiscountServiceImpl extends ServiceImpl currentPromotion(List storeId) { Query query = this.getMongoQuery(); @@ -203,6 +196,48 @@ public class FullDiscountServiceImpl extends ServiceImpl fullDiscountVOList = this.mongoTemplate.find(query, FullDiscountVO.class); + + //判断满额活动是否为空 + if (fullDiscountVOList.isEmpty() || fullDiscountVOList == null) { + throw new ServiceException(ResultCode.FULL_DISCOUNT_NOT_EXIST_ERROR); + } + FullDiscountVO fullDiscountVO = fullDiscountVOList.get(0); + + //如果是开启活动则需要校验参数 + if (promotionStatus.equals(PromotionStatusEnum.START)) { + //验证是否是有效参数 + PromotionTools.paramValid(fullDiscountVO.getStartTime().getTime(), fullDiscountVO.getEndTime().getTime(), fullDiscountVO.getNumber(), fullDiscountVO.getPromotionGoodsList()); + //当前时间段是否存在同类活动 + this.checkSameActiveExist(fullDiscountVO.getStartTime(), fullDiscountVO.getEndTime(), fullDiscountVO.getStoreId(), null); + //检查满减参数 + this.checkFullDiscount(fullDiscountVO); + } + + //填写活动状态 + fullDiscountVO.setPromotionStatus(promotionStatus.name()); + + //保存到MYSQL中 + this.updateById(fullDiscountVO); + + //添加促销消息 + PromotionMessage promotionMessage = new PromotionMessage(fullDiscountVO.getId(), PromotionTypeEnum.FULL_DISCOUNT.name(), + promotionStatus.name(), + fullDiscountVO.getStartTime(), fullDiscountVO.getEndTime()); + //添加延时任务 + TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR, + fullDiscountVO.getStartTime().getTime(), promotionMessage, + DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (promotionMessage.getPromotionType() + promotionMessage.getPromotionId())), + rocketmqCustomProperties.getPromotionTopic()); + //发送促销活动开始的延时任务 + this.timeTrigger.addDelay(timeTriggerMsg); + return true; + } + /** * 检查满优惠活动是否存在 * diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/FullDiscountManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/FullDiscountManagerController.java index 8036f8e0..188e6193 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/FullDiscountManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/FullDiscountManagerController.java @@ -1,19 +1,20 @@ package cn.lili.controller.promotion; +import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; +import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams; import cn.lili.modules.promotion.service.FullDiscountService; -import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * 管理端,满额活动接口 @@ -47,4 +48,16 @@ public class FullDiscountManagerController { return ResultUtil.data(fullDiscountService.getFullDiscount(id)); } + @ApiOperation(value = "修改满额活动状态") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "满额活动ID", required = true, paramType = "path"), + @ApiImplicitParam(name = "promotionStatus", value = "满额活动状态", required = true, paramType = "path") + }) + @PutMapping("/status/{id}/{promotionStatus}") + public ResultMessage updateCouponStatus(@PathVariable String id, @PathVariable String promotionStatus) { + if (fullDiscountService.updateFullDiscountStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) { + return ResultUtil.success(ResultCode.SUCCESS); + } + return ResultUtil.error(ResultCode.ERROR); + } } diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java index fafdb403..3e6644ed 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java @@ -1,18 +1,20 @@ package cn.lili.controller.promotion; import cn.lili.common.enums.ResultCode; +import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; -import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import cn.lili.modules.promotion.entity.dos.FullDiscount; import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams; import cn.lili.modules.promotion.service.FullDiscountService; -import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -75,4 +77,18 @@ public class FullDiscountStoreController { return ResultUtil.success(ResultCode.FULL_DISCOUNT_EDIT_DELETE); } + + @ApiOperation(value = "修改满额活动状态") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "满额活动ID", required = true, paramType = "path"), + @ApiImplicitParam(name = "promotionStatus", value = "满额活动状态", required = true, paramType = "path") + }) + @PutMapping("/status/{id}/{promotionStatus}") + public ResultMessage updateCouponStatus(@PathVariable String id, @PathVariable String promotionStatus) { + if (fullDiscountService.updateFullDiscountStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) { + return ResultUtil.success(ResultCode.SUCCESS); + } + return ResultUtil.error(ResultCode.ERROR); + } + } From c459a9086a036fa19e47d6207f2f8afbaa0b2b6d Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 21 Jul 2021 15:43:49 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E9=80=80=E6=AC=BE=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=8D=95=E4=BB=B7=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/order/order/serviceimpl/AfterSaleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java index 58ae9189..538f1764 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java @@ -153,7 +153,7 @@ public class AfterSaleServiceImpl extends ServiceImpl Date: Wed, 21 Jul 2021 15:54:59 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E8=AF=84=E4=BB=B7=E5=BA=97=E9=93=BA=E5=9B=BE=E7=89=87=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update-sql/version4.1to4.2.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update-sql/version4.1to4.2.sql b/update-sql/version4.1to4.2.sql index 2d1b18c3..4082f20f 100644 --- a/update-sql/version4.1to4.2.sql +++ b/update-sql/version4.1to4.2.sql @@ -16,4 +16,7 @@ update li_member_points_history set point_type = 'INCREASE' where point_type=1; update li_member_points_history set point_type = 'REDUCE' where point_type=0; /** 添加分词管理菜单*/ -INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1349247640584085511, 'admin', '2021-01-13 14:51:20', b'0', 'admin', '2021-02-25 09:02:59', 'null', 'customWords/index', 'ios-american-football', 2, 'customWords', '1349237129847005184', 'customWords', 8.00, '分词管理', 'null'); \ No newline at end of file +INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1349247640584085511, 'admin', '2021-01-13 14:51:20', b'0', 'admin', '2021-02-25 09:02:59', 'null', 'customWords/index', 'ios-american-football', 2, 'customWords', '1349237129847005184', 'customWords', 8.00, '分词管理', 'null'); + +/** 修改会员评价店铺图片字段类型 **/ +alter table li_member_evaluation modify column reply_image text; \ No newline at end of file