package com.ruoyi.order.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.google.common.collect.Lists;
|
import com.ruoyi.common.core.constant.CacheConstants;
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
|
import com.ruoyi.common.core.enums.AuditStatusEnum;
|
import com.ruoyi.common.core.enums.BondStatusEnum;
|
import com.ruoyi.common.core.enums.OrderFromEnum;
|
import com.ruoyi.common.core.enums.OrderStatusEnum;
|
import com.ruoyi.common.core.enums.OrderTypeEnum;
|
import com.ruoyi.common.core.enums.PaymentMethodEnum;
|
import com.ruoyi.common.core.enums.RequestTypeEnum;
|
import com.ruoyi.common.core.enums.ReturnRequestStatusEnum;
|
import com.ruoyi.common.core.exception.ServiceException;
|
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.common.core.utils.page.BeanUtils;
|
import com.ruoyi.common.core.utils.page.PageDTO;
|
import com.ruoyi.common.redis.service.RedisService;
|
import com.ruoyi.order.controller.management.dto.MgtOrderConfirmShipmentDTO;
|
import com.ruoyi.order.controller.management.dto.MgtOrderQuery;
|
import com.ruoyi.order.controller.management.vo.MgtOrderReturnRequestVO;
|
import com.ruoyi.order.controller.management.vo.MgtOrderVO;
|
import com.ruoyi.order.domain.OrderReturnRequest;
|
import com.ruoyi.order.domain.Paylog;
|
import com.ruoyi.order.mapper.OrderAuctionBondMapper;
|
import com.ruoyi.order.mapper.OrderMapper;
|
import com.ruoyi.order.service.ILogisticsService;
|
import com.ruoyi.order.service.IOrderReturnRequestService;
|
import com.ruoyi.order.service.IOrderService;
|
import com.ruoyi.order.service.IPaylogService;
|
import com.ruoyi.order.util.OrderUtil;
|
import com.ruoyi.order.util.SinataUtil;
|
import com.ruoyi.system.api.constants.DelayTaskEnum;
|
import com.ruoyi.system.api.domain.AuctionSalesroom;
|
import com.ruoyi.system.api.domain.CouponMember;
|
import com.ruoyi.system.api.domain.CustomConfig;
|
import com.ruoyi.system.api.domain.DelayTask;
|
import com.ruoyi.system.api.domain.GoodsGroupPurchase;
|
import com.ruoyi.system.api.domain.GoodsSeckill;
|
import com.ruoyi.system.api.domain.GoodsSku;
|
import com.ruoyi.system.api.domain.Member;
|
import com.ruoyi.system.api.domain.MemberAddress;
|
import com.ruoyi.system.api.domain.Order;
|
import com.ruoyi.system.api.domain.OrderAuctionBond;
|
import com.ruoyi.system.api.domain.dto.CouponMemberDTO;
|
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
|
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
|
import com.ruoyi.system.api.domain.dto.LogisticsDTO;
|
import com.ruoyi.system.api.domain.dto.MemberDTO;
|
import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
|
import com.ruoyi.system.api.domain.dto.MemberOrderListDTO;
|
import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO;
|
import com.ruoyi.system.api.domain.dto.OrderDTO;
|
import com.ruoyi.system.api.domain.dto.updMembeOneDTO;
|
import com.ruoyi.system.api.domain.vo.Express100VO;
|
import com.ruoyi.system.api.domain.vo.MemberOrderListVO;
|
import com.ruoyi.system.api.domain.vo.MemberOrderNumVO;
|
import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
|
import com.ruoyi.system.api.domain.vo.OrderVO;
|
import com.ruoyi.system.api.feignClient.AuctionClient;
|
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
|
import com.ruoyi.system.api.feignClient.MemberClient;
|
import com.ruoyi.system.api.feignClient.PromotionClient;
|
import com.ruoyi.system.api.feignClient.SysUserClient;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.time.LocalDateTime;
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Set;
|
import java.util.concurrent.TimeUnit;
|
import java.util.function.Function;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
import java.util.stream.Collectors;
|
import javax.annotation.Resource;
|
import lombok.Synchronized;
|
import org.redisson.api.RLock;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* <p>
|
* 订单表 服务实现类
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-05-16
|
*/
|
@Service
|
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
|
|
@Resource
|
private GoodsSkuClient goodsSkuClient;
|
|
@Resource
|
private MemberClient memberClient;
|
|
@Resource
|
private PromotionClient promotionClient;
|
|
@Resource
|
private OrderAuctionBondMapper orderAuctionBondMapper;
|
|
@Resource
|
private IPaylogService iPaylogService;
|
|
@Resource
|
private PaylogServiceImpl paylogService;
|
|
@Resource
|
private SysUserClient sysUserClient;
|
|
@Resource
|
private IOrderReturnRequestService orderReturnRequestService;
|
|
@Resource
|
private RedissonClient redissonClient;
|
|
@Resource
|
private RedisService redisService;
|
|
@Resource
|
private ILogisticsService logisticsService;
|
|
@Resource
|
private AuctionClient auctionClient;
|
|
@Resource
|
private GoodsSkuClient GoodsSkuClient;
|
|
|
@Override
|
public void saveOrderOne(OrderDTO OrderDTO) {
|
Order order=new Order();
|
if (OrderDTO.getOrderFrom().getCode()==1){
|
order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
|
order.setIsOrder(1);
|
}
|
if (OrderDTO.getOrderFrom().getCode()==2){
|
order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
|
order.setIsOrder(1);
|
}
|
if (OrderDTO.getOrderFrom().getCode()==3){
|
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
|
order.setIsOrder(2);
|
}if (OrderDTO.getOrderFrom().getCode()==4){
|
order.setOrderFrom(OrderFromEnum.AUCTION_ORDERS);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("PM"));
|
order.setIsOrder(1);
|
}
|
order.setOrderTime(OrderDTO.getOrderTime());
|
order.setOrderFrom(OrderDTO.getOrderFrom());
|
order.setAuctionOrderType(OrderDTO.getAuctionType());
|
order.setGoodsSkuId(OrderDTO.getGoodsSkuId());
|
order.setMemberId(OrderDTO.getMemberId());
|
order.setTotalAmount(OrderDTO.getTotalAmount());
|
order.setOrderStatus(OrderStatusEnum.TO_PLAY);
|
order.setPoints(OrderDTO.getPoints());
|
order.setGoodsQuantity(1);
|
order.setReceiverName(OrderDTO.getReceiverName());
|
order.setReceiverPhone(OrderDTO.getReceiverphone());
|
order.setReceiverCity(OrderDTO.getReceiverCity());
|
order.setReceiverDetailAddress(OrderDTO.getReceiverDetailAddress());
|
order.setBound(OrderDTO.getBound());
|
order.setSkuName(OrderDTO.getSkuName());
|
order.setPrice(OrderDTO.getPrice());
|
order.setCoverPic(OrderDTO.getCoverPic());
|
this.save(order);
|
|
if (OrderDTO.getOrderFrom().getCode()==4){
|
if (OrderDTO.getAuctionType().getCode()==1){
|
LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
|
wrapper.eq(OrderAuctionBond::getMemberId,OrderDTO.getMemberId());
|
wrapper.eq(OrderAuctionBond::getAuctionGoodsId,OrderDTO.getGoodsSkuId());
|
wrapper.eq(OrderAuctionBond::getBoundStatus,2);
|
wrapper.eq(OrderAuctionBond::getBondType,1);
|
OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper);
|
orderAuctionBond.setOrderId(order.getId());
|
orderAuctionBondMapper.updateById(orderAuctionBond);
|
}
|
if (OrderDTO.getAuctionType().getCode()==2){
|
LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
|
wrapper.eq(OrderAuctionBond::getMemberId,OrderDTO.getMemberId());
|
wrapper.eq(OrderAuctionBond::getAuctionGoodsId,OrderDTO.getGoodsSkuId());
|
wrapper.eq(OrderAuctionBond::getBoundStatus,2);
|
wrapper.eq(OrderAuctionBond::getAuctionSalesroomId,OrderDTO.getAuctionSalesroomId());
|
wrapper.eq(OrderAuctionBond::getBondType,2);
|
OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper);
|
if (orderAuctionBond!=null){
|
orderAuctionBond.setOrderId(order.getId());
|
orderAuctionBondMapper.updateById(orderAuctionBond);
|
}
|
|
}
|
|
}
|
|
|
}
|
|
/**
|
* 获取某个商品的已购会员数
|
*
|
* @param id 秒杀商品id
|
* @return 已购会员数
|
*/
|
@Override
|
public Integer getSeckillMembers(Long id) {
|
return baseMapper.getSeckillMembers(id);
|
}
|
|
/**
|
* 获取团购商品已购数量
|
*
|
* @param id 团购商品id
|
* @return 团购商品已购数量
|
*/
|
@Override
|
public Integer getGroupPurchasesGoodsNum(Long id) {
|
List<Order> list = this.lambdaQuery().eq(Order::getId, id)
|
.in(Order::getOrderStatus, OrderStatusEnum.TO_BE_SHIPPED,
|
OrderStatusEnum.GOODS_TO_BE_RECEIVED, OrderStatusEnum.FINISHED).list();
|
return list.stream().map(Order::getGoodsQuantity).reduce(0, Integer::sum);
|
}
|
|
/**
|
* 根据团购商品id获取团购商品订单
|
*
|
* @param id 团购商品id
|
* @return 订单列表
|
*/
|
@Override
|
public List<Order> getOrderByGroupPurchaseId(Long id) {
|
return baseMapper.getOrderByGroupPurchaseId(id);
|
}
|
|
@Override
|
public Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO) {
|
return baseMapper.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO);
|
}
|
|
@Override
|
public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) {
|
return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO);
|
}
|
|
@Override
|
@Synchronized
|
public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) {
|
|
MemberTiOrderVO memberOrderVO=new MemberTiOrderVO();
|
BigDecimal pice=new BigDecimal(0);
|
|
Order order=new Order();
|
order.setMemberId(memberOrderDTO.getMemberId());
|
if (memberOrderDTO.getOrderFrom()==1){
|
order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
|
}
|
if (memberOrderDTO.getOrderFrom()==2){
|
order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
|
}
|
if (memberOrderDTO.getOrderFrom()==3){
|
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
|
order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
|
order.setIsOrder(2);
|
}
|
if (memberOrderDTO.getPaymentMethod()==1){
|
order.setPaymentMethod(PaymentMethodEnum.WECHAT);
|
}if (memberOrderDTO.getPaymentMethod()==2){
|
order.setPaymentMethod(PaymentMethodEnum.ALIPAY);
|
}
|
|
if (memberOrderDTO.getOrderFrom()==1){
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){
|
throw new ServiceException("对不起,购买数大于库存");
|
}else{
|
GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
|
goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId());
|
goodsStockUpdDTO.setAuctionStock(goodsSku.getStock()-memberOrderDTO.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO,
|
SecurityConstants.INNER);
|
|
order.setSkuName(goodsSku.getSkuName());
|
order.setPrice(goodsSku.getPrice());
|
order.setCoverPic(goodsSku.getCoverPic());
|
}
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
pice=goodsSku.getPrice();
|
}
|
if (memberOrderDTO.getOrderFrom()==2){
|
GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
String goodsLock = "goods_lock_" + CacheConstants.SECKILL_GOODS + data.getId();
|
RLock redissonLock = redissonClient.getLock(goodsLock);
|
Integer surpNum = 0;
|
/* try {
|
redissonLock.lock(30, TimeUnit.SECONDS);
|
surpNum = redisService.getCacheObject(CacheConstants.SECKILL_GOODS + data.getId());
|
if (surpNum == null || surpNum < memberOrderDTO.getGoodsQuantity()) {
|
throw new ServiceException("商品已被抢完");
|
}
|
|
}catch (Exception e){
|
throw new ServiceException("reids 出错");
|
}*/
|
|
MemberOrderDTO memberOrderDTO1=new MemberOrderDTO();
|
memberOrderDTO1.setMemberId(order.getMemberId());
|
memberOrderDTO1.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
Integer num=baseMapper.getSeckillMembers1(memberOrderDTO1);
|
Integer num1=0;
|
if (num!=null){
|
num1 =num+1;
|
}else{
|
num1=order.getGoodsQuantity();
|
}
|
|
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
if (data.getLimitNumber()<num1) {
|
throw new ServiceException("对不起,大于商品购买数");
|
}
|
|
order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(data.getSeckillPrice());
|
memberOrderVO.setSjPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
memberOrderVO.setYouhiPrice(data.getSeckillPrice());
|
pice=data.getSeckillPrice();
|
|
if (data.getSeckillStock()<1){
|
throw new ServiceException("对不起,购买数大于库存");
|
}else{
|
GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
|
goodsStockUpdDTO.setGoodsSkuId(data.getId());
|
goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()-1);
|
goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER);
|
|
}
|
order.setSkuName(goodsSku.getSkuName());
|
order.setPrice(data.getSeckillPrice());
|
order.setCoverPic(goodsSku.getCoverPic());
|
order.setSjPrice(goodsSku.getPrice());
|
redisService.setCacheObject(CacheConstants.SECKILL_GOODS + data.getId(), surpNum - memberOrderDTO.getGoodsQuantity());
|
}
|
if (memberOrderDTO.getOrderFrom()==3){
|
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
|
GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
Integer m=data.getCurrentNumber()+1;
|
if (m>data.getGroupSize()){
|
throw new ServiceException("对不起,大成团人数");
|
}
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(data.getGroupPurchasePrice());
|
memberOrderVO.setSjPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice());
|
pice=data.getGroupPurchasePrice();
|
|
goodsSkuClient.GroupPurchaseNum(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER);
|
|
order.setSkuName(goodsSku.getSkuName());
|
order.setPrice(data.getGroupPurchasePrice());
|
order.setCoverPic(goodsSku.getCoverPic());
|
order.setSjPrice(goodsSku.getPrice());
|
}
|
order.setOrderRemark(memberOrderDTO.getOrderRemark());
|
order.setMemberId(memberOrderDTO.getMemberId());
|
order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
|
order.setOrderTime(LocalDateTime.now());
|
order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
|
order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
|
CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData();
|
CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData();
|
|
BigDecimal pic=pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()));
|
BigDecimal divide = pic.divide(new BigDecimal(memberPointsMoney.getConfigValue()));
|
BigDecimal roundedDown = divide.setScale(0, RoundingMode.DOWN);
|
BigDecimal aDouble= roundedDown.multiply(new BigDecimal(memberPointsPoints.getConfigValue()));
|
order.setPoints(aDouble.intValue());
|
|
order.setOrderStatus(OrderStatusEnum.TO_PLAY);
|
|
MemberAddress data = memberClient.getMemberAddressOne(
|
memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData();
|
if (StringUtils.isNotNull(data)) {
|
order.setReceiverName(data.getRecipientName());
|
order.setReceiverCity(data.getReceiverCity());
|
order.setReceiverDetailAddress(data.getDetailedAddress());
|
order.setReceiverPhone(data.getRecipientPhone());
|
}
|
|
order.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
baseMapper.insert(order);
|
|
memberOrderVO.setId(order.getId());
|
memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY);
|
memberOrderVO.setOrderNo(order.getOrderNo());
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setOrderTime(order.getOrderTime());
|
memberOrderVO.setOrderFrom(order.getOrderFrom());
|
memberOrderVO.setMemberId(memberOrderDTO.getMemberId());
|
memberOrderVO.setPaymentMethod(order.getPaymentMethod());
|
memberOrderVO.setTotalAmount(order.getTotalAmount());
|
memberOrderVO.setOrderStatus(order.getOrderStatus());
|
memberOrderVO.setGoodsQuantity(order.getGoodsQuantity());
|
memberOrderVO.setReceiverName(order.getReceiverName());
|
memberOrderVO.setReceiverCity(order.getReceiverCity());
|
memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress());
|
memberOrderVO.setReceiverphone(order.getReceiverPhone());
|
Integer delayTime = 30;
|
redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getId(), order.getId() , delayTime.longValue(), TimeUnit.MINUTES);
|
|
DelayTask delayTask = new DelayTask();
|
delayTask.setDelFlag(0);
|
delayTask.setCreateTime(LocalDateTime.now());
|
delayTask.setExecuteTime(LocalDateTime.now().plusMinutes(30));
|
delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getId());
|
sysUserClient.addDelayTask(delayTask, SecurityConstants.INNER);
|
|
return memberOrderVO;
|
}
|
|
@Override
|
public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) {
|
Order order = baseMapper.selectById(memberOrderDTO.getId());
|
if(memberOrderDTO.getOrderRemark()!=null){
|
order.setOrderRemark(memberOrderDTO.getOrderRemark());
|
}
|
|
MemberTiOrderVO memberOrderVO=new MemberTiOrderVO();
|
if (memberOrderDTO.getReceiverDetailAddress()!=null){
|
order.setReceiverName(memberOrderDTO.getReceiverName());
|
order.setReceiverCity(memberOrderDTO.getReceiverCity());
|
order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress());
|
order.setReceiverPhone(memberOrderDTO.getReceiverphone());
|
baseMapper.updateById(order);
|
}
|
if (memberOrderDTO.getOrderRemark()!=null){
|
order.setOrderRemark(memberOrderDTO.getOrderRemark());
|
}if (memberOrderDTO.getGoodsQuantity()!=null){
|
if (order.getOrderFrom().getCode()==1){
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
|
GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
|
goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId());
|
goodsStockUpdDTO.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO,
|
SecurityConstants.INNER);
|
|
if (goodsSku.getStock()+order.getGoodsQuantity()<memberOrderDTO.getGoodsQuantity()){
|
throw new ServiceException("对不起,购买数大于库存");
|
}
|
Integer m= goodsSku.getStock()+order.getGoodsQuantity();
|
goodsStockUpdDTO.setAuctionStock(m-memberOrderDTO.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO,
|
SecurityConstants.INNER);
|
order.setTotalAmount(goodsSku.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
|
order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
}
|
|
|
if (order.getOrderFrom().getCode()==2){
|
MemberOrderDTO memberOrderDTO1=new MemberOrderDTO();
|
memberOrderDTO1.setMemberId(order.getMemberId());
|
memberOrderDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
Integer num=baseMapper.getSeckillMembers1(memberOrderDTO1);
|
Integer num1=0;
|
if (num!=null){
|
num1 =num+order.getGoodsQuantity();
|
}else{
|
num1=order.getGoodsQuantity();
|
}
|
|
GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
|
if (order.getGoodsQuantity()!=order.getGoodsQuantity()){
|
if (data.getLimitNumber()<num1){
|
throw new ServiceException("对不起,大于商品购买数");
|
}else{
|
GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
|
goodsStockUpdDTO.setGoodsSkuId(data.getId());
|
goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER);
|
|
if (data.getSeckillStock()+order.getGoodsQuantity()<memberOrderDTO.getGoodsQuantity()){
|
throw new ServiceException("对不起,购买数大于库存");
|
}
|
|
Integer m=data.getSeckillStock()+order.getGoodsQuantity();
|
GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO();
|
goodsStockUpdDTO1.setGoodsSkuId(data.getId());
|
goodsStockUpdDTO1.setAuctionStock(m-memberOrderDTO.getGoodsQuantity());
|
goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO1,SecurityConstants.INNER);
|
|
order.setTotalAmount(data.getSeckillPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
|
order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
|
order.setSkuName(goodsSku.getSkuName());
|
order.setPrice(data.getSeckillPrice());
|
order.setCoverPic(goodsSku.getCoverPic());
|
order.setSjPrice(goodsSku.getPrice());
|
|
|
}
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
memberOrderVO.setYouhiPrice(data.getSeckillPrice());
|
|
}
|
|
} if (order.getOrderFrom().getCode()==3){
|
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
|
GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
MemberOrderDTO memberOrderDTO1=new MemberOrderDTO();
|
memberOrderDTO1.setMemberId(order.getMemberId());
|
memberOrderDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
Integer num=baseMapper.getGoodsGroupPurchase(memberOrderDTO1);
|
Integer num1=num+order.getGoodsQuantity();
|
if (order.getGoodsQuantity()!=order.getGoodsQuantity()){
|
if (data.getLimitNumber()<=num1){
|
throw new ServiceException("对不起,大于商品购买数");
|
}else{
|
if (data.getLimitNumber()<memberOrderDTO.getGoodsQuantity()){
|
throw new ServiceException("对不起,购买数大于库存");
|
}else{
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setPrice(data.getGroupPurchasePrice());
|
memberOrderVO.setSjPrice(goodsSku.getPrice());
|
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
|
memberOrderVO.setSkuName(goodsSku.getSkuName());
|
memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice());
|
order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
|
order.setSkuName(goodsSku.getSkuName());
|
order.setPrice(data.getGroupPurchasePrice());
|
order.setCoverPic(goodsSku.getCoverPic());
|
order.setSjPrice(goodsSku.getPrice());
|
}
|
}
|
}
|
}
|
}
|
if (memberOrderDTO.getGoodsQuantity()!=null){
|
BigDecimal pice=order.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()));
|
if (memberOrderDTO.getCouponId()!=null){
|
CouponMemberDTO couponMemberDTO=new CouponMemberDTO();
|
couponMemberDTO.setId(memberOrderDTO.getCouponId());
|
CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData();
|
if (order.getCouponId()!=0){
|
CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
|
couponMemberDTO1.setId(memberOrderDTO.getCouponId());
|
couponMemberDTO1.setCouponStatus(0);
|
promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER);
|
}
|
|
order.setCouponId(data.getId());
|
|
if (data.getCouponType().getCode()==1){
|
if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){
|
pice=pice.subtract(data.getReductionAmount());
|
order.setDiscountMoney(data.getReductionAmount());
|
}else{
|
pice=new BigDecimal(0);
|
|
}
|
}
|
if (data.getCouponType().getCode()==2){
|
pice= order.getTotalAmount();
|
if(pice.compareTo(data.getVoucherAmount())<0){
|
throw new ServiceException("优惠卷抵扣金额不能大于实际支付金额");
|
}
|
pice=pice.subtract(data.getVoucherAmount());
|
order.setDiscountMoney(data.getVoucherAmount());
|
}
|
if (data.getCouponType().getCode()==3){
|
pice= order.getTotalAmount();
|
BigDecimal pice1=new BigDecimal(data.getDiscountRate());
|
BigDecimal pice2=new BigDecimal(0.1);
|
BigDecimal pice3=pice.multiply(pice1.multiply(pice2));
|
if (pice3.compareTo(new BigDecimal(data.getMaxDiscount().doubleValue()))>0){
|
pice3=new BigDecimal(data.getMaxDiscount().doubleValue());
|
}
|
if(pice.compareTo(pice3)<0){
|
throw new ServiceException("优惠卷抵扣金额不能大于实际支付金额");
|
}
|
|
BigDecimal pice4= pice.subtract(pice3);
|
if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){
|
pice=pice.subtract(data.getMaxDiscount());
|
order.setDiscountMoney(data.getMaxDiscount());
|
}else{
|
order.setDiscountMoney(pice4);
|
pice=pice3;
|
}
|
|
}
|
order.setCouponId(memberOrderDTO.getCouponId());
|
CouponMemberDTO couponMemberDTO2=new CouponMemberDTO();
|
couponMemberDTO2.setId(memberOrderDTO.getCouponId());
|
couponMemberDTO2.setCouponStatus(1);
|
promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER);
|
}else{
|
if (order.getCouponId()!=null&&order.getCouponId()!=0){
|
CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
|
couponMemberDTO1.setCouponStatus(0);
|
couponMemberDTO1.setId(order.getCouponId());
|
promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER);
|
}
|
order.setCouponId(0L);
|
order.setDiscountMoney(new BigDecimal(0));
|
}
|
order.setTotalAmount(pice);
|
|
CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData();
|
CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData();
|
|
if (pice.intValue()>0){
|
BigDecimal divide = pice.divide(new BigDecimal(memberPointsMoney.getConfigValue()));
|
BigDecimal roundedDown = divide.setScale(0, RoundingMode.DOWN);
|
BigDecimal aDouble= roundedDown.multiply(new BigDecimal(memberPointsPoints.getConfigValue()));
|
order.setPoints(aDouble.intValue());
|
}else{
|
order.setPoints(0);
|
}
|
|
|
baseMapper.updateById(order);
|
}
|
|
|
memberOrderVO.setId(order.getId());
|
memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY);
|
memberOrderVO.setOrderNo(order.getOrderNo());
|
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
|
memberOrderVO.setOrderTime(order.getOrderTime());
|
memberOrderVO.setOrderFrom(order.getOrderFrom());
|
memberOrderVO.setMemberId(memberOrderDTO.getMemberId());
|
memberOrderVO.setPaymentMethod(order.getPaymentMethod());
|
memberOrderVO.setTotalAmount(order.getTotalAmount());
|
memberOrderVO.setOrderStatus(order.getOrderStatus());
|
memberOrderVO.setGoodsQuantity(order.getGoodsQuantity());
|
memberOrderVO.setReceiverName(order.getReceiverName());
|
memberOrderVO.setReceiverCity(order.getReceiverCity());
|
memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress());
|
memberOrderVO.setReceiverphone(order.getReceiverPhone());
|
memberOrderVO.setDiscountMoney(order.getDiscountMoney());
|
|
return memberOrderVO;
|
}
|
|
@Override
|
public PageDTO<MemberOrderListVO> MemberrderList(MemberOrderListDTO memberOrderListDTO) {
|
|
Page<Order> page = new Page<>(memberOrderListDTO.getPageCurr(), memberOrderListDTO.getPageSize());
|
LambdaQueryWrapper<Order> wrapper= Wrappers.lambdaQuery();
|
wrapper.eq(Order::getMemberId,memberOrderListDTO.getMemberId());
|
if(memberOrderListDTO.getGoodsSkuName()!=null){
|
wrapper.like(Order::getSkuName,memberOrderListDTO.getGoodsSkuName());
|
}
|
if(memberOrderListDTO.getOrderNo()!=null){
|
wrapper.like(Order::getOrderNo,memberOrderListDTO.getOrderNo());
|
}
|
if(memberOrderListDTO.getOrderStatus()!=null){
|
wrapper.eq(Order::getOrderStatus,memberOrderListDTO.getOrderStatus().getCode()-1);
|
}
|
wrapper.eq(Order::getIsOrder,1);
|
wrapper.eq(Order::getDelFlag,0);
|
wrapper.orderByDesc(Order::getCancelTime);
|
Page<Order> page1 = this.page(page, wrapper);
|
|
PageDTO<MemberOrderListVO> memberOrderListVOPageDTO = PageDTO.of(page1, MemberOrderListVO.class);
|
List<MemberOrderListVO> list = memberOrderListVOPageDTO.getList();
|
for (MemberOrderListVO MemberOrderList:list){
|
if (MemberOrderList.getOrderStatus().getCode()==1){
|
if (MemberOrderList.getOrderFrom().getCode()==1||MemberOrderList.getOrderFrom().getCode()==2||MemberOrderList.getOrderFrom().getCode()==3){
|
LocalDateTime localDateTime = MemberOrderList.getOrderTime().plusMinutes(30);
|
if (LocalDateTime.now().isAfter(localDateTime)) {
|
// dateTime1 在 dateTime2 之后
|
MemberOrderList.setOrderStatus(OrderStatusEnum.CANCELED);
|
Order order = this.getOrder(MemberOrderList.getId());
|
order.setOrderStatus(OrderStatusEnum.CANCELED);
|
this.updateById(order);
|
}
|
|
}
|
|
}
|
OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne(
|
Wrappers.lambdaQuery(OrderReturnRequest.class)
|
.eq(OrderReturnRequest::getOrderId,
|
MemberOrderList.getId()).last("limit 1"));
|
if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
|
MemberOrderList.setStatus(orderReturnRequest.getStatus());
|
MemberOrderList.setRequestId(orderReturnRequest.getId());
|
MemberOrderList.setIsRequest(2);
|
}else{
|
MemberOrderList.setIsRequest(1);
|
}
|
LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery();
|
wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId());
|
OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3);
|
if (orderAuctionBond!=null){
|
if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){
|
MemberOrderList.setIsAuctionBond(1);
|
}else{
|
MemberOrderList.setIsAuctionBond(2);
|
}
|
}else {
|
MemberOrderList.setIsAuctionBond(1);
|
}
|
}
|
|
|
return memberOrderListVOPageDTO;
|
}
|
|
@Override
|
public OrderVO MemberOrderOne(MemberOrderListDTO memberOrderListDTO) {
|
Order order = baseMapper.selectById(memberOrderListDTO.getId());
|
OrderVO orderVO=new OrderVO();
|
try {
|
orderVO = BeanUtils.copyBean(order, OrderVO.class);
|
if (orderVO.getOrderFrom().getCode()==3){
|
GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
orderVO.setGroupTime(data.getGroupTime());
|
}
|
|
OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne(
|
Wrappers.lambdaQuery(OrderReturnRequest.class)
|
.eq(OrderReturnRequest::getOrderId,
|
orderVO.getId()).eq(OrderReturnRequest::getDelFlag,
|
0).last("limit 1"));
|
if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
|
orderVO.setStatus(orderReturnRequest.getStatus());
|
orderVO.setRequestId(orderReturnRequest.getId());
|
orderVO.setIsRequest(2);
|
}else{
|
orderVO.setIsRequest(1);
|
}
|
|
LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery();
|
wrapper3.eq(OrderAuctionBond::getOrderId,order.getId());
|
OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3);
|
if (orderAuctionBond!=null){
|
if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){
|
orderVO.setIsAuctionBond(1);
|
}else{
|
orderVO.setIsAuctionBond(2);
|
}
|
}else {
|
orderVO.setIsAuctionBond(1);
|
}
|
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
return orderVO;
|
}
|
|
@Override
|
public void CancelOrderOne(MemberOrderListDTO memberOrderListDTO) {
|
Order order = baseMapper.selectById(memberOrderListDTO.getId());
|
if (order.getOrderStatus().getCode() == 1) {
|
order.setOrderStatus(OrderStatusEnum.CANCELED);
|
order.setCancelTime(LocalDateTime.now());
|
baseMapper.updateById(order);
|
|
if(order.getOrderNo().contains("SP")){
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO();
|
goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
goodsStockUpdDTO1.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER);
|
}
|
|
if(order.getOrderNo().contains("MS")){
|
GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO();
|
goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER);
|
}
|
|
|
}
|
if (order.getOrderStatus().getCode() == 2) {
|
order.setOrderStatus(OrderStatusEnum.CANCELED);
|
order.setCancelTime(LocalDateTime.now());
|
baseMapper.updateById(order);
|
|
if(order.getOrderNo().contains("SP")){
|
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO();
|
goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
goodsStockUpdDTO1.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER);
|
}
|
|
if(order.getOrderNo().contains("MS")){
|
GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
|
GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO();
|
goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId());
|
goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity());
|
goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER);
|
}
|
|
if (order.getCouponId()!=0){
|
CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
|
couponMemberDTO1.setId(order.getCouponId());
|
couponMemberDTO1.setCouponStatus(0);
|
promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER);
|
}
|
|
|
updMembeOneDTO MembeOneDTO = new updMembeOneDTO();
|
MembeOneDTO.setType(2);
|
MembeOneDTO.setMemberId(order.getMemberId());
|
MembeOneDTO.setMoney(order.getTotalAmount());
|
MembeOneDTO.setTotalPoints(order.getPoints());
|
memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER);
|
|
|
if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 2) {//支付宝
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, order.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
if (paylog != null) {
|
boolean bo = paylogService.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(), paylog.getPayMoney());
|
if (!bo) {
|
System.out.println("支付宝退款失败");
|
}
|
}
|
|
} else if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 1) {//微信
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, order.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
if (paylog != null) {
|
String refundMoney = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer refundFee = Integer.parseInt(refundMoney.substring(0, refundMoney.length() - 3));
|
String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer totalFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
refundFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
|
String regEx = "[^0-9]";
|
Pattern p = Pattern.compile(regEx);
|
Matcher m = p.matcher(order.getOrderNo());
|
String ma = m.replaceAll("").trim();
|
boolean bo = paylogService.refundForWxpay(4, paylog.getTradeNo(), paylog.getOutTradeNo(), "R" + ma, totalFee, refundFee, "2");
|
if (!bo) {
|
System.out.println("微信退款失败");
|
}
|
|
}
|
}
|
}
|
}
|
|
@Override
|
public void delOrderOne(MemberOrderListDTO memberOrderListDTO) {
|
|
Order byId = this.getById(memberOrderListDTO.getId());
|
goodsSkuClient.GroupPurchaseNum1(byId.getGoodsSkuId(), SecurityConstants.INNER);
|
this.removeById(memberOrderListDTO.getId());
|
if (byId.getOrderStatus().getCode() == 2) {
|
|
updMembeOneDTO MembeOneDTO = new updMembeOneDTO();
|
MembeOneDTO.setType(2);
|
MembeOneDTO.setMemberId(byId.getMemberId());
|
MembeOneDTO.setMoney(byId.getTotalAmount());
|
MembeOneDTO.setTotalPoints(byId.getPoints());
|
memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER);
|
|
|
if (byId.getPaymentMethod() != null && byId.getPaymentMethod().getCode() == 2) {//支付宝
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, byId.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
if (paylog != null) {
|
boolean bo = paylogService.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(), paylog.getPayMoney());
|
if (!bo) {
|
System.out.println("支付宝退款失败");
|
}
|
}
|
|
} else if (byId.getPaymentMethod() != null && byId.getPaymentMethod().getCode() == 1) {//微信
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, byId.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
if (paylog != null) {
|
String refundMoney = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer refundFee = Integer.parseInt(refundMoney.substring(0, refundMoney.length() - 3));
|
String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer totalFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
refundFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
|
String regEx = "[^0-9]";
|
Pattern p = Pattern.compile(regEx);
|
Matcher m = p.matcher(byId.getOrderNo());
|
String ma = m.replaceAll("").trim();
|
boolean bo = paylogService.refundForWxpay(4, paylog.getTradeNo(), paylog.getOutTradeNo(), "R" + ma, totalFee, refundFee, "2");
|
if (!bo) {
|
System.out.println("微信退款失败");
|
}
|
|
}
|
}
|
}
|
baseMapper.deleteById(memberOrderListDTO.getId());
|
}
|
|
@Override
|
public void AffirmOrderOne(MemberOrderListDTO memberOrderListDTO) {
|
Order order = baseMapper.selectById(memberOrderListDTO.getId());
|
if (order.getOrderFrom().getCode()==4){
|
order.setOrderStatus(OrderStatusEnum.FINISHED);
|
order.setReceiveTime(LocalDateTime.now());
|
baseMapper.updateById(order);
|
|
LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery();
|
wrapper.eq(OrderAuctionBond::getOrderId,order.getId());
|
OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper);
|
|
if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 1) {//支付宝
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
boolean bo = paylogService.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(), paylog.getPayMoney());
|
if (!bo) {
|
System.out.println("支付宝退款失败");
|
}
|
} else if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 2) {//微信
|
//获取支付信息
|
LambdaQueryWrapper<Paylog> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
|
Paylog paylog = iPaylogService.getOne(paylogEntityWrapper);
|
|
String refundMoney = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer refundFee = Integer.parseInt(refundMoney.substring(0, refundMoney.length() - 3));
|
String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d);
|
Integer totalFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
refundFee = 1;
|
|
String regEx = "[^0-9]";
|
Pattern p = Pattern.compile(regEx);
|
Matcher m = p.matcher(order.getOrderNo());
|
String ma = m.replaceAll("").trim();
|
boolean bo = paylogService.refundForWxpay(4, paylog.getTradeNo(), paylog.getOutTradeNo(), "R" + ma, totalFee, refundFee, "2");
|
if (!bo) {
|
System.out.println("微信退款失败");
|
}
|
}
|
|
}else{
|
order.setOrderStatus(OrderStatusEnum.FINISHED);
|
order.setReceiveTime(LocalDateTime.now());
|
baseMapper.updateById(order);
|
}
|
}
|
|
@Override
|
public MemberOrderNumVO MemberOrderNum(MemberOrderListDTO memberOrderListDTO) {
|
|
|
LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(Order::getMemberId,memberOrderListDTO.getMemberId());
|
wrapper1.eq(Order::getOrderStatus,1);
|
wrapper1.eq(Order::getIsOrder,1);
|
wrapper1.eq(Order::getDelFlag,0);
|
wrapper1.orderByDesc(Order::getCancelTime);
|
List<Order> page2 = this.list(wrapper1);
|
for (Order MemberOrderList:page2) {
|
if (MemberOrderList.getOrderStatus().getCode() == 1) {
|
if (MemberOrderList.getOrderFrom().getCode() == 1 || MemberOrderList.getOrderFrom().getCode() == 2 || MemberOrderList.getOrderFrom().getCode() == 3) {
|
LocalDateTime localDateTime = MemberOrderList.getOrderTime().plusMinutes(30);
|
if (LocalDateTime.now().isAfter(localDateTime)) {
|
// dateTime1 在 dateTime2 之后
|
MemberOrderList.setOrderStatus(OrderStatusEnum.CANCELED);
|
Order order = this.getById(MemberOrderList.getId());
|
order.setOrderStatus(OrderStatusEnum.CANCELED);
|
this.updateById(order);
|
}
|
|
}
|
}
|
}
|
|
|
MemberOrderNumVO vo=new MemberOrderNumVO();
|
|
LambdaQueryWrapper<Order> paylogEntityWrapper = Wrappers.lambdaQuery();
|
paylogEntityWrapper.eq(Order::getMemberId, memberOrderListDTO.getMemberId());
|
paylogEntityWrapper.eq(Order::getOrderStatus,1);
|
List<Order> list = this.list(paylogEntityWrapper);
|
vo.setDzforderNo(list.size());
|
|
LambdaQueryWrapper<Order> paylogEntityWrapper1 = Wrappers.lambdaQuery();
|
paylogEntityWrapper1.eq(Order::getMemberId, memberOrderListDTO.getMemberId());
|
paylogEntityWrapper1.eq(Order::getOrderStatus,2);
|
List<Order> list1 = this.list(paylogEntityWrapper1);
|
vo.setDfhorderNo(list1.size());
|
|
LambdaQueryWrapper<Order> paylogEntityWrapper2 = Wrappers.lambdaQuery();
|
paylogEntityWrapper2.eq(Order::getMemberId, memberOrderListDTO.getMemberId());
|
paylogEntityWrapper2.eq(Order::getOrderStatus,3);
|
List<Order> list2 = this.list(paylogEntityWrapper2);
|
vo.setDshorderNo(list2.size());
|
|
return vo;
|
}
|
|
/**
|
* 根据优惠券id集合查询订单列表
|
*
|
* @param couponIds 优惠券id集合
|
* @return List<Order>
|
*/
|
@Override
|
public List<Order> getOrderByCouponIds(Collection<Long> couponIds) {
|
return this.lambdaQuery().in(Order::getCouponId, couponIds)
|
.eq(Order::getOrderStatus, OrderStatusEnum.FINISHED).list();
|
}
|
|
/**
|
* 商城订单分页列表
|
*
|
* @param query 商城订单查询对象
|
* @return PageDTO<MgtMallOrderVO>
|
*/
|
@Override
|
public PageDTO<MgtOrderVO> getOrderPage(MgtOrderQuery query) {
|
PageDTO<MgtOrderVO> pageVO;
|
// 封装会员条件查询对象
|
MemberDTO memberDTO = null;
|
Set<Long> memberIdSet = null;
|
Page<Order> page = new Page<>(query.getPageCurr(), query.getPageSize());
|
if (StringUtils.isNotBlank(query.getNickname()) || StringUtils.isNotBlank(
|
query.getPhone())) {
|
memberDTO = new MemberDTO();
|
memberDTO.setNickname(query.getNickname());
|
memberDTO.setPhone(query.getPhone());
|
}
|
if (StringUtils.isNotNull(memberDTO)) {
|
// 远程调用会员服务进行条件查询
|
List<Member> memberList = memberClient.getMemberListByCondition(memberDTO,
|
SecurityConstants.INNER).getData();
|
if (StringUtils.isEmpty(memberList)) {
|
return PageDTO.empty(page);
|
}
|
memberIdSet = memberList.stream().map(Member::getId)
|
.collect(Collectors.toSet());
|
}
|
page = this.lambdaQuery()
|
.in(StringUtils.isNotEmpty(memberIdSet), Order::getMemberId, memberIdSet)
|
.ne(StringUtils.isNotNull(query.getQueryType()) && query.getQueryType()
|
.equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom,
|
OrderFromEnum.AUCTION_ORDERS)
|
.eq(StringUtils.isNotNull(query.getQueryType()) && query.getQueryType()
|
.equals(OrderTypeEnum.AUCTION_ORDER), Order::getOrderFrom,
|
OrderFromEnum.AUCTION_ORDERS)
|
.like(StringUtils.isNotBlank(query.getOrderNo()), Order::getOrderNo,
|
query.getOrderNo())
|
.eq(StringUtils.isNotNull(query.getOrderFrom()) && query.getQueryType()
|
.equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom,
|
query.getOrderFrom())
|
.like(StringUtils.isNotBlank(query.getSkuName()), Order::getSkuName,
|
query.getSkuName())
|
.eq(StringUtils.isNotNull(query.getOrderStatus()), Order::getOrderStatus,
|
query.getOrderStatus())
|
.orderByDesc(Order::getCreateTime)
|
.page(new Page<>(query.getPageCurr(), query.getPageSize()));
|
if (StringUtils.isEmpty(page.getRecords())) {
|
pageVO = PageDTO.empty(page);
|
}
|
pageVO = PageDTO.of(page, MgtOrderVO.class);
|
if (query.getOrderFrom() == OrderFromEnum.AUCTION_ORDERS) {
|
List<MgtOrderVO> list = pageVO.getList();
|
// 封装参数查询拍卖会
|
Set<Long> auctionSalesroomGoodsIdSet = list.stream()
|
.filter(order -> order.getAuctionType() == AuctionOrderTypeEnum.AUCTION_ITEMS)
|
.map(MgtOrderVO::getGoodsSkuId).collect(Collectors.toSet());
|
List<AuctionSalesroom> auctionSalesroomList = auctionClient.getAuctionSalesroomByIds(
|
auctionSalesroomGoodsIdSet, SecurityConstants.INNER)
|
.getData();
|
Map<Long, String> salesroomMap = auctionSalesroomList.stream()
|
.collect(Collectors.toMap(AuctionSalesroom::getId,
|
AuctionSalesroom::getSalesroomName));
|
// 封装参数查询拍卖订单保证金
|
Set<Long> auctionGoodsIdSet = list.stream()
|
.filter(order -> order.getAuctionType() == AuctionOrderTypeEnum.REGULAR_ITEMS)
|
.map(MgtOrderVO::getGoodsSkuId)
|
.collect(Collectors.toSet());
|
|
Set<Long> auctionSalesroomSet = auctionSalesroomList.stream()
|
.map(AuctionSalesroom::getId)
|
.collect(Collectors.toSet());
|
|
List<OrderAuctionBond> auctionBondList = orderAuctionBondMapper.selectList(
|
Wrappers.lambdaQuery(OrderAuctionBond.class)
|
.in(OrderAuctionBond::getAuctionGoodsId, auctionGoodsIdSet)
|
.in(OrderAuctionBond::getAuctionSalesroomId, auctionSalesroomSet)
|
.eq(OrderAuctionBond::getBoundStatus,
|
BondStatusEnum.PAID));
|
Map<String, OrderAuctionBond> auctionSalesroomBondMap = auctionBondList.stream()
|
.filter(bond -> bond.getBondType() == AuctionOrderTypeEnum.AUCTION_ITEMS)
|
.collect(Collectors.toMap(
|
bond -> bond.getAuctionSalesroomId() + "-" + bond.getMemberId(),
|
Function.identity()));
|
Map<String, OrderAuctionBond> auctionSalesroomGoodsBondMap = auctionBondList.stream()
|
.filter(bond -> bond.getBondType() == AuctionOrderTypeEnum.REGULAR_ITEMS)
|
.collect(Collectors.toMap(
|
bond -> bond.getAuctionGoodsId() + "-" + bond.getMemberId(),
|
Function.identity()));
|
|
list.forEach(order -> {
|
if (order.getAuctionType() == AuctionOrderTypeEnum.AUCTION_ITEMS) {
|
order.setSalesroomName(
|
StringUtils.isNotBlank(salesroomMap.get(order.getGoodsSkuId()))
|
? salesroomMap.get(order.getAuctionSalesroomId()) : "无");
|
order.setBoundStatus(
|
StringUtils.isNotNull(auctionSalesroomBondMap.get(
|
order.getAuctionSalesroomId() + "-" + order.getMemberId())
|
.getBoundStatus())
|
? auctionSalesroomBondMap.get(
|
order.getAuctionSalesroomId() + "-" + order.getMemberId())
|
.getBoundStatus()
|
: null);
|
}
|
if (order.getAuctionType() == AuctionOrderTypeEnum.REGULAR_ITEMS) {
|
order.setSalesroomName("无");
|
order.setBoundStatus(
|
StringUtils.isNotNull(auctionSalesroomGoodsBondMap.get(
|
order.getGoodsSkuId() + "-" + order.getMemberId())
|
.getBoundStatus())
|
? auctionSalesroomGoodsBondMap.get(
|
order.getGoodsSkuId() + "-" + order.getMemberId())
|
.getBoundStatus()
|
: null);
|
}
|
});
|
}
|
return pageVO;
|
}
|
|
/**
|
* 获取商城订单详情
|
*
|
* @param id 订单id
|
* @return MgtMallOrderVO
|
*/
|
@Override
|
public MgtOrderVO getOrderDetail(Long id) {
|
Order order = this.getById(id);
|
MgtOrderVO mgtOrderVO = BeanUtils.copyBean(order, MgtOrderVO.class);
|
// 查询用户信息
|
Member member = memberClient.getMembeOne(order.getMemberId(), SecurityConstants.INNER)
|
.getData();
|
if (StringUtils.isNotNull(member)) {
|
mgtOrderVO.setNickname(member.getNickname());
|
mgtOrderVO.setPhone(member.getPhone());
|
}
|
// 拍卖订单查询拍卖会信息
|
if (order.getOrderFrom() == OrderFromEnum.AUCTION_ORDERS && (order.getAuctionOrderType()
|
== AuctionOrderTypeEnum.AUCTION_ITEMS)) {
|
List<AuctionSalesroom> auctionSalesroom = auctionClient.getAuctionSalesroomByIds(
|
Lists.newArrayList(order.getGoodsSkuId())
|
, SecurityConstants.INNER).getData();
|
if (StringUtils.isNotNull(auctionSalesroom)) {
|
mgtOrderVO.setSalesroomName(auctionSalesroom.get(0).getSalesroomName());
|
}
|
}
|
// 查询售后信息
|
if (order.getOrderStatus() == OrderStatusEnum.AFTER_SALE) {
|
OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne(
|
Wrappers.lambdaQuery(OrderReturnRequest.class)
|
.eq(OrderReturnRequest::getOrderId,
|
order.getId()).last("limit 1"));
|
if (StringUtils.isNotNull(orderReturnRequest)) {
|
mgtOrderVO.setReturnRequestVO(BeanUtils.copyBean(orderReturnRequest,
|
MgtOrderReturnRequestVO.class));
|
}
|
}
|
// 如果订单状态为已发货、已完成、售后, 查询物流信息
|
if (order.getOrderStatus() == OrderStatusEnum.GOODS_TO_BE_RECEIVED
|
|| order.getOrderStatus() == OrderStatusEnum.FINISHED
|
|| order.getOrderStatus() == OrderStatusEnum.AFTER_SALE) {
|
LogisticsDTO logisticsDTO = new LogisticsDTO();
|
logisticsDTO.setCompany(order.getLogisticsNum());
|
logisticsDTO.setPostid(order.getCourierNumber());
|
Express100VO logisticsList = logisticsService.getLogisticsList(logisticsDTO);
|
if (StringUtils.isNotNull(logisticsList)) {
|
mgtOrderVO.setExpress100VO(logisticsList);
|
}
|
}
|
if (order.getOrderFrom() == OrderFromEnum.SNAP_ORDERS) {
|
GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(),
|
SecurityConstants.INNER).getData();
|
mgtOrderVO.setSeckillPrice(data.getSeckillPrice());
|
} else if (order.getOrderFrom() == OrderFromEnum.GROUP_PURCHASE_ORDERS) {
|
GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(
|
order.getGoodsSkuId(),
|
SecurityConstants.INNER).getData();
|
mgtOrderVO.setGroupPurchasesPrice(data.getGroupPurchasePrice());
|
}
|
return mgtOrderVO;
|
}
|
|
/**
|
* 确认发货
|
*
|
* @param dto 确认发货请求对象
|
*/
|
@Override
|
public void confirmShipmentOrder(MgtOrderConfirmShipmentDTO dto) {
|
Order order = getOrder(dto.getId());
|
order.setOrderStatus(OrderStatusEnum.GOODS_TO_BE_RECEIVED);
|
order.setDeliveryTime(LocalDateTime.now());
|
order.setCourierNumber(dto.getCourierNumber());
|
order.setLogisticsNum(dto.getLogisticsNum());
|
this.updateById(order);
|
}
|
|
/**
|
* 已收货
|
*
|
* @param id 订单id
|
*/
|
@Override
|
public void receivedGoods(Long id) {
|
Order order = getOrder(id);
|
if (order.getOrderStatus() == OrderStatusEnum.GOODS_TO_BE_RECEIVED) {
|
order.setOrderStatus(OrderStatusEnum.FINISHED);
|
order.setReceiveTime(LocalDateTime.now());
|
this.updateById(order);
|
}
|
}
|
|
/**
|
* 退款
|
*
|
* @param id 订单id
|
*/
|
@Override
|
public void refund(Long id) {
|
Order order = getOrder(id);
|
String orderNo = order.getOrderNo();
|
Paylog paylog = iPaylogService.lambdaQuery().eq(Paylog::getOutTradeNo, orderNo)
|
.last("limit 1").one();
|
PaymentMethodEnum paymentMethod = order.getPaymentMethod();
|
|
if (StringUtils.isNotNull(paylog)) {
|
boolean result = handleRefund(paymentMethod, paylog, orderNo);
|
if (result) {
|
paylog.setState(3);// 已退款
|
iPaylogService.updateById(paylog);
|
}
|
OrderReturnRequest orderReturnRequest = new OrderReturnRequest();
|
orderReturnRequest.setOrderId(id);
|
orderReturnRequest.setRequestTime(LocalDateTime.now());
|
orderReturnRequest.setRequestType(RequestTypeEnum.REFUND);
|
orderReturnRequest.setRequestReason("管理后台退款");
|
orderReturnRequest.setStatus(ReturnRequestStatusEnum.COMPLETED);
|
orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED);
|
orderReturnRequestService.save(orderReturnRequest);
|
}
|
}
|
|
private boolean handleRefund(PaymentMethodEnum paymentMethod, Paylog paylog, String orderNo) {
|
boolean result = false;
|
if (paymentMethod == PaymentMethodEnum.WECHAT) {
|
String refundMoney = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100D);
|
int refundFee = Integer.parseInt(
|
refundMoney.substring(0, refundMoney.length() - 3));
|
String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100D);
|
Integer totalFee = Integer.parseInt(money.substring(0, money.length() - 3));
|
String regEx = "[^0-9]";
|
Pattern p = Pattern.compile(regEx);
|
Matcher m = p.matcher(orderNo);
|
String ma = m.replaceAll("").trim();
|
result = paylogService.refundForWxpay(2, paylog.getTradeNo(),
|
paylog.getOutTradeNo(), "R" + ma, totalFee, refundFee, "4");
|
} else if (paymentMethod == PaymentMethodEnum.ALIPAY) {
|
result = paylogService.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(),
|
paylog.getPayMoney());
|
|
}
|
return result;
|
}
|
|
/**
|
* 退款退货
|
*
|
* @param id 订单id
|
*/
|
@Override
|
public void refundReturn(Long id) {
|
Order order = getOrder(id);
|
if (order.getOrderStatus() == OrderStatusEnum.FINISHED) {
|
OrderReturnRequest orderReturnRequest = new OrderReturnRequest();
|
order.setOrderStatus(OrderStatusEnum.AFTER_SALE);
|
this.updateById(order);
|
MgtAfterSaleSettingDTO data = sysUserClient.getAfterSaleSetting().getData();
|
if (StringUtils.isNull(data)) {
|
throw new ServiceException("获取售后退货信息失败");
|
}
|
orderReturnRequest.setRecipientName(data.getReceiverName());
|
orderReturnRequest.setRecipientPhone(data.getReceiverPhone());
|
orderReturnRequest.setDetailedAddress(data.getReceiverAddress());
|
orderReturnRequest.setOrderId(id);
|
orderReturnRequest.setRequestTime(LocalDateTime.now());
|
orderReturnRequest.setRequestType(RequestTypeEnum.REFUNDS_AND_RETURNS);
|
orderReturnRequest.setRequestReason("管理后台退款退货");
|
orderReturnRequest.setStatus(ReturnRequestStatusEnum.TO_BE_RETURNED);
|
orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED);
|
orderReturnRequestService.save(orderReturnRequest);
|
}
|
|
}
|
|
private Order getOrder(Long id) {
|
Order order = this.getById(id);
|
if (StringUtils.isNull(order)) {
|
throw new ServiceException("订单不存在");
|
}
|
return order;
|
}
|
|
/**
|
* 拍卖订单退保证金
|
*
|
* @param id 订单id
|
*/
|
@Override
|
public void refundBond(Long id) {
|
Order order = getOrder(id);
|
OrderAuctionBond orderAuctionBond;
|
if (order.getAuctionOrderType() == AuctionOrderTypeEnum.AUCTION_ITEMS) {
|
orderAuctionBond = orderAuctionBondMapper.selectOne(
|
Wrappers.lambdaQuery(OrderAuctionBond.class)
|
.eq(OrderAuctionBond::getAuctionSalesroomId,
|
order.getAuctionSalesroomId())
|
.eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
|
if (StringUtils.isNotNull(orderAuctionBond)
|
&& orderAuctionBond.getBoundStatus() == BondStatusEnum.REFUNDED) {
|
throw new ServiceException("改拍卖会已退保证金");
|
}
|
} else {
|
orderAuctionBond = orderAuctionBondMapper.selectOne(
|
Wrappers.lambdaQuery(OrderAuctionBond.class)
|
.eq(OrderAuctionBond::getAuctionGoodsId,
|
order.getGoodsSkuId())
|
.eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID));
|
}
|
Paylog paylog = iPaylogService.lambdaQuery()
|
.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo())
|
.last("limit 1").one();
|
if (StringUtils.isNull(paylog)) {
|
throw new ServiceException("支付记录不存在");
|
}
|
PaymentMethodEnum paymentMethod = orderAuctionBond.getPaymentMethod();
|
if (orderAuctionBond.getBoundStatus() == BondStatusEnum.PAID) {
|
boolean result = handleRefund(paymentMethod, paylog, orderAuctionBond.getOrderNo());
|
if (result) {
|
paylog.setState(3);// 已退款
|
orderAuctionBond.setBoundStatus(BondStatusEnum.REFUNDED);
|
iPaylogService.updateById(paylog);
|
this.updateById(order);
|
}
|
}
|
}
|
|
/**
|
* 查询统计订单列表
|
*
|
* @param startTime 开始时间
|
* @param endTime 结束时间
|
* @return List<Order>
|
*/
|
@Override
|
public List<Order> getStaticsOrderList(LocalDateTime startTime, LocalDateTime endTime) {
|
return baseMapper.getStaticsOrderList(startTime, endTime);
|
}
|
}
|