diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java index aed156ad..c1dc8f98 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.json.JSONUtil; import cn.lili.common.utils.CurrencyUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.modules.distribution.entity.dos.Distribution; import cn.lili.modules.distribution.entity.dos.DistributionOrder; import cn.lili.modules.distribution.entity.enums.DistributionOrderStatusEnum; @@ -14,6 +13,7 @@ import cn.lili.modules.distribution.service.DistributionOrderService; import cn.lili.modules.distribution.service.DistributionService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; @@ -21,6 +21,7 @@ import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.DistributionSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -87,10 +88,9 @@ public class DistributionOrderServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() - .eq(StoreFlow::getOrderSn, orderSn) - .isNotNull(StoreFlow::getDistributionRebate)); - Double rebate = 0.0; + List storeFlowList = storeFlowService + .listStoreFlow(StoreFlowQueryDTO.builder().justDistribution(true).orderSn(orderSn).build()); + double rebate = 0.0; //循环店铺流水记录判断是否包含分销商品 //包含分销商品则进行记录分销订单、计算分销总额 for (StoreFlow storeFlow : storeFlowList) { @@ -165,7 +165,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl() - .eq(StoreFlow::getRefundSn, afterSaleSn) - .isNotNull(StoreFlow::getDistributionRebate)); + StoreFlow storeFlow = storeFlowService.queryOne(StoreFlowQueryDTO.builder().justDistribution(true).refundSn(afterSaleSn).build()); if (storeFlow != null) { //获取收款分销订单 @@ -199,12 +197,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl() .eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java b/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java deleted file mode 100644 index 50813010..00000000 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.lili.modules.goods.entity.dto; - -import io.swagger.annotations.ApiModelProperty; - -/** - * 用于直播间前台使用的直播间商品DTO - * - * @author Bulbasaur - * @since 2021/5/20 2:34 下午 - */ -public class SimpleCommodity { - - @ApiModelProperty(value = "图片") - private String goodsImage; - - @ApiModelProperty(value = "商品名称") - private String name; -} diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java index 2171812e..f517d5db 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java @@ -6,7 +6,6 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.entity.vos.GoodsVO; -import cn.lili.modules.member.entity.dto.CollectionDTO; import cn.lili.modules.store.entity.dos.Store; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -141,5 +140,10 @@ public interface GoodsService extends IService { * @param store */ void updateStoreDetail(Store store); + /** + * 统计店铺的商品数量 + * @param storeId 店铺id + */ + Integer countStoreGoodsNum(String storeId); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index 453dc36a..c43a0162 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -379,6 +379,15 @@ public class GoodsServiceImpl extends ServiceImpl implements goodsSkuService.update(updateWrapper); } + @Override + public Integer countStoreGoodsNum(String storeId) { + return this.count( + new LambdaQueryWrapper() + .eq(Goods::getStoreId, storeId) + .eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name()) + .eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name())); + } + /** * 添加商品默认图片 * diff --git a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java index 3789ff56..30b9d7ee 100644 --- a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java +++ b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java @@ -3,10 +3,20 @@ package cn.lili.modules.message.service; import com.baomidou.mybatisplus.extension.service.IService; import cn.lili.modules.message.entity.dos.ShortLink; +import java.util.List; + /** * 短链接 业务层 + * * @author Chopper */ public interface ShortLinkService extends IService { + /** + * 根据模型,查询返回的集合 + * + * @param shortLink 短链接模型 + * @return 端链接集合 + */ + List queryShortLinks(ShortLink shortLink); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java index be3ed903..5d734def 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java @@ -3,16 +3,24 @@ package cn.lili.modules.message.serviceimpl; import cn.lili.modules.message.entity.dos.ShortLink; import cn.lili.modules.message.mapper.ShortLinkMapper; import cn.lili.modules.message.service.ShortLinkService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * 短链接 业务实现 + * * @author Chopper */ @Service @Transactional(rollbackFor = Exception.class) public class ShortLinkServiceImpl extends ServiceImpl implements ShortLinkService { + @Override + public List queryShortLinks(ShortLink shortLink) { + return this.list(PageUtil.initWrapper(shortLink)); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java index 8d668bc0..52e345b8 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java @@ -142,7 +142,7 @@ public class AfterSale extends BaseEntity { private String mLogisticsName; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "买家发货时间") private Date mDeliverTime; diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java index cf5ee263..9d2c3260 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java @@ -7,27 +7,25 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; -import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.BeanUtil; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; -import cn.lili.common.vo.PageVO; import cn.lili.modules.order.aftersale.aop.AfterSaleLogPoint; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.dos.Order; -import cn.lili.modules.order.order.entity.dos.OrderItem; -import cn.lili.modules.order.order.entity.enums.*; import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO; -import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; -import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; -import cn.lili.modules.order.order.entity.enums.OrderTypeEnum; -import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO; import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; import cn.lili.modules.order.aftersale.mapper.AfterSaleMapper; import cn.lili.modules.order.aftersale.service.AfterSaleService; +import cn.lili.modules.order.order.entity.dos.Order; +import cn.lili.modules.order.order.entity.dos.OrderItem; +import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; +import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; +import cn.lili.modules.order.order.entity.enums.OrderTypeEnum; +import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.trade.entity.enums.AfterSaleRefundWayEnum; @@ -35,15 +33,12 @@ import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.RefundSupport; -import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; -import cn.lili.modules.statistics.util.StatisticsDateUtil; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.modules.system.entity.dos.Logistics; import cn.lili.modules.system.entity.vo.Traces; import cn.lili.modules.system.service.LogisticsService; -import cn.lili.common.security.OperationalJudgment; import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.AfterSaleTagsEnum; @@ -58,12 +53,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.PostConstruct; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * 售后业务层实现 @@ -197,7 +190,7 @@ public class AfterSaleServiceImpl extends ServiceImpl() .eq(OrderItem::getSn, orderItem.getSn()) .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus()) - .set(OrderItem::getReturnGoodsNumber,orderItem.getReturnGoodsNumber())); + .set(OrderItem::getReturnGoodsNumber, orderItem.getReturnGoodsNumber())); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java new file mode 100644 index 00000000..958b47ba --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java @@ -0,0 +1,38 @@ +package cn.lili.modules.order.order.entity.dto; + +import cn.lili.common.vo.PageVO; +import cn.lili.modules.store.entity.dos.Bill; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +/** + * 店铺流水查询DTO + * + * @author Chopper + * @version v1.0 + * 2021-12-08 10:53 + */ +@Data +@Builder +public class StoreFlowQueryDTO { + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "售后编号") + private String refundSn; + + @ApiModelProperty(value = "售后编号") + private String orderSn; + + @ApiModelProperty(value = "过滤只看分销订单") + private Boolean justDistribution; + + @ApiModelProperty("结算单") + private Bill bill; + + @ApiModelProperty(value = "分页") + private PageVO pageVO; + +} diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java index cee318a2..ca3c3f4a 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java @@ -58,4 +58,12 @@ public interface OrderItemService extends IService { */ List getByOrderSn(String orderSn); + /** + * 子订单查询 + * + * @param orderSn 订单编号 + * @param skuId skuid + * @return 子订单 + */ + OrderItem getByOrderSnAndSkuId(String orderSn, String skuId); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java index 4c8a080e..ff879435 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java @@ -3,16 +3,12 @@ package cn.lili.modules.order.order.service; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO; import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.service.IService; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; -import java.util.Date; import java.util.List; /** @@ -40,31 +36,34 @@ public interface StoreFlowService extends IService { /** * 获取商家流水 * - * @param storeId 商家ID - * @param type 收入、退款 - * @param distribution 是否查看分销相关数据 - * @param pageVO 分页 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return + * @param storeFlowQueryDTO 查询参数 + * @return 返回分页 */ - IPage getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime); + IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO); /** - * 获取结算单的入账流水 + * 根据参数查询一条数据 * - * @param queryWrapper 查询条件 + * @param storeFlowQueryDTO 查询参数 + * @return 返回分页 + */ + StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO); + + /** + * 获取结算单地入账流水 + * + * @param storeFlowQueryDTO 查询条件 * @return 入账流水 */ - List getStoreFlowPayDownloadVO(Wrapper queryWrapper); + List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO); /** * 获取结算单的退款流水 * - * @param queryWrapper 查询条件 + * @param storeFlowQueryDTO 查询条件 * @return 退款流水 */ - List getStoreFlowRefundDownloadVO(Wrapper queryWrapper); + List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO); /** @@ -87,4 +86,11 @@ public interface StoreFlowService extends IService { IPage getDistributionFlow(String id, PageVO pageVO); + /** + * 获取店铺流水 + * + * @param storeFlowQueryDTO 店铺流水查询参数 + * @return 商家流水集合 + */ + List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java index 7579de46..428ecb95 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java @@ -9,14 +9,12 @@ import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.service.OrderItemService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; /** @@ -80,4 +78,10 @@ public class OrderItemServiceImpl extends ServiceImpl() + .eq(OrderItem::getOrderSn, orderSn) + .eq(OrderItem::getSkuId, skuId)); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 70fdbeec..da22d3ab 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -1,11 +1,15 @@ package cn.lili.modules.order.order.serviceimpl; -import cn.lili.common.utils.*; +import cn.lili.common.utils.BeanUtil; +import cn.lili.common.utils.CurrencyUtil; +import cn.lili.common.utils.SnowFlake; +import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; @@ -20,7 +24,6 @@ import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO; import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO; import cn.lili.modules.store.service.BillService; import cn.lili.mybatis.util.PageUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -31,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; /** @@ -148,7 +150,7 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(StoreFlow::getOrderItemSn, afterSale.getOrderItemSn()) - .eq(StoreFlow::getFlowType,FlowTypeEnum.PAY)); + .eq(StoreFlow::getFlowType, FlowTypeEnum.PAY)); storeFlow.setNum(afterSale.getNum()); storeFlow.setCategoryId(payStoreFlow.getCategoryId()); //佣金 @@ -167,37 +169,77 @@ public class StoreFlowServiceImpl extends ServiceImpl getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime) { + public IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId); - lambdaQueryWrapper.isNotNull(distribution, StoreFlow::getDistributionRebate); - lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime); - lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type), StoreFlow::getFlowType, type); - return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper); + return this.page(PageUtil.initPage(storeFlowQueryDTO.getPageVO()), generatorQueryWrapper(storeFlowQueryDTO)); } @Override - public List getStoreFlowPayDownloadVO(Wrapper queryWrapper) { - return baseMapper.getStoreFlowPayDownloadVO(queryWrapper); + public StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO) { + return this.getOne(generatorQueryWrapper(storeFlowQueryDTO)); } @Override - public List getStoreFlowRefundDownloadVO(Wrapper queryWrapper) { - return baseMapper.getStoreFlowRefundDownloadVO(queryWrapper); + public List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) { + return baseMapper.getStoreFlowPayDownloadVO(generatorQueryWrapper(storeFlowQueryDTO)); + } + + @Override + public List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) { + return baseMapper.getStoreFlowRefundDownloadVO(generatorQueryWrapper(storeFlowQueryDTO)); } @Override public IPage getStoreFlow(String id, String type, PageVO pageVO) { Bill bill = billService.getById(id); - return this.getStoreFlow(bill.getStoreId(), type, false, pageVO, bill.getStartTime(), bill.getCreateTime()); + return this.getStoreFlow(StoreFlowQueryDTO.builder().type(type).pageVO(pageVO).bill(bill).build()); } @Override public IPage getDistributionFlow(String id, PageVO pageVO) { Bill bill = billService.getById(id); - return this.getStoreFlow(bill.getStoreId(), null, true, pageVO, bill.getStartTime(), bill.getCreateTime()); + return this.getStoreFlow(StoreFlowQueryDTO.builder().pageVO(pageVO).bill(bill).build()); } + @Override + public List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) { + return this.list(generatorQueryWrapper(storeFlowQueryDTO)); + } + + /** + * 生成查询wrapper + * + * @param storeFlowQueryDTO 搜索参数 + * @return 查询wrapper + */ + private LambdaQueryWrapper generatorQueryWrapper(StoreFlowQueryDTO storeFlowQueryDTO) { + + + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); + //分销订单过滤是否判定 + lambdaQueryWrapper.isNotNull(storeFlowQueryDTO.getJustDistribution() != null && storeFlowQueryDTO.getJustDistribution(), + StoreFlow::getDistributionRebate); + + //流水类型判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getType()), + StoreFlow::getFlowType, storeFlowQueryDTO.getType()); + + //售后编号判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getRefundSn()), + StoreFlow::getRefundSn, storeFlowQueryDTO.getRefundSn()); + + //售后编号判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getOrderSn()), + StoreFlow::getOrderSn, storeFlowQueryDTO.getOrderSn()); + + //结算单非空,则校对结算单参数 + if (storeFlowQueryDTO.getBill() != null) { + Bill bill = storeFlowQueryDTO.getBill(); + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(bill.getStoreId()), StoreFlow::getStoreId, bill.getStoreId()); + lambdaQueryWrapper.between(bill.getStartTime() != null && bill.getEndTime() != null, + StoreFlow::getCreateTime, bill.getStartTime(), bill.getEndTime()); + } + return lambdaQueryWrapper; + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java b/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java index 4f4e20a4..4cf4aac8 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java @@ -6,19 +6,15 @@ import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.service.OrderItemService; -import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; -import java.util.Date; /** * 退款支持 @@ -34,11 +30,6 @@ public class RefundSupport { */ @Autowired private StoreFlowService storeFlowService; - /** - * 售后 - */ - @Autowired - private AfterSaleService afterSaleService; /** * 订单 */ @@ -73,10 +64,6 @@ public class RefundSupport { Payment payment = (Payment) SpringContextUtil.getBean(paymentMethodEnum.getPlugin()); payment.refund(refundLog); - //记录售后单中的退款金额 - afterSaleService.update(new LambdaUpdateWrapper() - .eq(AfterSale::getId, afterSale.getId()) - .set(AfterSale::getRefundTime, new Date())); this.updateReturnGoodsNumber(afterSale); //记录退款流水 @@ -85,22 +72,21 @@ public class RefundSupport { /** * 功能描述: 修改子订单中已售后退款商品数量 + * + * @return void * @Author ftyy * @Description //TODO * @Date 17:33 2021/11/18 * @Param [afterSale] - * @return void **/ - private void updateReturnGoodsNumber(AfterSale afterSale){ + private void updateReturnGoodsNumber(AfterSale afterSale) { //根据商品id及订单sn获取子订单 - OrderItem orderItem = orderItemService.getOne(new LambdaQueryWrapper() - .eq(OrderItem::getOrderSn, afterSale.getOrderSn()) - .eq(OrderItem::getGoodsId, afterSale.getGoodsId())); + OrderItem orderItem = orderItemService.getByOrderSnAndSkuId(afterSale.getOrderSn(), afterSale.getGoodsId()); + + orderItem.setReturnGoodsNumber(afterSale.getNum() + orderItem.getReturnGoodsNumber()); + //修改子订单订单中的退货数量 - orderItemService.update(new LambdaUpdateWrapper() - .eq(OrderItem::getOrderSn,afterSale.getOrderSn()) - .eq(OrderItem::getGoodsId,afterSale.getGoodsId()) - .set(OrderItem::getReturnGoodsNumber,(afterSale.getNum()+orderItem.getReturnGoodsNumber()))); + orderItemService.updateById(orderItem); } /** diff --git a/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java b/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java index 5ecef2a1..700dd1a1 100644 --- a/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java +++ b/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java @@ -1,10 +1,6 @@ package cn.lili.modules.payment.service; -import cn.lili.modules.order.order.entity.vo.PaymentLog; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * 支付日志 业务层 @@ -29,13 +25,4 @@ public interface PaymentService { */ void adminPaySuccess(PaymentSuccessParams paymentSuccessParams); - - /** - * 获取支付日志 - * - * @param initPage - * @param initWrapper - * @return - */ - IPage page(Page initPage, QueryWrapper initWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java index 489ba5a2..a601d6d1 100644 --- a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java @@ -1,21 +1,14 @@ package cn.lili.modules.payment.serviceimpl; -import cn.lili.modules.order.order.entity.vo.PaymentLog; -import cn.lili.modules.order.order.mapper.OrderMapper; -import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; import cn.lili.modules.payment.kit.params.CashierExecute; import cn.lili.modules.payment.service.PaymentService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import java.util.List; /** @@ -33,8 +26,6 @@ public class PaymentServiceImpl implements PaymentService { private List cashierExecutes; @Autowired private CashierSupport cashierSupport; - @Resource - private OrderService orderService; @Override public void success(PaymentSuccessParams paymentSuccessParams) { @@ -61,9 +52,4 @@ public class PaymentServiceImpl implements PaymentService { cashierExecute.paymentSuccess(paymentSuccessParams); } } - - @Override - public IPage page(Page initPage, QueryWrapper initWrapper) { - return orderService.queryPaymentLogs(initPage, initWrapper); - } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java index 8232dd2f..e90ccc9e 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java @@ -113,4 +113,11 @@ public interface StoreDetailService extends IService { * @param store 店铺信息 */ void updateStoreGoodsInfo(Store store); + + /** + * 修改店铺udesk字段设置 + * + * @param merchantEuid 店铺客服信息 + */ + Boolean editMerchantEuid(String merchantEuid); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java index 5e3a286c..c0c9c04b 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java @@ -11,11 +11,8 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; -import cn.lili.common.utils.StringUtils; -import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; -import cn.lili.modules.order.order.mapper.StoreFlowMapper; import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.dto.BillSearchParams; @@ -28,7 +25,6 @@ import cn.lili.modules.store.mapper.BillMapper; import cn.lili.modules.store.service.BillService; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.mybatis.util.PageUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -39,7 +35,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; @@ -228,12 +223,8 @@ public class BillServiceImpl extends ServiceImpl implements Bi writer.addHeaderAlias("billPrice", "应结金额"); writer.setColumnWidth(11, 20); - //存放入账列表 - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(StoreFlow::getStoreId, bill.getStoreId()); - lambdaQueryWrapper.between(StoreFlow::getCreateTime, bill.getStartTime(), bill.getCreateTime()); - lambdaQueryWrapper.eq(StoreFlow::getFlowType, FlowTypeEnum.PAY.name()); - List storeFlowList = storeFlowService.getStoreFlowPayDownloadVO(lambdaQueryWrapper); + + List storeFlowList = storeFlowService.getStoreFlowPayDownloadVO(StoreFlowQueryDTO.builder().type(FlowTypeEnum.PAY.name()).bill(bill).build()); writer.write(storeFlowList, true); writer.setSheet("退款订单"); @@ -260,12 +251,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi writer.addHeaderAlias("billPrice", "结算金额"); writer.setColumnWidth(12, 20); - //存放入账列表 - LambdaQueryWrapper storeFlowLambdaQueryWrapper = Wrappers.lambdaQuery(); - storeFlowLambdaQueryWrapper.eq(StoreFlow::getStoreId, bill.getStoreId()); - storeFlowLambdaQueryWrapper.between(StoreFlow::getCreateTime, bill.getStartTime(), bill.getCreateTime()); - storeFlowLambdaQueryWrapper.eq(StoreFlow::getFlowType, FlowTypeEnum.PAY.name()); - List storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO(storeFlowLambdaQueryWrapper); + + List storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO( + StoreFlowQueryDTO.builder().type(FlowTypeEnum.REFUND.name()).bill(bill).build() + ); writer.write(storeFlowRefundDownloadVOList, true); ServletOutputStream out = null; diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java index ac668289..99799f78 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java @@ -7,11 +7,8 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.BeanUtil; import cn.lili.modules.goods.entity.dos.Category; -import cn.lili.modules.goods.entity.dos.Goods; -import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.CategoryService; import cn.lili.modules.goods.service.GoodsService; -import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.search.utils.EsIndexUtil; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dos.StoreDetail; @@ -113,6 +110,14 @@ public class StoreDetailServiceImpl extends ServiceImpl implements @Override public void updateStoreGoodsNum(String storeId) { //获取店铺已上架已审核通过商品数量 - Integer goodsNum = goodsService.count(new LambdaQueryWrapper() - .eq(Goods::getStoreId, storeId) - .eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name()) - .eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name())); + Integer goodsNum = goodsService.countStoreGoodsNum(storeId); //修改店铺商品数量 this.update(new LambdaUpdateWrapper() .set(Store::getGoodsNum, goodsNum) 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 850560a9..aa9ec8e3 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 @@ -68,40 +68,40 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate { */ private Map> permissionList(List userMenuVOList) { Map> permission = new HashMap<>(2); - if (userMenuVOList == null || userMenuVOList.size() == 0) { - return permission; - } + List superPermissions = new ArrayList<>(); List queryPermissions = new ArrayList<>(); initPermission(superPermissions, queryPermissions); //循环权限菜单 - userMenuVOList.forEach(menu -> { - //循环菜单,赋予用户权限 - if (StrUtil.isNotEmpty(menu.getPermission())) { - //获取路径集合 - String[] permissionUrl = menu.getPermission().split(","); - //for循环路径集合 - for (String url : permissionUrl) { - //如果是超级权限 则计入超级权限 - if (menu.getSuper()) { - //如果已有超级权限,则这里就不做权限的累加 - if (!superPermissions.contains(url)) { - superPermissions.add(url); + if (userMenuVOList == null || userMenuVOList.isEmpty()) { + userMenuVOList.forEach(menu -> { + //循环菜单,赋予用户权限 + if (StrUtil.isNotEmpty(menu.getPermission())) { + //获取路径集合 + String[] permissionUrl = menu.getPermission().split(","); + //for循环路径集合 + for (String url : permissionUrl) { + //如果是超级权限 则计入超级权限 + if (menu.getSuper()) { + //如果已有超级权限,则这里就不做权限的累加 + if (!superPermissions.contains(url)) { + superPermissions.add(url); + } } - } - //否则计入浏览权限 - else { - //没有权限,则累加。 - if (!queryPermissions.contains(url)) { - queryPermissions.add(url); + //否则计入浏览权限 + else { + //没有权限,则累加。 + if (!queryPermissions.contains(url)) { + queryPermissions.add(url); + } } } } - } - //去除重复的权限 - queryPermissions.removeAll(superPermissions); - }); + //去除重复的权限 + queryPermissions.removeAll(superPermissions); + }); + } permission.put(PermissionEnum.SUPER.name(), superPermissions); permission.put(PermissionEnum.QUERY.name(), queryPermissions); return permission; diff --git a/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java index 519a6e8e..9ff0890a 100644 --- a/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java @@ -1,12 +1,11 @@ package cn.lili.modules.wechat.util; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.message.entity.dos.ShortLink; import cn.lili.modules.message.service.ShortLinkService; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; @@ -100,16 +99,14 @@ public class WechatMpCodeUtil { //短链接存储 ShortLink shortLink = new ShortLink(); - //已经保存过则不再保存 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ShortLink::getOriginalParams, scene); - List shortLinks = shortLinkService.list(queryWrapper); + shortLink.setOriginalParams(scene); + List shortLinks = shortLinkService.queryShortLinks(shortLink); if (shortLinks.size() > 0) { shortLink = shortLinks.get(0); } else { shortLink.setOriginalParams(scene); shortLinkService.save(shortLink); - shortLink = shortLinkService.getOne(queryWrapper); + shortLink = shortLinkService.queryShortLinks(shortLink).get(0); } String accessToken = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.WECHAT_MP); Map params = new HashMap<>(4); diff --git a/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java index f122cd0c..4483ad72 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java @@ -1,13 +1,13 @@ package cn.lili.controller.order; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.vo.PaymentLog; -import cn.lili.modules.payment.service.PaymentService; +import cn.lili.modules.order.order.service.OrderService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RestController; public class PaymentLogManagerController { @Autowired - private PaymentService paymentService; + private OrderService orderService; @GetMapping @@ -39,6 +39,6 @@ public class PaymentLogManagerController { public ResultMessage> getByPage(Order order, SearchVO searchVo, PageVO page) { - return ResultUtil.data(paymentService.page(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo))); + return ResultUtil.data(orderService.queryPaymentLogs(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo))); } } 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 d45eb63f..27a1586f 100755 --- a/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java +++ b/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java @@ -1,6 +1,7 @@ package cn.lili.security; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.security.AuthUser; @@ -90,25 +91,39 @@ public class ManagerAuthenticationFilter extends BasicAuthenticationFilter { //获取数据(GET 请求)权限 if (request.getMethod().equals(RequestMethod.GET.name())) { //如果用户的超级权限和查阅权限都不包含当前请求的api - if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl) - || PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.QUERY.name()).toArray(new String[0]), requestUrl)) { + if (match(permission.get(PermissionEnum.SUPER.name()), requestUrl) || + match(permission.get(PermissionEnum.QUERY.name()), requestUrl)) { } else { ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足")); + log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission)); throw new NoPermissionException("权限不足"); } } //非get请求(数据操作) 判定鉴权 else { - if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl)) { - - } else { + if (!match(permission.get(PermissionEnum.SUPER.name()), requestUrl)) { ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足")); + log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission)); throw new NoPermissionException("权限不足"); } } } } + /** + * 校验权限 + * + * @param permissions 权限集合 + * @param url 请求地址 + * @return 是否拥有权限 + */ + boolean match(List permissions, String url) { + if (permissions == null || permissions.isEmpty()) { + return false; + } + return PatternMatchUtils.simpleMatch(permissions.toArray(new String[0]), url); + } + /** * 获取token信息 * diff --git a/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java b/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java index 9f3e1267..a8a2a1bb 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java @@ -56,6 +56,14 @@ public class StoreSettingsController { return ResultUtil.data(result); } + @ApiOperation(value = "修改商家设置") + @PutMapping("/merchantEuid") + public ResultMessage edit(String merchantEuid) { + //修改UDESK设置 + Boolean result = storeDetailService.editMerchantEuid(merchantEuid); + return ResultUtil.data(result); + } + @ApiOperation(value = "修改店铺库存预警数量") @ApiImplicitParam(name = "stockWarning", value = "库存预警数量", required = true, dataType = "Integer", paramType = "query") @PutMapping("/updateStockWarning")