Merge remote-tracking branch 'origin/master'

This commit is contained in:
yangkang 2021-12-11 15:58:36 +08:00
commit a3f838d8e6
25 changed files with 284 additions and 215 deletions

View File

@ -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()));

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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()));
}
/**
* 添加商品默认图片
*

View File

@ -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);
}

View File

@ -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));
}
}

View File

@ -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;

View File

@ -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()));
}
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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));
}
}

View File

@ -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;
}
}

View File

@ -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);
}
/**

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -113,4 +113,11 @@ public interface StoreDetailService extends IService<StoreDetail> {
* @param store 店铺信息
*/
void updateStoreGoodsInfo(Store store);
/**
* 修改店铺udesk字段设置
*
* @param merchantEuid 店铺客服信息
*/
Boolean editMerchantEuid(String merchantEuid);
}

View File

@ -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;

View File

@ -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);

View File

@ -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)

View File

@ -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;

View File

@ -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);

View File

@ -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)));
}
}

View File

@ -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信息
*

View File

@ -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")