From dfe810a2108e479c4ed4f8d24dd181140afd8730 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 01 九月 2023 09:31:05 +0800
Subject: [PATCH] Merge branch 'master' of ssh://120.76.84.145:20202/java/HongRuiTang into master
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 1138 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 919 insertions(+), 219 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 fa150de..e165591 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
@@ -67,6 +67,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@@ -156,6 +157,10 @@
@Override
public AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto) {
Long userId = appSureOrderDto.getUserId();
+ Shop shop = remoteShopService.getShop(appSureOrderDto.getShopId()).getData();
+ if(shop!=null&&shop.getShopStatus()!=1){
+ throw new ServiceException(AppErrorConstant.SHOP_CLOSED);
+ }
// 初始化订单对象
AppSureOrderVo appSureOrderVo = new AppSureOrderVo();
// 初始化订单商品列表
@@ -414,6 +419,10 @@
@Override
public AppPanicBuyVo panicBuyGoods(AppPanicBuyDto appPanicBuyDto) {
Long userId = appPanicBuyDto.getUserId();
+ Shop shop = remoteShopService.getShop(appPanicBuyDto.getShopId()).getData();
+ if(shop!=null&&shop.getShopStatus()!=1){
+ throw new ServiceException(AppErrorConstant.SHOP_CLOSED);
+ }
AppPanicBuyVo appPanicBuyVo = new AppPanicBuyVo();
String activityId = appPanicBuyDto.getActivityId();
String goodsId = appPanicBuyDto.getGoodsId();
@@ -742,52 +751,54 @@
}
// 保存订单
this.save(order);
- // 更新用户商品类型
+ appPlaceOrderVo.setOrderId(orderId);
+ appPlaceOrderVo.setOrderNo(orderNo);
+ //减去优惠券
+ if (StringUtils.isNotBlank(memberCouponSJ.toString())) {
+ remoteCouponService.useMemberCoupon(memberCouponSJ.toString());
+ }
+ //判断是否需要支付 不需要直接待核销
+ if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.ZERO)>0){
+ String outTradeNo = IdUtils.simpleUUID();
+ // 保存订单 交易流水
+ order.setOutTradeNo(outTradeNo);
+ this.saveOrUpdate(order);
+ Integer delayTime = 30;
+ if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) {
+ delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
+ }
+ appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
+ //商品数据
+ String goodsName = "";
+ if (null != goodsNameList) {
+ goodsName = String.join(",", goodsNameList);
+ }
+ // 小程序微信下单支付
+ createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, outTradeNo,
+ orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(),
+ appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1);
+ //生成自动取消订单延时任务
+ String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
+ redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, payStr , delayTime.longValue(), TimeUnit.MINUTES);
+ DelayTask delayTask = new DelayTask();
+ delayTask.setDelFlag(0);
+ delayTask.setCreateTime(new Date());
+ delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime));
+ delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId);
+ remoteConfigService.addDelayTask(delayTask);
+ appPlaceOrderVo.setZeroFlag(0);
+ }else{
+ order.setOrderStatus(2);
+ this.saveOrUpdate(order);
+ appPlaceOrderVo.setZeroFlag(1);
+ }
+ // 更新用户商品类型统计
if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto();
appMemberGoodsTypeDto.setUserId(userId);
appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet);
remoteMemberService.updateMemberGoodsType(appMemberGoodsTypeDto);
}
- appPlaceOrderVo.setOrderId(orderId);
- appPlaceOrderVo.setOrderNo(orderNo);
-
- String goodsName = "";
- if (null != goodsNameList) {
- goodsName = String.join(",", goodsNameList);
- }
-
- if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.TEN)<0){
- String outTradeNo = IdUtils.simpleUUID();
-
- // 保存订单 交易流水
- order.setOutTradeNo(outTradeNo);
- this.saveOrUpdate(order);
-
- // 小程序微信下单支付
- createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, outTradeNo,
- orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(),
- appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1);
- }
-
- //减去优惠券
- if (StringUtils.isNotBlank(memberCouponSJ.toString())) {
- remoteCouponService.useMemberCoupon(memberCouponSJ.toString());
- }
- //生成自动取消订单延时任务
- Integer delayTime = 30;
- if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) {
- delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
- }
- redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES);
- DelayTask delayTask = new DelayTask();
- delayTask.setDelFlag(0);
- delayTask.setCreateTime(new Date());
- delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime));
- delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId);
- remoteConfigService.addDelayTask(delayTask);
- appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
-
return appPlaceOrderVo;
}
@@ -804,7 +815,8 @@
* @param payerClientIp
* @param goodsNameList
*/
- public void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
+
+ private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
String goodsName, String outTradeNo,
String orderId, BigDecimal payMoney,
String openid, String payerClientIp, List<String> goodsNameList,Integer orderFrom){
@@ -830,6 +842,7 @@
request.setNotifyUrl(config.getNotifyUrl());
// 结算信息
PartnerTransactionsRequest.SettleInfo settleInfo = new PartnerTransactionsRequest.SettleInfo();
+ // TODO 分账处理
if(orderFrom==2){
settleInfo.setProfitSharing(true);
}else{
@@ -844,7 +857,10 @@
amount.setTotal(totalFee);
amount.setCurrency("CNY");
request.setAmount(amount);
-
+ Date endTime = appPlaceOrderVo.getEndTime();
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
+ String rfc3339Format = formatter.format(endTime);
+ request.setTimeExpire(rfc3339Format);
// 支付者
PartnerTransactionsRequest.Payer payer = new PartnerTransactionsRequest.Payer();
payer.setSpOpenid(openid);
@@ -906,7 +922,7 @@
String activityId = appPlaceActivityDto.getActivityId();
String goodsId = appPlaceActivityDto.getGoodsId();
Integer buyNum = appPlaceActivityDto.getBuyNum();
- //redis库存控制极简版
+ //redis分布式锁库存控制
String goodsLock = "goods_lock_" + activityId + "_" + goodsId;
RLock redissonLock = redissonClient.getLock(goodsLock);
try {
@@ -1116,57 +1132,38 @@
agStockChangeDto.setShopId(order.getShopId());
agStockChangeDto.setUserId(order.getUserId());
remoteActivityService.changeActivityStock(agStockChangeDto);
- // 调用支付
- /*PrepayRequest request = new PrepayRequest();
- Amount amount = new Amount();
- amount.setTotal(Integer.parseInt(order.getPayMoney().multiply(new BigDecimal(100)).toString()));
- request.setAmount(amount);
- request.setAppid(this.appId);
- request.setMchid(this.mchId);
- request.setDescription(order.getGoodsInfo());
- request.setNotifyUrl(this.notifyUrl);
- request.setOutTradeNo(order.getOrderId());
- Payer payer = new Payer();
- // TODO 获取openID
- payer.setOpenid("oLTPCuN5a-nBD4rAL_fa********");
-
- request.setPayer(payer);*/
-
- //设置订单允许分账 秒杀活动才允许分账
- /*if(order.getOrderFrom()==2){
- SettleInfo settleInfo=new SettleInfo();
- settleInfo.setProfitSharing(true);
- request.setSettleInfo(settleInfo);
- }*/
-
-
- //返回前端唤醒支付结果信息
- /*PrepayWithRequestPaymentResponse res = this.getJsApIResponse(request);
-
- appPlaceOrderVo.setAppId(this.appId);
- appPlaceOrderVo.setTimeStamp(res.getTimeStamp());
- appPlaceOrderVo.setNonceStr(res.getNonceStr());
- appPlaceOrderVo.setPackageStr(res.getPackageVal());
- appPlaceOrderVo.setTradeType(res.getSignType());
- appPlaceOrderVo.setPaySign(res.getPaySign());
-
-*/
- List<String> goodsNameList = new ArrayList<>();
- goodsNameList.add(orderGoods.getGoodsName());
-
-
- if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.TEN)<0){
-
+ //支付金额大于0走支付 负责直接完成订单
+ if(appPlaceOrderVo.getPayMoney().compareTo(BigDecimal.ZERO)>0){
+ List<String> goodsNameList = new ArrayList<>();
+ goodsNameList.add(orderGoods.getGoodsName());
String outTradeNo = IdUtils.simpleUUID();
-
// 保存订单 交易流水
order.setOutTradeNo(outTradeNo);
this.saveOrUpdate(order);
-
+ //自动取消订单任务时间获取
+ Integer delayTime = 30;
+ if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) {
+ delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
+ }
+ appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
// 小程序微信下单支付
- createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), orderGoods.getGoodsName(), orderNo,
+ createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), orderGoods.getGoodsName(), outTradeNo,
orderId, order.getPayMoney(), appPlaceActivityDto.getOpenid(),
appPlaceActivityDto.getSpbillCreateIp(), goodsNameList,2);
+ //生成自动取消订单延时任务
+ String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign();
+ redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, payStr , delayTime.longValue(), TimeUnit.MINUTES);
+ DelayTask delayTask = new DelayTask();
+ delayTask.setDelFlag(0);
+ delayTask.setCreateTime(new Date());
+ delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime));
+ delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId);
+ remoteConfigService.addDelayTask(delayTask);
+ appPlaceOrderVo.setZeroFlag(0);
+ }else{
+ order.setOrderStatus(2);
+ this.saveOrUpdate(order);
+ appPlaceOrderVo.setZeroFlag(1);
}
//生成活动参加记录
ActivityRecord activityRecord = new ActivityRecord();
@@ -1181,19 +1178,6 @@
activityRecord.setGoodsId(orderGoods.getGoodsId());
activityRecord.setActivityMoney(activityGoodsGetVo.getActivityPrice());
remoteActivityService.addActivityRecord(activityRecord);
- //生成自动取消订单延时任务
- Integer delayTime = 30;
- if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) {
- delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
- }
- redisService.setCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId, orderId, delayTime.longValue(), TimeUnit.MINUTES);
- DelayTask delayTask = new DelayTask();
- delayTask.setDelFlag(0);
- delayTask.setCreateTime(new Date());
- delayTask.setEndTime(DateUtils.addMinutes(new Date(), delayTime));
- delayTask.setRedisKey(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + orderId);
- remoteConfigService.addDelayTask(delayTask);
- appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
return appPlaceOrderVo;
}
@@ -1210,14 +1194,20 @@
List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto);
if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) {
Long shopId;
+ String activityId;
Shop shop;
- HashSet<Long> set = new HashSet<Long>();
+ HashSet<Long> shopSet = new HashSet<Long>();
+ HashSet<String> activitySet = new HashSet<String>();
for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) {
shopId = appUserOrderPageVo.getShopId();
- set.add(shopId);
+ shopSet.add(shopId);
+ if(appUserOrderPageVo.getOrderFrom()==2){
+ activityId = appUserOrderPageVo.getActivityId();
+ activitySet.add(activityId);
+ }
}
Map<Long, Shop> shopMap = new HashMap<>();
- set.forEach(shopIdLong -> {
+ shopSet.forEach(shopIdLong -> {
Shop shopTemp = remoteShopService.getShop(shopIdLong).getData();
shopMap.put(shopIdLong, shopTemp);
});
@@ -1302,6 +1292,47 @@
} else {
throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER);
}
+ }
+
+ /**
+ * @description 支付订单
+ * @author jqs
+ * @date 2023/8/27 15:26
+ * @param orderId
+ * @return AppPlaceOrderVo
+ */
+ @Override
+ public AppPlaceOrderVo payOrder(String orderId){
+ Order order = this.getById(orderId);
+ if(order.getOrderStatus()!=1){
+ throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER);
+ }
+ String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+ "-"+orderId);
+ if(StringUtils.isBlank(payStr)){
+ throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER);
+ }
+ Integer delayTime = 30;
+ if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) {
+ delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
+ }
+ AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
+ OrderPayment orderPayment = orderPaymentService.getByUnpaidOrderId(orderId);
+ String[] payArr = payStr.split("-");
+ appPlaceOrderVo.setOrderId(order.getOrderId());
+ appPlaceOrderVo.setOrderNo(order.getOrderNo());
+ appPlaceOrderVo.setPayType(order.getPayType());
+ appPlaceOrderVo.setPayMoney(order.getPayMoney());
+ appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
+ appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(), delayTime));
+ appPlaceOrderVo.setAppId(payArr[0]);
+ appPlaceOrderVo.setMchId(orderPayment.getSubMchId());
+ appPlaceOrderVo.setTimeStamp(payArr[1]);
+ appPlaceOrderVo.setNonceStr(payArr[2]);
+ appPlaceOrderVo.setPackageStr(payArr[3]);
+ appPlaceOrderVo.setSignType(payArr[4]);
+ appPlaceOrderVo.setPaySign(payArr[5]);
+ appPlaceOrderVo.setPrepayId(orderPayment.getPrepayId());
+ return appPlaceOrderVo;
}
/**
@@ -1552,10 +1583,10 @@
merVerifyOrderVo.setUserName(member.getRealName());
merVerifyOrderVo.setUserMobile(member.getMobile());
merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
-
+ // TODO 活动才分账
if (order.getOrderFrom() == 2) {
// 活动才分账
- submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOrderMoney());
+ submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOnlinePayMoney());
}
//创建支付记录
@@ -1568,7 +1599,10 @@
payRecord.setPayType(merVerifyOrderDto.getPayType());
payRecordService.save(payRecord);
}
-
+ //更新用户消费统计
+ MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+ memberTotalChangeDto.setConsumeTime(nowTime);
+ remoteMemberService.changeMemberTotal(memberTotalChangeDto);
return merVerifyOrderVo;
}
@@ -1586,51 +1620,55 @@
R<String> resultMch = remoteShopService.getShopSubMchId(shopId);
String subMchId = resultMch.getData();
if (!StringUtils.isEmpty(subMchId)) {
-
+ WxPayConfig config = wxService.getConfig();
R<ShopProportionVo> resultShopProportion = remoteShopService.getShopProportion(shopId);
ShopProportionVo shopProportion = resultShopProportion.getData();
if (null != shopProportion) {
ProfitSharingRequest request = new ProfitSharingRequest();
+ request.setAppid(config.getAppId());
request.setSubMchid(subMchId);
request.setTransactionId(transactionId);
- request.setOutOrderNo(orderNo);
+ request.setOutOrderNo(IdUtils.simpleUUID());
List<ProfitSharingRequest.Receiver> receiverList = new ArrayList<>();
String description = "订单:" + orderNo + " 平台抽取佣金";
+ //获取商户分成
BigDecimal proportionPercent = shopProportion.getProportionPercent();
if (null == proportionPercent) {
proportionPercent = BigDecimal.ZERO;
}
+ //平台分成
+ proportionPercent = new BigDecimal("100.00").subtract(proportionPercent);
+ if(proportionPercent.compareTo(BigDecimal.ZERO)>0){
+ ProfitSharingResult result = new ProfitSharingResult();
+ result.setOutOrderNo(orderNo);
+ result.setStatus("FINISHED");
+ // 计算分成金额
+ int amount = orderMoney.multiply(proportionPercent).setScale(0, RoundingMode.UP).intValue();
+ log.info("订单分账:{} 分账金额: {}", orderNo, amount);
+ if (amount > 0) {
+ // 分账创建
+ ProfitSharingRequest.Receiver receiver = new ProfitSharingRequest.Receiver();
+ receiver.setType("MERCHANT_ID");
+ receiver.setReceiverAccount(platformTyMacId);
+ receiver.setAmount(amount);
+ receiver.setDescription(description);
- ProfitSharingResult result = new ProfitSharingResult();
- result.setOutOrderNo(orderNo);
- result.setStatus("FINISHED");
+ receiverList.add(receiver);
+ request.setReceivers(receiverList);
+ // 分账完成
+ request.setFinish(true);
+ result = wxService.getEcommerceService().profitSharing(request);
+ }
- // 计算分成金额
- int amount = orderMoney.multiply(proportionPercent).setScale(0, RoundingMode.UP).intValue();
- log.info("订单分账:{} 分账金额: {}", orderNo, amount);
- if (amount > 0) {
- // 分账创建
- ProfitSharingRequest.Receiver receiver = new ProfitSharingRequest.Receiver();
- receiver.setType("MERCHANT_ID");
- receiver.setReceiverAccount(platformTyMacId);
- receiver.setAmount(amount);
- receiver.setDescription(description);
+ // 创建分账记录
+ profitSharingService.saveProfitSharing(shopId, orderId, orderMoney, result);
- receiverList.add(receiver);
- request.setReceivers(receiverList);
- // 分账完成
- request.setFinish(true);
- result = wxService.getEcommerceService().profitSharing(request);
+ // 保存请求信息
+ sendMessage = JSONObject.toJSONString(request);
+ resultMessage = JSONObject.toJSONString(result);
}
-
- // 创建分账记录
- profitSharingService.saveProfitSharing(shopId, orderId, orderMoney, result);
-
- // 保存请求信息
- sendMessage = JSONObject.toJSONString(request);
- resultMessage = JSONObject.toJSONString(result);
} else {
resultMessage = String.format("订单分账:%s 获取商户分成失败", orderNo);
log.info(resultMessage);
@@ -1642,7 +1680,7 @@
} catch (WxPayException e) {
resultMessage = String.format("订单分账:%s 分账失败:%s", orderNo, e.getMessage());
log.info(resultMessage);
- e.printStackTrace();
+ throw new ServiceException(resultMessage);
}
// 保存分账信息
@@ -2247,7 +2285,10 @@
if (StringUtils.isNotBlank(memberCouponSJ.toString())) {
remoteCouponService.useMemberCoupon(memberCouponSJ.toString());
}
-
+ //更新会员消费记录
+ MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+ memberTotalChangeDto.setConsumeTime(nowTime);
+ remoteMemberService.changeMemberTotal(memberTotalChangeDto);
//更新商户统计
/*ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
shopTotalChangeDto.setShopId(order.getShopId());
@@ -2308,7 +2349,7 @@
if (orderFrom == 1) {
orderFromDesc = "商城订单";
} else if (orderFrom == 2) {
- orderFromDesc = "店铺砍价活动(" + merOrderPageVo.getActivityName() + ")";
+ orderFromDesc = "平台秒杀活动(" + merOrderPageVo.getActivityName() + ")";
} else {
orderFromDesc = "线下创建";
}
@@ -2604,7 +2645,9 @@
// 遍历列表,设置店铺名称、用户名称和未支付金额
for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) {
if (shopMap != null && !shopMap.isEmpty()) {
- mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName());
+ if(shopMap.get(mgtShopOrderPageVo.getShopId())!=null){
+ mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName());
+ }
}
if (userMap != null && !userMap.isEmpty()) {
if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) {
@@ -2743,55 +2786,92 @@
*/
@Override
public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto) {
+ //订单数量 订单金额
MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto);
//MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto);
- 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> MgtMapIntTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto);
List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>();
if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
- MgtMapIntTotalVo MgtMapIntTotalVo;
+ MgtMapIntTotalVo mgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
- MgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- MgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- MgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- MgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- MgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
- goodsTypeTotalList.add(MgtMapIntTotalVo);
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -2808,6 +2888,26 @@
if (orderFromList != null && orderFromList.size() > 0) {
orderFromList = bigListRemoveNull(orderFromList);
mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList);
+ }
+ //订单分布
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
+ mgtBaseShopDto.setEndDate(DateUtils.getDate());
+ mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ }
+ 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);
}
return mgtTotalOrderTotalVo;
}
@@ -2853,8 +2953,14 @@
*/
@Override
public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) {
- //获取基础统计
+ //获取基础统计 总订单数 订单金额 参与人数
MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto);
+ //获客人数
+ MgtTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getTotalActivityMemberTotal(mgtBaseShopDto);
+ totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson());
+ totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson());
+ totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson());
+ totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson());
//获取商品分类销售数据
List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto);
if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
@@ -2867,40 +2973,95 @@
totalActivityTotalVo.setExperienceTotal(0);
totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
- MgtMapIntTotalVo MgtMapIntTotalVo;
+ MgtMapIntTotalVo mgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
- MgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- MgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- MgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- MgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- MgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
- goodsTypeTotalList.add(MgtMapIntTotalVo);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
}
+
//获取订单分布
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
+ mgtBaseShopDto.setEndDate(DateUtils.getDate());
+ mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ }
List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto);
if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
String[] orderTotalKey = new String[MgtMapIntTotalVos.size()];
@@ -2915,6 +3076,71 @@
totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
totalActivityTotalVo.setOrderMoneyValue(orderMoneyValue);
}
+ //参与人数
+ List<MgtMapIntTotalVo> joinList = orderMapper.getActivityMemberTotal(mgtBaseShopDto);
+ // 将查询结果转为Map
+ Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
+ if (joinList != null && !joinList.isEmpty()) {
+ mgtMapIntTotalVoMap = joinList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 获取日期范围
+ List<String> dateList = getDateRange(mgtBaseShopDto.getStartDate(), mgtBaseShopDto.getEndDate());
+ int size = dateList.size();
+ // 创建日期和成员总数的数组
+ String[] joinMemberTotalKey = new String[size];
+ Integer[] joinMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ String str;
+ Integer value;
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ joinMemberTotalKey[i] = str;
+ value = mgtMapIntTotalVoMap.get(str);
+ joinMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
+ totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
+ return totalActivityTotalVo;
+ }
+
+ @Override
+ public MgtTotalActivityTotalVo getTotalActivityJoinMemberTotal(MgtBaseShopDto mgtBaseShopDto) {
+ MgtTotalActivityTotalVo totalActivityTotalVo = new MgtTotalActivityTotalVo();
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){
+ mgtBaseShopDto.setEndDate(DateUtils.getDate());
+ mgtBaseShopDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ }
+ if(mgtBaseShopDto.getAgeType()!=null){
+ List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBaseShopDto.getAgeType()).getData();
+ mgtBaseShopDto.setUserIdList(userIdList);
+ }
+ //参与人数
+ List<MgtMapIntTotalVo> joinList = orderMapper.getActivityMemberTotal(mgtBaseShopDto);
+ // 将查询结果转为Map
+ Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
+ if (joinList != null && !joinList.isEmpty()) {
+ mgtMapIntTotalVoMap = joinList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 获取日期范围
+ List<String> dateList = getDateRange(mgtBaseShopDto.getStartDate(), mgtBaseShopDto.getEndDate());
+ int size = dateList.size();
+ // 创建日期和成员总数的数组
+ String[] joinMemberTotalKey = new String[size];
+ Integer[] joinMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ String str;
+ Integer value;
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ joinMemberTotalKey[i] = str;
+ value = mgtMapIntTotalVoMap.get(str);
+ joinMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
+ totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
return totalActivityTotalVo;
}
@@ -2925,7 +3151,7 @@
* @author jqs
* @date 2023/6/20 9:56
*/
- @Override
+ /*@Override
public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto) {
List<Long> userIds = orderMapper.getUserIdAgeRank(mgtActivityAgeDto);
mgtActivityAgeDto.setUserIds(userIds);
@@ -2947,7 +3173,7 @@
totalActivityTotalVo.setActivityAgeKey(activityAgeKey);
totalActivityTotalVo.setActivityAgeValue(activityAgeValue);
return totalActivityTotalVo;
- }
+ }*/
/**
* @param mgtBaseShopDto
@@ -3023,10 +3249,28 @@
mgtBasePlatformDto.setUserIdList(userIdList);
}
}
- List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ List<Long> shopIdList = new ArrayList<>();
+ if(mgtBasePlatformDto.getShopId()!=null){
+ shopIdList.add(mgtBasePlatformDto.getShopId());
+ }else{
+ shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ }
List<MgtTotalDataTotalVo> mgtTotalDataTotalVoList = new ArrayList<>();
MgtBaseShopDto mgtBaseShopDto;
MgtTotalDataTotalVo mgtTotalDataTotalVo;
+ MgtSimpleShopVo simpleShopVo;
+ HashSet<String> set = new HashSet<>();
+ // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
+ for (Long entity : shopIdList) {
+ set.add(entity.toString());
+ }
+ String joinedString = String.join(",", set);
+ MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+ mgtBaseBathDto.setIds(joinedString);
+ List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
+ // 将MgtSimpleShopVoList转换为Map<Long, MgtSimpleShopVo>,以便后续根据shopId获取对应的MgtSimpleShopVo
+ Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
+ .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
if (shopIdList != null && !shopIdList.isEmpty()) {
for (Long shopId : shopIdList) {
mgtBaseShopDto = new MgtBaseShopDto();
@@ -3034,8 +3278,10 @@
mgtBaseShopDto.setEndDate(mgtBasePlatformDto.getEndDate());
mgtBaseShopDto.setShopId(shopId);
mgtTotalDataTotalVo = this.getTotalDataTotal(mgtBaseShopDto);
- Shop shop = remoteShopService.getShop(shopId).getData();
- mgtTotalDataTotalVo.setShopName(shop.getShopName());
+ simpleShopVo = shopMap.get(shopId);
+ if (simpleShopVo!=null) {
+ mgtTotalDataTotalVo.setShopName(simpleShopVo.getShopName());
+ }
mgtTotalDataTotalVoList.add(mgtTotalDataTotalVo);
}
}
@@ -3067,23 +3313,13 @@
}
}
List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ if(mgtBasePlatformDto.getShopId()!=null){
+ shopIdList = new ArrayList<>();
+ shopIdList.add(mgtBasePlatformDto.getShopId());
+ }
mgtBasePlatformDto.setShopIdList(shopIdList);
//获取基础统计
MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getPlTotalOrderTotalOrderFrom(mgtBasePlatformDto);
- 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> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto);
List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
@@ -3095,34 +3331,83 @@
mgtTotalOrderTotalVo.setExperienceTotal(0);
mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO);
if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
- MgtMapIntTotalVo MgtMapIntTotalVo;
+ MgtMapIntTotalVo mgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
- MgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- MgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- MgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- MgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- MgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
- goodsTypeTotalList.add(MgtMapIntTotalVo);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -3140,6 +3425,36 @@
orderFromList = bigListRemoveNull(orderFromList);
mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList);
}
+ //订单分布
+ //日期全部时固定为5天
+ Boolean fillZero = false;
+ if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
+ mgtBasePlatformDto.setEndDate(DateUtils.getDate());
+ mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ fillZero = true;
+ }
+ 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();
+ }
+ if(fillZero){
+ MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue);
+ mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey());
+ mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue());
+ mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue());
+ }else{
+ mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey);
+ mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue);
+ mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue);
+ }
+
+ }
return mgtTotalOrderTotalVo;
}
@@ -3152,8 +3467,11 @@
*/
@Override
public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) {
+ if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
+ return new MgtPlTotalActivityTotalVo();
+ }
//获取需要关联的用户id集合
- if (mgtBasePlatformDto.getDeptId() != null) {
+ /*if (mgtBasePlatformDto.getDeptId() != null) {
List<Long> userIdList = new ArrayList<>();
if (mgtBasePlatformDto.getUserId() != null) {
userIdList.add(mgtBasePlatformDto.getUserId());
@@ -3166,11 +3484,21 @@
if (!userIdList.isEmpty()) {
mgtBasePlatformDto.setUserIdList(userIdList);
}
- }
+ }*/
List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ if(mgtBasePlatformDto.getShopId()!=null){
+ shopIdList = new ArrayList<>();
+ shopIdList.add(mgtBasePlatformDto.getShopId());
+ }
mgtBasePlatformDto.setShopIdList(shopIdList);
//获取基础统计
MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
+ //获客人数
+ MgtPlTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getPlTotalActivityMemberTotal(mgtBasePlatformDto);
+ totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson());
+ totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson());
+ totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson());
+ totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson());
//获取商品分类销售数据
List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto);
List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
@@ -3182,36 +3510,92 @@
totalActivityTotalVo.setExperienceTotal(0);
totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO);
if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
- MgtMapIntTotalVo MgtMapIntTotalVo;
+ MgtMapIntTotalVo mgtMapIntTotalVo;
MgtMapBigTotalVo mgtMapBigTotalVo;
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
- MgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
- MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+ mgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond());
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
- MgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
- MgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
- MgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
- MgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList);
+ }
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
+ mgtBasePlatformDto.setEndDate(DateUtils.getDate());
+ mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
}
//获取订单分布
List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto);
@@ -3240,18 +3624,28 @@
mgtBaseBathDto.setIds(joinedString);
List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
// 将MgtSimpleShopVoList转换为Map<Long, MgtSimpleShopVo>,以便后续根据shopId获取对应的MgtSimpleShopVo
- Map<Long, MgtSimpleShopVo> map = simpleShopVoList.stream()
+ Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
.collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
//商户活动次数排名
List<MgtMapBigTotalVo> shopActivityRank = orderMapper.listPlTotalShopActivityRank(mgtBasePlatformDto);
if (shopActivityRank != null && shopActivityRank.size() > 0) {
shopActivityRank = bigListRemoveNull(shopActivityRank);
+ for(MgtMapBigTotalVo mgtMapBigTotalVo : shopActivityRank){
+ if(shopMap.get(mgtMapBigTotalVo.getMapKey())!=null){
+ mgtMapBigTotalVo.setMapKey(shopMap.get(mgtMapBigTotalVo.getMapKey()).getShopName());
+ }
+ }
totalActivityTotalVo.setShopSalesRankList(shopActivityRank);
}
//商户活动销售额排名
List<MgtMapBigTotalVo> shopActivitySalesRank = orderMapper.listPlTotalShopActivitySalesRank(mgtBasePlatformDto);
if (shopActivitySalesRank != null && shopActivitySalesRank.size() > 0) {
shopActivitySalesRank = bigListRemoveNull(shopActivitySalesRank);
+ for(MgtMapBigTotalVo mgtMapBigTotalVo : shopActivitySalesRank){
+ if(shopMap.get(mgtMapBigTotalVo.getMapKey())!=null){
+ mgtMapBigTotalVo.setMapKey(shopMap.get(mgtMapBigTotalVo.getMapKey()).getShopName());
+ }
+ }
totalActivityTotalVo.setShopSalesRankList(shopActivitySalesRank);
}
//活动销售额排名
@@ -3260,8 +3654,182 @@
activitySalesRank = bigListRemoveNull(activitySalesRank);
totalActivityTotalVo.setActivitySalesRankList(activitySalesRank);
}
+ MerTotalDto merTotalDto = new MerTotalDto();
+ merTotalDto.setAgeType(mgtBasePlatformDto.getAgeType());
+ if(mgtBasePlatformDto.getAgeType()!=null){
+ List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ //参与人数
+ List<MgtMapIntTotalVo> joinList = orderMapper.getMgtActivityMemberTotal(mgtBasePlatformDto);
+ // 将查询结果转为Map
+ Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
+ if (joinList != null && !joinList.isEmpty()) {
+ mgtMapIntTotalVoMap = joinList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 获取日期范围
+ List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
+ int size = dateList.size();
+ // 创建日期和成员总数的数组
+ String[] joinMemberTotalKey = new String[size];
+ Integer[] joinMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ String str;
+ Integer value;
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ joinMemberTotalKey[i] = str;
+ value = mgtMapIntTotalVoMap.get(str);
+ joinMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
+ totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
+ //获客人数
+ List<MgtMapIntTotalVo> getList = orderMapper.getMgtActivityGetMemberTotal(mgtBasePlatformDto);
+ // 将查询结果转为Map
+ Map<String, Integer> getMemberMap = new HashMap<>();
+ if (getList != null && !getList.isEmpty()) {
+ getMemberMap = getList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 创建日期和成员总数的数组
+ String[] getMemberTotalKey = new String[size];
+ Integer[] getMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ getMemberTotalKey[i] = str;
+ value = getMemberMap.get(str);
+ getMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
+ totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);
return totalActivityTotalVo;
}
+
+
+ @Override
+ public MgtPlTotalActivityTotalVo getPlTotalActivityJoinMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
+ if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
+ return new MgtPlTotalActivityTotalVo();
+ }
+ //获取需要关联的用户id集合
+ /*if (mgtBasePlatformDto.getDeptId() != null) {
+ List<Long> userIdList = new ArrayList<>();
+ if (mgtBasePlatformDto.getUserId() != null) {
+ userIdList.add(mgtBasePlatformDto.getUserId());
+ } else {
+ MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
+ mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
+ mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
+ userIdList = mgtUserIdByDept.getUserIdList();
+ }
+ if (!userIdList.isEmpty()) {
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ }*/
+ if(mgtBasePlatformDto.getAgeType()!=null){
+ List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ mgtBasePlatformDto.setShopIdList(shopIdList);
+ MgtPlTotalActivityTotalVo totalActivityTotalVo = new MgtPlTotalActivityTotalVo();
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
+ mgtBasePlatformDto.setEndDate(DateUtils.getDate());
+ mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ }
+ //参与人数
+ List<MgtMapIntTotalVo> joinList = orderMapper.getMgtActivityMemberTotal(mgtBasePlatformDto);
+ // 将查询结果转为Map
+ Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
+ if (joinList != null && !joinList.isEmpty()) {
+ mgtMapIntTotalVoMap = joinList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 获取日期范围
+ List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
+ int size = dateList.size();
+ // 创建日期和成员总数的数组
+ String[] joinMemberTotalKey = new String[size];
+ Integer[] joinMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ String str;
+ Integer value;
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ joinMemberTotalKey[i] = str;
+ value = mgtMapIntTotalVoMap.get(str);
+ joinMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
+ totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
+ return totalActivityTotalVo;
+ }
+
+ @Override
+ public MgtPlTotalActivityTotalVo getPlTotalActivityGetMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
+ if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
+ return new MgtPlTotalActivityTotalVo();
+ }
+ //获取需要关联的用户id集合
+ /*if (mgtBasePlatformDto.getDeptId() != null) {
+ List<Long> userIdList = new ArrayList<>();
+ if (mgtBasePlatformDto.getUserId() != null) {
+ userIdList.add(mgtBasePlatformDto.getUserId());
+ } else {
+ MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
+ mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
+ mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
+ userIdList = mgtUserIdByDept.getUserIdList();
+ }
+ if (!userIdList.isEmpty()) {
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ }*/
+ if(mgtBasePlatformDto.getAgeType()!=null){
+ List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ mgtBasePlatformDto.setShopIdList(shopIdList);
+ MgtPlTotalActivityTotalVo totalActivityTotalVo = new MgtPlTotalActivityTotalVo();
+ //日期全部时固定为5天
+ if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
+ mgtBasePlatformDto.setEndDate(DateUtils.getDate());
+ mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+ }
+ //获客人数
+ List<MgtMapIntTotalVo> getList = orderMapper.getMgtActivityGetMemberTotal(mgtBasePlatformDto);
+ // 将查询结果转为Map
+ Map<String, Integer> getMemberMap = new HashMap<>();
+ if (getList != null && !getList.isEmpty()) {
+ getMemberMap = getList.stream()
+ .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+ }
+ // 获取日期范围
+ List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
+ int size = dateList.size();
+ // 创建日期和成员总数的数组
+ String[] getMemberTotalKey = new String[size];
+ Integer[] getMemberTotalValue = new Integer[size];
+ // 遍历日期列表,设置日期和成员总数的数组
+ String str;
+ Integer value;
+ // 遍历日期列表,设置日期和成员总数的数组
+ for (int i = 0; i < size; i++) {
+ str = dateList.get(i);
+ getMemberTotalKey[i] = str;
+ value = getMemberMap.get(str);
+ getMemberTotalValue[i] = (value != null) ? value : 0;
+ }
+ totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
+ totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);
+ return totalActivityTotalVo;
+ }
+
/**
* @param mgtPlActivityAgeDto
@@ -3270,7 +3838,7 @@
* @author jqs
* @date 2023/6/20 9:56
*/
- @Override
+ /*@Override
public MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto) {
List<Long> userIds = orderMapper.getPlUserIdAgeRank(mgtPlActivityAgeDto);
MgtActivityAgeDto mgtActivityAgeDto = new MgtActivityAgeDto();
@@ -3294,7 +3862,7 @@
plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey);
plTotalActivityTotalVo.setActivityAgeValue(activityAgeValue);
return plTotalActivityTotalVo;
- }
+ }*/
/**
* @param verifyCode
@@ -3518,6 +4086,7 @@
*/
@Override
public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto) {
+ //获取查询的商户列表
if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
merTotalDto.setShopIdList(shopIdList);
@@ -3576,6 +4145,7 @@
String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()];
Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()];
BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()];
+ //数据为空返回空数组
if (mgtMapTotalPlusVoList != null && !mgtMapTotalPlusVoList.isEmpty()) {
MgtMapTotalPlusVo mgtMapTotalPlusVo;
for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) {
@@ -3584,6 +4154,7 @@
orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst();
orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond();
}
+ //补充日期到近5日
orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue);
}else{
orderDistributionTotalVo.setOrderTotalKey(orderTotalKey);
@@ -3631,6 +4202,10 @@
bigTotal = hundredBig;
}
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
@@ -3641,17 +4216,62 @@
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
goodsTypeTotalList.add(mgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -3871,7 +4491,7 @@
@Override
@Transactional
public void payBack(PartnerTransactionsResult transaction) {
-
+ log.info("订单支付回调---"+transaction.toString());
// Order order = this.getById(orderId);
// 更新订单状态 outTradeNo
String outTradeNo = transaction.getOutTradeNo();
@@ -3924,6 +4544,8 @@
Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId());
if (bugGoodsNum == null || bugGoodsNum < 1) {
goodsTotalChangeDto.setPersonNum(1);
+ }else{
+ goodsTotalChangeDto.setPersonNum(0);
}
goodsTotalChangeDtoList.add(goodsTotalChangeDto);
}
@@ -4061,6 +4683,9 @@
Boolean haveService = false;
Boolean haveExperience = false;
Boolean haveGoods = false;
+ //商品统计回退
+ List<GoodsTotalChangeDto> goodsTotalChangeDtoList = new ArrayList<>();
+ GoodsTotalChangeDto goodsTotalChangeDto;
List<OrderGoods> orderGoodsList = orderGoodsService.listByOrderId(orderId);
if (orderGoodsList != null && !orderGoodsList.isEmpty()) {
StringJoiner memberCouponSJ = new StringJoiner(",");
@@ -4096,6 +4721,7 @@
} else {
memberCouponSJ.add(orderGoods.getCouponId());
}
+ //会员统计更新
switch (orderGoods.getGoodsType()) {
case 1:
cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney());
@@ -4116,7 +4742,21 @@
default:
break;
}
+ //商品统计更新
+ goodsTotalChangeDto = new GoodsTotalChangeDto();
+ goodsTotalChangeDto.setGoodsId(orderGoods.getGoodsId());
+ goodsTotalChangeDto.setChangeType(2);
+ goodsTotalChangeDto.setChangeNum(orderGoods.getBuyNum());
+ goodsTotalChangeDto.setMoney(orderGoods.getGoodsReceivableMoney());
+ Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId());
+ if (bugGoodsNum == null || bugGoodsNum <= orderGoods.getBuyNum()) {
+ goodsTotalChangeDto.setPersonNum(1);
+ }else{
+ goodsTotalChangeDto.setPersonNum(0);
+ }
+ goodsTotalChangeDtoList.add(goodsTotalChangeDto);
}
+ remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList);
//回退优惠券
if (memberCouponSJ != null) {
remoteCouponService.backMemberCoupon(memberCouponSJ.toString());
@@ -4366,6 +5006,15 @@
return orderDistributionTotalVo;
}
+ /**
+ * @description 补时间
+ * @author jqs
+ * @date 2023/8/28 15:03
+ * @param orderTotalKey
+ * @param orderTotalValue
+ * @param orderMoneyValue
+ * @return MerOrderDistributionTotalVo
+ */
public MerOrderDistributionTotalVo fillOrderTotalKeyAndValuesToRecentFiveDays(String[] orderTotalKey,Integer[] orderTotalValue,BigDecimal[] orderMoneyValue) {
MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo();
// 获取当前日期
@@ -4407,6 +5056,7 @@
orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue);
return orderDistributionTotalVo;
}
+
private int getIndexInOrderTotalKey(String day,String[] orderTotalKey) {
for (int i = 0; i < orderTotalKey.length; i++) {
@@ -4451,6 +5101,10 @@
bigTotal = hundredBig;
}
// 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组
+ Boolean noCycle = true;
+ Boolean noService = true;
+ Boolean noExperience = true;
+ Boolean noGoods = true;
for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) {
mgtMapIntTotalVo = new MgtMapIntTotalVo();
mgtMapBigTotalVo = new MgtMapBigTotalVo();
@@ -4461,17 +5115,62 @@
if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) {
mgtMapIntTotalVo.setMapKey("周期");
mgtMapBigTotalVo.setMapKey("周期");
+ noCycle= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) {
mgtMapIntTotalVo.setMapKey("服务");
mgtMapBigTotalVo.setMapKey("服务");
+ noService= false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) {
mgtMapIntTotalVo.setMapKey("体验");
mgtMapBigTotalVo.setMapKey("体验");
+ noExperience = false;
} else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
mgtMapIntTotalVo.setMapKey("单品");
mgtMapBigTotalVo.setMapKey("单品");
+ noGoods = false;
}
goodsTypeTotalList.add(mgtMapIntTotalVo);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ //补充缺少类型
+ if(noCycle){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("周期");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("周期");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noService){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("服务");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("服务");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noExperience){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("体验");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("体验");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
+ goodsTypeMoneyList.add(mgtMapBigTotalVo);
+ }
+ if(noGoods){
+ mgtMapIntTotalVo = new MgtMapIntTotalVo();
+ mgtMapIntTotalVo.setMapKey("单品");
+ mgtMapIntTotalVo.setMapValue(0);
+ goodsTypeTotalList.add(mgtMapIntTotalVo);
+ mgtMapBigTotalVo = new MgtMapBigTotalVo();
+ mgtMapBigTotalVo.setMapKey("单品");
+ mgtMapBigTotalVo.setMapValue(BigDecimal.ZERO);
goodsTypeMoneyList.add(mgtMapBigTotalVo);
}
orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList);
@@ -4743,17 +5442,6 @@
for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
userId = merOrderPageVo.getUserId();
userIdSj.add(userId.toString());
- orderFrom = merOrderPageVo.getOrderFrom();
- if (orderFrom != null) {
- if (orderFrom == 1) {
- orderFromDesc = "商城订单";
- } else {
- orderFromDesc = "线下创建";
- }
- } else {
- orderFromDesc = "商城订单";
- }
- merOrderPageVo.setOrderFromDesc(orderFromDesc);
if(merOrderPageVo.getUnPaidMoney().compareTo(zeroBig)<0){
merOrderPageVo.setUnPaidMoney(zeroBig);
}
@@ -4813,4 +5501,16 @@
AgencyTotalVo agencyTotalVo = orderMapper.getAgencyTotalVo(shopIdList);
return agencyTotalVo;
}
+
+ /**
+ * @description 商户端会员订单统计
+ * @author jqs
+ * @date 2023/8/29 17:39
+ * @param merBaseDto
+ * @return MerMemberSimpleTotalVo
+ */
+ @Override
+ public MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(MerBaseDto merBaseDto){
+ return orderMapper.getMerMemberSimpleTotalVo(merBaseDto);
+ }
}
--
Gitblit v1.7.1