Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop
This commit is contained in:
commit
0ccdc94644
@ -5,7 +5,6 @@ import cn.lili.common.enums.ResultUtil;
|
|||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
import cn.lili.common.vo.ResultMessage;
|
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.dos.Goods;
|
||||||
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
|
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
|
||||||
import cn.lili.modules.goods.entity.vos.GoodsVO;
|
import cn.lili.modules.goods.entity.vos.GoodsVO;
|
||||||
@ -61,12 +60,6 @@ public class GoodsBuyerController {
|
|||||||
*/
|
*/
|
||||||
@Autowired
|
@Autowired
|
||||||
private EsGoodsSearchService goodsSearchService;
|
private EsGoodsSearchService goodsSearchService;
|
||||||
/**
|
|
||||||
* 分销员
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
private DistributionService distributionService;
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "通过id获取商品信息")
|
@ApiOperation(value = "通过id获取商品信息")
|
||||||
@ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path", dataType = "Long")
|
@ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path", dataType = "Long")
|
||||||
|
@ -161,6 +161,11 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
/**
|
/**
|
||||||
* 同步库存和促销库存
|
* 同步库存和促销库存
|
||||||
*
|
*
|
||||||
|
* 需修改:DB:商品库存、Sku商品库存、活动商品库存
|
||||||
|
* 1.获取需要修改的Sku列表、活动商品列表
|
||||||
|
* 2.写入sku商品库存,批量修改
|
||||||
|
* 3.写入促销商品的卖出数量、剩余数量,批量修改
|
||||||
|
* 4.调用方法修改商品库存
|
||||||
* @param order 订单
|
* @param order 订单
|
||||||
*/
|
*/
|
||||||
private void synchroDB(OrderDetailVO order) {
|
private void synchroDB(OrderDetailVO order) {
|
||||||
|
@ -189,17 +189,15 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> i
|
|||||||
}
|
}
|
||||||
cache.put(GoodsSkuService.getCacheKeys(id), goodsSku);
|
cache.put(GoodsSkuService.getCacheKeys(id), goodsSku);
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取商品库存
|
//获取商品库存
|
||||||
String quantity = stringRedisTemplate.opsForValue().get(GoodsSkuService.getStockCacheKey(id));
|
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 (StrUtil.isNotEmpty(quantity)) {
|
||||||
|
goodsSku.setQuantity(Convert.toInt(quantity));
|
||||||
|
cache.put(GoodsSkuService.getCacheKeys(goodsSku.getId()), goodsSku);
|
||||||
|
}
|
||||||
return goodsSku;
|
return goodsSku;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -437,7 +435,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> i
|
|||||||
quantity += goodsSku.getQuantity();
|
quantity += goodsSku.getQuantity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//保存商品库存结果 这里在for循环中调用数据库保存不太好,需要优化
|
//保存商品库存结果
|
||||||
goodsService.updateStock(goodsId, quantity);
|
goodsService.updateStock(goodsId, quantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,8 @@ public interface OrderMapper extends BaseMapper<Order> {
|
|||||||
*/
|
*/
|
||||||
@Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," +
|
@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.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<OrderExportDTO> queryExportOrder(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
|
List<OrderExportDTO> queryExportOrder(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -153,7 +153,7 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
|||||||
}
|
}
|
||||||
|
|
||||||
afterSaleApplyVO.setAccountType(order.getPaymentMethod());
|
afterSaleApplyVO.setAccountType(order.getPaymentMethod());
|
||||||
afterSaleApplyVO.setApplyRefundPrice(CurrencyUtil.sub(orderItem.getFlowPrice(), orderItem.getNum()));
|
afterSaleApplyVO.setApplyRefundPrice(CurrencyUtil.div(orderItem.getFlowPrice(), orderItem.getNum()));
|
||||||
afterSaleApplyVO.setNum(orderItem.getNum());
|
afterSaleApplyVO.setNum(orderItem.getNum());
|
||||||
afterSaleApplyVO.setGoodsId(orderItem.getGoodsId());
|
afterSaleApplyVO.setGoodsId(orderItem.getGoodsId());
|
||||||
afterSaleApplyVO.setGoodsName(orderItem.getGoodsName());
|
afterSaleApplyVO.setGoodsName(orderItem.getGoodsName());
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
package cn.lili.modules.promotion.service;
|
package cn.lili.modules.promotion.service;
|
||||||
|
|
||||||
import cn.lili.common.vo.PageVO;
|
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.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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
@ -17,14 +18,6 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface FullDiscountService extends IService<FullDiscount> {
|
public interface FullDiscountService extends IService<FullDiscount> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前满优惠活动
|
|
||||||
*
|
|
||||||
* @param storeId 商家编号
|
|
||||||
* @return 满优惠活动信息
|
|
||||||
*/
|
|
||||||
FullDiscountVO currentPromotion(String storeId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前满优惠活动
|
* 当前满优惠活动
|
||||||
*
|
*
|
||||||
@ -53,8 +46,8 @@ public interface FullDiscountService extends IService<FullDiscount> {
|
|||||||
/**
|
/**
|
||||||
* 从mongo中分页获取满优惠列表
|
* 从mongo中分页获取满优惠列表
|
||||||
*
|
*
|
||||||
* @param searchParams 搜索参数
|
* @param searchParams 搜索参数
|
||||||
* @param page 分页参数
|
* @param page 分页参数
|
||||||
* @return 满优惠列表
|
* @return 满优惠列表
|
||||||
*/
|
*/
|
||||||
IPage<FullDiscountVO> getFullDiscountByPageFromMongo(FullDiscountSearchParams searchParams, PageVO page);
|
IPage<FullDiscountVO> getFullDiscountByPageFromMongo(FullDiscountSearchParams searchParams, PageVO page);
|
||||||
@ -84,4 +77,13 @@ public interface FullDiscountService extends IService<FullDiscount> {
|
|||||||
*/
|
*/
|
||||||
boolean deleteFullDiscount(String id);
|
boolean deleteFullDiscount(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新满额活动状态
|
||||||
|
*
|
||||||
|
* @param id 优惠券编号
|
||||||
|
* @param promotionStatus 促销状态
|
||||||
|
* @return 更新结果
|
||||||
|
*/
|
||||||
|
boolean updateFullDiscountStatus(String id, PromotionStatusEnum promotionStatus);
|
||||||
|
|
||||||
}
|
}
|
@ -156,16 +156,14 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
|
|||||||
couponVO.setPromotionStatus(promotionStatus.name());
|
couponVO.setPromotionStatus(promotionStatus.name());
|
||||||
this.updateById(couponVO);
|
this.updateById(couponVO);
|
||||||
this.mongoTemplate.save(couponVO);
|
this.mongoTemplate.save(couponVO);
|
||||||
if (promotionStatus.name().equals(PromotionStatusEnum.START.name())) {
|
PromotionMessage promotionMessage = new PromotionMessage(couponVO.getId(), PromotionTypeEnum.COUPON.name(), promotionStatus.name(), couponVO.getStartTime(), couponVO.getEndTime());
|
||||||
PromotionMessage promotionMessage = new PromotionMessage(couponVO.getId(), PromotionTypeEnum.COUPON.name(), PromotionStatusEnum.START.name(), couponVO.getStartTime(), couponVO.getEndTime());
|
//更新延时任务
|
||||||
//更新延时任务
|
this.timeTrigger.edit(TimeExecuteConstant.PROMOTION_EXECUTOR,
|
||||||
this.timeTrigger.edit(TimeExecuteConstant.PROMOTION_EXECUTOR,
|
promotionMessage,
|
||||||
promotionMessage,
|
couponVO.getStartTime().getTime(), couponVO.getStartTime().getTime(),
|
||||||
couponVO.getStartTime().getTime(), couponVO.getStartTime().getTime(),
|
DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (promotionMessage.getPromotionType() + promotionMessage.getPromotionId())),
|
||||||
DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (promotionMessage.getPromotionType() + promotionMessage.getPromotionId())),
|
DateUtil.getDelayTime(couponVO.getStartTime().getTime()),
|
||||||
DateUtil.getDelayTime(couponVO.getStartTime().getTime()),
|
rocketmqCustomProperties.getPromotionTopic());
|
||||||
rocketmqCustomProperties.getPromotionTopic());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package cn.lili.modules.promotion.serviceimpl;
|
package cn.lili.modules.promotion.serviceimpl;
|
||||||
|
|
||||||
import cn.lili.common.enums.ResultCode;
|
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.exception.ServiceException;
|
||||||
|
import cn.lili.common.trigger.enums.DelayTypeEnums;
|
||||||
import cn.lili.common.trigger.interfaces.TimeTrigger;
|
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.TimeExecuteConstant;
|
||||||
import cn.lili.common.trigger.model.TimeTriggerMsg;
|
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.DateUtil;
|
||||||
import cn.lili.common.utils.PageUtil;
|
import cn.lili.common.utils.PageUtil;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
@ -77,13 +77,6 @@ public class FullDiscountServiceImpl extends ServiceImpl<FullDiscountMapper, Ful
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PromotionGoodsService promotionGoodsService;
|
private PromotionGoodsService promotionGoodsService;
|
||||||
|
|
||||||
@Override
|
|
||||||
public FullDiscountVO currentPromotion(String storeId) {
|
|
||||||
Query query = this.getMongoQuery();
|
|
||||||
query.addCriteria(Criteria.where(SELLER_ID_COLUMN).is(storeId));
|
|
||||||
return mongoTemplate.findOne(query, FullDiscountVO.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<FullDiscountVO> currentPromotion(List<String> storeId) {
|
public List<FullDiscountVO> currentPromotion(List<String> storeId) {
|
||||||
Query query = this.getMongoQuery();
|
Query query = this.getMongoQuery();
|
||||||
@ -203,6 +196,48 @@ public class FullDiscountServiceImpl extends ServiceImpl<FullDiscountMapper, Ful
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateFullDiscountStatus(String id, PromotionStatusEnum promotionStatus) {
|
||||||
|
Query query = new Query();
|
||||||
|
query.addCriteria(Criteria.where("id").is(id));
|
||||||
|
List<FullDiscountVO> 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;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查满优惠活动是否存在
|
* 检查满优惠活动是否存在
|
||||||
*
|
*
|
||||||
|
@ -23,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.lucene.search.join.ScoreMode;
|
import org.apache.lucene.search.join.ScoreMode;
|
||||||
import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery;
|
import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery;
|
||||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||||
|
import org.elasticsearch.index.query.Operator;
|
||||||
import org.elasticsearch.index.query.QueryBuilders;
|
import org.elasticsearch.index.query.QueryBuilders;
|
||||||
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
|
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
|
||||||
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
|
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
|
||||||
@ -412,12 +413,23 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
|
|||||||
*/
|
*/
|
||||||
private void keywordSearch(BoolQueryBuilder filterBuilder, BoolQueryBuilder queryBuilder, String keyword, boolean isAggregation) {
|
private void keywordSearch(BoolQueryBuilder filterBuilder, BoolQueryBuilder queryBuilder, String keyword, boolean isAggregation) {
|
||||||
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
||||||
//商品名字匹配
|
if (keyword.contains(" ")) {
|
||||||
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.wildcardQuery("goodsName", "*" + keyword + "*"),
|
for (String s : keyword.split(" ")) {
|
||||||
ScoreFunctionBuilders.weightFactorFunction(10)));
|
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, "*" + keyword + "*"), ScoreMode.None),
|
//属性匹配
|
||||||
ScoreFunctionBuilders.weightFactorFunction(8)));
|
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()];
|
FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];
|
||||||
filterFunctionBuilders.toArray(builders);
|
filterFunctionBuilders.toArray(builders);
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
package cn.lili.controller.promotion;
|
package cn.lili.controller.promotion;
|
||||||
|
|
||||||
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.enums.ResultUtil;
|
import cn.lili.common.enums.ResultUtil;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
import cn.lili.common.vo.ResultMessage;
|
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.entity.vos.FullDiscountSearchParams;
|
||||||
import cn.lili.modules.promotion.service.FullDiscountService;
|
import cn.lili.modules.promotion.service.FullDiscountService;
|
||||||
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理端,满额活动接口
|
* 管理端,满额活动接口
|
||||||
@ -47,4 +48,16 @@ public class FullDiscountManagerController {
|
|||||||
return ResultUtil.data(fullDiscountService.getFullDiscount(id));
|
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<Object> updateCouponStatus(@PathVariable String id, @PathVariable String promotionStatus) {
|
||||||
|
if (fullDiscountService.updateFullDiscountStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) {
|
||||||
|
return ResultUtil.success(ResultCode.SUCCESS);
|
||||||
|
}
|
||||||
|
return ResultUtil.error(ResultCode.ERROR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,20 @@
|
|||||||
package cn.lili.controller.promotion;
|
package cn.lili.controller.promotion;
|
||||||
|
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
|
import cn.lili.common.enums.ResultUtil;
|
||||||
import cn.lili.common.security.AuthUser;
|
import cn.lili.common.security.AuthUser;
|
||||||
import cn.lili.common.security.context.UserContext;
|
import cn.lili.common.security.context.UserContext;
|
||||||
import cn.lili.common.enums.ResultUtil;
|
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
import cn.lili.common.vo.ResultMessage;
|
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.dos.FullDiscount;
|
||||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||||
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
|
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
|
||||||
import cn.lili.modules.promotion.service.FullDiscountService;
|
import cn.lili.modules.promotion.service.FullDiscountService;
|
||||||
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -75,4 +77,18 @@ public class FullDiscountStoreController {
|
|||||||
return ResultUtil.success(ResultCode.FULL_DISCOUNT_EDIT_DELETE);
|
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<Object> updateCouponStatus(@PathVariable String id, @PathVariable String promotionStatus) {
|
||||||
|
if (fullDiscountService.updateFullDiscountStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) {
|
||||||
|
return ResultUtil.success(ResultCode.SUCCESS);
|
||||||
|
}
|
||||||
|
return ResultUtil.error(ResultCode.ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,4 +13,10 @@ ALTER TABLE li_promotion_goods ADD goods_type varchar (200);
|
|||||||
/** 修改历史积分积分类型的字段类型 **/
|
/** 修改历史积分积分类型的字段类型 **/
|
||||||
alter table li_member_points_history modify column point_type varchar(50);
|
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 = 'INCREASE' where point_type=1;
|
||||||
update li_member_points_history set point_type = 'REDUCE' where point_type=0;
|
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');
|
||||||
|
|
||||||
|
/** 修改会员评价店铺图片字段类型 **/
|
||||||
|
alter table li_member_evaluation modify column reply_image text;
|
Loading…
x
Reference in New Issue
Block a user