Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop into feature/pg
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.member.entity.aop.annotation;
|
||||
package cn.lili.modules.member.aop.annotation;
|
||||
|
||||
|
||||
import java.lang.annotation.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.member.entity.aop.interceptor;
|
||||
package cn.lili.modules.member.aop.interceptor;
|
||||
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.dos.MemberPointsHistory;
|
||||
@@ -29,7 +29,7 @@ public class PointLogInterceptor {
|
||||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
@After("@annotation(cn.lili.modules.member.entity.aop.annotation.PointLogPoint)")
|
||||
@After("@annotation(cn.lili.modules.member.aop.annotation.PointLogPoint)")
|
||||
public void doAfter(JoinPoint pjp) {
|
||||
//参数
|
||||
Object[] obj = pjp.getArgs();
|
||||
@@ -21,7 +21,7 @@ import cn.lili.modules.connect.entity.Connect;
|
||||
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
|
||||
import cn.lili.modules.connect.service.ConnectService;
|
||||
import cn.lili.modules.connect.util.UuidUtils;
|
||||
import cn.lili.modules.member.entity.aop.annotation.PointLogPoint;
|
||||
import cn.lili.modules.member.aop.annotation.PointLogPoint;
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO;
|
||||
import cn.lili.modules.member.entity.dto.MemberAddDTO;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package cn.lili.modules.message.entity.dos;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -99,4 +100,17 @@ public class CartVO extends CartBase implements Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 过滤购物车中已选择的sku
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<CartSkuVO> getCheckedSkuList() {
|
||||
if (skuList != null && !skuList.isEmpty()) {
|
||||
return skuList.stream().filter(CartSkuVO::getChecked).collect(Collectors.toList());
|
||||
}
|
||||
return skuList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -59,10 +59,8 @@ public class CartPriceRender implements CartRenderStep {
|
||||
|
||||
cartVOS.forEach(cartVO -> {
|
||||
|
||||
List<PriceDetailDTO> skuPrices = cartVO.getSkuList().stream().filter(CartSkuVO::getChecked)
|
||||
.map(CartSkuVO::getPriceDetailDTO).collect(Collectors.toList());
|
||||
cartVO.getPriceDetailDTO().accumulationPriceDTO(
|
||||
cartVO.getSkuList().stream().filter(CartSkuVO::getChecked)
|
||||
cartVO.getCheckedSkuList().stream().filter(CartSkuVO::getChecked)
|
||||
.map(CartSkuVO::getPriceDetailDTO).collect(Collectors.toList())
|
||||
);
|
||||
List<Integer> skuNum = cartVO.getSkuList().stream().filter(CartSkuVO::getChecked)
|
||||
|
||||
@@ -36,7 +36,7 @@ public class CheckedFilterRender implements CartRenderStep {
|
||||
//循环购物车信息
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
//如果商品选中,则加入到对应购物车
|
||||
cartVO.setSkuList(cartVO.getSkuList().stream().filter(j -> Boolean.TRUE.equals(j.getChecked())).collect(Collectors.toList()));
|
||||
cartVO.setSkuList(cartVO.getCheckedSkuList());
|
||||
cartVOList.add(cartVO);
|
||||
}
|
||||
tradeDTO.setCartList(cartVOList);
|
||||
|
||||
@@ -66,7 +66,7 @@ public class CommissionRender implements CartRenderStep {
|
||||
//计算购物车价格
|
||||
for (CartVO cart : cartVOS) {
|
||||
//累加价格
|
||||
for (CartSkuVO cartSkuVO : cart.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : cart.getCheckedSkuList()) {
|
||||
|
||||
PriceDetailDTO priceDetailDTO = cartSkuVO.getPriceDetailDTO();
|
||||
//平台佣金根据分类计算
|
||||
|
||||
@@ -58,14 +58,14 @@ public class DistributionPriceRender implements CartRenderStep {
|
||||
//循环订单商品列表,如果是分销商品则计算商品佣金
|
||||
tradeDTO.setDistributionId(distributionId);
|
||||
|
||||
List<String> skuIds = tradeDTO.getSkuList().stream().map(cartSkuVO -> {
|
||||
List<String> skuIds = tradeDTO.getCheckedSkuList().stream().map(cartSkuVO -> {
|
||||
return cartSkuVO.getGoodsSku().getId();
|
||||
}).collect(Collectors.toList());
|
||||
//是否包含分销商品
|
||||
List<DistributionGoods> distributionGoods = distributionGoodsService.distributionGoods(skuIds);
|
||||
if (distributionGoods != null && distributionGoods.size() > 0) {
|
||||
distributionGoods.forEach(dg -> {
|
||||
tradeDTO.getSkuList().forEach(cartSkuVO -> {
|
||||
tradeDTO.getCheckedSkuList().forEach(cartSkuVO -> {
|
||||
if (cartSkuVO.getGoodsSku().getId().equals(dg.getSkuId())) {
|
||||
cartSkuVO.setDistributionGoods(dg);
|
||||
}
|
||||
@@ -73,7 +73,7 @@ public class DistributionPriceRender implements CartRenderStep {
|
||||
});
|
||||
}
|
||||
|
||||
for (CartSkuVO cartSkuVO : tradeDTO.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : tradeDTO.getCheckedSkuList()) {
|
||||
if (cartSkuVO.getDistributionGoods() != null) {
|
||||
cartSkuVO.getPriceDetailDTO().setDistributionCommission(CurrencyUtil.mul(cartSkuVO.getNum(), cartSkuVO.getDistributionGoods().getCommission()));
|
||||
}
|
||||
|
||||
@@ -46,8 +46,6 @@ public class FullDiscountRender implements CartRenderStep {
|
||||
@Override
|
||||
public void render(TradeDTO tradeDTO) {
|
||||
|
||||
//获取购物车中所有的商品
|
||||
List<CartSkuVO> cartSkuList = tradeDTO.getSkuList();
|
||||
|
||||
//店铺集合
|
||||
List<CartVO> cartList = tradeDTO.getCartList();
|
||||
@@ -80,7 +78,7 @@ public class FullDiscountRender implements CartRenderStep {
|
||||
cart.setFullDiscount(fullDiscount);
|
||||
Map<String, Double> skuPriceDetail;
|
||||
//参与活动的sku判定
|
||||
skuPriceDetail = initFullDiscountGoods(fullDiscount, cartSkuList);
|
||||
skuPriceDetail = initFullDiscountGoods(fullDiscount, cart.getCheckedSkuList());
|
||||
//记录参与满减活动的sku
|
||||
cart.setFullDiscountSkuIds(new ArrayList<>(skuPriceDetail.keySet()));
|
||||
|
||||
@@ -115,7 +113,7 @@ public class FullDiscountRender implements CartRenderStep {
|
||||
*/
|
||||
private void renderFullRate(CartVO cart, Map<String, Double> skuPriceDetail, Double rate) {
|
||||
|
||||
List<CartSkuVO> cartSkuVOS = cart.getSkuList().stream().filter(cartSkuVO -> {
|
||||
List<CartSkuVO> cartSkuVOS = cart.getCheckedSkuList().stream().filter(cartSkuVO -> {
|
||||
return skuPriceDetail.containsKey(cartSkuVO.getGoodsSku().getId());
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
@@ -186,7 +184,7 @@ public class FullDiscountRender implements CartRenderStep {
|
||||
}
|
||||
//如果满足,判定是否免邮,免邮的话需要渲染一边sku
|
||||
if (fullDiscount.getIsFreeFreight()) {
|
||||
for (CartSkuVO skuVO : cartVO.getSkuList()) {
|
||||
for (CartSkuVO skuVO : cartVO.getCheckedSkuList()) {
|
||||
skuVO.setIsFreeFreight(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class SkuFreightRender implements CartRenderStep {
|
||||
|
||||
@Override
|
||||
public void render(TradeDTO tradeDTO) {
|
||||
List<CartSkuVO> cartSkuVOS = tradeDTO.getSkuList();
|
||||
List<CartSkuVO> cartSkuVOS = tradeDTO.getCheckedSkuList();
|
||||
//会员收货地址问题处理
|
||||
MemberAddress memberAddress = tradeDTO.getMemberAddress();
|
||||
//如果收货地址为空,则抛出异常
|
||||
|
||||
@@ -59,7 +59,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
*/
|
||||
private void renderBasePrice(TradeDTO tradeDTO) {
|
||||
tradeDTO.getCartList().forEach(
|
||||
cartVO -> cartVO.getSkuList().forEach(cartSkuVO -> {
|
||||
cartVO -> cartVO.getCheckedSkuList().forEach(cartSkuVO -> {
|
||||
PriceDetailDTO priceDetailDTO = cartSkuVO.getPriceDetailDTO();
|
||||
priceDetailDTO.setGoodsPrice(cartSkuVO.getSubTotal());
|
||||
priceDetailDTO.setDiscountPrice(CurrencyUtil.sub(priceDetailDTO.getOriginalPrice(), cartSkuVO.getSubTotal()));
|
||||
@@ -82,7 +82,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
case POINTS:
|
||||
//处理积分商品购买
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getCheckedSkuList()) {
|
||||
cartSkuVO.getPriceDetailDTO().setPayPoint(cartSkuVO.getPoint());
|
||||
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(PromotionTypeEnum.POINTS_GOODS.name(), cartSkuVO.getPointsId());
|
||||
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
|
||||
@@ -91,7 +91,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
return;
|
||||
case KANJIA:
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getCheckedSkuList()) {
|
||||
KanjiaActivitySearchParams kanjiaActivitySearchParams = new KanjiaActivitySearchParams();
|
||||
kanjiaActivitySearchParams.setGoodsSkuId(cartSkuVO.getGoodsSku().getId());
|
||||
kanjiaActivitySearchParams.setMemberId(UserContext.getCurrentUser().getId());
|
||||
@@ -112,7 +112,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
return;
|
||||
case PINTUAN:
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getCheckedSkuList()) {
|
||||
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(PromotionTypeEnum.PINTUAN.name(), cartSkuVO.getPintuanId());
|
||||
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
|
||||
}
|
||||
@@ -125,7 +125,7 @@ public class SkuPromotionRender implements CartRenderStep {
|
||||
//循环购物车
|
||||
for (CartVO cartVO : tradeDTO.getCartList()) {
|
||||
//循环sku
|
||||
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
|
||||
for (CartSkuVO cartSkuVO : cartVO.getCheckedSkuList()) {
|
||||
//更新商品促销
|
||||
promotionGoodsService.updatePromotion(cartSkuVO);
|
||||
//赋予商品促销信息
|
||||
|
||||
@@ -264,7 +264,7 @@ public class Order extends BaseEntity {
|
||||
this.setOrderType(OrderTypeEnum.VIRTUAL.name());
|
||||
} else {
|
||||
//促销订单(拼团、积分)-判断购买的是虚拟商品还是实物商品
|
||||
String goodsType = cartVO.getSkuList().get(0).getGoodsSku().getGoodsType();
|
||||
String goodsType = cartVO.getCheckedSkuList().get(0).getGoodsSku().getGoodsType();
|
||||
if (StrUtil.isEmpty(goodsType) || goodsType.equals(GoodsTypeEnum.PHYSICAL_GOODS.name())) {
|
||||
this.setOrderType(OrderTypeEnum.NORMAL.name());
|
||||
} else {
|
||||
@@ -275,7 +275,7 @@ public class Order extends BaseEntity {
|
||||
|
||||
//判断是否为拼团订单,如果为拼团订单获取拼团ID,判断是否为主订单
|
||||
if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.PINTUAN.name())) {
|
||||
Optional<String> pintuanId = cartVO.getSkuList().get(0).getPromotions().stream()
|
||||
Optional<String> pintuanId = cartVO.getCheckedSkuList().get(0).getPromotions().stream()
|
||||
.filter(i -> i.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())).map(PromotionGoods::getPromotionId).findFirst();
|
||||
promotionId = pintuanId.get();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import cn.lili.modules.order.order.entity.dos.Receipt;
|
||||
import cn.lili.modules.order.order.entity.enums.DeliverStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
|
||||
import cn.lili.modules.order.trade.entity.dos.OrderLog;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@@ -7,7 +7,7 @@ import cn.lili.modules.order.order.entity.dto.AfterSaleDTO;
|
||||
import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO;
|
||||
import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams;
|
||||
import cn.lili.modules.order.order.entity.vo.AfterSaleVO;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
|
||||
import cn.lili.modules.system.entity.vo.Traces;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
@@ -9,7 +9,7 @@ import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
||||
import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
|
||||
import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
|
||||
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.system.entity.vo.Traces;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -33,8 +33,8 @@ import cn.lili.modules.order.trade.entity.enums.AfterSaleRefundWayEnum;
|
||||
import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum;
|
||||
import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum;
|
||||
import cn.lili.modules.payment.kit.RefundSupport;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
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;
|
||||
|
||||
@@ -16,7 +16,6 @@ import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
|
||||
import cn.lili.modules.goods.service.GoodsSkuService;
|
||||
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
|
||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||
import cn.lili.modules.order.order.aop.OrderLogPoint;
|
||||
@@ -37,10 +36,10 @@ import cn.lili.modules.order.order.mapper.OrderMapper;
|
||||
import cn.lili.modules.order.order.service.*;
|
||||
import cn.lili.modules.order.trade.entity.dos.OrderLog;
|
||||
import cn.lili.modules.order.trade.service.OrderLogService;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.promotion.entity.dos.Pintuan;
|
||||
import cn.lili.modules.promotion.service.PintuanService;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
|
||||
import cn.lili.modules.system.entity.dos.Logistics;
|
||||
@@ -169,7 +168,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
String message = "订单[" + item.getSn() + "]创建";
|
||||
//记录日志
|
||||
orderLogs.add(new OrderLog(item.getSn(), UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), message));
|
||||
item.getSkuList().forEach(
|
||||
item.getCheckedSkuList().forEach(
|
||||
sku -> orderItems.add(new OrderItem(sku, item, tradeDTO))
|
||||
);
|
||||
//写入子订单信息
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.payment.kit.enums;
|
||||
package cn.lili.modules.payment.entity.enums;
|
||||
|
||||
/**
|
||||
* 订单类型
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.payment.kit.enums;
|
||||
package cn.lili.modules.payment.entity.enums;
|
||||
|
||||
/**
|
||||
* 支付方式枚举
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.payment.kit.enums;
|
||||
package cn.lili.modules.payment.entity.enums;
|
||||
|
||||
/**
|
||||
* 支付方式枚举
|
||||
@@ -9,8 +9,8 @@ import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.common.enums.ClientTypeEnum;
|
||||
import cn.lili.modules.member.service.MemberWalletService;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentClientEnum;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentClientEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.kit.params.CashierExecute;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.system.entity.dos.Setting;
|
||||
|
||||
@@ -5,7 +5,7 @@ import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.payment.entity.RefundLog;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -8,7 +8,7 @@ import cn.lili.modules.order.order.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.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -2,7 +2,7 @@ package cn.lili.modules.payment.kit.params;
|
||||
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.entity.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,7 @@ import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
|
||||
import cn.lili.modules.order.order.service.OrderService;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.entity.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.kit.params.CashierExecute;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.system.entity.dto.BaseSetting;
|
||||
|
||||
@@ -8,7 +8,7 @@ import cn.lili.modules.order.trade.entity.dos.Recharge;
|
||||
import cn.lili.modules.order.trade.service.RechargeService;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.entity.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.kit.params.CashierExecute;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.system.entity.dto.BaseSetting;
|
||||
|
||||
@@ -11,7 +11,7 @@ import cn.lili.modules.order.order.service.OrderService;
|
||||
import cn.lili.modules.order.order.service.TradeService;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.entity.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.kit.params.CashierExecute;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.system.entity.dto.BaseSetting;
|
||||
|
||||
@@ -18,7 +18,7 @@ import cn.lili.modules.payment.kit.CashierSupport;
|
||||
import cn.lili.modules.payment.kit.Payment;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.payment.service.PaymentService;
|
||||
import cn.lili.modules.payment.service.RefundLogService;
|
||||
|
||||
@@ -6,7 +6,7 @@ import cn.lili.modules.payment.entity.RefundLog;
|
||||
import cn.lili.modules.payment.kit.Payment;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.payment.service.PaymentService;
|
||||
import cn.lili.modules.payment.service.RefundLogService;
|
||||
|
||||
@@ -12,8 +12,8 @@ import cn.lili.modules.payment.kit.CashierSupport;
|
||||
import cn.lili.modules.payment.kit.Payment;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.CashierEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.payment.service.PaymentService;
|
||||
import cn.lili.modules.payment.service.RefundLogService;
|
||||
|
||||
@@ -31,7 +31,7 @@ import cn.lili.modules.payment.kit.core.kit.*;
|
||||
import cn.lili.modules.payment.kit.core.utils.DateTimeZoneUtil;
|
||||
import cn.lili.modules.payment.kit.dto.PayParam;
|
||||
import cn.lili.modules.payment.kit.dto.PaymentSuccessParams;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.kit.params.dto.CashierParam;
|
||||
import cn.lili.modules.payment.kit.plugin.wechat.enums.WechatApiEnum;
|
||||
import cn.lili.modules.payment.kit.plugin.wechat.enums.WechatDomain;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.dos;
|
||||
package cn.lili.modules.statistics.entity.dos;
|
||||
|
||||
import cn.lili.mybatis.BaseIdEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.dos;
|
||||
package cn.lili.modules.statistics.entity.dos;
|
||||
|
||||
import cn.lili.mybatis.BaseIdEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.dto;
|
||||
package cn.lili.modules.statistics.entity.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.dto;
|
||||
package cn.lili.modules.statistics.entity.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.enums;
|
||||
package cn.lili.modules.statistics.entity.enums;
|
||||
|
||||
/**
|
||||
* 搜索类型
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.enums;
|
||||
package cn.lili.modules.statistics.entity.enums;
|
||||
|
||||
/**
|
||||
* 统计查询
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.enums;
|
||||
package cn.lili.modules.statistics.entity.enums;
|
||||
|
||||
/**
|
||||
* 时间类型
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.statistics.model.vo;
|
||||
package cn.lili.modules.statistics.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.model.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.statistics.model.dos.MemberStatisticsData;
|
||||
import cn.lili.modules.statistics.entity.dos.MemberStatisticsData;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.vo.OrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.statistics.model.dos.PlatformViewData;
|
||||
import cn.lili.modules.statistics.entity.dos.PlatformViewData;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.vo.RefundOrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.RefundOrderStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.lili.modules.statistics.mapper;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.model.vo.StoreStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.StoreStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.model.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.*;
|
||||
import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.modules.statistics.model.dos.MemberStatisticsData;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dos.MemberStatisticsData;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.OrderOverviewVO;
|
||||
import cn.lili.modules.statistics.model.vo.OrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.OrderOverviewVO;
|
||||
import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.modules.member.entity.vo.MemberDistributionVO;
|
||||
import cn.lili.modules.statistics.model.dos.PlatformViewData;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.OnlineMemberVO;
|
||||
import cn.lili.modules.statistics.model.vo.PlatformViewVO;
|
||||
import cn.lili.modules.statistics.entity.dos.PlatformViewData;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.OnlineMemberVO;
|
||||
import cn.lili.modules.statistics.entity.vo.PlatformViewVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -2,8 +2,8 @@ package cn.lili.modules.statistics.service;
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.RefundOrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.RefundOrderStatisticsDataVO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
||||
@@ -4,17 +4,16 @@ import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.order.order.entity.enums.FlowTypeEnum;
|
||||
import cn.lili.modules.statistics.mapper.GoodsStatisticsDataMapper;
|
||||
import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.StatisticsQuery;
|
||||
import cn.lili.modules.statistics.model.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.model.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.StatisticsQuery;
|
||||
import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.service.GoodsStatisticsDataService;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -17,10 +17,10 @@ import cn.lili.modules.order.order.service.OrderComplaintService;
|
||||
import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum;
|
||||
import cn.lili.modules.promotion.service.SeckillService;
|
||||
import cn.lili.modules.statistics.mapper.StoreStatisticsDataMapper;
|
||||
import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.model.vo.*;
|
||||
import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.entity.vo.*;
|
||||
import cn.lili.modules.statistics.service.*;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
import cn.lili.modules.store.entity.enums.BillStatusEnum;
|
||||
|
||||
@@ -2,9 +2,9 @@ package cn.lili.modules.statistics.serviceimpl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.lili.modules.statistics.mapper.MemberStatisticsDataMapper;
|
||||
import cn.lili.modules.statistics.model.dos.MemberStatisticsData;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.entity.dos.MemberStatisticsData;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.service.MemberStatisticsDataService;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
|
||||
@@ -12,9 +12,9 @@ import cn.lili.modules.order.order.entity.enums.FlowTypeEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
|
||||
import cn.lili.modules.order.order.service.OrderService;
|
||||
import cn.lili.modules.statistics.mapper.OrderStatisticsDataMapper;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.vo.OrderOverviewVO;
|
||||
import cn.lili.modules.statistics.model.vo.OrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.vo.OrderOverviewVO;
|
||||
import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.service.OrderStatisticsDataService;
|
||||
import cn.lili.modules.statistics.service.PlatformViewDataService;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
|
||||
@@ -11,11 +11,11 @@ import cn.lili.common.enums.ClientTypeEnum;
|
||||
import cn.lili.modules.member.entity.vo.MemberDistributionVO;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.modules.statistics.mapper.PlatformViewDataMapper;
|
||||
import cn.lili.modules.statistics.model.dos.PlatformViewData;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.model.vo.OnlineMemberVO;
|
||||
import cn.lili.modules.statistics.model.vo.PlatformViewVO;
|
||||
import cn.lili.modules.statistics.entity.dos.PlatformViewData;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.entity.vo.OnlineMemberVO;
|
||||
import cn.lili.modules.statistics.entity.vo.PlatformViewVO;
|
||||
import cn.lili.modules.statistics.service.PlatformViewDataService;
|
||||
import cn.lili.modules.statistics.util.StatisticsDateUtil;
|
||||
import cn.lili.modules.statistics.util.StatisticsSuffix;
|
||||
|
||||
@@ -7,9 +7,9 @@ import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
import cn.lili.modules.order.order.entity.enums.FlowTypeEnum;
|
||||
import cn.lili.modules.statistics.mapper.RefundOrderStatisticsDataMapper;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.TimeTypeEnum;
|
||||
import cn.lili.modules.statistics.model.vo.RefundOrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.TimeTypeEnum;
|
||||
import cn.lili.modules.statistics.entity.vo.RefundOrderStatisticsDataVO;
|
||||
import cn.lili.modules.statistics.service.RefundOrderStatisticsService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
@@ -3,8 +3,8 @@ package cn.lili.modules.statistics.util;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.modules.statistics.model.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.model.enums.SearchTypeEnum;
|
||||
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
|
||||
import cn.lili.modules.statistics.entity.enums.SearchTypeEnum;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
package cn.lili.modules.system.entity.dos;
|
||||
|
||||
|
||||
import cn.lili.mybatis.BaseEntity;
|
||||
import cn.lili.modules.system.entity.vo.InstantDeliveryVO;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.google.gson.Gson;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* 即时配送
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
@Data
|
||||
@TableName("li_instant_delivery")
|
||||
@ApiModel(value = "即时配送")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class InstantDelivery extends BaseEntity {
|
||||
|
||||
|
||||
/**
|
||||
* 即时配送名称
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送名称")
|
||||
private String deliveryName;
|
||||
/**
|
||||
* 是否开启即时配送,1开启,0未开启
|
||||
*/
|
||||
@ApiModelProperty(value = "是否开启即时配送,1开启,0未开启")
|
||||
private Integer deliveryOpen;
|
||||
/**
|
||||
* 即时配送配置
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送配置")
|
||||
private String deliveryConfig;
|
||||
/**
|
||||
* 即时配送bean
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送bean")
|
||||
private String deliveryBean;
|
||||
|
||||
@ApiModelProperty(value = "封面图片")
|
||||
private String images;
|
||||
|
||||
|
||||
/**
|
||||
* 根据vo参数构建do
|
||||
*
|
||||
* @param instantDeliveryVO
|
||||
*/
|
||||
public InstantDelivery(InstantDeliveryVO instantDeliveryVO) {
|
||||
this.setDeliveryName(instantDeliveryVO.getDeliveryName());
|
||||
this.setDeliveryOpen(instantDeliveryVO.getDeliveryOpen());
|
||||
this.setDeliveryBean(instantDeliveryVO.getDeliveryBean());
|
||||
Gson gson = new Gson();
|
||||
this.setDeliveryConfig(gson.toJson(instantDeliveryVO.getConfigItems()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
package cn.lili.modules.system.entity.dos;
|
||||
|
||||
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.dada.enums.DadaOrderStatusEnum;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.dada.vo.DdOrderBackVO;
|
||||
import cn.lili.mybatis.BaseIdEntity;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.data.annotation.CreatedDate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 即时配送日志
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
|
||||
@Data
|
||||
@TableName("li_instant_delivery_log")
|
||||
@ApiModel(value = "即时配送日志")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class InstantDeliveryLog extends BaseIdEntity {
|
||||
|
||||
|
||||
@CreatedDate
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建时间", hidden = true)
|
||||
private Date createTime;
|
||||
/**
|
||||
* 即时配送订单号
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送订单号")
|
||||
private String deliveryOrderSn;
|
||||
/**
|
||||
* 商城订单号
|
||||
*/
|
||||
@ApiModelProperty(value = "商城订单号")
|
||||
private String orderSn;
|
||||
/**
|
||||
* 即时配送订单状态
|
||||
*
|
||||
* @see DadaOrderStatusEnum
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送订单状态")
|
||||
private String deliveryOrderStatus;
|
||||
/**
|
||||
* 配送员ID
|
||||
*/
|
||||
@ApiModelProperty(value = "即时配送骑手编号")
|
||||
private String distributorNumber;
|
||||
/**
|
||||
* 配送员姓名,接单以后会存储
|
||||
*/
|
||||
@ApiModelProperty(value = "配送员姓名,接单以后会存储")
|
||||
private String distributorName;
|
||||
/**
|
||||
* 配送员手机号,接单以后存储
|
||||
*/
|
||||
@ApiModelProperty(value = "配送员手机号,接单以后存储")
|
||||
private String distributorMobile;
|
||||
|
||||
/**
|
||||
* 订单取消原因,其他状态下默认值为空字符串
|
||||
*/
|
||||
@ApiModelProperty(value = "订单取消原因,其他状态下默认值为空字符串")
|
||||
private String cancelReason;
|
||||
|
||||
public InstantDeliveryLog(DdOrderBackVO ddOrderBackVO) {
|
||||
this.setCancelReason(ddOrderBackVO.getCancelReason());
|
||||
this.setOrderSn(ddOrderBackVO.getOrderId());
|
||||
this.setDeliveryOrderSn(ddOrderBackVO.getClientId());
|
||||
if (!StringUtils.isEmpty(ddOrderBackVO.getDmMobile())) {
|
||||
this.setDistributorMobile(ddOrderBackVO.getDmMobile());
|
||||
}
|
||||
if (!StringUtils.isEmpty(ddOrderBackVO.getDmName())) {
|
||||
this.setDistributorName(ddOrderBackVO.getDmName());
|
||||
}
|
||||
if (ddOrderBackVO.getDmId() != null) {
|
||||
this.setDistributorNumber(ddOrderBackVO.getDmId().toString());
|
||||
}
|
||||
this.setDeliveryOrderStatus(DadaOrderStatusEnum.getText(100));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.system.entity.dto.payment;
|
||||
|
||||
import cn.lili.common.enums.ClientTypeEnum;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.system.entity.dto.payment.dto.PaymentSupportForm;
|
||||
import cn.lili.modules.system.entity.dto.payment.dto.PaymentSupportItem;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.system.entity.dto.payment.dto;
|
||||
|
||||
import cn.lili.common.enums.ClientTypeEnum;
|
||||
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
|
||||
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
package cn.lili.modules.system.entity.enums;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 即时配送url接口地址
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/9/11 17:03
|
||||
*/
|
||||
public enum InstantDeliveryUrl {
|
||||
|
||||
/**
|
||||
* 订单推送
|
||||
*/
|
||||
DD_ADD_ORDER("/api/order/addOrder"),
|
||||
/**
|
||||
* 订单重发
|
||||
*/
|
||||
DD_RE_ADD_ORDER("/api/order/reAddOrder"),
|
||||
/**
|
||||
* 订单妥投异常后,商家确认收货
|
||||
*/
|
||||
DD_CONFIRM_ORDER("/api/order/confirm/goods"),
|
||||
/**
|
||||
* 店铺添加
|
||||
*/
|
||||
DD_ADD_SHOP("/api/store/add"),
|
||||
/**
|
||||
* 店铺修改
|
||||
*/
|
||||
DD_UPDATE_SHOP("/api/store/update"),
|
||||
|
||||
/**
|
||||
* 订单详细信息
|
||||
*/
|
||||
DD_QUERY_ORDER("/api/order/status/query"),
|
||||
|
||||
/**
|
||||
* 订单取消
|
||||
*/
|
||||
DD_CANDLE_ORDER("/api/order/formalCancel"),
|
||||
|
||||
/**
|
||||
* 城市code获取
|
||||
*/
|
||||
DD_CITY_CODE("/api/cityCode/list");
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
private final String url;
|
||||
|
||||
InstantDeliveryUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 插件配置类
|
||||
*
|
||||
* @author pikachu
|
||||
* @version v4.0
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
@Data
|
||||
@ToString
|
||||
public class ConfigItem {
|
||||
/**
|
||||
* 配置文件name值
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 配置文件name映射文本值
|
||||
*/
|
||||
private String text;
|
||||
/**
|
||||
* 配置文件显示在浏览器时,input的type属性
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 配置的值
|
||||
*/
|
||||
private Object value;
|
||||
/**
|
||||
* 如果是select 是需要将可选项传递到前台
|
||||
*/
|
||||
private List<RadioOption> options;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 单选配置类
|
||||
*
|
||||
* @author pikachu
|
||||
* @version v4.0
|
||||
* @Description:单选配置类
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
@Data
|
||||
@ToString
|
||||
public class RadioOption {
|
||||
|
||||
/**
|
||||
* 选项
|
||||
*/
|
||||
private String label;
|
||||
|
||||
/**
|
||||
* 选项值
|
||||
*/
|
||||
private Object value;
|
||||
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin.logistics;
|
||||
|
||||
import cn.lili.modules.member.entity.dos.MemberAddress;
|
||||
import cn.lili.modules.order.order.entity.dos.Order;
|
||||
import cn.lili.modules.store.entity.vos.StoreDetailVO;
|
||||
import cn.lili.modules.system.entity.plugin.ConfigItem;
|
||||
import cn.lili.modules.system.entity.vo.InstantDeliveryResultVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 即时配送插件方法
|
||||
*
|
||||
* @author pikachu
|
||||
* @version v1.0
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
public interface InstantDeliveryPlugin {
|
||||
/**
|
||||
* 获取即时配送的插件ID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String getPluginId();
|
||||
|
||||
/**
|
||||
* 获取即时配送的插件名称
|
||||
*
|
||||
* @return 插件名称
|
||||
*/
|
||||
String getPluginName();
|
||||
|
||||
/**
|
||||
* 即时配送是否开启
|
||||
*
|
||||
* @return 0 不开启 1 开启
|
||||
*/
|
||||
Integer getOpen();
|
||||
|
||||
/**
|
||||
* 获取取消原因id
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Integer cancelReasonId();
|
||||
|
||||
/**
|
||||
* 配置各个即时配送的参数
|
||||
*
|
||||
* @return 在页面加载的即时配送参数
|
||||
*/
|
||||
List<ConfigItem> getDefaultConfigItem();
|
||||
|
||||
/**
|
||||
* 同城配送新建店铺
|
||||
*
|
||||
* @param storeDetailVO 店铺信息
|
||||
* @param config 配送参数
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryResultVO addStore(StoreDetailVO storeDetailVO, Map config);
|
||||
|
||||
/**
|
||||
* 同城配送新建店铺
|
||||
*
|
||||
* @param storeDetailVO 店铺信息
|
||||
* @param config 配送参数
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryResultVO editStore(StoreDetailVO storeDetailVO, Map config);
|
||||
|
||||
/**
|
||||
* 查询订单详细
|
||||
*
|
||||
* @param orderSn 传递到达达的订单sn,目前使用的是商城订单sn传递的所有只需要传递商城sn就可以
|
||||
* @param config 配置参数
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryResultVO getOrderDetail(String orderSn, Map config);
|
||||
|
||||
/**
|
||||
* 妥投异常之物品返回完成
|
||||
*
|
||||
* @param orderSn 传递到达达的订单sn,目前使用的是商城订单sn传递的所有只需要传递商城sn就可以
|
||||
* @param config 配置参数
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryResultVO orderConfirm(String orderSn, Map config);
|
||||
|
||||
/**
|
||||
* 妥投异常之物品返回完成
|
||||
*
|
||||
* @param orderSn 传递到达达的订单sn,目前使用的是商城订单sn传递的所有只需要传递商城sn就可以
|
||||
* @param cancelReason 取消原因
|
||||
* @param config 配置参数
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryResultVO orderCandle(String orderSn, String cancelReason, Map config);
|
||||
|
||||
/**
|
||||
* 发送同城配送订单
|
||||
*
|
||||
* @param order 订单
|
||||
* @param memberAddress 会员地址
|
||||
* @param type 类型
|
||||
* @param config 配置
|
||||
* @param storeDetailVO 店铺详情VO
|
||||
* @return 配送订单返回
|
||||
*/
|
||||
InstantDeliveryResultVO sendReOrder(Order order, StoreDetailVO storeDetailVO, MemberAddress memberAddress, Integer type, Map config);
|
||||
|
||||
/**
|
||||
* 即时配送回调
|
||||
*
|
||||
* @param object 因为不同配送的返回对象不同,所以需要obj 去传递参数,在不同的插件中转换
|
||||
*/
|
||||
void callBack(Object object);
|
||||
}
|
||||
@@ -1,346 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin.logistics.dada;
|
||||
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.lili.common.utils.DateUtil;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.modules.member.entity.dos.MemberAddress;
|
||||
import cn.lili.modules.order.order.entity.dos.Order;
|
||||
import cn.lili.modules.store.entity.enums.StoreStatusEnum;
|
||||
import cn.lili.modules.store.entity.vos.StoreDetailVO;
|
||||
import cn.lili.modules.store.service.StoreDetailService;
|
||||
import cn.lili.modules.system.entity.dos.InstantDeliveryLog;
|
||||
import cn.lili.modules.system.entity.enums.InstantDeliveryUrl;
|
||||
import cn.lili.modules.system.entity.plugin.ConfigItem;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.InstantDeliveryPlugin;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.dada.vo.DdOrderBackVO;
|
||||
import cn.lili.modules.system.entity.vo.CityResult;
|
||||
import cn.lili.modules.system.entity.vo.InstantDeliveryResultVO;
|
||||
import cn.lili.modules.system.service.InstantDeliveryLogService;
|
||||
import cn.lili.modules.system.utils.HttpUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 达达同城配送
|
||||
*
|
||||
* @author pikachu
|
||||
* @version v4.0
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("ddPlugin")
|
||||
public class DadaPlugin implements InstantDeliveryPlugin {
|
||||
|
||||
@Autowired
|
||||
private StoreDetailService storeDetailService;
|
||||
@Autowired
|
||||
private InstantDeliveryLogService instantDeliveryLogService;
|
||||
|
||||
@Override
|
||||
public String getPluginId() {
|
||||
return "ddPlugin";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginName() {
|
||||
return "达达";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getOpen() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> getDefaultConfigItem() {
|
||||
List<ConfigItem> list = new ArrayList();
|
||||
|
||||
ConfigItem url = new ConfigItem();
|
||||
url.setType("text");
|
||||
url.setName("url");
|
||||
url.setText("调用地址");
|
||||
|
||||
|
||||
ConfigItem appKey = new ConfigItem();
|
||||
appKey.setType("text");
|
||||
appKey.setName("app_key");
|
||||
appKey.setText("app_key");
|
||||
|
||||
ConfigItem appSecret = new ConfigItem();
|
||||
appSecret.setType("text");
|
||||
appSecret.setName("app_secret");
|
||||
appSecret.setText("app_secret");
|
||||
|
||||
ConfigItem merchantsId = new ConfigItem();
|
||||
merchantsId.setType("text");
|
||||
merchantsId.setName("merchants_id");
|
||||
merchantsId.setText("商户Id");
|
||||
list.add(url);
|
||||
list.add(appKey);
|
||||
list.add(appSecret);
|
||||
list.add(merchantsId);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO addStore(StoreDetailVO storeDetailVO, Map config) {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
//业务类型(食品小吃-1,饮料-2,鲜花-3,文印票务-8,便利店-9,水果生鲜-13,同城电商-19, 医药-20,蛋糕-21,酒品-24,小商品市场-25,服装-26,汽修零配-27,数码-28,小龙虾-29,火锅-51,其他-5)
|
||||
jsonObject.set("business", 19);
|
||||
//门店地址
|
||||
jsonObject.set("station_address", storeDetailVO.getCompanyAddress());
|
||||
//联系人姓名
|
||||
jsonObject.set("contact_name", storeDetailVO.getLinkName());
|
||||
//联系人电话
|
||||
jsonObject.set("phone", storeDetailVO.getLinkPhone());
|
||||
//达达商家app账号
|
||||
jsonObject.set("username", storeDetailVO.getLinkPhone());
|
||||
//达达商家app密码
|
||||
jsonObject.set("password", "a" + storeDetailVO.getLinkPhone());
|
||||
jsonArray.add(jsonObject);
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
Map<String, String> requestJson = getConfig(config, jsonArray.toString());
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_ADD_SHOP.getUrl(), requestJson);
|
||||
//组织返回参数
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
Map<String, List> map = (Map<String, List>) instantDeliveryResultVO.getResult();
|
||||
List<Map<String, Object>> successList = map.get("successList");
|
||||
if (successList.size() > 0) {
|
||||
for (Map<String, Object> obj : successList) {
|
||||
//如果成功调用店铺修改 将门店编码写入数据库
|
||||
UpdateWrapper updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.in("id", storeDetailVO.getStoreId());
|
||||
updateWrapper.set("dd_code", obj.get("originStoreId").toString());
|
||||
storeDetailService.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
List<Map<String, Object>> errorList = map.get("failedList");
|
||||
if (errorList != null && errorList.size() > 0) {
|
||||
for (Map<String, Object> obj : errorList) {
|
||||
throw new RuntimeException(obj.get("msg").toString());
|
||||
}
|
||||
}
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO editStore(StoreDetailVO storeDetailVO, Map config) {
|
||||
//如果达达code没有则不进行修改
|
||||
if (StringUtils.isEmpty(storeDetailVO.getDdCode())) {
|
||||
return null;
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
//门店编号
|
||||
jsonObject.set("origin_store_id", storeDetailVO.getDdCode());
|
||||
//门店名称
|
||||
// jsonObject.put("station_name", storeDetailVO.getStoreName());
|
||||
//业务类型(食品小吃-1,饮料-2,鲜花-3,文印票务-8,便利店-9,水果生鲜-13,同城电商-19, 医药-20,蛋糕-21,酒品-24,小商品市场-25,服装-26,汽修零配-27,数码-28,小龙虾-29,火锅-51,其他-5)
|
||||
jsonObject.set("business", 19);
|
||||
//城市名称(如,上海)
|
||||
// jsonObject.put("city_name", storeDetailVO.getCompanyCity());
|
||||
//区域名称(如,浦东新区)
|
||||
// jsonObject.put("area_name", storeDetailVO.getCompanyCounty());
|
||||
//门店地址
|
||||
jsonObject.set("station_address", storeDetailVO.getCompanyAddress());
|
||||
// //门店经度
|
||||
// jsonObject.put("lng", storeDetailVO.getStoreLongitude());
|
||||
// //门店纬度
|
||||
// jsonObject.put("lat", storeDetailVO.getStoreLatitude());
|
||||
//联系人姓名
|
||||
jsonObject.set("contact_name", storeDetailVO.getLinkName());
|
||||
//联系人电话
|
||||
jsonObject.set("phone", storeDetailVO.getLinkPhone());
|
||||
if (storeDetailVO.getStoreDisable().equals(StoreStatusEnum.OPEN.value())) {
|
||||
jsonObject.set("status", 1);
|
||||
} else {
|
||||
jsonObject.set("status", 0);
|
||||
}
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
Map<String, String> requestJson = getConfig(config, jsonObject.toString());
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_UPDATE_SHOP.getUrl(), requestJson);
|
||||
//组织返回参数
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
if ("fail".equals(instantDeliveryResultVO.getStatus())) {
|
||||
log.error("达达店铺信息修改失败",instantDeliveryResultVO.getMsg());
|
||||
}
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO getOrderDetail(String orderSn, Map config) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.set("order_id", orderSn);
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
Map<String, String> requestJson = getConfig(config, jsonObject.toString());
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_QUERY_ORDER.getUrl(), requestJson);
|
||||
//组织返回参数
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO orderConfirm(String orderSn, Map config) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.set("order_id", orderSn);
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
Map<String, String> requstJson = getConfig(config, jsonObject.toString());
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_CONFIRM_ORDER.getUrl(), requstJson);
|
||||
//组织返回参数
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO orderCandle(String orderSn, String cancelReason, Map config) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.set("order_id", orderSn);
|
||||
jsonObject.set("cancel_reason_id", this.cancelReasonId());
|
||||
jsonObject.set("cancel_reason", cancelReason);
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
Map<String, String> requstJson = getConfig(config, jsonObject.toString());
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_CANDLE_ORDER.getUrl(), requstJson);
|
||||
//组织返回参数
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryResultVO sendReOrder(Order order, StoreDetailVO storeDetailVO, MemberAddress memberAddress, Integer type, Map config) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
//门店编号,门店创建后可在门店列表和单页查看
|
||||
jsonObject.set("store_no", storeDetailVO.getDdCode());
|
||||
//第三方订单ID
|
||||
jsonObject.set("origin_id", order.getSn());
|
||||
//订单所在城市的code http://newopen.imdada.cn/#/development/file/cityList?_k=l76a7s
|
||||
String city = memberAddress.getConsigneeAddressPath().substring(memberAddress.getConsigneeAddressPath().indexOf(",") + 1, memberAddress.getConsigneeAddressPath().indexOf(",", memberAddress.getConsigneeAddressPath().indexOf(",") + 1));
|
||||
jsonObject.set("city_code", this.getCityCode(city, config));
|
||||
//订单金额
|
||||
jsonObject.set("cargo_price", order.getFlowPrice());
|
||||
//是否需要垫付 1:是 0:否 (垫付订单金额,非运费)
|
||||
jsonObject.set("is_prepay", 0);
|
||||
//收货人姓名
|
||||
jsonObject.set("receiver_name", memberAddress.getName());
|
||||
//收货人地址
|
||||
jsonObject.set("receiver_address", memberAddress.getDetail());
|
||||
//收货人地址纬度(高德坐标系,若是其他地图经纬度需要转化成高德地图经纬度
|
||||
jsonObject.set("receiver_lat", memberAddress.getLat());
|
||||
//收货人地址经度(高德坐标系,若是其他地图经纬度需要转化成高德地图经纬度
|
||||
jsonObject.set("receiver_lng", memberAddress.getLat());
|
||||
//回调URL
|
||||
//jsonObject.put("callback", domainHelper.getCallback() + "/trade/delivery/order/call-back");
|
||||
//收货人手机号(手机号和座机号必填一项)
|
||||
jsonObject.set("receiver_phone", memberAddress.getMobile());
|
||||
//是否使用保价费(0:不使用保价,1:使用保价; 同时,请确保填写了订单金额(cargo_price))
|
||||
jsonObject.set("is_use_insurance", 0);
|
||||
//订单重量(单位:Kg)
|
||||
jsonObject.set("cargo_weight", order.getWeight());
|
||||
Map<String, String> requstJson = getConfig(config, jsonObject.toString());
|
||||
//发送请求的url
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
String result = null;
|
||||
if (type == 0) {
|
||||
result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_ADD_ORDER.getUrl(), requstJson);
|
||||
} else {
|
||||
result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_RE_ADD_ORDER.getUrl(), requstJson);
|
||||
}
|
||||
InstantDeliveryResultVO instantDeliveryResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
if ("fail".equals(instantDeliveryResultVO.getStatus())) {
|
||||
log.error("达达订单发送失败,订单号为",order.getSn() + "," + instantDeliveryResultVO.getMsg());
|
||||
//如果发送失败择等待一秒重新发送,如果失败择记录日志
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (Exception e) {
|
||||
log.error("达达订单发布失败",e);
|
||||
}
|
||||
result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_RE_ADD_ORDER.getUrl(), requstJson);
|
||||
InstantDeliveryResultVO instantDeliveryResResultVO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
if ("fail".equals(instantDeliveryResResultVO.getStatus())) {
|
||||
log.error("达达订单重试发送失败,订单号为" + order.getSn() + "," + instantDeliveryResultVO.getMsg());
|
||||
}
|
||||
}
|
||||
return instantDeliveryResultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer cancelReasonId() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* 达达配送统一参数整合
|
||||
*
|
||||
* @param config
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
private Map<String, String> getConfig(Map config, String json) {
|
||||
//组织参数
|
||||
String appKey = StringUtils.toString(config.get("app_key"));
|
||||
String appSecret = StringUtils.toString(config.get("app_secret"));
|
||||
String merchantsId = StringUtils.toString(config.get("merchants_id"));
|
||||
//签名发送请求
|
||||
String mysing = appSecret + "app_key" + appKey + "body" + json + "formatjsonsource_id" + merchantsId + "timestamp" + DateUtil.getDateline() + "v1.0" + appSecret;
|
||||
String signature = StringUtils.md5(mysing).toUpperCase();
|
||||
Map<String, String> requstJson = new HashMap<>(8);
|
||||
requstJson.put("source_id", merchantsId);
|
||||
requstJson.put("app_key", appKey);
|
||||
requstJson.put("format", "json");
|
||||
requstJson.put("timestamp", StringUtils.toString(DateUtil.getDateline()));
|
||||
requstJson.put("signature", signature);
|
||||
requstJson.put("body", json);
|
||||
requstJson.put("v", "1.0");
|
||||
return requstJson;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取城市code
|
||||
*
|
||||
* @param cityName 城市名称
|
||||
* @return 城市编码
|
||||
*/
|
||||
private String getCityCode(String cityName, Map config) {
|
||||
//获取参数
|
||||
String url = StringUtils.toString(config.get("url"));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
Map<String, String> requstJson = getConfig(config, jsonObject.toString());
|
||||
//获取所有城市编码
|
||||
String result = HttpUtils.doPostWithJson(url + InstantDeliveryUrl.DD_CITY_CODE.getUrl(), requstJson);
|
||||
InstantDeliveryResultVO resultDO = JSONUtil.toBean(result, InstantDeliveryResultVO.class);
|
||||
//对数据进行格式化
|
||||
|
||||
List<CityResult> list = JSONUtil.toList(JSONUtil.parseArray(resultDO.getResult()), CityResult.class);
|
||||
for (CityResult cityResult : list) {
|
||||
if (cityName.contains(cityResult.getCityName())) {
|
||||
return cityResult.getCityCode();
|
||||
}
|
||||
}
|
||||
//如果找不到默认哈尔滨
|
||||
return "0451";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callBack(Object object) {
|
||||
//强制将obj转换成达达对应的参数对象
|
||||
DdOrderBackVO ddOrderBackVO = (DdOrderBackVO) object;
|
||||
//数据类型转换
|
||||
InstantDeliveryLog instantDeliveryLog = new InstantDeliveryLog(ddOrderBackVO);
|
||||
//保存数据
|
||||
instantDeliveryLogService.save(instantDeliveryLog);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin.logistics.dada.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 达达配送订单状态
|
||||
*
|
||||
* @author pikachu
|
||||
*/
|
||||
public enum DadaOrderStatusEnum {
|
||||
//待接单
|
||||
WAIT_RECEIVING(1, "待接单"),
|
||||
//待取货
|
||||
WAIT_PICK_UP(2, "待取货"),
|
||||
//配送中
|
||||
DELIVERY_IN_PROGRESS(3, "配送中"),
|
||||
//已完成
|
||||
COMPLETED(4, "已完成"),
|
||||
//已取消
|
||||
CANCELLED(5, "已取消"),
|
||||
//派单中
|
||||
DISTRIBUTION_LEAFLETS(8, "派单中"),
|
||||
//妥投异常之物品返回中
|
||||
ABNORMAL_BACK(9, "妥投异常之物品返回中"),
|
||||
//妥投异常之物品返回完成
|
||||
ABNORMAL_COMPLETED(10, "妥投异常之物品返回完成"),
|
||||
//骑士到店
|
||||
TO_IN_STORE(100, "骑士到店");
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
private Integer status;
|
||||
/**
|
||||
* 状态文本
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
private String text;
|
||||
|
||||
|
||||
DadaOrderStatusEnum(Integer status, String text) {
|
||||
this.status = status;
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取配送模版
|
||||
* @param status 状态
|
||||
* @return 配送模板
|
||||
*/
|
||||
public static String getText(Integer status) {
|
||||
//如果空,则直接返回
|
||||
if (status == null) {
|
||||
return null;
|
||||
}
|
||||
//对状态枚举值进行处理
|
||||
for (DadaOrderStatusEnum dadaOrderStatusEnum : DadaOrderStatusEnum.values()) {
|
||||
if (status.equals(dadaOrderStatusEnum.getStatus())) {
|
||||
return dadaOrderStatusEnum.getText();
|
||||
}
|
||||
}
|
||||
return WAIT_RECEIVING.getText();
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
package cn.lili.modules.system.entity.plugin.logistics.dada.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author 86133
|
||||
* @description: pikachu
|
||||
* @since 2020/9/1215:35
|
||||
*/
|
||||
@ApiModel(description = "达达订单回调参数")
|
||||
@Data
|
||||
@ToString
|
||||
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
|
||||
public class DdOrderBackVO {
|
||||
@ApiModelProperty(value = "达达运单号", required = false)
|
||||
private String clientId;
|
||||
|
||||
@ApiModelProperty(value = "交易编号", required = true)
|
||||
private String orderId;
|
||||
|
||||
@ApiModelProperty(value = "订单状态 待接单=1,待取货=2,配送中=3,已完成=4,已取消=5, 指派单=8,妥投异常之物品返回中=9, 妥投异常之物品返回完成=10, 骑士到店=100,创建达达运单失败=1000", required = true)
|
||||
private Integer orderStatus;
|
||||
|
||||
@ApiModelProperty(value = "订单取消原因,其他状态下默认值为空字符串", required = true)
|
||||
private String cancelReason;
|
||||
|
||||
@ApiModelProperty(value = "订单取消原因来源(1:达达配送员取消;2:商家主动取消;3:系统或客服取消;0:默认值)", required = true)
|
||||
private Integer cancelFrom;
|
||||
|
||||
@ApiModelProperty(value = "更新时间", required = true)
|
||||
private Long updateTime;
|
||||
|
||||
@ApiModelProperty(value = "加密串", required = true)
|
||||
private String signature;
|
||||
|
||||
@ApiModelProperty(value = "达达配送员id,接单以后会传", required = false)
|
||||
private Integer dmId;
|
||||
|
||||
@ApiModelProperty(value = "配送员姓名,接单以后会传", required = false)
|
||||
private String dmName;
|
||||
|
||||
@ApiModelProperty(value = "配送员手机号,接单以后会传", required = false)
|
||||
private String dmMobile;
|
||||
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package cn.lili.modules.system.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 达达返回值
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2020/9/12 14:05
|
||||
*/
|
||||
@ApiModel
|
||||
@Data
|
||||
public class InstantDeliveryResultVO {
|
||||
@ApiModelProperty(value = "响应状态,成功为success,失败为fail", required = false)
|
||||
private String status;
|
||||
@ApiModelProperty(value = "响应返回码, 0 成功 其他失败", required = false)
|
||||
private Integer code;
|
||||
@ApiModelProperty(value = "响应描述", required = false)
|
||||
private String msg;
|
||||
@ApiModelProperty(value = "响应结果", required = false)
|
||||
private Object result;
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
package cn.lili.modules.system.entity.vo;
|
||||
|
||||
|
||||
import cn.lili.modules.system.entity.dos.InstantDelivery;
|
||||
import cn.lili.modules.system.entity.plugin.ConfigItem;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.InstantDeliveryPlugin;
|
||||
import com.google.common.reflect.TypeToken;
|
||||
import com.google.gson.Gson;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 即时配送VO
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/12/01 15:58
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "即时配送VO")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class InstantDeliveryVO extends InstantDelivery {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "即时配送配置项", required = true)
|
||||
private List<ConfigItem> configItems;
|
||||
/**
|
||||
* 构建新的vo参数
|
||||
*
|
||||
* @param instantDelivery
|
||||
*/
|
||||
public InstantDeliveryVO(InstantDelivery instantDelivery) {
|
||||
this.setCreateTime(instantDelivery.getCreateTime());
|
||||
this.setDeleteFlag(instantDelivery.getDeleteFlag());
|
||||
this.setId(instantDelivery.getId());
|
||||
this.setDeliveryName(instantDelivery.getDeliveryName());
|
||||
this.setDeliveryOpen(instantDelivery.getDeliveryOpen());
|
||||
this.setDeliveryBean(instantDelivery.getDeliveryBean());
|
||||
this.setImages(instantDelivery.getImages());
|
||||
Gson gson = new Gson();
|
||||
this.setConfigItems(gson.fromJson(instantDelivery.getDeliveryConfig(), new TypeToken<List<ConfigItem>>() {
|
||||
}.getType()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据插件构建默认参数
|
||||
*
|
||||
* @param instantDeliveryPlugin
|
||||
*/
|
||||
public InstantDeliveryVO(InstantDeliveryPlugin instantDeliveryPlugin) {
|
||||
this.setId("0");
|
||||
this.setDeliveryName(instantDeliveryPlugin.getPluginName());
|
||||
this.setDeliveryOpen(instantDeliveryPlugin.getOpen());
|
||||
this.setDeliveryBean(instantDeliveryPlugin.getPluginId());
|
||||
this.setConfigItems(instantDeliveryPlugin.getDefaultConfigItem());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cn.lili.modules.system.mapper;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.InstantDeliveryLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* 即时配送日志数据处理层
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/11/17 8:01 下午
|
||||
*/
|
||||
public interface InstantDeliveryLogMapper extends BaseMapper<InstantDeliveryLog> {
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cn.lili.modules.system.mapper;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.InstantDelivery;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* 即时配送数据处理层
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/11/17 8:01 下午
|
||||
*/
|
||||
public interface InstantDeliveryMapper extends BaseMapper<InstantDelivery> {
|
||||
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.system.mapper;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.verification.entity.dos.VerificationSource;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package cn.lili.modules.system.service;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.InstantDeliveryLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* 即时配送日志业务层
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2020/11/17 8:02 下午
|
||||
*/
|
||||
public interface InstantDeliveryLogService extends IService<InstantDeliveryLog> {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
package cn.lili.modules.system.service;
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.system.entity.dos.InstantDelivery;
|
||||
import cn.lili.modules.system.entity.vo.InstantDeliveryVO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* 即时配送业务层
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2020/11/17 8:02 下午
|
||||
*/
|
||||
public interface InstantDeliveryService extends IService<InstantDelivery> {
|
||||
|
||||
/**
|
||||
* 获取即时配送方案
|
||||
*
|
||||
* @param page 数据库即时配送方案
|
||||
* @param pageVO 分页数据
|
||||
* @return
|
||||
*/
|
||||
IPage<InstantDeliveryVO> getInstantDeliveryPage(IPage<InstantDelivery> page, PageVO pageVO);
|
||||
|
||||
/**
|
||||
* 根据beanId查询即时配送方案
|
||||
*
|
||||
* @param bean beanId
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryVO getInstantDeliveryConfig(String bean);
|
||||
|
||||
/**
|
||||
* 开启某一个即时配送方案
|
||||
*
|
||||
* @param bean bean
|
||||
* @return
|
||||
*/
|
||||
void openInstantDelivery(String bean);
|
||||
|
||||
/**
|
||||
* 修改即时配送方案
|
||||
*
|
||||
* @param instantDeliveryVO 即时配送方案
|
||||
* @return
|
||||
*/
|
||||
InstantDeliveryVO edit(InstantDeliveryVO instantDeliveryVO);
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package cn.lili.modules.system.serviceimpl;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.InstantDeliveryLog;
|
||||
import cn.lili.modules.system.mapper.InstantDeliveryLogMapper;
|
||||
import cn.lili.modules.system.service.InstantDeliveryLogService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 即时配送业务层实现
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2020/11/17 8:02 下午
|
||||
*/
|
||||
@Service
|
||||
public class InstantDeliveryLogServiceImpl extends ServiceImpl<InstantDeliveryLogMapper, InstantDeliveryLog> implements InstantDeliveryLogService {
|
||||
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
package cn.lili.modules.system.serviceimpl;
|
||||
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.system.entity.dos.InstantDelivery;
|
||||
import cn.lili.modules.system.entity.plugin.logistics.InstantDeliveryPlugin;
|
||||
import cn.lili.modules.system.entity.vo.InstantDeliveryVO;
|
||||
import cn.lili.modules.system.mapper.InstantDeliveryMapper;
|
||||
import cn.lili.modules.system.service.InstantDeliveryService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.gson.Gson;
|
||||
import org.elasticsearch.ResourceNotFoundException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 即时配送业务层实现
|
||||
*
|
||||
* @author pikachu
|
||||
* @since 2020/11/17 8:02 下午
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class InstantDeliveryServiceImpl extends ServiceImpl<InstantDeliveryMapper, InstantDelivery> implements InstantDeliveryService {
|
||||
|
||||
@Autowired
|
||||
private List<InstantDeliveryPlugin> instantDeliveryPlugins;
|
||||
|
||||
@Override
|
||||
public IPage<InstantDeliveryVO> getInstantDeliveryPage(IPage<InstantDelivery> page, PageVO pageVO) {
|
||||
//获取插件和数据库中所有的就是配送方案
|
||||
List<InstantDeliveryVO> resultList = this.getInstantDeliveryVOList(page);
|
||||
//循环数据,对未入库的数据进行入库操作
|
||||
for (InstantDeliveryVO instantDeliveryVO : resultList) {
|
||||
//根据id是否为0校验 如果为0则不在数据中,进行入库操作
|
||||
if (("0").equals(instantDeliveryVO.getId())) {
|
||||
//入库
|
||||
InstantDelivery instantDelivery = new InstantDelivery(instantDeliveryVO);
|
||||
this.baseMapper.insert(instantDelivery);
|
||||
}
|
||||
}
|
||||
IPage<InstantDeliveryVO> iPage = new Page<>(pageVO.getPageNumber(), pageVO.getPageSize(), resultList.size());
|
||||
iPage.setRecords(PageUtil.listToPage(pageVO, resultList));
|
||||
return iPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取即时配送的方案
|
||||
*
|
||||
* @return 即时配送
|
||||
*/
|
||||
private List<InstantDeliveryVO> getInstantDeliveryVOList(IPage<InstantDelivery> page) {
|
||||
//用来构建新的即时配送数据
|
||||
List<InstantDeliveryVO> resultList = new ArrayList<>();
|
||||
//获取即时配送数据
|
||||
List<InstantDelivery> list = page.getRecords();
|
||||
Map<String, InstantDelivery> map = new HashMap<>(16);
|
||||
for (InstantDelivery instantDelivery : list) {
|
||||
map.put(instantDelivery.getDeliveryBean(), instantDelivery);
|
||||
}
|
||||
//循环检查是否有新的即时配送方式,识别插入数据库
|
||||
for (InstantDeliveryPlugin plugin : instantDeliveryPlugins) {
|
||||
InstantDelivery instantDelivery = map.get(plugin.getPluginId());
|
||||
InstantDeliveryVO result;
|
||||
//如果不为空则构建vo参数,否则的话根据插件属性构建vo参数
|
||||
if (instantDelivery != null) {
|
||||
result = new InstantDeliveryVO(instantDelivery);
|
||||
} else {
|
||||
result = new InstantDeliveryVO(plugin);
|
||||
}
|
||||
resultList.add(result);
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public InstantDeliveryVO getInstantDeliveryConfig(String bean) {
|
||||
//根据bean获取即时配送方案
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("delivery_bean", bean);
|
||||
InstantDelivery instantDelivery = this.baseMapper.selectOne(queryWrapper);
|
||||
if (instantDelivery == null) {
|
||||
throw new ResourceNotFoundException("该即时配送方案不存在");
|
||||
}
|
||||
return new InstantDeliveryVO(instantDelivery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInstantDelivery(String bean) {
|
||||
//关闭所有配送方案
|
||||
UpdateWrapper<InstantDelivery> updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.set("delivery_open", 0);
|
||||
this.update(updateWrapper);
|
||||
//开启当前配送方案
|
||||
updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("delivery_bean", bean);
|
||||
updateWrapper.set("delivery_open", 1);
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantDeliveryVO edit(InstantDeliveryVO instantDeliveryVO) {
|
||||
//校验此方案是否存在
|
||||
this.getInstantDeliveryConfig(instantDeliveryVO.getDeliveryBean());
|
||||
//修改即时配送方案
|
||||
Gson gson = new Gson();
|
||||
UpdateWrapper<InstantDelivery> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("delivery_config", gson.toJson(instantDeliveryVO.getConfigItems()));
|
||||
updateWrapper.eq("delivery_bean", instantDeliveryVO.getDeliveryBean());
|
||||
this.update(updateWrapper);
|
||||
return instantDeliveryVO;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.system.entity.dos;
|
||||
package cn.lili.modules.verification.entity.dos;
|
||||
|
||||
import cn.lili.mybatis.BaseEntity;
|
||||
import cn.lili.modules.system.entity.enums.VerificationSourceEnum;
|
||||
import cn.lili.modules.verification.entity.enums.VerificationSourceEnum;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.system.entity.vo;
|
||||
package cn.lili.modules.verification.entity.dto;
|
||||
|
||||
import cn.lili.modules.system.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.verification.entity.dos.VerificationSource;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.lili.modules.system.entity.enums;
|
||||
package cn.lili.modules.verification.entity.enums;
|
||||
|
||||
|
||||
/**
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.lili.modules.system.service;
|
||||
package cn.lili.modules.verification.service;
|
||||
|
||||
import cn.lili.cache.CachePrefix;
|
||||
import cn.lili.modules.system.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.system.entity.vo.VerificationDTO;
|
||||
import cn.lili.modules.verification.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.verification.entity.dto.VerificationDTO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
@@ -7,9 +7,9 @@ import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.properties.VerificationCodeProperties;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.vo.SerializableStream;
|
||||
import cn.lili.modules.system.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.system.entity.vo.VerificationDTO;
|
||||
import cn.lili.modules.system.service.VerificationSourceService;
|
||||
import cn.lili.modules.verification.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.verification.entity.dto.VerificationDTO;
|
||||
import cn.lili.modules.verification.service.VerificationSourceService;
|
||||
import cn.lili.modules.verification.SliderImageUtil;
|
||||
import cn.lili.modules.verification.enums.VerificationEnums;
|
||||
import cn.lili.modules.verification.service.VerificationService;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.lili.modules.system.serviceimpl;
|
||||
package cn.lili.modules.verification.service.impl;
|
||||
|
||||
import cn.lili.cache.Cache;
|
||||
import cn.lili.modules.system.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.system.entity.enums.VerificationSourceEnum;
|
||||
import cn.lili.modules.system.entity.vo.VerificationDTO;
|
||||
import cn.lili.modules.verification.entity.dos.VerificationSource;
|
||||
import cn.lili.modules.verification.entity.enums.VerificationSourceEnum;
|
||||
import cn.lili.modules.verification.entity.dto.VerificationDTO;
|
||||
import cn.lili.modules.system.mapper.VerificationSourceMapper;
|
||||
import cn.lili.modules.system.service.VerificationSourceService;
|
||||
import cn.lili.modules.verification.service.VerificationSourceService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
Reference in New Issue
Block a user