From 25ef12504f10cb066db53541bd7bc7bac4c09ac4 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 11 七月 2023 18:39:10 +0800
Subject: [PATCH] 管理台bug和用户端
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 1224 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 1,021 insertions(+), 203 deletions(-)
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index c9a3204..e36ea82 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.mapper.order.OrderMapper;
+import com.ruoyi.order.mapper.order.UserServiceRecordMapper;
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.OrderGoodsService;
import com.ruoyi.order.service.order.OrderService;
@@ -27,6 +28,7 @@
import com.ruoyi.system.api.domain.poji.goods.ShopGoods;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
+import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.*;
@@ -83,6 +85,11 @@
@Resource
private RemoteCouponService remoteCouponService;
+ @Resource
+ private RemoteActivityService remoteActivityService;
+
+ @Resource
+ private UserServiceRecordMapper userServiceRecordMapper;
/**
* @description: buyGoods
@@ -135,7 +142,6 @@
//商品图片
goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData();
appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl());
- buyNum = appBuyGoodsDto.getBuyNum();
appSureOrderGoodsVo.setBuyNum(buyNum);
goodsPrice = goods.getSalesPrice();
//商户定制价格
@@ -209,6 +215,84 @@
}
/**
+ * @param appPanicBuyDto
+ * @return AppSureOrderVo
+ * @description 抢购商品
+ * @author jqs
+ * @date 2023/7/6 11:45
+ */
+ @Override
+ public AppPanicBuyVo panicBuyGoods(AppPanicBuyDto appPanicBuyDto) {
+ Long userId = appPanicBuyDto.getUserId();
+ AppPanicBuyVo appPanicBuyVo = new AppPanicBuyVo();
+ String activityId = appPanicBuyDto.getActivityId();
+ String goodsId = appPanicBuyDto.getGoodsId();
+ Integer buyNum = appPanicBuyDto.getBuyNum();
+ BigDecimal buyNumBig;
+ BigDecimal goodsPrice;
+ BigDecimal goodsTotalPrice;
+ BigDecimal goodsRealPrice;
+ BigDecimal goodsDeposit;
+ BigDecimal goodsActivityPrice;
+ GoodsFile goodsFile;
+ BigDecimal orderGoodsMoney = new BigDecimal("0.00");
+ BigDecimal orderPayDeposit = new BigDecimal("0.00");
+ BigDecimal orderPayMoney = new BigDecimal("0.00");
+ ActivityGoodsGetDto activityGoodsGetDto = new ActivityGoodsGetDto();
+ activityGoodsGetDto.setActivityId(activityId);
+ activityGoodsGetDto.setGoodsId(goodsId);
+ activityGoodsGetDto.setUserId(userId);
+ ActivityGoodsGetVo activityGoodsGetVo = remoteActivityService.getUserActivityGoods(activityGoodsGetDto).getData();
+ if (activityGoodsGetVo.getActivityStatus() == 0) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_NO_START);
+ }
+ if (activityGoodsGetVo.getActivityStatus() == 2) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_END);
+ }
+ if (activityGoodsGetVo.getAvailableBuyNum() < 1) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
+ }
+ Goods goods = remoteGoodsService.getGoods(goodsId).getData();
+ appPanicBuyVo.setGoodsId(goodsId);
+ appPanicBuyVo.setGoodsName(goods.getGoodsName());
+ appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction());
+ appPanicBuyVo.setGoodsType(goods.getGoodsType());
+ //商品图片
+ goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData();
+ appPanicBuyVo.setGoodsPicture(goodsFile.getFileUrl());
+ appPanicBuyVo.setBuyNum(buyNum);
+ goodsPrice = goods.getSalesPrice();
+ //商户定制价格
+ AppShopGoodsGetDto appShopGoodsGetDto = new AppShopGoodsGetDto();
+ appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
+ appShopGoodsGetDto.setShopId(appPanicBuyDto.getShopId());
+ ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
+ if (shopGoods != null) {
+ goodsPrice = shopGoods.getSalesPrice();
+ }
+ appPanicBuyVo.setGoodsPrice(goodsPrice);
+ buyNumBig = BigDecimal.valueOf(buyNum);
+ goodsActivityPrice = activityGoodsGetVo.getActivityPrice();
+ goodsTotalPrice = goodsActivityPrice.multiply(buyNumBig);
+ goodsRealPrice = goodsTotalPrice;
+ appPanicBuyVo.setActivityPrice(goodsActivityPrice);
+ appPanicBuyVo.setGoodsTotalPrice(goodsTotalPrice);
+ appPanicBuyVo.setGoodsRealPrice(goodsRealPrice);
+ goodsDeposit = activityGoodsGetVo.getActivitySubscription();
+ if (goodsDeposit == null) {
+ goodsDeposit = new BigDecimal("0.00");
+ }
+ appPanicBuyVo.setGoodsDeposit(goodsDeposit);
+ orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
+ orderPayDeposit = orderPayDeposit.add(goodsDeposit);
+ orderPayMoney = orderPayMoney.add(goodsRealPrice);
+ appPanicBuyVo.setOrderGoodsMoney(orderGoodsMoney);
+ appPanicBuyVo.setOrderPayDeposit(orderPayDeposit);
+ appPanicBuyVo.setOrderPayMoney(orderPayMoney);
+ return appPanicBuyVo;
+ }
+
+ /**
* 创建订单
*
* @param appPlaceOrderDto
@@ -216,11 +300,16 @@
*/
@Override
public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto) {
+ // 获取用户ID
Long userId = appPlaceOrderDto.getUserId();
+ // 创建下单视图对象
AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
+ // 创建商品列表
List<AppSureOrderGoodsVo> appSureOrderGoodsVoList = new ArrayList<>();
AppSureOrderGoodsVo appSureOrderGoodsVo;
+ // 获取购买的商品列表
List<AppBuyGoodsDto> appBuyGoodsDtoList = appPlaceOrderDto.getAppBuyGoodsDtoList();
+ // 初始化变量
String goodsId;
Integer buyNum;
BigDecimal buyNumBig;
@@ -228,10 +317,13 @@
Integer goodsNum = 0;
String memberCouponId;
Goods goods;
+ GoodsFile goodsFile;
BigDecimal goodsPrice;
BigDecimal goodsTotalPrice;
BigDecimal goodsRealPrice;
+ // 获取用户优惠券列表
List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData();
+ // 将用户优惠券列表转换为Map,方便后续查找
Map<String, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity()));
AppMemberCouponVo appMemberCouponVo;
Integer couponType;
@@ -239,51 +331,63 @@
BigDecimal discountMoney = new BigDecimal("0.00");
BigDecimal discountPercent;
BigDecimal goodsDeposit;
- GoodsFile goodsFile;
Integer useCoupon;
BigDecimal orderGoodsMoney = new BigDecimal("0.00");
BigDecimal couponDiscount = new BigDecimal("0.00");
BigDecimal orderPayDeposit = new BigDecimal("0.00");
BigDecimal orderPayMoney = new BigDecimal("0.00");
+ // 创建订单ID和订单号
String orderId = IdUtils.simpleUUID();
String orderNo = CodeFactoryUtil.getShopOrderNo();
OrderGoods orderGoods;
String orderGoodsId;
+ // 创建商品类型集合,用于记录订单中所有商品的类型
HashSet<String> goodsTypeSet = new HashSet<>();
+ // 遍历购买的商品列表
for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
appSureOrderGoodsVo = new AppSureOrderGoodsVo();
useCoupon = 0;
+ // 获取商品ID和优惠券ID
goodsId = appBuyGoodsDto.getGoodsId();
memberCouponId = appBuyGoodsDto.getMemberCouponId();
+ // 获取商品信息
goods = remoteGoodsService.getGoods(goodsId).getData();
+ // 设置商品信息
appSureOrderGoodsVo.setGoodsId(goodsId);
appSureOrderGoodsVo.setGoodsName(goods.getGoodsName());
appSureOrderGoodsVo.setGoodsIntroduction(goods.getGoodsIntroduction());
appSureOrderGoodsVo.setGoodsType(goods.getGoodsType());
- //商品图片
+ // 获取商品图片
goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData();
appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl());
+ // 获取购买数量
buyNum = appBuyGoodsDto.getBuyNum();
appSureOrderGoodsVo.setBuyNum(buyNum);
+ // 获取商品价格和服务数量
goodsPrice = goods.getSalesPrice();
serviceNum = goods.getServiceNum();
- //商户定制价格
+ // 获取商户定制价格
AppShopGoodsGetDto appShopGoodsGetDto = new AppShopGoodsGetDto();
appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
appShopGoodsGetDto.setShopId(appPlaceOrderDto.getShopId());
ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
+ // 如果商户定制价格存在,则使用商户定制价格和服务数量
if (shopGoods != null) {
goodsPrice = shopGoods.getSalesPrice();
serviceNum = shopGoods.getServiceNum();
}
appSureOrderGoodsVo.setGoodsPrice(goodsPrice);
+ // 计算商品总价
buyNumBig = BigDecimal.valueOf(buyNum);
goodsTotalPrice = goodsPrice.multiply(buyNumBig);
goodsRealPrice = goodsTotalPrice;
+ // 如果使用了优惠券,计算优惠后的价格
if (memberCouponId != null) {
appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
+ // 如果优惠券适用于该商品
if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
couponType = appMemberCouponVo.getCouponType();
+ // 根据优惠券类型计算优惠后的价格
if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) {
moneyThreshold = appMemberCouponVo.getMoneyThreshold();
if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) {
@@ -307,17 +411,19 @@
appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice);
appSureOrderGoodsVo.setCouponDiscount(discountMoney);
appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
+ // 获取商品押金
goodsDeposit = goods.getSubscription();
if (goodsDeposit == null) {
goodsDeposit = new BigDecimal("0.00");
}
appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
+ // 计算商品总数量、商品总价、优惠总金额、支付押金、支付金额
goodsNum = goodsNum + buyNum;
orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
couponDiscount = couponDiscount.add(discountMoney);
orderPayDeposit = orderPayDeposit.add(goodsDeposit);
orderPayMoney = orderPayMoney.add(goodsRealPrice);
- //创建OrderGoods
+ // 创建订单商品
orderGoods = new OrderGoods();
orderGoodsId = IdUtils.simpleUUID();
orderGoods.setOrderGoodsId(orderGoodsId);
@@ -329,17 +435,22 @@
orderGoods.setCouponId(memberCouponId.toString());
}
orderGoods.setGoodsPrice(goodsPrice);
+ orderGoods.setGoodsDeposit(goodsDeposit);
orderGoods.setGoodsTotalMoney(orderGoodsMoney);
orderGoods.setGoodsReceivableMoney(goodsRealPrice);
orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
orderGoods.setServiceNum(serviceNum);
orderGoods.setGoodsType(goods.getGoodsType());
+ orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsPicture(goodsFile.getFileUrl());
+ // 保存订单商品
orderGoodsService.save(orderGoods);
- //清空购物车
+ // 清空购物车
AppShoppingCartDelDto appShoppingCartDelDto = new AppShoppingCartDelDto();
appShoppingCartDelDto.setGoodsId(goodsId);
appShoppingCartDelDto.setUserId(userId);
remoteShoppingCartService.deleteShoppingCart(appShoppingCartDelDto);
+ // 记录商品类型
if (goods.getGoodsType() == 1) {
goodsTypeSet.add("周期");
} else if (goods.getGoodsType() == 2) {
@@ -350,11 +461,11 @@
goodsTypeSet.add("单品");
}
}
+ // 创建订单
Order order = new Order();
order.setOrderId(orderId);
order.setDelFlag(0);
- //为对接支付 直接付款成功
- order.setOrderStatus(2);
+ order.setOrderStatus(1);
order.setOrderNo(orderNo);
order.setOrderFrom(1);
order.setShopId(appPlaceOrderDto.getShopId());
@@ -364,7 +475,9 @@
order.setDiscountMoney(couponDiscount);
order.setReceivableMoney(orderPayMoney);
order.setReceivableDeposit(orderPayDeposit);
+ order.setChangeReceivableMoney(orderPayMoney);
order.setPayType(appPlaceOrderDto.getPayType());
+ // 根据支付类型计算支付金额
if (order.getPayType() == 1) {
order.setPayMoney(orderPayMoney);
order.setOnlinePayMoney(orderPayMoney);
@@ -381,8 +494,9 @@
order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
order.setGoodsNum(goodsNum);
order.setCreateTime(new Date());
+ // 保存订单
this.save(order);
- //更新用户商品类型
+ // 更新用户商品类型
if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto();
appMemberGoodsTypeDto.setUserId(userId);
@@ -391,12 +505,195 @@
}
appPlaceOrderVo.setOrderId(orderId);
appPlaceOrderVo.setOrderNo(orderNo);
-
- //调用支付
-
-
+ // 调用支付
return appPlaceOrderVo;
}
+
+ /**
+ * @param appPlaceActivityDto
+ * @return AppPlaceOrderVo
+ * @description 创建活动订单
+ * @author jqs
+ * @date 2023/7/6 17:59
+ */
+ @Override
+ public AppPlaceOrderVo placeActivityOrder(AppPlaceActivityDto appPlaceActivityDto) {
+ Long userId = appPlaceActivityDto.getUserId();
+ // 创建订单对象
+ AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
+ // 定义商品订单对象
+ AppSureOrderGoodsVo appSureOrderGoodsVo;
+ // 获取活动ID,商品ID,购买数量
+ String activityId = appPlaceActivityDto.getActivityId();
+ String goodsId = appPlaceActivityDto.getGoodsId();
+ Integer buyNum = appPlaceActivityDto.getBuyNum();
+ // 定义购买数量,服务数量,商品数量
+ BigDecimal buyNumBig;
+ Integer serviceNum;
+ Integer goodsNum = 0;
+ // 定义商品,商品文件,商品价格,商品总价,商品实际价格,折扣金额,折扣百分比,商品押金,使用优惠券,订单商品金额,优惠券折扣,订单支付押金,订单支付金额
+ Goods goods;
+ GoodsFile goodsFile;
+ BigDecimal goodsPrice;
+ BigDecimal goodsTotalPrice;
+ BigDecimal goodsRealPrice;
+ BigDecimal discountMoney = new BigDecimal("0.00");
+ BigDecimal discountPercent;
+ BigDecimal goodsDeposit;
+ Integer useCoupon;
+ BigDecimal orderGoodsMoney = new BigDecimal("0.00");
+ BigDecimal couponDiscount = new BigDecimal("0.00");
+ BigDecimal orderPayDeposit = new BigDecimal("0.00");
+ BigDecimal orderPayMoney = new BigDecimal("0.00");
+ // 创建活动商品对象,并设置活动ID,商品ID,用户ID
+ ActivityGoodsGetDto activityGoodsGetDto = new ActivityGoodsGetDto();
+ activityGoodsGetDto.setActivityId(activityId);
+ activityGoodsGetDto.setGoodsId(goodsId);
+ activityGoodsGetDto.setUserId(userId);
+ // 获取用户活动商品
+ ActivityGoodsGetVo activityGoodsGetVo = remoteActivityService.getUserActivityGoods(activityGoodsGetDto).getData();
+ // 检查活动状态
+ if (activityGoodsGetVo.getActivityStatus() == 0) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_NO_START);
+ }
+ if (activityGoodsGetVo.getActivityStatus() == 2) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_END);
+ }
+ if (activityGoodsGetVo.getAvailableBuyNum() < 1) {
+ throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
+ }
+ // 创建订单ID和订单号
+ String orderId = IdUtils.simpleUUID();
+ String orderNo = CodeFactoryUtil.getShopOrderNo();
+ // 创建订单商品对象和订单商品ID
+ OrderGoods orderGoods;
+ String orderGoodsId;
+ // 创建商品类型集合
+ HashSet<String> goodsTypeSet = new HashSet<>();
+ // 创建商品订单对象,并设置商品ID,商品名称,商品介绍,商品类型
+ appSureOrderGoodsVo = new AppSureOrderGoodsVo();
+ useCoupon = 0;
+ goodsId = appPlaceActivityDto.getGoodsId();
+ goods = remoteGoodsService.getGoods(goodsId).getData();
+ appSureOrderGoodsVo.setGoodsId(goodsId);
+ appSureOrderGoodsVo.setGoodsName(goods.getGoodsName());
+ appSureOrderGoodsVo.setGoodsIntroduction(goods.getGoodsIntroduction());
+ appSureOrderGoodsVo.setGoodsType(goods.getGoodsType());
+ // 获取商品图片
+ goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData();
+ appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl());
+ // 设置购买数量,商品价格,服务数量
+ appSureOrderGoodsVo.setBuyNum(buyNum);
+ goodsPrice = goods.getSalesPrice();
+ serviceNum = goods.getServiceNum();
+ // 获取活动价格
+ goodsPrice = activityGoodsGetVo.getActivityPrice();
+ appSureOrderGoodsVo.setGoodsPrice(goodsPrice);
+ // 计算商品总价,商品实际价格
+ buyNumBig = BigDecimal.valueOf(buyNum);
+ goodsTotalPrice = goodsPrice.multiply(buyNumBig);
+ goodsRealPrice = goodsTotalPrice;
+ // 设置使用优惠券,商品总价,优惠券折扣,商品实际价格
+ appSureOrderGoodsVo.setUseCoupon(useCoupon);
+ appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice);
+ appSureOrderGoodsVo.setCouponDiscount(discountMoney);
+ appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
+ // 获取商品押金
+ goodsDeposit = activityGoodsGetVo.getActivitySubscription();
+ if (goodsDeposit == null) {
+ goodsDeposit = new BigDecimal("0.00");
+ }
+ appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
+ // 计算商品数量,订单商品金额,优惠券折扣,订单支付押金,订单支付金额
+ goodsNum = goodsNum + buyNum;
+ orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
+ couponDiscount = couponDiscount.add(discountMoney);
+ orderPayDeposit = orderPayDeposit.add(goodsDeposit);
+ orderPayMoney = orderPayMoney.add(goodsRealPrice);
+ // 创建订单商品,并设置订单商品ID,删除标志,订单ID,商品ID,购买数量,商品价格,商品押金,商品总金额,商品应收金额,周期数量标志,服务数量,商品类型,商品名称,商品图片
+ orderGoods = new OrderGoods();
+ orderGoodsId = IdUtils.simpleUUID();
+ orderGoods.setOrderGoodsId(orderGoodsId);
+ orderGoods.setDelFlag(0);
+ orderGoods.setOrderId(orderId);
+ orderGoods.setGoodsId(goodsId);
+ orderGoods.setBuyNum(buyNum);
+ orderGoods.setGoodsPrice(goodsPrice);
+ orderGoods.setGoodsDeposit(goodsDeposit);
+ orderGoods.setGoodsTotalMoney(orderGoodsMoney);
+ orderGoods.setGoodsReceivableMoney(goodsRealPrice);
+ orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
+ orderGoods.setServiceNum(serviceNum);
+ orderGoods.setGoodsType(goods.getGoodsType());
+ orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsPicture(goodsFile.getFileUrl());
+ // 保存订单商品
+ orderGoodsService.save(orderGoods);
+ // 清空购物车
+ AppShoppingCartDelDto appShoppingCartDelDto = new AppShoppingCartDelDto();
+ appShoppingCartDelDto.setGoodsId(goodsId);
+ appShoppingCartDelDto.setUserId(userId);
+ remoteShoppingCartService.deleteShoppingCart(appShoppingCartDelDto);
+ // 根据商品类型添加到商品类型集合中
+ if (goods.getGoodsType() == 1) {
+ goodsTypeSet.add("周期");
+ } else if (goods.getGoodsType() == 2) {
+ goodsTypeSet.add("服务");
+ } else if (goods.getGoodsType() == 3) {
+ goodsTypeSet.add("体验");
+ } else if (goods.getGoodsType() == 4) {
+ goodsTypeSet.add("单品");
+ }
+ // 创建订单,并设置订单ID,删除标志,订单状态,订单号,订单来源,店铺ID,用户ID,订单金额,优惠券金额,折扣金额,应收金额,应收押金,变动应收金额,支付类型
+ Order order = new Order();
+ order.setOrderId(orderId);
+ order.setDelFlag(0);
+ order.setOrderStatus(1);
+ order.setOrderNo(orderNo);
+ order.setOrderFrom(1);
+ order.setShopId(appPlaceActivityDto.getShopId());
+ order.setUserId(userId);
+ order.setOrderMoney(orderGoodsMoney);
+ order.setCouponMoney(couponDiscount);
+ order.setDiscountMoney(couponDiscount);
+ order.setReceivableMoney(orderPayMoney);
+ order.setReceivableDeposit(orderPayDeposit);
+ order.setChangeReceivableMoney(orderPayMoney);
+ order.setPayType(appPlaceActivityDto.getPayType());
+ // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志
+ if (order.getPayType() == 1) {
+ order.setPayMoney(orderPayMoney);
+ order.setOnlinePayMoney(orderPayMoney);
+ appPlaceOrderVo.setPayMoney(orderPayMoney);
+ appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
+ order.setCloseFlag(1);
+ } else if (order.getPayType() == 2) {
+ order.setPayMoney(orderPayDeposit);
+ order.setOnlinePayMoney(orderPayDeposit);
+ appPlaceOrderVo.setPayMoney(orderPayDeposit);
+ appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
+ order.setCloseFlag(0);
+ }
+ // 设置订单备注,商品数量,创建时间
+ order.setOrderRemark(appPlaceActivityDto.getOrderRemark());
+ order.setGoodsNum(goodsNum);
+ order.setCreateTime(new Date());
+ // 保存订单
+ this.save(order);
+ // 更新用户商品类型
+ if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
+ AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto();
+ appMemberGoodsTypeDto.setUserId(userId);
+ appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet);
+ remoteMemberService.updateMemberGoodsType(appMemberGoodsTypeDto);
+ }
+ // 设置订单ID和订单号
+ appPlaceOrderVo.setOrderId(orderId);
+ appPlaceOrderVo.setOrderNo(orderNo);
+ // 调用支付
+ return appPlaceOrderVo;
+ }
+
/**
* 分页获取用户订单
@@ -514,10 +811,18 @@
*/
@Override
public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) {
- Long shopId = merHomeShopTotalVo.getShopId();
- Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
- merHomeShopTotalVo.setTodayShop(todayShop);
- merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
+ List<Long> shopIds = merHomeShopTotalVo.getShopIds();
+ if (null != shopIds && shopIds.size() != 0) {
+ Integer todayShop = userServiceRecordMapper.countShopServicePersons(shopIds);
+ merHomeShopTotalVo = orderMapper.getMerHomeShopsTotalVo(shopIds);
+ merHomeShopTotalVo.setTodayShop(todayShop);
+ }else{
+ Long shopId = merHomeShopTotalVo.getShopId();
+ Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
+ merHomeShopTotalVo.setTodayShop(todayShop);
+ merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
+
+ }
return merHomeShopTotalVo;
}
@@ -528,10 +833,20 @@
* @return
*/
@Override
- public MerVerifyOrderVo verifyOrder(String orderId) {
+ public MerVerifyOrderVo verifyOrder(String orderId, Long shopId) {
+ // 创建返回对象
MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
+ // 根据订单ID获取订单信息
Order order = this.getById(orderId);
+ if (order.getOrderStatus() != 2) {
+ throw new ServiceException(AppErrorConstant.VERIFY_USED);
+ }
+ if (!order.getShopId().equals(shopId)) {
+ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
+ // 根据订单ID获取订单商品列表
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
+ // 设置返回对象的属性值
merVerifyOrderVo.setOrderId(orderId);
merVerifyOrderVo.setOrderNo(order.getOrderNo());
merVerifyOrderVo.setOrderStatus(order.getOrderStatus());
@@ -546,10 +861,12 @@
merVerifyOrderVo.setPayTime(order.getPayTime());
merVerifyOrderVo.setUseTime(order.getUseTime());
merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
+ // 根据订单用户ID获取用户信息
SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData();
merVerifyOrderVo.setUserName(sysUser.getNickName());
merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber());
merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
+ // 返回结果
return merVerifyOrderVo;
}
@@ -567,13 +884,17 @@
Date nowTime = new Date();
//更新订单信息
Order order = this.getById(orderId);
+ if (order.getOrderStatus() != 2) {
+ throw new ServiceException(AppErrorConstant.VERIFY_USED);
+ }
order.setOrderStatus(3);
order.setUseTime(nowTime);
order.setUseUserId(merVerifyOrderDto.getUserId());
order.setOfflinePayMoney(relPayMoney);
order.setOffPayTime(nowTime);
- order.setPayMoney(relReceiveMoney.add(relPayMoney));
+ order.setPayMoney(order.getPayMoney().add(relPayMoney));
order.setCloseFlag(1);
+ order.setChangeReceivableMoney(relReceiveMoney);
this.saveOrUpdate(order);
//创建服务商品
List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
@@ -583,11 +904,12 @@
}
String goodsIds = goodsIdSj.toString();
List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(goodsIds).getData();
- Map<String,Goods> goodsMap = goodsList.stream()
+ Map<String, Goods> goodsMap = goodsList.stream()
.collect(Collectors.toMap(Goods::getGoodsId, Function.identity()));
ConsumerGoods consumerGoods;
String consumerGoodsId;
Goods goods;
+ List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
consumerGoods = new ConsumerGoods();
goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId());
@@ -610,8 +932,9 @@
consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
consumerGoods.setGoodsNurses(goods.getGoodsNurses());
consumerGoods.setSourceFrom(1);
- consumerGoodsService.save(consumerGoods);
+ consumerGoodsList.add(consumerGoods);
}
+ consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
//生成返回
MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo();
merVerifyOrderVo.setOrderId(orderId);
@@ -635,14 +958,14 @@
}
/**
- * @description 确认核销优惠券
- * @author jqs
- * @date 2023/6/28 11:26
* @param merVerifyCouponDto
- * @return MerVerifyCouponVo
+ * @return MerVerifyCouponVo
+ * @description 确认核销优惠券
+ * @author jqs
+ * @date 2023/6/28 11:26
*/
@Override
- public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto){
+ public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) {
MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()).getData();
// 创建MerVerifyCouponVo对象
MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
@@ -671,6 +994,9 @@
ConsumerGoods consumerGoods;
String consumerGoodsId;
GoodsFile goodsFile;
+ AppShopGoodsGetDto appShopGoodsGetDto;
+ ShopGoods shopGoods;
+ List<ConsumerGoods> consumerGoodsList = new ArrayList<>();
for (Goods goods : goodsList) {
consumerGoods = new ConsumerGoods();
consumerGoodsId = IdUtils.simpleUUID();
@@ -685,6 +1011,14 @@
consumerGoods.setGoodsName(goods.getGoodsName());
consumerGoods.setCycleNumFlag(goods.getCycleNumFlag());
consumerGoods.setServiceNum(goods.getServiceNum());
+ appShopGoodsGetDto = new AppShopGoodsGetDto();
+ appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
+ appShopGoodsGetDto.setShopId(memberCoupon.getShopId());
+ //获取商户服务次数
+ shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
+ if(shopGoods!=null){
+ consumerGoods.setServiceNum(shopGoods.getServiceNum());
+ }
consumerGoods.setUsedNum(0);
consumerGoods.setGoodsType(goods.getGoodsType());
consumerGoods.setCreateTime(new Date());
@@ -693,10 +1027,99 @@
consumerGoods.setGoodsPicture(goodsFile.getFileUrl());
consumerGoods.setGoodsNurses(goods.getGoodsNurses());
consumerGoods.setSourceFrom(1);
- consumerGoodsService.save(consumerGoods);
+ consumerGoodsList.add(consumerGoods);
}
+ consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
return merVerifyCouponVo;
}
+
+
+ /**
+ * @description 确认核销奖品
+ * @author jqs
+ * @date 2023/7/9 9:54
+ * @param merVerifyPrizeDto
+ * @return MerVerifyAwardVo
+ */
+ @Override
+ public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto){
+ MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
+ MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData();
+ if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){
+ throw new ServiceException(AppErrorConstant.COUPON_USED);
+ }
+ Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData();
+ merVerifyAwardVo.setUserName(member.getNickName());
+ merVerifyAwardVo.setUserMobile(member.getMobile());
+ if(memberGiftRecord.getGiftFrom()==1){
+ merVerifyAwardVo.setGiftFrom("平台生日卡");
+ }else{
+ merVerifyAwardVo.setGiftFrom("商户生日卡");
+ }
+ merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType());
+ List<BirthdayGiftSendDto> giftSendDtoList = new ArrayList<>();
+ BirthdayGiftSendDto birthdayGiftSendDto = new BirthdayGiftSendDto();
+ switch(memberGiftRecord.getGiftType()){
+ case 1:
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber()));
+ birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId());
+ birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType());
+ birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom());
+ birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId());
+ birthdayGiftSendDto.setCouponId(memberGiftRecord.getCouponId());
+ birthdayGiftSendDto.setCouponNumber(memberGiftRecord.getCouponNumber());
+ giftSendDtoList.add(birthdayGiftSendDto);
+ remoteCouponService.sendCouponGift(giftSendDtoList);
+ break;
+ case 2:
+ Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData();
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber()));
+ if (goods.getGoodsType() == 1) {
+ merVerifyAwardVo.setGiftRemark("周期");
+ } else if (goods.getGoodsType() == 2) {
+ merVerifyAwardVo.setGiftRemark("服务");
+ } else if (goods.getGoodsType() == 3) {
+ merVerifyAwardVo.setGiftRemark("体验");
+ } else if (goods.getGoodsType() == 4) {
+ merVerifyAwardVo.setGiftRemark("单品");
+ }
+ birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId());
+ birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType());
+ birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom());
+ birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId());
+ birthdayGiftSendDto.setGoodsId(memberGiftRecord.getGoodsId());
+ birthdayGiftSendDto.setGoodsNumber(memberGiftRecord.getGoodsNumber());
+ giftSendDtoList.add(birthdayGiftSendDto);
+ consumerGoodsService.sendGoodsGift(giftSendDtoList);
+ break;
+ case 3:
+ merVerifyAwardVo.setGiftName("现金");
+ merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
+ break;
+ case 4:
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber()));
+ break;
+ default:
+ break;
+ }
+ merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime());
+ memberGiftRecord.setVerifyStatus(2);
+ memberGiftRecord.setVerifyTime(new Date());
+ if(member.getBindingFlag()!=1){
+ AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
+ appMemberBindingDto.setBindingFlag(1);
+ appMemberBindingDto.setShopId(merVerifyPrizeDto.getShopId());
+ Shop shop = remoteShopService.getShop(merVerifyPrizeDto.getShopId()).getData();
+ appMemberBindingDto.setShopName(shop.getShopName());
+ appMemberBindingDto.setUserId(merVerifyPrizeDto.getUserId());
+ remoteMemberService.updateMemberBinding(appMemberBindingDto);
+ }
+ return merVerifyAwardVo;
+ }
+
/**
* 收银未结清订单列表
@@ -794,7 +1217,6 @@
if (null != appMemberCouponVoList) {
appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity()));
}
-
AppMemberCouponVo appMemberCouponVo;
Integer couponType;
BigDecimal moneyThreshold;
@@ -809,10 +1231,16 @@
String orderNo = CodeFactoryUtil.getShopOrderNo();
OrderGoods orderGoods;
String orderGoodsId;
+ GoodsFile goodsFile;
+ BigDecimal cycleMoney = new BigDecimal("0.00");
+ BigDecimal experienceMoney = new BigDecimal("0.00");
+ BigDecimal serviceMoney = new BigDecimal("0.00");
+ BigDecimal goodsMoney = new BigDecimal("0.00");
for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
goodsId = appBuyGoodsDto.getGoodsId();
memberCouponId = appBuyGoodsDto.getMemberCouponId();
goods = remoteGoodsService.getGoods(goodsId).getData();
+ goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData();
buyNum = appBuyGoodsDto.getBuyNum();
goodsPrice = goods.getSalesPrice();
serviceNum = goods.getServiceNum();
@@ -876,7 +1304,25 @@
orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
orderGoods.setServiceNum(serviceNum);
orderGoods.setGoodsType(goods.getGoodsType());
+ orderGoods.setGoodsName(goods.getGoodsName());
+ orderGoods.setGoodsPicture(goodsFile.getFileUrl());
orderGoodsService.save(orderGoods);
+ switch (orderGoods.getGoodsType()) {
+ case 1:
+ cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney());
+ break;
+ case 2:
+ serviceMoney = serviceMoney.add(orderGoods.getGoodsReceivableMoney());
+ break;
+ case 3:
+ experienceMoney = experienceMoney.add(orderGoods.getGoodsReceivableMoney());
+ break;
+ case 4:
+ goodsMoney = goodsMoney.add(orderGoods.getGoodsReceivableMoney());
+ break;
+ default:
+ break;
+ }
}
//创建订单
Order order = new Order();
@@ -893,15 +1339,15 @@
order.setReceivableMoney(orderPayMoney);
order.setReceivableDeposit(new BigDecimal("0.00"));
order.setPayType(1);
- if (order.getPayType() == 1) {
- order.setPayMoney(orderPayMoney);
- order.setOnlinePayMoney(orderPayMoney);
- order.setCloseFlag(1);
- } else if (order.getPayType() == 2) {
- order.setPayMoney(orderPayDeposit);
- order.setOnlinePayMoney(orderPayDeposit);
- order.setCloseFlag(0);
+ if (merNewOrderDto.getChangeMoney() != null) {
+ order.setChangeReceivableMoney(merNewOrderDto.getChangeMoney());
+ } else {
+ order.setChangeReceivableMoney(orderPayMoney);
}
+ order.setPayMoney(orderPayMoney);
+ order.setOnlinePayMoney(new BigDecimal("0.00"));
+ order.setOfflinePayMoney(orderPayMoney);
+ order.setCloseFlag(1);
order.setOrderRemark(merNewOrderDto.getOrderRemark());
order.setGoodsNum(goodsNum);
order.setCreateTime(nowTime);
@@ -951,6 +1397,13 @@
appMemberBindingDto.setBindingFlag(1);
remoteMemberService.updateMemberBinding(appMemberBindingDto);
}
+ ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
+ shopTotalChangeDto.setShopId(order.getShopId());
+ shopTotalChangeDto.setCycleMoney(cycleMoney);
+ shopTotalChangeDto.setServiceMoney(serviceMoney);
+ shopTotalChangeDto.setExperienceMoney(experienceMoney);
+ shopTotalChangeDto.setGoodsMoney(goodsMoney);
+ remoteShopService.changeShopTotal(shopTotalChangeDto);
}
@@ -967,21 +1420,10 @@
Integer orderFrom;
String orderFromDesc;
BigDecimal zeroBig = new BigDecimal("0.00");
+ StringJoiner userIdSj = new StringJoiner(",");
for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
userId = merOrderPageVo.getUserId();
- member = remoteMemberService.getMember(userId).getData();
- if (member != null) {
- if (StringUtils.isNotBlank(member.getNickName())) {
- merOrderPageVo.setUserName(member.getNickName());
- }
- merOrderPageVo.setUserMobile(member.getMobile());
- } else {
- SysUser sysUser = remoteUserService.getSysUser(userId).getData();
- if (StringUtils.isNotBlank(sysUser.getNickName())) {
- merOrderPageVo.setUserName(sysUser.getNickName());
- }
- merOrderPageVo.setUserMobile(sysUser.getPhonenumber());
- }
+ userIdSj.add(userId.toString());
orderFrom = merOrderPageVo.getOrderFrom();
if (orderFrom != null) {
if (orderFrom == 1) {
@@ -997,6 +1439,15 @@
if (merOrderPageVo.getUnPaidMoney() == null) {
merOrderPageVo.setUnPaidMoney(zeroBig);
}
+ }
+ MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+ mgtBaseBathDto.setIds(userIdSj.toString());
+ List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+ Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
+ .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
+ for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
+ merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getNickName());
+ merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile());
}
}
return merOrderPageVoList;
@@ -1264,6 +1715,16 @@
BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney());
mgtShopOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney);
}
+ //处理商品信息
+ List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList;
+ String goodsString;
+ for (MgtShopOrderPageVo entity : shopOrderPageVoList) {
+ mgtOrderGoodsVoList = entity.getMgtOrderGoodsPageVoList();
+ goodsString = mgtOrderGoodsVoList.stream()
+ .map(goods -> goods.getGoodsName() + "*" + goods.getBuyNum())
+ .collect(Collectors.joining(";"));
+ entity.setGoodsInfo(goodsString);
+ }
}
return shopOrderPageVoList;
}
@@ -1374,53 +1835,53 @@
public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto) {
MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto);
//MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto);
- List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto);
- if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) {
- String[] orderTotalKey = new String[mgtMapTotalVos.size()];
- Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()];
- BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()];
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey();
- orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst();
- orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto);
+ if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
+ String[] orderTotalKey = new String[MgtMapIntTotalVos.size()];
+ Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()];
+ BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()];
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey();
+ orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst();
+ orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond();
}
mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey);
mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue);
mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue);
}
//获取商品分类销售数据
- List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto);
- List<MgtMapTotalVo> goodsTypeTotalList = new ArrayList<>();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto);
+ List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
- if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) {
- MgtMapTotalVo mgtMapTotalVo;
+ if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
+ MgtMapIntTotalVo MgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) {
- mgtMapTotalVo = new MgtMapTotalVo();
+ for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
+ MgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
- if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- mgtMapTotalVo.setMapKey("周期");
+ MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
+ if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+ MgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
- mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- mgtMapTotalVo.setMapKey("服务");
+ mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+ MgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
- mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- mgtMapTotalVo.setMapKey("体验");
+ mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+ MgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
- mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- mgtMapTotalVo.setMapKey("单品");
+ mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+ MgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
}
- goodsTypeTotalList.add(mgtMapTotalVo);
+ goodsTypeTotalList.add(MgtMapIntTotalVo);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -1442,35 +1903,35 @@
}
/**
- * @param mgtMapTotalVos
- * @return List<MgtMapTotalVo>
+ * @param MgtMapIntTotalVos
+ * @return List<MgtMapIntTotalVo>
* @description 去除空字符串
* @author jqs
* @date 2023/6/27 17:35
*/
- private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos) {
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- if (StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())) {
- mgtMapTotalVos.remove(i);
+ private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos) {
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) {
+ MgtMapIntTotalVos.remove(i);
}
}
- return mgtMapTotalVos;
+ return MgtMapIntTotalVos;
}
/**
- * @param mgtMapTotalVos
- * @return List<MgtMapTotalVo>
+ * @param MgtMapIntTotalVos
+ * @return List<MgtMapIntTotalVo>
* @description 去除空字符串
* @author jqs
* @date 2023/6/27 17:35
*/
- private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> mgtMapTotalVos) {
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- if (StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())) {
- mgtMapTotalVos.remove(i);
+ private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> MgtMapIntTotalVos) {
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) {
+ MgtMapIntTotalVos.remove(i);
}
}
- return mgtMapTotalVos;
+ return MgtMapIntTotalVos;
}
/**
@@ -1485,9 +1946,9 @@
//获取基础统计
MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto);
//获取商品分类销售数据
- List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto);
- if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) {
- List<MgtMapTotalVo> goodsTypeTotalList = new ArrayList<>();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto);
+ if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
+ List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
totalActivityTotalVo.setCycleTotal(0);
totalActivityTotalVo.setCycleMoney(BigDecimal.ZERO);
@@ -1496,49 +1957,49 @@
totalActivityTotalVo.setExperienceTotal(0);
totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- MgtMapTotalVo mgtMapTotalVo;
+ MgtMapIntTotalVo MgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) {
- mgtMapTotalVo = new MgtMapTotalVo();
+ for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
+ MgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
- if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- mgtMapTotalVo.setMapKey("周期");
+ MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
+ if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+ MgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
- totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- mgtMapTotalVo.setMapKey("服务");
+ totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+ MgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
- totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- mgtMapTotalVo.setMapKey("体验");
+ totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+ MgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
- totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- mgtMapTotalVo.setMapKey("单品");
+ totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+ MgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
}
- goodsTypeTotalList.add(mgtMapTotalVo);
+ goodsTypeTotalList.add(MgtMapIntTotalVo);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
}
//获取订单分布
- List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto);
- if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) {
- String[] orderTotalKey = new String[mgtMapTotalVos.size()];
- Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()];
- BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()];
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey();
- orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst();
- orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto);
+ if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
+ String[] orderTotalKey = new String[MgtMapIntTotalVos.size()];
+ Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()];
+ BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()];
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey();
+ orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst();
+ orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond();
}
totalActivityTotalVo.setOrderTotalKey(orderTotalKey);
totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
@@ -1560,17 +2021,17 @@
mgtActivityAgeDto.setUserIds(userIds);
userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData();
mgtActivityAgeDto.setUserIds(userIds);
- List<MgtMapTotalVo> ageRankList = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto);
+ List<MgtMapIntTotalVo> ageRankList = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto);
ageRankList = listRemoveNull(ageRankList);
MgtTotalActivityTotalVo totalActivityTotalVo = new MgtTotalActivityTotalVo();
String[] activityAgeKey = new String[ageRankList.size()];
Integer[] activityAgeValue = new Integer[ageRankList.size()];
if (!ageRankList.isEmpty()) {
- MgtMapTotalVo mgtMapTotalVo;
+ MgtMapIntTotalVo MgtMapIntTotalVo;
for (int i = 0; i < ageRankList.size(); i++) {
- mgtMapTotalVo = ageRankList.get(i);
- activityAgeKey[i] = mgtMapTotalVo.getMapKey();
- activityAgeValue[i] = mgtMapTotalVo.getMapValue();
+ MgtMapIntTotalVo = ageRankList.get(i);
+ activityAgeKey[i] = MgtMapIntTotalVo.getMapKey();
+ activityAgeValue[i] = MgtMapIntTotalVo.getMapValue();
}
}
totalActivityTotalVo.setActivityAgeKey(activityAgeKey);
@@ -1600,13 +2061,13 @@
/**
* @param mgtBasePlatformDto
- * @return List<MgtMapTotalVo>
+ * @return List<MgtMapIntTotalVo>
* @description
* @author jqs
* @date 2023/6/21 15:26
*/
@Override
- public List<MgtMapTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto) {
+ public List<MgtMapIntTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto) {
return orderMapper.listMemberGoodsRank(mgtBasePlatformDto);
}
@@ -1681,23 +2142,23 @@
mgtBasePlatformDto.setShopIdList(shopIdList);
//获取基础统计
MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getPlTotalOrderTotalOrderFrom(mgtBasePlatformDto);
- List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto);
- if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) {
- String[] orderTotalKey = new String[mgtMapTotalVos.size()];
- Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()];
- BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()];
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey();
- orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst();
- orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto);
+ if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
+ String[] orderTotalKey = new String[MgtMapIntTotalVos.size()];
+ Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()];
+ BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()];
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey();
+ orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst();
+ orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond();
}
mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey);
mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue);
mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue);
}
//获取商品分类销售数据
- List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto);
- List<MgtMapTotalVo> goodsTypeTotalList = new ArrayList<>();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto);
+ List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
mgtTotalOrderTotalVo.setCycleTotal(0);
mgtTotalOrderTotalVo.setCycleMoney(BigDecimal.ZERO);
@@ -1705,35 +2166,35 @@
mgtTotalOrderTotalVo.setServiceMoney(BigDecimal.ZERO);
mgtTotalOrderTotalVo.setExperienceTotal(0);
mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO);
- if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) {
- MgtMapTotalVo mgtMapTotalVo;
+ if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
+ MgtMapIntTotalVo MgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) {
- mgtMapTotalVo = new MgtMapTotalVo();
+ for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
+ MgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
- if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- mgtMapTotalVo.setMapKey("周期");
+ MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
+ if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+ MgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
- mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- mgtMapTotalVo.setMapKey("服务");
+ mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+ MgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
- mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- mgtMapTotalVo.setMapKey("体验");
+ mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+ MgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
- mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- mgtMapTotalVo.setMapKey("单品");
+ mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+ MgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
}
- goodsTypeTotalList.add(mgtMapTotalVo);
+ goodsTypeTotalList.add(MgtMapIntTotalVo);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -1783,8 +2244,8 @@
//获取基础统计
MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
//获取商品分类销售数据
- List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto);
- List<MgtMapTotalVo> goodsTypeTotalList = new ArrayList<>();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto);
+ List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
totalActivityTotalVo.setCycleTotal(0);
totalActivityTotalVo.setCycleMoney(BigDecimal.ZERO);
@@ -1792,32 +2253,32 @@
totalActivityTotalVo.setServiceMoney(BigDecimal.ZERO);
totalActivityTotalVo.setExperienceTotal(0);
totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
- if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) {
- MgtMapTotalVo mgtMapTotalVo;
+ if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
+ MgtMapIntTotalVo MgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) {
- mgtMapTotalVo = new MgtMapTotalVo();
+ for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
+ MgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- mgtMapTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- mgtMapBigTotalVo.setMapValue(mgtMapTotalVoGoodsType.get(i).getMapValueSecond());
- if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- mgtMapTotalVo.setMapKey("周期");
+ MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
+ if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+ MgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
- totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- mgtMapTotalVo.setMapKey("服务");
+ totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+ MgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
- totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- mgtMapTotalVo.setMapKey("体验");
+ totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+ MgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
- totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + mgtMapTotalVoGoodsType.get(i).getMapValueFirst());
- totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()));
- } else if (mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- mgtMapTotalVo.setMapKey("单品");
+ totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+ MgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
}
}
@@ -1825,15 +2286,15 @@
totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
}
//获取订单分布
- List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto);
- if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) {
- String[] orderTotalKey = new String[mgtMapTotalVos.size()];
- Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()];
- BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()];
- for (int i = 0; i < mgtMapTotalVos.size(); i++) {
- orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey();
- orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst();
- orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond();
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto);
+ if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
+ String[] orderTotalKey = new String[MgtMapIntTotalVos.size()];
+ Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()];
+ BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()];
+ for (int i = 0; i < MgtMapIntTotalVos.size(); i++) {
+ orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey();
+ orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst();
+ orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond();
}
totalActivityTotalVo.setOrderTotalKey(orderTotalKey);
totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
@@ -1889,17 +2350,17 @@
mgtActivityAgeDto.setAgeType(mgtPlActivityAgeDto.getAgeType());
userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData();
mgtPlActivityAgeDto.setUserIds(userIds);
- List<MgtMapTotalVo> ageRankList = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
+ List<MgtMapIntTotalVo> ageRankList = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
ageRankList = listRemoveNull(ageRankList);
MgtPlTotalActivityTotalVo plTotalActivityTotalVo = new MgtPlTotalActivityTotalVo();
String[] activityAgeKey = new String[ageRankList.size()];
Integer[] activityAgeValue = new Integer[ageRankList.size()];
if (!ageRankList.isEmpty()) {
- MgtMapTotalVo mgtMapTotalVo;
+ MgtMapIntTotalVo MgtMapIntTotalVo;
for (int i = 0; i < ageRankList.size(); i++) {
- mgtMapTotalVo = ageRankList.get(i);
- activityAgeKey[i] = mgtMapTotalVo.getMapKey();
- activityAgeValue[i] = mgtMapTotalVo.getMapValue();
+ MgtMapIntTotalVo = ageRankList.get(i);
+ activityAgeKey[i] = MgtMapIntTotalVo.getMapKey();
+ activityAgeValue[i] = MgtMapIntTotalVo.getMapValue();
}
}
plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey);
@@ -1915,11 +2376,24 @@
* @date 2023/6/27 11:10
*/
@Override
- public MerVerifyCouponVo verifyCoupon(String verifyCode) {
+ public MerVerifyCouponVo verifyCoupon(String verifyCode, Long shopId) {
// 创建MerVerifyCouponVo对象
MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
// 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象
MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(verifyCode).getData();
+ MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon();
+ // 检查优惠券状态
+ int couponStatus = memberCoupon.getCouponStatus();
+ if (couponStatus == 0) {
+ throw new ServiceException(AppErrorConstant.COUPON_EXPIRED);
+ } else if (couponStatus == 2) {
+ throw new ServiceException(AppErrorConstant.COUPON_USED);
+ } else if (couponStatus != 0) {
+ throw new ServiceException(AppErrorConstant.COUPON_NO_FIND);
+ }
+ if (!memberCoupon.getShopId().equals(shopId)) {
+ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
List<Goods> goodsList = verifyCouponGetVo.getGoodsList();
Long userId = verifyCouponGetVo.getUserId();
// 调用remoteMemberService的getMember方法获取Member对象
@@ -1941,4 +2415,348 @@
merVerifyCouponVo.setGoodsList(merCouponGoodsList);
return merVerifyCouponVo;
}
+
+ /**
+ * @description 获取核销奖品
+ * @author jqs
+ * @date 2023/7/8 17:46
+ * @param verifyCode
+ * @param shopId
+ * @return MerVerifyAwardVo
+ */
+ @Override
+ public MerVerifyAwardVo verifyPrize(String verifyCode,Long shopId){
+ MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
+ MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(verifyCode).getData();
+ if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){
+ throw new ServiceException(AppErrorConstant.COUPON_USED);
+ }
+ if(memberGiftRecord.getGiftFrom()==2&&!memberGiftRecord.getShopId().equals(shopId)){
+ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+ }
+ Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData();
+ merVerifyAwardVo.setUserName(member.getNickName());
+ merVerifyAwardVo.setUserMobile(member.getMobile());
+ if(memberGiftRecord.getGiftFrom()==1){
+ merVerifyAwardVo.setGiftFrom("平台生日卡");
+ }else{
+ merVerifyAwardVo.setGiftFrom("商户生日卡");
+ }
+
+ merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType());
+ switch(memberGiftRecord.getGiftType()){
+ case 1:
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber()));
+ break;
+ case 2:
+ Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData();
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber()));
+ if (goods.getGoodsType() == 1) {
+ merVerifyAwardVo.setGiftRemark("周期");
+ } else if (goods.getGoodsType() == 2) {
+ merVerifyAwardVo.setGiftRemark("服务");
+ } else if (goods.getGoodsType() == 3) {
+ merVerifyAwardVo.setGiftRemark("体验");
+ } else if (goods.getGoodsType() == 4) {
+ merVerifyAwardVo.setGiftRemark("单品");
+ }
+ break;
+ case 3:
+ merVerifyAwardVo.setGiftName("现金");
+ merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
+ break;
+ case 4:
+ merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName());
+ merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber()));
+ break;
+ default:
+ break;
+ }
+ merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime());
+ return merVerifyAwardVo;
+ }
+
+ /**
+ * @param merBaseDto
+ * @return BigDecimal
+ * @description 获取用户未支付金额
+ * @author jqs
+ * @date 2023/6/29 18:00
+ */
+ @Override
+ public BigDecimal getMemberUnpaidOrder(MerBaseDto merBaseDto) {
+ BigDecimal unpaidMoney = orderMapper.getMemberUnpaidOrder(merBaseDto);
+ return unpaidMoney;
+ }
+
+ /**
+ * @param merTotalDto
+ * @return MerOrderTotalVo
+ * @description 商户获取订单统计
+ * @author jqs
+ * @date 2023/7/3 19:29
+ */
+ @Override
+ public MerOrderTotalVo getMerOrderTotal(MerTotalDto merTotalDto) {
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ MerOrderTotalVo orderTotalVo = orderMapper.getMerOrderTotalOrderFrom(merTotalDto);
+ MerOrderTotalVo goodsTypeVo = orderMapper.getMerTotalOrderTotalGoodsType(merTotalDto);
+ orderTotalVo.setCycleTotal(goodsTypeVo.getCycleTotal());
+ orderTotalVo.setCycleMoney(goodsTypeVo.getCycleMoney());
+ orderTotalVo.setExperienceTotal(goodsTypeVo.getExperienceTotal());
+ orderTotalVo.setExperienceMoney(goodsTypeVo.getExperienceMoney());
+ orderTotalVo.setServiceTotal(goodsTypeVo.getServiceTotal());
+ orderTotalVo.setServiceMoney(goodsTypeVo.getServiceMoney());
+ return orderTotalVo;
+ }
+
+
+ /**
+ * @param merTotalDto
+ * @return MerOrderDistributionTotalVo
+ * @description
+ * @author jqs
+ * @date 2023/7/4 9:29
+ */
+ @Override
+ public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto) {
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo();
+ // 获取订单年龄用户列表
+ List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData();
+ // 如果订单年龄用户列表不为空
+ if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) {
+ // 定义变量
+ Integer ageType;
+ List<Long> userIdList;
+ MerOrderAgeUserVo orderAgeUserVo;
+ MgtMapTotalPlusVo mgtMapTotalPlusVo;
+ String[] orderTotalKey = new String[5];
+ Integer[] orderTotalValue = new Integer[5];
+ BigDecimal[] orderMoneyValue = new BigDecimal[5];
+ // 遍历订单年龄用户列表
+ for (int i = 0; i < orderAgeUserVoList.size(); i++) {
+ orderAgeUserVo = orderAgeUserVoList.get(i);
+ ageType = orderAgeUserVo.getAgeType();
+ userIdList = orderAgeUserVo.getUserIdList();
+ // 根据年龄类型设置订单总数键
+ switch (ageType) {
+ case 1:
+ orderTotalKey[i] = "<20";
+ break;
+ case 2:
+ orderTotalKey[i] = "21-30";
+ break;
+ case 3:
+ orderTotalKey[i] = "31-40";
+ break;
+ case 4:
+ orderTotalKey[i] = "41-50";
+ break;
+ case 5:
+ orderTotalKey[i] = ">50";
+ break;
+ }
+ // 如果用户ID列表不为空
+ if (userIdList != null && !userIdList.isEmpty()) {
+ mgtMapTotalPlusVo = orderMapper.listMerOrderDistributionTotal(userIdList);
+ orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst();
+ orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond();
+ } else {
+ orderTotalValue[i] = 0;
+ orderMoneyValue[i] = BigDecimal.ZERO;
+ }
+ }
+ // 设置订单分布总数对象的属性值
+ orderDistributionTotalVo.setOrderTotalKey(orderTotalKey);
+ orderDistributionTotalVo.setOrderTotalValue(orderTotalValue);
+ orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue);
+ }
+ // 返回订单分布总数对象
+ return orderDistributionTotalVo;
+ }
+
+ /**
+ * @param merTotalDto
+ * @return MerOrderTypeTotalVo
+ * @description 商户获取销售占比统计
+ * @author jqs
+ * @date 2023/7/4 13:58
+ */
+ @Override
+ public MerOrderTypeTotalVo getMerOrderTypeTotal(MerTotalDto merTotalDto) {
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ MerOrderTypeTotalVo orderTypeTotalVo = new MerOrderTypeTotalVo();
+ //获取商品分类销售数据
+ List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listMerOrderTotalGoodsType(merTotalDto);
+ List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
+ List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
+ if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
+ MgtMapIntTotalVo MgtMapIntTotalVo;
+ MgtMapBigTotalVo mgtMapBigTotalVo;
+ // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
+ MgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
+ if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
+ MgtMapIntTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapKey("周期");
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
+ MgtMapIntTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapKey("服务");
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
+ MgtMapIntTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapKey("体验");
+ } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
+ MgtMapIntTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapKey("单品");
+ }
+ goodsTypeTotalList.add(MgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
+ orderTypeTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
+ }
+ return orderTypeTotalVo;
+ }
+
+
+ /**
+ * @param merTotalDto
+ * @return MerOrderGoodsRankVo
+ * @description 商户端获取销售排行
+ * @author jqs
+ * @date 2023/7/4 14:23
+ */
+ @Override
+ public MerOrderGoodsRankVo getMerOrderGoodsRank(MerTotalDto merTotalDto) {
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ MerOrderGoodsRankVo orderGoodsRankVo = new MerOrderGoodsRankVo();
+ List<MgtMapBigTotalVo> goodsRankList = orderMapper.listMerOrderTotalGoodsRank(merTotalDto);
+ if (goodsRankList != null && goodsRankList.size() > 0) {
+ goodsRankList = bigListRemoveNull(goodsRankList);
+ orderGoodsRankVo.setGoodsRankList(goodsRankList);
+ }
+ return orderGoodsRankVo;
+ }
+
+
+ /**
+ * @param merTotalDto
+ * @return MerOrderFromRankVo
+ * @description 商户端获取渠道排行
+ * @author jqs
+ * @date 2023/7/4 14:51
+ */
+ @Override
+ public MerOrderFromRankVo getMerOrderFromRank(MerTotalDto merTotalDto) {
+ if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
+ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
+ merTotalDto.setShopIdList(shopIdList);
+ merTotalDto.setShopId(null);
+ }
+ MerOrderFromRankVo merOrderFromRankVo = new MerOrderFromRankVo();
+ //获取来源销售排名
+ List<MgtMapBigTotalVo> orderFromList = orderMapper.listMerOrderTotalOrderFrom(merTotalDto);
+ if (orderFromList != null && orderFromList.size() > 0) {
+ orderFromList = bigListRemoveNull(orderFromList);
+ merOrderFromRankVo.setOrderFromRankList(orderFromList);
+ }
+ return merOrderFromRankVo;
+ }
+
+ /**
+ * @param merBaseDto
+ * @return MerTotalOrderVo
+ * @description 商户端订单管理统计
+ * @author jqs
+ * @date 2023/7/4 16:27
+ */
+ @Override
+ public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto) {
+ return orderMapper.totalMerOrder(merBaseDto.getShopId());
+ }
+
+ /**
+ * @param page
+ * @param mgtShopAllOrderPageDto
+ * @return List<MgtShopAllOrderPageVo>
+ * @description 平台获取商户订单记录
+ * @author jqs
+ * @date 2023/7/5 20:17
+ */
+ @Override
+ public List<MgtShopAllOrderPageVo> pageMgtShopAllOrder(Page page, MgtShopAllOrderPageDto mgtShopAllOrderPageDto) {
+ List<MgtShopAllOrderPageVo> shopAllOrderPageVoList = orderMapper.pageMgtShopAllOrder(page, mgtShopAllOrderPageDto);
+ if (!shopAllOrderPageVoList.isEmpty()) {
+ // 定义变量
+ HashSet<Long> userIdSet = new HashSet<>();
+ BigDecimal zeroBig = new BigDecimal("0.00");
+ // 遍历列表,获取店铺 ID 和用户 ID
+ for (MgtShopAllOrderPageVo mgtShopOrderPageVo : shopAllOrderPageVoList) {
+ userIdSet.add(mgtShopOrderPageVo.getUserId());
+ }
+ // 从远程服务获取店铺和用户信息
+ Map<Long, MgtSimpleMemberVo> userMap = null;
+ if (userIdSet != null && !userIdSet.isEmpty()) {
+ String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+ MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+ mgtBaseBathDto.setIds(userJoinedString);
+ List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+ userMap = simpleMemberVoList.stream()
+ .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
+ }
+ // 遍历列表,设置店铺名称、用户名称和未支付金额
+ String userInfo;
+ String mobile;
+ for (MgtShopAllOrderPageVo mgtShopOrderPageVo : shopAllOrderPageVoList) {
+ if (userMap != null && !userMap.isEmpty()) {
+ if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) {
+ userInfo = userMap.get(mgtShopOrderPageVo.getUserId()).getNickName();
+ mobile = userMap.get(mgtShopOrderPageVo.getUserId()).getUserMobile();
+ if (StringUtils.isNotBlank(mobile)) {
+ userInfo = userInfo + "(" + mobile + ")";
+ }
+ mgtShopOrderPageVo.setUserInfo(userInfo);
+ }
+ }
+ }
+ //处理商品信息
+ List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList;
+ String goodsString;
+ for (MgtShopAllOrderPageVo entity : shopAllOrderPageVoList) {
+ mgtOrderGoodsVoList = entity.getMgtOrderGoodsPageVoList();
+ goodsString = mgtOrderGoodsVoList.stream()
+ .map(goods -> goods.getGoodsName() + "*" + goods.getBuyNum())
+ .collect(Collectors.joining(";"));
+ entity.setGoodsInfo(goodsString);
+ }
+ }
+ return shopAllOrderPageVoList;
+ }
}
--
Gitblit v1.7.1