Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
a3f838d8e6
@ -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<DistributionOrderM
|
||||
//判断是否为分销订单,如果为分销订单则获取分销佣金
|
||||
if (order.getDistributionId() != null) {
|
||||
//根据订单编号获取有分销金额的店铺流水记录
|
||||
List<StoreFlow> storeFlowList = storeFlowService.list(new LambdaQueryWrapper<StoreFlow>()
|
||||
.eq(StoreFlow::getOrderSn, orderSn)
|
||||
.isNotNull(StoreFlow::getDistributionRebate));
|
||||
Double rebate = 0.0;
|
||||
List<StoreFlow> 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<DistributionOrderM
|
||||
return;
|
||||
}
|
||||
//分销金额
|
||||
Double rebate = 0.0;
|
||||
double rebate = 0.0;
|
||||
|
||||
//包含分销商品则进行记录分销订单、计算分销总额
|
||||
for (DistributionOrder distributionOrder : distributionOrderList) {
|
||||
@ -187,9 +187,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
@Override
|
||||
public void refundOrder(String afterSaleSn) {
|
||||
//判断是否为分销订单
|
||||
StoreFlow storeFlow = storeFlowService.getOne(new LambdaQueryWrapper<StoreFlow>()
|
||||
.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<DistributionOrderM
|
||||
if (distributionOrder == null) {
|
||||
return;
|
||||
}
|
||||
//已提交无法重复提交
|
||||
if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.CANCEL.name())) {
|
||||
return;
|
||||
}
|
||||
//如果未结算则将分销订单取消
|
||||
else if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) {
|
||||
if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) {
|
||||
this.update(new LambdaUpdateWrapper<DistributionOrder>()
|
||||
.eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn())
|
||||
.set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name()));
|
||||
|
@ -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;
|
||||
}
|
@ -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<Goods> {
|
||||
* @param store
|
||||
*/
|
||||
void updateStoreDetail(Store store);
|
||||
/**
|
||||
* 统计店铺的商品数量
|
||||
* @param storeId 店铺id
|
||||
*/
|
||||
Integer countStoreGoodsNum(String storeId);
|
||||
|
||||
}
|
@ -379,6 +379,15 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
goodsSkuService.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countStoreGoodsNum(String storeId) {
|
||||
return this.count(
|
||||
new LambdaQueryWrapper<Goods>()
|
||||
.eq(Goods::getStoreId, storeId)
|
||||
.eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name())
|
||||
.eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加商品默认图片
|
||||
*
|
||||
|
@ -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<ShortLink> {
|
||||
|
||||
/**
|
||||
* 根据模型,查询返回的集合
|
||||
*
|
||||
* @param shortLink 短链接模型
|
||||
* @return 端链接集合
|
||||
*/
|
||||
List<ShortLink> queryShortLinks(ShortLink shortLink);
|
||||
}
|
@ -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<ShortLinkMapper, ShortLink> implements ShortLinkService {
|
||||
|
||||
@Override
|
||||
public List<ShortLink> queryShortLinks(ShortLink shortLink) {
|
||||
return this.list(PageUtil.initWrapper(shortLink));
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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<AfterSaleMapper, AfterSale
|
||||
throw new ServiceException(ResultCode.AFTER_SALES_DOUBLE_ERROR);
|
||||
}
|
||||
//判断退款金额与付款金额是否正确,退款金额不能大于付款金额
|
||||
if (NumberUtil.compare(afterSale.getFlowPrice(), actualRefundPrice) == -1) {
|
||||
if (NumberUtil.compare(afterSale.getFlowPrice(), actualRefundPrice) < 0) {
|
||||
throw new ServiceException(ResultCode.AFTER_SALES_PRICE_ERROR);
|
||||
}
|
||||
|
||||
@ -213,6 +206,7 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
||||
if (afterSale.getRefundWay().equals(AfterSaleRefundWayEnum.ORIGINAL.name())) {
|
||||
//如果为退款操作 && 在线支付 则直接进行退款
|
||||
refundSupport.refund(afterSale);
|
||||
afterSale.setRefundTime(new Date());
|
||||
afterSaleStatusEnum = AfterSaleStatusEnum.COMPLETE;
|
||||
} else {
|
||||
afterSaleStatusEnum = AfterSaleStatusEnum.WAIT_REFUND;
|
||||
@ -454,9 +448,9 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
||||
.eq(OrderItem::getSkuId, afterSale.getSkuId()));
|
||||
AfterSaleStatusEnum afterSaleStatusEnum = AfterSaleStatusEnum.valueOf(afterSale.getServiceStatus());
|
||||
|
||||
switch (afterSaleStatusEnum){
|
||||
switch (afterSaleStatusEnum) {
|
||||
//判断当前售后的状态---申请中
|
||||
case APPLY:{
|
||||
case APPLY: {
|
||||
orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + afterSale.getNum());
|
||||
break;
|
||||
}
|
||||
@ -624,19 +618,19 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
||||
private void updateOrderItem(OrderItem orderItem) {
|
||||
//订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息
|
||||
OrderItemAfterSaleStatusEnum afterSaleTypeEnum = OrderItemAfterSaleStatusEnum.valueOf(orderItem.getAfterSaleStatus());
|
||||
switch (afterSaleTypeEnum){
|
||||
switch (afterSaleTypeEnum) {
|
||||
//售后状态为:未申请 部分售后 已申请
|
||||
case NOT_APPLIED:
|
||||
case PART_AFTER_SALE:
|
||||
case ALREADY_APPLIED:{
|
||||
case ALREADY_APPLIED: {
|
||||
//通过正在售后商品总数修改订单售后状态
|
||||
if (orderItem.getReturnGoodsNumber().equals(orderItem.getNum())) {
|
||||
//修改订单的售后状态--已申请
|
||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.ALREADY_APPLIED.name());
|
||||
} else if(orderItem.getReturnGoodsNumber().equals(0)){
|
||||
} else if (orderItem.getReturnGoodsNumber().equals(0)) {
|
||||
//修改订单的售后状态--未申请
|
||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
|
||||
}else{
|
||||
} else {
|
||||
//修改订单的售后状态--部分售后
|
||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.PART_AFTER_SALE.name());
|
||||
}
|
||||
@ -649,7 +643,7 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
|
||||
orderItemService.update(new LambdaUpdateWrapper<OrderItem>()
|
||||
.eq(OrderItem::getSn, orderItem.getSn())
|
||||
.set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus())
|
||||
.set(OrderItem::getReturnGoodsNumber,orderItem.getReturnGoodsNumber()));
|
||||
.set(OrderItem::getReturnGoodsNumber, orderItem.getReturnGoodsNumber()));
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -58,4 +58,12 @@ public interface OrderItemService extends IService<OrderItem> {
|
||||
*/
|
||||
List<OrderItem> getByOrderSn(String orderSn);
|
||||
|
||||
/**
|
||||
* 子订单查询
|
||||
*
|
||||
* @param orderSn 订单编号
|
||||
* @param skuId skuid
|
||||
* @return 子订单
|
||||
*/
|
||||
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
|
||||
}
|
@ -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<StoreFlow> {
|
||||
/**
|
||||
* 获取商家流水
|
||||
*
|
||||
* @param storeId 商家ID
|
||||
* @param type 收入、退款
|
||||
* @param distribution 是否查看分销相关数据
|
||||
* @param pageVO 分页
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @return
|
||||
* @param storeFlowQueryDTO 查询参数
|
||||
* @return 返回分页
|
||||
*/
|
||||
IPage<StoreFlow> getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime);
|
||||
IPage<StoreFlow> getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO);
|
||||
|
||||
/**
|
||||
* 获取结算单的入账流水
|
||||
* 根据参数查询一条数据
|
||||
*
|
||||
* @param queryWrapper 查询条件
|
||||
* @param storeFlowQueryDTO 查询参数
|
||||
* @return 返回分页
|
||||
*/
|
||||
StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO);
|
||||
|
||||
/**
|
||||
* 获取结算单地入账流水
|
||||
*
|
||||
* @param storeFlowQueryDTO 查询条件
|
||||
* @return 入账流水
|
||||
*/
|
||||
List<StoreFlowPayDownloadVO> getStoreFlowPayDownloadVO(Wrapper<StoreFlow> queryWrapper);
|
||||
List<StoreFlowPayDownloadVO> getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO);
|
||||
|
||||
/**
|
||||
* 获取结算单的退款流水
|
||||
*
|
||||
* @param queryWrapper 查询条件
|
||||
* @param storeFlowQueryDTO 查询条件
|
||||
* @return 退款流水
|
||||
*/
|
||||
List<StoreFlowRefundDownloadVO> getStoreFlowRefundDownloadVO(Wrapper<StoreFlow> queryWrapper);
|
||||
List<StoreFlowRefundDownloadVO> getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO);
|
||||
|
||||
|
||||
/**
|
||||
@ -87,4 +86,11 @@ public interface StoreFlowService extends IService<StoreFlow> {
|
||||
IPage<StoreFlow> getDistributionFlow(String id, PageVO pageVO);
|
||||
|
||||
|
||||
/**
|
||||
* 获取店铺流水
|
||||
*
|
||||
* @param storeFlowQueryDTO 店铺流水查询参数
|
||||
* @return 商家流水集合
|
||||
*/
|
||||
List<StoreFlow> listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO);
|
||||
}
|
@ -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<OrderItemMapper, OrderItem
|
||||
return this.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderItem getByOrderSnAndSkuId(String orderSn, String skuId) {
|
||||
return this.getOne(new LambdaQueryWrapper<OrderItem>()
|
||||
.eq(OrderItem::getOrderSn, orderSn)
|
||||
.eq(OrderItem::getSkuId, skuId));
|
||||
}
|
||||
}
|
@ -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<StoreFlowMapper, StoreFlow
|
||||
|
||||
//获取付款信息
|
||||
StoreFlow payStoreFlow = this.getOne(new LambdaUpdateWrapper<StoreFlow>().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<StoreFlowMapper, StoreFlow
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<StoreFlow> getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime) {
|
||||
public IPage<StoreFlow> getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
|
||||
LambdaQueryWrapper<StoreFlow> 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<StoreFlowPayDownloadVO> getStoreFlowPayDownloadVO(Wrapper<StoreFlow> queryWrapper) {
|
||||
return baseMapper.getStoreFlowPayDownloadVO(queryWrapper);
|
||||
public StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
return this.getOne(generatorQueryWrapper(storeFlowQueryDTO));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreFlowRefundDownloadVO> getStoreFlowRefundDownloadVO(Wrapper<StoreFlow> queryWrapper) {
|
||||
return baseMapper.getStoreFlowRefundDownloadVO(queryWrapper);
|
||||
public List<StoreFlowPayDownloadVO> getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
return baseMapper.getStoreFlowPayDownloadVO(generatorQueryWrapper(storeFlowQueryDTO));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreFlowRefundDownloadVO> getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
return baseMapper.getStoreFlowRefundDownloadVO(generatorQueryWrapper(storeFlowQueryDTO));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<StoreFlow> 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<StoreFlow> 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<StoreFlow> listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
return this.list(generatorQueryWrapper(storeFlowQueryDTO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成查询wrapper
|
||||
*
|
||||
* @param storeFlowQueryDTO 搜索参数
|
||||
* @return 查询wrapper
|
||||
*/
|
||||
private LambdaQueryWrapper generatorQueryWrapper(StoreFlowQueryDTO storeFlowQueryDTO) {
|
||||
|
||||
|
||||
LambdaQueryWrapper<StoreFlow> 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;
|
||||
}
|
||||
}
|
@ -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<AfterSale>()
|
||||
.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<OrderItem>()
|
||||
.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<OrderItem>()
|
||||
.eq(OrderItem::getOrderSn,afterSale.getOrderSn())
|
||||
.eq(OrderItem::getGoodsId,afterSale.getGoodsId())
|
||||
.set(OrderItem::getReturnGoodsNumber,(afterSale.getNum()+orderItem.getReturnGoodsNumber())));
|
||||
orderItemService.updateById(orderItem);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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<PaymentLog> page(Page<PaymentLog> initPage, QueryWrapper<PaymentLog> initWrapper);
|
||||
}
|
@ -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<CashierExecute> 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<PaymentLog> page(Page<PaymentLog> initPage, QueryWrapper<PaymentLog> initWrapper) {
|
||||
return orderService.queryPaymentLogs(initPage, initWrapper);
|
||||
}
|
||||
}
|
@ -113,4 +113,11 @@ public interface StoreDetailService extends IService<StoreDetail> {
|
||||
* @param store 店铺信息
|
||||
*/
|
||||
void updateStoreGoodsInfo(Store store);
|
||||
|
||||
/**
|
||||
* 修改店铺udesk字段设置
|
||||
*
|
||||
* @param merchantEuid 店铺客服信息
|
||||
*/
|
||||
Boolean editMerchantEuid(String merchantEuid);
|
||||
}
|
@ -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<BillMapper, Bill> implements Bi
|
||||
writer.addHeaderAlias("billPrice", "应结金额");
|
||||
writer.setColumnWidth(11, 20);
|
||||
|
||||
//存放入账列表
|
||||
LambdaQueryWrapper<StoreFlow> 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<StoreFlowPayDownloadVO> storeFlowList = storeFlowService.getStoreFlowPayDownloadVO(lambdaQueryWrapper);
|
||||
|
||||
List<StoreFlowPayDownloadVO> 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<BillMapper, Bill> implements Bi
|
||||
writer.addHeaderAlias("billPrice", "结算金额");
|
||||
writer.setColumnWidth(12, 20);
|
||||
|
||||
//存放入账列表
|
||||
LambdaQueryWrapper<StoreFlow> 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<StoreFlowRefundDownloadVO> storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO(storeFlowLambdaQueryWrapper);
|
||||
|
||||
List<StoreFlowRefundDownloadVO> storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO(
|
||||
StoreFlowQueryDTO.builder().type(FlowTypeEnum.REFUND.name()).bill(bill).build()
|
||||
);
|
||||
writer.write(storeFlowRefundDownloadVOList, true);
|
||||
|
||||
ServletOutputStream out = null;
|
||||
|
@ -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<StoreDetailMapper, Store
|
||||
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(updateIndexFieldsMap), RocketmqSendCallbackBuilder.commonCallback());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean editMerchantEuid(String merchantEuid) {
|
||||
AuthUser tokenUser = Objects.requireNonNull(UserContext.getCurrentUser());
|
||||
Store store = storeService.getById(tokenUser.getStoreId());
|
||||
store.setMerchantEuid(merchantEuid);
|
||||
return storeService.updateById(store);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StoreBasicInfoVO getStoreBasicInfoDTO(String storeId) {
|
||||
return this.baseMapper.getStoreBasicInfoDTO(storeId);
|
||||
|
@ -1,7 +1,6 @@
|
||||
package cn.lili.modules.store.serviceimpl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
@ -9,15 +8,10 @@ import cn.lili.common.security.AuthUser;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.BeanUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.goods.entity.dos.Goods;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||
import cn.lili.modules.goods.service.GoodsService;
|
||||
import cn.lili.modules.goods.service.GoodsSkuService;
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.dto.CollectionDTO;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.modules.member.service.StoreCollectionService;
|
||||
import cn.lili.modules.store.entity.dos.Store;
|
||||
import cn.lili.modules.store.entity.dos.StoreDetail;
|
||||
import cn.lili.modules.store.entity.dto.*;
|
||||
@ -275,10 +269,7 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
|
||||
@Override
|
||||
public void updateStoreGoodsNum(String storeId) {
|
||||
//获取店铺已上架已审核通过商品数量
|
||||
Integer goodsNum = goodsService.count(new LambdaQueryWrapper<Goods>()
|
||||
.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<Store>()
|
||||
.set(Store::getGoodsNum, goodsNum)
|
||||
|
@ -68,40 +68,40 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate {
|
||||
*/
|
||||
private Map<String, List<String>> permissionList(List<UserMenuVO> userMenuVOList) {
|
||||
Map<String, List<String>> permission = new HashMap<>(2);
|
||||
if (userMenuVOList == null || userMenuVOList.size() == 0) {
|
||||
return permission;
|
||||
}
|
||||
|
||||
List<String> superPermissions = new ArrayList<>();
|
||||
List<String> 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;
|
||||
|
@ -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<ShortLink> queryWrapper = new LambdaQueryWrapper();
|
||||
queryWrapper.eq(ShortLink::getOriginalParams, scene);
|
||||
List<ShortLink> shortLinks = shortLinkService.list(queryWrapper);
|
||||
shortLink.setOriginalParams(scene);
|
||||
List<ShortLink> 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<String, String> params = new HashMap<>(4);
|
||||
|
@ -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<IPage<PaymentLog>> 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)));
|
||||
}
|
||||
}
|
||||
|
@ -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<String> permissions, String url) {
|
||||
if (permissions == null || permissions.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
return PatternMatchUtils.simpleMatch(permissions.toArray(new String[0]), url);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取token信息
|
||||
*
|
||||
|
@ -56,6 +56,14 @@ public class StoreSettingsController {
|
||||
return ResultUtil.data(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改商家设置")
|
||||
@PutMapping("/merchantEuid")
|
||||
public ResultMessage<Object> 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")
|
||||
|
Loading…
x
Reference in New Issue
Block a user