diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java index 5030d8e4..13ad486e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java @@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; @@ -50,8 +52,10 @@ public class DistributionCashBuyerController { @ApiImplicitParam(name = "price", value = "申请金额", required = true, paramType = "query", dataType = "double") }) @PostMapping - public ResultMessage cash(@NotNull @ApiIgnore Double price) { - if(distributionCashService.cash(price)){ + public ResultMessage cash(@Max(value = 1000, message = "充值金额单次最多允许提现1000元") + @Min(value = 1, message = "充值金额单次最少提现金额为1元") + @NotNull @ApiIgnore Double price) { + if (distributionCashService.cash(price)) { return ResultUtil.success(); } throw new ServiceException(ResultCode.ERROR); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/RenderStepEnums.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/RenderStepEnums.java new file mode 100644 index 00000000..04694bf2 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/enums/RenderStepEnums.java @@ -0,0 +1,22 @@ +package cn.lili.modules.order.cart.entity.enums; + +/** + * 购物车渲染枚举 + */ +public enum RenderStepEnums { + + CHECK_DATA("校验商品"), + CART_SN("交易编号创建"), + COUPON("优惠券价格渲染"), + SKU_FREIGHT("运费计算"), + SKU_PROMOTION("商品促销计算"), + CART_PRICE("购物车金额计算"), + DISTRIBUTION("分销佣金计算"), + FULL_DISCOUNT("满减计算"); + + private String distribution; + + RenderStepEnums(String distribution) { + this.distribution = distribution; + } +} diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartVO.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartVO.java index 69b7ffac..6a40360a 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartVO.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/CartVO.java @@ -2,6 +2,7 @@ package cn.lili.modules.order.cart.entity.vo; import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.promotion.entity.dos.MemberCoupon; +import cn.lili.modules.promotion.entity.vos.CouponVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -46,6 +47,9 @@ public class CartVO extends CartBase implements Serializable { @ApiModelProperty(value = "使用的优惠券列表") private List couponList; + @ApiModelProperty(value = "使用的优惠券列表") + private List canReceiveCoupon; + @ApiModelProperty(value = "赠品列表") private List giftList; diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/CartRenderStep.java b/framework/src/main/java/cn/lili/modules/order/cart/render/CartRenderStep.java index 0b58824f..ce535122 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/CartRenderStep.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/CartRenderStep.java @@ -1,6 +1,7 @@ package cn.lili.modules.order.cart.render; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; /** * 购物车渲染 @@ -11,6 +12,13 @@ import cn.lili.modules.order.cart.entity.dto.TradeDTO; public interface CartRenderStep { + /** + * 渲染价格步骤 + * + * @return 渲染枚举 + */ + RenderStepEnums step(); + /** * 渲染一笔交易 * 0-》 校验商品 1-》 满优惠渲染 2-》渲染优惠 3-》优惠券渲染 4-》计算运费 5-》计算价格 6-》分销渲染 7-》其他渲染 @@ -18,4 +26,6 @@ public interface CartRenderStep { * @param tradeDTO 交易DTO */ void render(TradeDTO tradeDTO); + + } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java index c7cfbee9..8a11b21e 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java @@ -2,6 +2,7 @@ package cn.lili.modules.order.cart.render; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.service.CartService; @@ -44,20 +45,40 @@ public class TradeBuilder { /** * 渲染整比交易 - * 0-> 校验商品, 1-》 满优惠渲染, 2->渲染优惠, 3->优惠券渲染, 4->计算运费, 5->计算价格, 6->分销渲染, 7->扩展操作 + * 校验商品 》 满优惠渲染 》 渲染优惠 》 优惠券渲染 》 计算运费 》 计算价格 》 分销渲染 》 订单SN初始化 */ - int[] defaultRender = {0, 1, 2, 4, 5, 6, 7}; + RenderStepEnums[] defaultRender = { + RenderStepEnums.CHECK_DATA, + RenderStepEnums.FULL_DISCOUNT, + RenderStepEnums.SKU_PROMOTION, + RenderStepEnums.COUPON, + RenderStepEnums.SKU_FREIGHT, + RenderStepEnums.CART_PRICE, + RenderStepEnums.DISTRIBUTION, + RenderStepEnums.CART_SN + }; /** * 单个商品优惠,不需要渲染满减优惠 + * 用于特殊场景:例如积分商品,拼团商品,虚拟商品等等 */ - int[] singleRender = {0, 2, 4, 5, 6, 7}; + RenderStepEnums[] singleRender = { + RenderStepEnums.CHECK_DATA, + RenderStepEnums.SKU_PROMOTION, + RenderStepEnums.SKU_FREIGHT, + RenderStepEnums.CART_PRICE, + RenderStepEnums.DISTRIBUTION, + RenderStepEnums.CART_SN}; /** * 购物车购物车渲染 - * 0-> 校验商品, 1-》 满优惠渲染, 2->渲染优惠, 5->计算价格 + * 校验商品 》 满优惠渲染 》 渲染优惠 》计算价格 */ - int[] cartRender = {0, 1, 2, 5}; + RenderStepEnums[] cartRender = { + RenderStepEnums.CHECK_DATA, + RenderStepEnums.FULL_DISCOUNT, + RenderStepEnums.SKU_PROMOTION, + RenderStepEnums.CART_PRICE}; /** @@ -78,11 +99,15 @@ public class TradeBuilder { } //按照计划进行渲染 - for (int index : cartRender) { - try { - cartRenderSteps.get(index).render(tradeDTO); - } catch (Exception e) { - log.error("购物车{}渲染异常:", cartRenderSteps.get(index).getClass(), e); + for (RenderStepEnums step : cartRender) { + for (CartRenderStep render : cartRenderSteps) { + try { + if (render.step().equals(step)) { + render.render(tradeDTO); + } + } catch (Exception e) { + log.error("购物车{}渲染异常:", render.getClass(), e); + } } } return tradeDTO; @@ -106,20 +131,27 @@ public class TradeBuilder { tradeDTO.setSkuList(collect); if (checkedWay.equals(CartTypeEnum.CART) || checkedWay.equals(CartTypeEnum.BUY_NOW) || checkedWay.equals(CartTypeEnum.VIRTUAL)) { //按照计划进行渲染 - for (int index : defaultRender) { - try { - cartRenderSteps.get(index).render(tradeDTO); - } catch (Exception e) { - log.error("购物车{}渲染异常:", cartRenderSteps.get(index).getClass(), e); + for (RenderStepEnums step : defaultRender) { + for (CartRenderStep render : cartRenderSteps) { + try { + if (render.step().equals(step)) { + render.render(tradeDTO); + } + } catch (Exception e) { + log.error("购物车{}渲染异常:", render.getClass(), e); + } } } } else { - //按照计划进行渲染 - for (int index : singleRender) { - try { - cartRenderSteps.get(index).render(tradeDTO); - } catch (Exception e) { - log.error("购物车{}渲染异常:", cartRenderSteps.get(index).getClass(), e); + for (RenderStepEnums step : singleRender) { + for (CartRenderStep render : cartRenderSteps) { + try { + if (render.step().equals(step)) { + render.render(tradeDTO); + } + } catch (Exception e) { + log.error("购物车{}渲染异常:", render.getClass(), e); + } } } } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartPriceRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartPriceRender.java index 76930915..c6f9b43e 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartPriceRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartPriceRender.java @@ -5,6 +5,7 @@ import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.goods.service.CategoryService; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.render.CartRenderStep; @@ -49,6 +50,10 @@ public class CartPriceRender implements CartRenderStep { @Autowired private KanjiaActivityGoodsService kanjiaActivityGoodsService; + @Override + public RenderStepEnums step() { + return RenderStepEnums.CART_PRICE; + } @Override public void render(TradeDTO tradeDTO) { //构造cartVO diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartSnRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartSnRender.java index 78b895b0..b3fcda81 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartSnRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CartSnRender.java @@ -3,6 +3,7 @@ package cn.lili.modules.order.cart.render.impl; import cn.lili.common.utils.SnowFlake; import cn.lili.modules.order.cart.entity.dto.StoreRemarkDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.render.CartRenderStep; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; @@ -17,6 +18,11 @@ import org.springframework.stereotype.Service; @Service public class CartSnRender implements CartRenderStep { + @Override + public RenderStepEnums step() { + return RenderStepEnums.CART_SN; + } + @Override public void render(TradeDTO tradeDTO) { diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java index 0f3f701c..ab15de51 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java @@ -14,6 +14,7 @@ import cn.lili.modules.member.service.MemberService; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.render.CartRenderStep; @@ -58,6 +59,12 @@ public class CheckDataRender implements CartRenderStep { @Autowired private PointsGoodsService pointsGoodsService; + + @Override + public RenderStepEnums step() { + return RenderStepEnums.CHECK_DATA; + } + @Override public void render(TradeDTO tradeDTO) { //预校验 @@ -171,7 +178,7 @@ public class CheckDataRender implements CartRenderStep { String skuId = tradeDTO.getSkuList().get(0).getGoodsSku().getId(); //获取积分商品VO PointsGoodsVO pointsGoodsVO = pointsGoodsService.getPointsGoodsVOByMongo(skuId); - if(pointsGoodsVO==null){ + if (pointsGoodsVO == null) { throw new ServiceException(ResultCode.POINT_GOODS_ERROR); } Member member = memberService.getUserInfo(); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java index 54900a2d..fe105dc5 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java @@ -3,6 +3,7 @@ package cn.lili.modules.order.cart.render.impl; import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.render.CartRenderStep; import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; @@ -21,6 +22,12 @@ import java.util.Map; @Service public class CouponRender implements CartRenderStep { + @Override + public RenderStepEnums step() { + return RenderStepEnums.COUPON; + } + + @Override public void render(TradeDTO tradeDTO) { diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/DistributionPriceRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/DistributionPriceRender.java index 1ac8f77f..2832e232 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/DistributionPriceRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/DistributionPriceRender.java @@ -4,6 +4,7 @@ import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.render.CartRenderStep; import org.springframework.beans.factory.annotation.Autowired; @@ -25,6 +26,11 @@ public class DistributionPriceRender implements CartRenderStep { @Autowired private Cache cache; + @Override + public RenderStepEnums step() { + return RenderStepEnums.DISTRIBUTION; + } + @Override public void render(TradeDTO tradeDTO) { //主要渲染各个优惠的价格 diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/FullDiscountRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/FullDiscountRender.java index 0cfdc714..ceba243f 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/FullDiscountRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/FullDiscountRender.java @@ -1,6 +1,7 @@ package cn.lili.modules.order.cart.render.impl; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; @@ -29,6 +30,10 @@ public class FullDiscountRender implements CartRenderStep { @Autowired private FullDiscountService fullDiscountService; + @Override + public RenderStepEnums step() { + return RenderStepEnums.FULL_DISCOUNT; + } @Override public void render(TradeDTO tradeDTO) { diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuFreightRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuFreightRender.java index be224ab9..9c82f5df 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuFreightRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuFreightRender.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.NumberUtil; import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.render.CartRenderStep; import cn.lili.modules.store.entity.dos.FreightTemplateChild; @@ -31,6 +32,11 @@ public class SkuFreightRender implements CartRenderStep { @Autowired private FreightTemplateService freightTemplateService; + @Override + public RenderStepEnums step() { + return RenderStepEnums.SKU_FREIGHT; + } + @Override public void render(TradeDTO tradeDTO) { List cartSkuVOS = tradeDTO.getSkuList(); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java index b9c9f671..a0d5ec9e 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java @@ -5,6 +5,7 @@ import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; +import cn.lili.modules.order.cart.entity.enums.RenderStepEnums; import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; @@ -37,6 +38,9 @@ import java.util.stream.Collectors; @Service @Order(2) public class SkuPromotionRender implements CartRenderStep { + + + /** * 促销计算 */ @@ -48,6 +52,11 @@ public class SkuPromotionRender implements CartRenderStep { @Autowired private PromotionGoodsService promotionGoodsService; + @Override + public RenderStepEnums step() { + return RenderStepEnums.SKU_PROMOTION; + } + @Override public void render(TradeDTO tradeDTO) { diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index e36bb96b..6cf421e5 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -647,17 +647,16 @@ public class CartServiceImpl implements CartService { * @param num 数量 */ private void checkCart(CartTypeEnum cartTypeEnum, CartSkuVO cartSkuVO, String skuId, Integer num) { + + this.checkSetGoodsQuantity(cartSkuVO, skuId, num); //拼团判定 if (cartTypeEnum.equals(CartTypeEnum.PINTUAN)) { - checkPintuan(cartSkuVO); //砍价判定 + checkPintuan(cartSkuVO); } else if (cartTypeEnum.equals(CartTypeEnum.KANJIA)) { - checkKanjia(cartSkuVO); //检测购物车的数量 - } else { - this.checkSetGoodsQuantity(cartSkuVO, skuId, num); + checkKanjia(cartSkuVO); } - } /** @@ -695,7 +694,7 @@ public class CartServiceImpl implements CartService { private void checkKanjia(CartSkuVO cartSkuVO) { //根据skuId获取砍价商品 - KanjiaActivityGoodsDTO kanjiaActivityGoodsDTO=kanjiaActivityGoodsService.getKanjiaGoodsBySkuId(cartSkuVO.getGoodsSku().getId()); + KanjiaActivityGoodsDTO kanjiaActivityGoodsDTO = kanjiaActivityGoodsService.getKanjiaGoodsBySkuId(cartSkuVO.getGoodsSku().getId()); //查找当前会员的砍价商品活动 KanjiaActivitySearchParams kanjiaActivitySearchParams = new KanjiaActivitySearchParams(); diff --git a/framework/src/main/java/cn/lili/modules/permission/entity/vo/UserMenuVO.java b/framework/src/main/java/cn/lili/modules/permission/entity/vo/UserMenuVO.java index acf550bb..228dd19d 100644 --- a/framework/src/main/java/cn/lili/modules/permission/entity/vo/UserMenuVO.java +++ b/framework/src/main/java/cn/lili/modules/permission/entity/vo/UserMenuVO.java @@ -17,12 +17,12 @@ public class UserMenuVO extends Menu { /** * 是否是超级管理员 */ - private Boolean isSupper; + private Boolean isSuper; - public Boolean getSupper() { - if (this.isSupper == null) { + public Boolean getSuper() { + if (this.isSuper == null) { return false; } - return isSupper; + return isSuper; } } diff --git a/framework/src/main/java/cn/lili/modules/permission/mapper/MenuMapper.java b/framework/src/main/java/cn/lili/modules/permission/mapper/MenuMapper.java index e5e24aaf..bd3c7235 100644 --- a/framework/src/main/java/cn/lili/modules/permission/mapper/MenuMapper.java +++ b/framework/src/main/java/cn/lili/modules/permission/mapper/MenuMapper.java @@ -34,7 +34,7 @@ public interface MenuMapper extends BaseMapper { * @param userId 用户ID * @return 用户菜单VO列表 */ - @Select("SELECT rm.is_super,m.*FROM li_menu AS m INNER JOIN li_role_menu AS rm ON rm.menu_id=m.id WHERE rm.role_id IN (" + + @Select("SELECT rm.is_super as is_super,m.*FROM li_menu AS m INNER JOIN li_role_menu AS rm ON rm.menu_id=m.id WHERE rm.role_id IN (" + "SELECT ur.role_id FROM li_user_role AS ur WHERE ur.user_id=#{userId}) OR rm.role_id IN (" + "SELECT dr.role_id FROM li_department_role AS dr INNER JOIN li_admin_user AS au ON au.department_id=dr.department_id " + "WHERE au.id=#{userId}) GROUP BY m.id,rm.is_super ORDER BY rm.is_super desc") diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java index 94be0b0b..5736f4ab 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Pintuan.java @@ -8,7 +8,9 @@ import lombok.Data; import javax.persistence.Entity; import javax.persistence.Table; +import javax.validation.constraints.Max; import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; /** * 拼团活动实体类 @@ -27,15 +29,19 @@ public class Pintuan extends BasePromotion { private static final long serialVersionUID = -8465716592648602604L; - @Min(message = "成团人数必须为数字", value = 0) + @Min(message = "成团人数需大于等于2", value = 2) + @Max(message = "成团人数最多10人", value = 10) + @NotNull(message = "成团人数必填") @ApiModelProperty(value = "成团人数") private Integer requiredNum; @Min(message = "限购数量必须为数字", value = 0) + @NotNull(message = "限购数量必填") @ApiModelProperty(value = "限购数量") private Integer limitNum; @ApiModelProperty(value = "虚拟成团", required = true) + @NotNull(message = "虚拟成团必填") private Boolean fictitious; @ApiModelProperty(value = "拼团规则") diff --git a/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java b/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java index bcdbdb60..8d2dbadb 100644 --- a/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java +++ b/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java @@ -83,7 +83,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate { //for循环路径集合 for (String url : permissionUrl) { //如果是超级权限 则计入超级权限 - if (menu.getSupper()) { + if (menu.getSuper()) { //如果已有超级权限,则这里就不做权限的累加 if (!superPermissions.contains(url)) { superPermissions.add(url); @@ -98,8 +98,8 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate { } } } - //去除无效的权限 - superPermissions.forEach(queryPermissions::remove); + //去除重复的权限 + queryPermissions.removeAll(superPermissions); }); permission.put(PermissionEnum.SUPER.name(), superPermissions); permission.put(PermissionEnum.QUERY.name(), queryPermissions); diff --git a/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java b/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java index 46c12778..d45eb63f 100755 --- a/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java +++ b/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java @@ -99,7 +99,7 @@ public class ManagerAuthenticationFilter extends BasicAuthenticationFilter { } //非get请求(数据操作) 判定鉴权 else { - if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), request.getRequestURI())) { + if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl)) { } else { ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足")); diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java index ba499b86..56832916 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -66,7 +67,7 @@ public class PintuanStoreController { @PostMapping(consumes = "application/json", produces = "application/json") @ApiOperation(value = "添加拼团活动") - public ResultMessage addPintuan(@RequestBody PintuanVO pintuan) { + public ResultMessage addPintuan(@RequestBody @Validated PintuanVO pintuan) { AuthUser currentUser = UserContext.getCurrentUser(); pintuan.setStoreId(currentUser.getStoreId()); pintuan.setStoreName(currentUser.getStoreName()); @@ -78,7 +79,7 @@ public class PintuanStoreController { @PutMapping(consumes = "application/json", produces = "application/json") @ApiOperation(value = "修改拼团活动") - public ResultMessage editPintuan(@RequestBody PintuanVO pintuan) { + public ResultMessage editPintuan(@RequestBody @Validated PintuanVO pintuan) { AuthUser currentUser = UserContext.getCurrentUser(); pintuan.setStoreId(currentUser.getStoreId()); pintuan.setStoreName(currentUser.getStoreName());