From e153b340f4371ea7bbeb3009a382837ffd60a4b9 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 28 八月 2023 18:12:01 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml | 2 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 8 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/account/OrderPaymentService.java | 1 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java | 10 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 113 ++++--- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtSysStaffImportDto.java | 9 ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java | 3 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 6 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 593 ++++++++++++++++++++++++++++++++++++++--- ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml | 2 ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml | 1 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java | 39 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtTotalController.java | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTotalController.java | 1 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml | 1 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml | 3 18 files changed, 676 insertions(+), 125 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java index 1fbb682..26d846a 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java @@ -28,7 +28,7 @@ @Override public R<Boolean> saveLog(SysOperLog sysOperLog, String source) { - return null; + return R.fail("日志服务调用失败:" + throwable.getMessage()); } @Override diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java index 5220e2a..76c7ad0 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java @@ -114,13 +114,14 @@ getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); // 设置消耗时间 operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get()); + log.info("日志打印"+operLog.toString()); // 保存数据库 asyncLogService.saveSysLog(operLog); } catch (Exception exp) { // 记录本地异常日志 - log.error("异常信息:{}", exp.getMessage()); + log.error("日志异常信息:{}", exp.getMessage()); exp.printStackTrace(); } finally @@ -155,7 +156,7 @@ // 是否需要保存response,参数和值 if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) { - operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000)); + operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 1000)); } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml index 47f06d7..d3d88c2 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -198,7 +198,7 @@ FROM t_goods tg INNER JOIN t_goods_total tgt ON tg.goods_id = tgt.goods_id LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{param.shopId} AND del_flag = 0 + LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{param.shopId} AND tsg.del_flag = 0 WHERE tg.del_flag = 0 AND tg.goods_status = 1 <if test="param.goodsType!=null and param.goodsType != ''"> AND tg.goods_type = #{param.goodsType} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtTotalController.java index 893c878..1ecfc03 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtTotalController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtTotalController.java @@ -36,7 +36,6 @@ @ApiOperation(value = "获取商户会员人数统计(商户管理-统计经营-会员统计)") public R<MgtTotalMemberTotalVo> getTotalMemberTotal(@RequestBody MgtBaseShopDto mgtBaseShopDto) { Long userId = SecurityUtils.getUserId(); - mgtBaseShopDto.setUserId(userId); MgtTotalMemberTotalVo totalMemberTotalVo = memberService.getTotalMemberTotal(mgtBaseShopDto); return R.ok(totalMemberTotalVo); } @@ -45,7 +44,6 @@ @ApiOperation(value = "获取平台会员人数统计(统计-会员统计)") public R<MgtPlTotalMemberTotalVo> getPlTotalMemberTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); MgtPlTotalMemberTotalVo plTotalMemberTotal = memberService.getPlTotalMemberTotal(mgtBasePlatformDto); return R.ok(plTotalMemberTotal); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java index 802ae68..0fbedd3 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java @@ -42,7 +42,7 @@ public R<MgtTotalOrderTotalVo> getTotalOrderTotal(@RequestBody MgtBaseShopDto mgtBaseShopDto) { Long userId = SecurityUtils.getUserId(); - mgtBaseShopDto.setUserId(userId); + MgtTotalOrderTotalVo totalOrderTotalVo = orderService.getTotalOrderTotal(mgtBaseShopDto); return R.ok(totalOrderTotalVo); } @@ -51,8 +51,17 @@ @ApiOperation(value = "获取商户活动统计(商户管理-统计经营-活动统计)") public R<MgtTotalActivityTotalVo> getTotalActivityTotal(@RequestBody MgtBaseShopDto mgtBaseShopDto) { Long userId = SecurityUtils.getUserId(); - mgtBaseShopDto.setUserId(userId); + MgtTotalActivityTotalVo totalActivityTotal = orderService.getTotalActivityTotal(mgtBaseShopDto); + return R.ok(totalActivityTotal); + } + + @RequestMapping(value = "/getTotalActivityJoinMemberTotal", method = RequestMethod.POST) + @ApiOperation(value = "获取商户活动统计(商户管理-统计经营-活动统计-参与人数)") + public R<MgtTotalActivityTotalVo> getTotalActivityJoinMemberTotal(@RequestBody MgtBaseShopDto mgtBaseShopDto) { + Long userId = SecurityUtils.getUserId(); + + MgtTotalActivityTotalVo totalActivityTotal = orderService.getTotalActivityJoinMemberTotal(mgtBaseShopDto); return R.ok(totalActivityTotal); } @@ -69,7 +78,6 @@ @ApiOperation(value = "获取商户数据统计(商户管理-统计经营-数据统计)") public R<MgtTotalDataTotalVo> getTotalDataTotal(@RequestBody MgtBaseShopDto mgtBaseShopDto) { Long userId = SecurityUtils.getUserId(); - mgtBaseShopDto.setUserId(userId); MgtTotalDataTotalVo totalDataTotalVo = orderService.getTotalDataTotal(mgtBaseShopDto); return R.ok(totalDataTotalVo); } @@ -78,7 +86,6 @@ @ApiOperation(value = "获取平台商户数据统计(统计-店铺数据统计)") public R<List<MgtTotalDataTotalVo>> getPlTotalDataTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); List<MgtTotalDataTotalVo> totalDataTotalVoList = orderService.getPlTotalDataTotal(mgtBasePlatformDto); return R.ok(totalDataTotalVoList); } @@ -87,7 +94,7 @@ @ApiOperation(value = "导出平台商户数据统计(统计-店铺数据统计)") public void exportPlTotalDataTotal(MgtBasePlatformDto mgtBasePlatformDto, HttpServletResponse response) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); + List<MgtTotalDataTotalVo> totalDataTotalVoList = orderService.getPlTotalDataTotal(mgtBasePlatformDto); ExcelUtil<MgtTotalDataTotalVo> util = new ExcelUtil<MgtTotalDataTotalVo>(MgtTotalDataTotalVo.class); util.exportExcel(response, totalDataTotalVoList, "店铺数据统计列表"); @@ -97,7 +104,7 @@ @ApiOperation(value = "获取平台商户订单统计(统计-经营统计)") public R<MgtTotalOrderTotalVo> getPlTotalOrderTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); + MgtTotalOrderTotalVo totalOrderTotalVo = orderService.getPlTotalOrderTotal(mgtBasePlatformDto); return R.ok(totalOrderTotalVo); } @@ -106,11 +113,29 @@ @ApiOperation(value = "获取平台商户活动统计(统计-活动统计)") public R<MgtPlTotalActivityTotalVo> getPlTotalActivityTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); + MgtPlTotalActivityTotalVo totalActivityTotal = orderService.getPlTotalActivityTotal(mgtBasePlatformDto); return R.ok(totalActivityTotal); } + @RequestMapping(value = "/getPlTotalActivityJoinMemberTotal", method = RequestMethod.POST) + @ApiOperation(value = "获取平台商户活动统计(统计-活动统计-参与人数)") + public R<MgtPlTotalActivityTotalVo> getPlTotalActivityJoinMemberTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { + Long userId = SecurityUtils.getUserId(); + + MgtPlTotalActivityTotalVo totalActivityTotal = orderService.getPlTotalActivityJoinMemberTotal(mgtBasePlatformDto); + return R.ok(totalActivityTotal); + } + + @RequestMapping(value = "/getPlTotalActivityGetMemberTotal", method = RequestMethod.POST) + @ApiOperation(value = "获取平台商户活动统计(统计-活动统计-获客人数)") + public R<MgtPlTotalActivityTotalVo> getPlTotalActivityGetMemberTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { + Long userId = SecurityUtils.getUserId(); + + MgtPlTotalActivityTotalVo totalActivityTotal = orderService.getPlTotalActivityGetMemberTotal(mgtBasePlatformDto); + return R.ok(totalActivityTotal); + } + /*@RequestMapping(value = "/getPlTotalActivityAgeRank", method = RequestMethod.POST) @ApiOperation(value = "获取平台商户活动年龄分布") public R<MgtPlTotalActivityTotalVo> getPlTotalActivityAgeRank(@RequestBody MgtPlActivityAgeDto mgtPlActivityAgeDto) { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java index 9554c09..692067d 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java @@ -184,8 +184,7 @@ @ApiOperation(value = "支付订单") public R<AppPlaceOrderVo> payOrder(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); - AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); - + AppPlaceOrderVo appPlaceOrderVo = orderService.payOrder(appBaseGetDto.getId()); return R.ok(appPlaceOrderVo); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/account/OrderPaymentService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/account/OrderPaymentService.java index 7a60bf4..d0318a9 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/account/OrderPaymentService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/account/OrderPaymentService.java @@ -37,6 +37,7 @@ */ OrderPayment getByOrderId(String orderId); + OrderPayment getByUnpaidOrderId(String orderId); /** * * @param outTradeNo diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java index 589996f..8625cba 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java @@ -58,6 +58,16 @@ } @Override + public OrderPayment getByUnpaidOrderId(String orderId) { + LambdaQueryWrapper<OrderPayment> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(OrderPayment::getOrderId, orderId) + .eq(OrderPayment::getDelFlag, 0) + .eq(OrderPayment::getPayStatus, 1) + .last(" limit 1 "); + return this.getOne(queryWrapper); + } + + @Override public void updatePaySuccess(String outTradeNo, String transactionId) { LambdaUpdateWrapper<OrderPayment> updateWrapper = Wrappers.lambdaUpdate(); updateWrapper.eq(OrderPayment::getOutTradeNo, outTradeNo) 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 27c19ec..7562c5b 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 @@ -784,7 +784,7 @@ orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(), appPlaceOrderDto.getSpbillCreateIp(), goodsNameList,1); //生成自动取消订单延时任务 - String payStr = appPlaceOrderVo.getAppId()+"-"+appPlaceOrderVo.getTimeStamp()+"-"+appPlaceOrderVo.getNonceStr()+"-"+appPlaceOrderVo.getPackageStr()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getSignType()+"-"+appPlaceOrderVo.getPaySign(); + 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); @@ -1180,11 +1180,11 @@ } 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.getSignType()+"-"+appPlaceOrderVo.getPaySign(); + 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); @@ -1333,7 +1333,7 @@ if(order.getOrderStatus()!=1){ throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER); } - String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+orderId); + String payStr = redisService.getCacheObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+ "-"+orderId); if(StringUtils.isBlank(payStr)){ throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER); } @@ -1342,7 +1342,7 @@ delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); } AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); - OrderPayment orderPayment = orderPaymentService.getByOrderId(orderId); + OrderPayment orderPayment = orderPaymentService.getByUnpaidOrderId(orderId); String[] payArr = payStr.split("-"); appPlaceOrderVo.setOrderId(order.getOrderId()); appPlaceOrderVo.setOrderNo(order.getOrderNo()); @@ -1703,7 +1703,7 @@ } catch (WxPayException e) { resultMessage = String.format("订单分账:%s 分账失败:%s", orderNo, e.getMessage()); log.info(resultMessage); - e.printStackTrace(); + throw new ServiceException(resultMessage); } // 保存分账信息 @@ -2813,34 +2813,83 @@ 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); @@ -2861,8 +2910,8 @@ //订单分布 //日期全部时固定为5天 if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ - mgtBaseShopDto.setStartDate(DateUtils.getDate()); - mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + 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) { @@ -2942,34 +2991,83 @@ 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); @@ -2979,8 +3077,8 @@ //获取订单分布 //日期全部时固定为5天 if(StringUtils.isBlank(mgtBaseShopDto.getStartDate())){ - mgtBaseShopDto.setStartDate(DateUtils.getDate()); - mgtBaseShopDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + 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) { @@ -2995,6 +3093,46 @@ totalActivityTotalVo.setOrderTotalKey(orderTotalKey); 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); @@ -3129,10 +3267,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(); @@ -3140,8 +3296,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); } } @@ -3191,34 +3349,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); @@ -3239,8 +3446,8 @@ //订单分布 //日期全部时固定为5天 if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){ - mgtBasePlatformDto.setStartDate(DateUtils.getDate()); - mgtBasePlatformDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + mgtBasePlatformDto.setEndDate(DateUtils.getDate()); + mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); } List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { @@ -3273,7 +3480,7 @@ 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()); @@ -3286,7 +3493,7 @@ if (!userIdList.isEmpty()) { mgtBasePlatformDto.setUserIdList(userIdList); } - } + }*/ List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData(); mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 @@ -3308,41 +3515,90 @@ 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; } + } + //补充缺少类型 + 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.setStartDate(DateUtils.getDate()); - mgtBasePlatformDto.setEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); + mgtBasePlatformDto.setEndDate(DateUtils.getDate()); + mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4))); } //获取订单分布 List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto); @@ -3446,14 +3702,137 @@ // 遍历日期列表,设置日期和成员总数的数组 for (int i = 0; i < size; i++) { str = dateList.get(i); - joinMemberTotalKey[i] = str; + getMemberTotalKey[i] = str; value = getMemberMap.get(str); - joinMemberTotalValue[i] = (value != null) ? value : 0; + 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 @@ -3823,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(); @@ -3833,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); @@ -4063,7 +4491,7 @@ @Override @Transactional public void payBack(PartnerTransactionsResult transaction) { - + log.info("订单支付回调---"+transaction.toString()); // Order order = this.getById(orderId); // 更新订单状态 outTradeNo String outTradeNo = transaction.getOutTradeNo(); @@ -4558,6 +4986,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(); // 获取当前日期 @@ -4599,6 +5036,7 @@ orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); return orderDistributionTotalVo; } + private int getIndexInOrderTotalKey(String day,String[] orderTotalKey) { for (int i = 0; i < orderTotalKey.length; i++) { @@ -4643,6 +5081,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(); @@ -4653,19 +5095,64 @@ 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); orderTypeTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java index fec45aa..ffc2bfb 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java @@ -254,6 +254,8 @@ */ MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto); + MgtTotalActivityTotalVo getTotalActivityJoinMemberTotal(MgtBaseShopDto mgtBaseShopDto); + /** * @description 获取商户活动年龄分布 * @author jqs @@ -308,6 +310,10 @@ */ MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto); + MgtPlTotalActivityTotalVo getPlTotalActivityJoinMemberTotal(MgtBasePlatformDto mgtBasePlatformDto); + + MgtPlTotalActivityTotalVo getPlTotalActivityGetMemberTotal(MgtBasePlatformDto mgtBasePlatformDto); + /** * @description 获取商户活动年龄分布 * @author jqs diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 86bd659..5c3cbc5 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -922,7 +922,7 @@ COUNT(DISTINCT toc.user_id) AS mapValueThird FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id - WHERE toc.del_flag = 0 AND order_from = 2 + WHERE toc.del_flag = 0 AND order_from = 2 AND order_status IN (2,3) <if test="param.shopId != null and param.shopId != ''"> AND toc.shop_id = #{param.shopId} </if> @@ -1978,6 +1978,12 @@ <if test="param.shopId != null and param.shopId != ''"> AND toc.shop_id = #{param.shopId} </if> + <if test="param.userIdList !=null and param.userIdList.size()>0"> + AND toc.user_id IN + <foreach collection="param.userIdList" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> <if test="param.startDate!=null and param.startDate!=''"> AND Date(toc.create_time) >= #{param.startDate} </if> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTotalController.java index e612dc5..8232e62 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTotalController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTotalController.java @@ -34,7 +34,6 @@ @ApiOperation(value = "获取平台商户统计(统计-合作商统计)") public R<MgtPlTotalShopTotalVo> getPlTotalShopTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) { Long userId = SecurityUtils.getUserId(); - mgtBasePlatformDto.setUserId(userId); MgtPlTotalShopTotalVo totalShopTotalVo = shopService.getPlTotalShopTotal(mgtBasePlatformDto); return R.ok(totalShopTotalVo); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml index 796d85f..a391545 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml @@ -34,6 +34,7 @@ shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + wx: pay: appId: wxb7f0ea286fc4e535 diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml index 82a2e80..6c28571 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml @@ -627,6 +627,9 @@ ts.shop_id FROM t_shop ts WHERE ts.del_flag = 0 + <if test="param.userId!=null and param.userId!=''"> + AND ts.belong_user_id = #{param.userId} + </if> <if test="param.userIdList!=null and param.userIdList.size()>0"> AND ts.belong_user_id IN <foreach collection="param.userIdList" item="item" open="(" separator="," close=")"> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtSysStaffImportDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtSysStaffImportDto.java index 52bfa3e..9580989 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtSysStaffImportDto.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtSysStaffImportDto.java @@ -39,4 +39,13 @@ @Excel(name = "个人邮箱") private String email; + + @Excel(name = "地址") + private String address; + + @Excel(name = "视频号") + private String videoNumber; + + @Excel(name = "禁用状态") + private String userStatus; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java index 16ea7c2..4a82092 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java @@ -322,60 +322,67 @@ .collect(Collectors.toMap(DeptSimpleVo::getDeptName, Function.identity())); for (MgtSysStaffImportDto entity : staffImportDtoList) { try { - department = entity.getDepartment(); - lastIndex = department.indexOf(";"); - department = (lastIndex != -1) ? department.substring(0, lastIndex) : department; - firstIndex = department.lastIndexOf("/"); - secondIndex = department.lastIndexOf('/', firstIndex - 1); - thirdIndex = department.lastIndexOf('/', secondIndex - 1); - departmentFirst = department.substring(firstIndex + 1); - deptSimpleVo = deptMap.get(departmentFirst); - if(deptSimpleVo==null){ - departmentSecond = department.substring(secondIndex + 1, firstIndex); - deptSimpleVo = deptMap.get(departmentSecond); - } - if(deptSimpleVo==null){ - departmentThird = department.substring(thirdIndex + 1, secondIndex); - deptSimpleVo = deptMap.get(departmentThird); - } - if(deptSimpleVo!=null&&StringUtils.isNotBlank(entity.getMobile())){ - LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(SysStaff::getDelFlag,0); - queryWrapper.eq(SysStaff::getStaffMobile,entity.getMobile()); - SysStaff sysStaffSame = this.getOne(queryWrapper, false); - if(sysStaffSame!=null){ - sysStaffSame.setStaffName(entity.getStaffName()); - sysStaffSame.setStaffPost(entity.getPost()); - sysStaffSame.setWxUserId(entity.getUserName()); - if(StringUtils.isNotBlank(entity.getEmail())){ - sysStaffSame.setStaffEmail(entity.getEmail()); - } - this.saveOrUpdate(sysStaffSame); - sysUser = sysUserService.selectUserById(sysStaffSame.getUserId()); - sysUser.setDeptId(deptSimpleVo.getDeptId()); - sysUser.setNickName(entity.getStaffName()); - if(entity.getGender().equals("男")){ - sysUser.setSex("0"); - }else if(entity.getGender().equals("女")){ - sysUser.setSex("1"); + if(StringUtils.isNotBlank(entity.getMobile())){ + if(StringUtils.isNotBlank(entity.getUserStatus())&&entity.getUserStatus().equals("禁用")){ + continue; + } + department = entity.getDepartment(); + lastIndex = department.indexOf(";"); + department = (lastIndex != -1) ? department.substring(0, lastIndex) : department; + firstIndex = department.lastIndexOf("/"); + secondIndex = department.lastIndexOf('/', firstIndex - 1); + thirdIndex = department.lastIndexOf('/', secondIndex - 1); + departmentFirst = department.substring(firstIndex + 1); + deptSimpleVo = deptMap.get(departmentFirst); + if(deptSimpleVo==null){ + departmentSecond = department.substring(secondIndex + 1, firstIndex); + deptSimpleVo = deptMap.get(departmentSecond); + } + if(deptSimpleVo==null){ + departmentThird = department.substring(thirdIndex + 1, secondIndex); + deptSimpleVo = deptMap.get(departmentThird); + } + if(deptSimpleVo!=null&&StringUtils.isNotBlank(entity.getMobile())){ + LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(SysStaff::getDelFlag,0); + queryWrapper.eq(SysStaff::getStaffMobile,entity.getMobile()); + SysStaff sysStaffSame = this.getOne(queryWrapper, false); + if(sysStaffSame!=null){ + sysStaffSame.setStaffName(entity.getStaffName()); + sysStaffSame.setStaffPost(entity.getPost()); + sysStaffSame.setWxUserId(entity.getUserName()); + if(StringUtils.isNotBlank(entity.getEmail())){ + sysStaffSame.setStaffEmail(entity.getEmail()); + } + this.saveOrUpdate(sysStaffSame); + sysUser = sysUserService.selectUserById(sysStaffSame.getUserId()); + sysUser.setDeptId(deptSimpleVo.getDeptId()); + sysUser.setNickName(entity.getStaffName()); + if(entity.getGender().equals("男")){ + sysUser.setSex("0"); + }else if(entity.getGender().equals("女")){ + sysUser.setSex("1"); + }else{ + sysUser.setSex("2"); + } + if(StringUtils.isNotBlank(entity.getEmail())){ + sysUser.setEmail(entity.getEmail()); + } + sysUserService.updateOnlyUser(sysUser); + successNum = successNum + 1; }else{ - sysUser.setSex("2"); + MgtStaffEditDto mgtStaffEditDto = new MgtStaffEditDto(); + mgtStaffEditDto.setDeptId(deptSimpleVo.getDeptId()); + mgtStaffEditDto.setStaffName(entity.getStaffName()); + mgtStaffEditDto.setStaffMobile(entity.getMobile()); + mgtStaffEditDto.setStaffEmail(entity.getEmail()); + mgtStaffEditDto.setStaffPost(entity.getPost()); + mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/2023/8/26/362e964917304255aaa36a874063d198.jpg"); + mgtStaffEditDto.setHeadFlag("0"); + mgtStaffEditDto.setWxUserId(entity.getUserName()); + this.mgtStaffEdit(mgtStaffEditDto); + successNum = successNum + 1; } - if(StringUtils.isNotBlank(entity.getEmail())){ - sysUser.setEmail(entity.getEmail()); - } - sysUserService.updateOnlyUser(sysUser); - }else{ - MgtStaffEditDto mgtStaffEditDto = new MgtStaffEditDto(); - mgtStaffEditDto.setDeptId(deptSimpleVo.getDeptId()); - mgtStaffEditDto.setStaffName(entity.getStaffName()); - mgtStaffEditDto.setStaffMobile(entity.getMobile()); - mgtStaffEditDto.setStaffEmail(entity.getEmail()); - mgtStaffEditDto.setStaffPost(entity.getPost()); - mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/2023/8/26/362e964917304255aaa36a874063d198.jpg"); - mgtStaffEditDto.setHeadFlag("0"); - mgtStaffEditDto.setWxUserId(entity.getUserName()); - this.mgtStaffEdit(mgtStaffEditDto); } } /*tagName = entity.getTagName(); @@ -403,7 +410,7 @@ }*/ } catch (Exception e) { failureNum++; - String msg = "<br/>" + failureNum + "、标签 " + entity.getStaffName() + " 导入失败:"; + String msg = "<br/>" + failureNum + "员工 " + entity.getStaffName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml index fc7c6be..2a03699 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -42,7 +42,6 @@ max-file-size: 100MB max-request-size: 200MB location: /home/temp - wx: cp: corpId: ww11400938eb1b91bc diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml index 355b4e4..4f11130 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml @@ -245,7 +245,7 @@ LEFT JOIN sys_dept sd ON sd.dept_id = su.dept_id WHERE su.del_flag = '0' <if test="userIds != null and userIds != ''"> - AND FIND_IN_SET(#{userIds}, su.user_id) + AND FIND_IN_SET(su.user_id,#{userIds}) </if> </select> </mapper> \ No newline at end of file -- Gitblit v1.7.1