From cbc564a7088503ad8cc7af4e1d2ba417d061e615 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 30 六月 2023 11:35:05 +0800 Subject: [PATCH] 联调bug和统计完善 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 871 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 570 insertions(+), 301 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 0ef8cb1..a6a1a73 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 @@ -8,29 +8,29 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.security.utils.CodeFactoryUtil; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.ruoyi.order.domain.vo.*; +import com.ruoyi.order.mapper.order.OrderMapper; import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.OrderGoodsService; -import com.ruoyi.common.security.utils.CodeFactoryUtil; +import com.ruoyi.order.service.order.OrderService; import com.ruoyi.order.service.order.UserServiceRecordService; -import com.ruoyi.system.api.domain.dto.*; -import com.ruoyi.system.api.domain.vo.*; -import com.ruoyi.system.api.domain.vo.MgtMapTotalVo; -import com.ruoyi.system.api.service.*; import com.ruoyi.system.api.constant.AppErrorConstant; +import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.goods.Goods; import com.ruoyi.system.api.domain.poji.goods.GoodsFile; import com.ruoyi.system.api.domain.poji.goods.ShopGoods; import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.domain.poji.member.MemberCoupon; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; -import com.ruoyi.order.mapper.order.OrderMapper; -import com.ruoyi.order.service.order.OrderService; +import com.ruoyi.system.api.domain.vo.*; +import com.ruoyi.system.api.service.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -80,6 +80,8 @@ @Resource private UserServiceRecordService userServiceRecordService; + @Resource + private RemoteCouponService remoteCouponService; /** @@ -104,9 +106,9 @@ BigDecimal goodsPrice; BigDecimal goodsTotalPrice; BigDecimal goodsRealPrice; - List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); + List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData(); List<AppMemberCouponVo> appGoodsMemberCouponVoList; - Map<Long, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); + Map<String, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); AppMemberCouponVo appMemberCouponVo; Integer couponType; BigDecimal moneyThreshold; @@ -229,8 +231,8 @@ BigDecimal goodsPrice; BigDecimal goodsTotalPrice; BigDecimal goodsRealPrice; - List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); - Map<Long, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); + List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData(); + Map<String, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); AppMemberCouponVo appMemberCouponVo; Integer couponType; BigDecimal moneyThreshold; @@ -527,9 +529,13 @@ */ @Override public MerVerifyOrderVo verifyOrder(String orderId) { + // 创建返回对象 MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo(); + // 根据订单ID获取订单信息 Order order = this.getById(orderId); + // 根据订单ID获取订单商品列表 List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); + // 设置返回对象的属性值 merVerifyOrderVo.setOrderId(orderId); merVerifyOrderVo.setOrderNo(order.getOrderNo()); merVerifyOrderVo.setOrderStatus(order.getOrderStatus()); @@ -544,10 +550,12 @@ merVerifyOrderVo.setPayTime(order.getPayTime()); merVerifyOrderVo.setUseTime(order.getUseTime()); merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); + // 根据订单用户ID获取用户信息 SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData(); merVerifyOrderVo.setUserName(sysUser.getNickName()); merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber()); merVerifyOrderVo.setCloseFlag(order.getCloseFlag()); + // 返回结果 return merVerifyOrderVo; } @@ -575,12 +583,28 @@ this.saveOrUpdate(order); //创建服务商品 List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); + StringJoiner goodsIdSj = new StringJoiner(","); + for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { + goodsIdSj.add(appUserOrderGoodsPageVo.getGoodsId()); + } + String goodsIds = goodsIdSj.toString(); + List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(goodsIds).getData(); + Map<String, Goods> goodsMap = goodsList.stream() + .collect(Collectors.toMap(Goods::getGoodsId, Function.identity())); ConsumerGoods consumerGoods; String consumerGoodsId; Goods goods; + Integer serviceCount = 0; + Integer cycleService = 0; + Integer cyclePerson = 0; + Integer serviceService = 0; + Integer servicePerson = 0; + Integer experienceService = 0; + Integer experiencePerson = 0; + MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = consumerGoodsService.getMemberConsumerGoodsTotalVo(order.getUserId(), order.getShopId()); for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { consumerGoods = new ConsumerGoods(); - goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); + goods = goodsMap.get(appUserOrderGoodsPageVo.getGoodsId()); consumerGoodsId = IdUtils.simpleUUID(); consumerGoods.setConsumerGoodsId(consumerGoodsId); consumerGoods.setDelFlag(0); @@ -599,8 +623,36 @@ consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); consumerGoodsService.save(consumerGoods); + //处理商品服务次数 + if (consumerGoods.getCycleNumFlag() == 1) { + switch (goods.getGoodsType()) { + case 1: + cycleService = cycleService + appUserOrderGoodsPageVo.getServiceNum(); + break; + case 2: + serviceService = serviceService + appUserOrderGoodsPageVo.getServiceNum(); + break; + case 3: + experienceService = experienceService + appUserOrderGoodsPageVo.getServiceNum(); + break; + default: + break; + } + } } + //判断是否加人 + if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { + cyclePerson = 1; + } + if (serviceService > 0 && memberConsumerGoodsTotalVo.getServiceOrder() == 0) { + servicePerson = 1; + } + if (experienceService > 0 && memberConsumerGoodsTotalVo.getExperienceOrder() == 0) { + experiencePerson = 1; + } + serviceCount = cycleService + serviceService + experienceService; //生成返回 MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo(); merVerifyOrderVo.setOrderId(orderId); @@ -620,7 +672,89 @@ SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData(); merVerifyOrderVo.setUserName(sysUser.getNickName()); merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber()); + //更新商户和会员服务统计 + MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); + memberTotalChangeDto.setUserId(order.getUserId()); + memberTotalChangeDto.setTypeService(1); + memberTotalChangeDto.setServiceCount(serviceCount); + remoteMemberService.changeMemberTotal(memberTotalChangeDto); + ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); + shopTotalChangeDto.setShopId(order.getShopId()); + shopTotalChangeDto.setTypeCycleService(1); + shopTotalChangeDto.setCycleService(cycleService); + shopTotalChangeDto.setCyclePerson(cyclePerson); + shopTotalChangeDto.setTypeServiceService(1); + shopTotalChangeDto.setServiceService(serviceService); + shopTotalChangeDto.setServicePerson(servicePerson); + shopTotalChangeDto.setTypeExperienceService(1); + shopTotalChangeDto.setExperienceService(experienceService); + shopTotalChangeDto.setExperiencePerson(experiencePerson); + remoteShopService.changeShopTotal(shopTotalChangeDto); return merVerifyOrderVo; + } + + /** + * @param merVerifyCouponDto + * @return MerVerifyCouponVo + * @description 确认核销优惠券 + * @author jqs + * @date 2023/6/28 11:26 + */ + @Override + public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) { + MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()).getData(); + // 创建MerVerifyCouponVo对象 + MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo(); + // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象 + List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); + Long userId = verifyCouponGetVo.getUserId(); + // 调用remoteMemberService的getMember方法获取Member对象 + Member member = remoteMemberService.getMember(userId).getData(); + merVerifyCouponVo.setUserName(member.getNickName()); + merVerifyCouponVo.setUserMobile(member.getMobile()); + merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); + // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性 + List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream() + .map(goods -> { + MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo(); + merCouponGoods.setGoodsId(goods.getGoodsId()); + merCouponGoods.setGoodsName(goods.getGoodsName()); + // 设置其他属性 + return merCouponGoods; + }) + .collect(Collectors.toList()); + // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList + merVerifyCouponVo.setGoodsList(merCouponGoodsList); + MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon(); + //生成服务 + ConsumerGoods consumerGoods; + String consumerGoodsId; + GoodsFile goodsFile; + for (Goods goods : goodsList) { + consumerGoods = new ConsumerGoods(); + consumerGoodsId = IdUtils.simpleUUID(); + consumerGoods.setConsumerGoodsId(consumerGoodsId); + consumerGoods.setDelFlag(0); + consumerGoods.setServiceStatus(1); + consumerGoods.setShopId(memberCoupon.getShopId()); + consumerGoods.setUserId(memberCoupon.getUserId()); + consumerGoods.setSourceFrom(2); + consumerGoods.setMemberCouponId(memberCoupon.getId()); + consumerGoods.setGoodsId(goods.getGoodsId()); + consumerGoods.setGoodsName(goods.getGoodsName()); + consumerGoods.setCycleNumFlag(goods.getCycleNumFlag()); + consumerGoods.setServiceNum(goods.getServiceNum()); + consumerGoods.setUsedNum(0); + consumerGoods.setGoodsType(goods.getGoodsType()); + consumerGoods.setCreateTime(new Date()); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + goodsFile = remoteGoodsService.getGoodsFile(goods.getGoodsId()).getData(); + consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); + consumerGoods.setSourceFrom(1); + consumerGoodsService.save(consumerGoods); + } + return merVerifyCouponVo; } /** @@ -714,7 +848,7 @@ BigDecimal goodsRealPrice; Long shopId = merNewOrderDto.getShopId(); Shop shop = remoteShopService.getShop(shopId).getData(); - List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); + List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData(); Map<String, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); if (null != appMemberCouponVoList) { appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); @@ -734,6 +868,10 @@ String orderNo = CodeFactoryUtil.getShopOrderNo(); OrderGoods orderGoods; String orderGoodsId; + BigDecimal cycleMoney = new BigDecimal("0.00"); + BigDecimal experienceMoney = new BigDecimal("0.00"); + BigDecimal serviceMoney = new BigDecimal("0.00"); + BigDecimal goodsMoney = new BigDecimal("0.00"); for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { goodsId = appBuyGoodsDto.getGoodsId(); memberCouponId = appBuyGoodsDto.getMemberCouponId(); @@ -802,6 +940,22 @@ orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoodsService.save(orderGoods); + switch(orderGoods.getGoodsType()){ + case 1: + cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney()); + break; + case 2: + serviceMoney = serviceMoney.add(orderGoods.getGoodsReceivableMoney()); + break; + case 3: + experienceMoney = experienceMoney.add(orderGoods.getGoodsReceivableMoney()); + break; + case 4: + goodsMoney = goodsMoney.add(orderGoods.getGoodsReceivableMoney()); + break; + default: + break; + } } //创建订单 Order order = new Order(); @@ -876,6 +1030,13 @@ appMemberBindingDto.setBindingFlag(1); remoteMemberService.updateMemberBinding(appMemberBindingDto); } + ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); + shopTotalChangeDto.setShopId(order.getShopId()); + shopTotalChangeDto.setCycleMoney(cycleMoney); + shopTotalChangeDto.setServiceMoney(serviceMoney); + shopTotalChangeDto.setExperienceMoney(experienceMoney); + shopTotalChangeDto.setGoodsMoney(goodsMoney); + remoteShopService.changeShopTotal(shopTotalChangeDto); } @@ -1009,22 +1170,22 @@ @Override public List<MgtActivityOrderPageVo> pageMgtActivityOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto) { //如果区域代码不为null获取对应的商户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) { MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); - if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); } } //如果关键词不为null获取对应的用户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) { MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); - MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); - if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) { mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } } @@ -1058,7 +1219,7 @@ // 遍历列表,设置店铺名称、用户名称和未支付金额 for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) { mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName()); - if(userMap.get(mgtActivityOrderPageVo.getUserId())!=null){ + if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) { mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName()); } BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney()); @@ -1070,31 +1231,31 @@ } /** - * @description 获取订单统计 - * @author jqs - * @date 2023/6/16 12:51 * @param mgtShopOrderPageDto - * @return MgtMemberOrderTotalVo + * @return MgtMemberOrderTotalVo + * @description 获取订单统计 + * @author jqs + * @date 2023/6/16 12:51 */ @Override - public MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto){ + public MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto) { //如果区域代码不为null获取对应的商户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) { MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); - if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); } } //如果关键词不为null获取对应的用户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) { MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); - MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); - if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) { mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } } @@ -1116,32 +1277,32 @@ } /** - * @description 分页获取门店订单列表 - * @author jqs - * @date 2023/6/16 14:57 * @param page * @param mgtShopOrderPageDto - * @return List<MgtShopOrderPageVo> + * @return List<MgtShopOrderPageVo> + * @description 分页获取门店订单列表 + * @author jqs + * @date 2023/6/16 14:57 */ @Override - public List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto){ + public List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto) { //如果区域代码不为null获取对应的商户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode()) || StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())) { MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); - if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); } } //如果关键词不为null获取对应的用户id - if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + if (StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())) { MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); - MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); - if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) { mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } } @@ -1160,7 +1321,7 @@ // 从远程服务获取店铺和用户信息 Map<Long, MgtSimpleShopVo> shopMap = null; Map<Long, MgtSimpleMemberVo> userMap = null; - if(shopIdSet!=null&&!shopIdSet.isEmpty()){ + if (shopIdSet != null && !shopIdSet.isEmpty()) { String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); mgtBaseBathDto.setIds(shopJoinedString); @@ -1168,7 +1329,7 @@ shopMap = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); } - if(userIdSet!=null&&!userIdSet.isEmpty()){ + if (userIdSet != null && !userIdSet.isEmpty()) { String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList())); MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); mgtBaseBathDto.setIds(userJoinedString); @@ -1178,11 +1339,11 @@ } // 遍历列表,设置店铺名称、用户名称和未支付金额 for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) { - if(shopMap!=null&&!shopMap.isEmpty()){ + if (shopMap != null && !shopMap.isEmpty()) { mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName()); } - if(userMap!=null&&!userMap.isEmpty()){ - if(userMap.get(mgtShopOrderPageVo.getUserId())!=null){ + if (userMap != null && !userMap.isEmpty()) { + if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) { mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()); } } @@ -1195,14 +1356,14 @@ /** - * @description 获取订单详情 - * @author jqs - * @date 2023/6/16 16:49 * @param orderId - * @return MgtOrderDetailVo + * @return MgtOrderDetailVo + * @description 获取订单详情 + * @author jqs + * @date 2023/6/16 16:49 */ @Override - public MgtOrderDetailVo getMgtOrderDetail(String orderId){ + public MgtOrderDetailVo getMgtOrderDetail(String orderId) { // 创建MgtOrderDetailVo对象 MgtOrderDetailVo mgtOrderDetailVo = new MgtOrderDetailVo(); // 获取订单信息 @@ -1276,157 +1437,194 @@ } /** - * @description boardOrderTotal * @param * @return MgtBulletinBoardVo + * @description boardOrderTotal * @author jqs34 * @date 2023/6/18 17:20 */ @Override - public MgtBulletinBoardVo boardOrderTotal(){ + public MgtBulletinBoardVo boardOrderTotal() { MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(); return mgtBulletinBoardVo; } /** - * @description getTotalOrderTotal * @param mgtBaseShopDto * @return MgtTotalOrderTotalVo + * @description getTotalOrderTotal * @author jqs34 * @date 2023/6/19 22:23 */ @Override - public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto){ + public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto) { MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto); //MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto); - List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto); - if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) { - String[] orderTotalKey = new String[mgtMapTotalVos.size()]; - Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()]; - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey(); - orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond(); + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); } mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); } //获取商品分类销售数据 - List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto); - if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) { - String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()]; - Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()]; - BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()]; + List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto); + List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); + List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); + if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { + MgtMapIntTotalVo MgtMapIntTotalVo; + MgtMapBigTotalVo mgtMapBigTotalVo; // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) { - goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst(); - goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond(); - if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){ - goodsTypeKey[i] = "周期"; - mgtTotalOrderTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){ - goodsTypeKey[i] = "服务"; - mgtTotalOrderTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){ - goodsTypeKey[i] = "体验"; - mgtTotalOrderTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){ - goodsTypeKey[i] = "单品"; + for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + mgtMapBigTotalVo = new MgtMapBigTotalVo(); + MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); + if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { + MgtMapIntTotalVo.setMapKey("周期"); + mgtMapBigTotalVo.setMapKey("周期"); + mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { + MgtMapIntTotalVo.setMapKey("服务"); + mgtMapBigTotalVo.setMapKey("服务"); + mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { + MgtMapIntTotalVo.setMapKey("体验"); + mgtMapBigTotalVo.setMapKey("体验"); + mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { + MgtMapIntTotalVo.setMapKey("单品"); + mgtMapBigTotalVo.setMapKey("单品"); } + goodsTypeTotalList.add(MgtMapIntTotalVo); + goodsTypeMoneyList.add(mgtMapBigTotalVo); } - mgtTotalOrderTotalVo.setGoodsTypeKey(goodsTypeKey); - mgtTotalOrderTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue); - mgtTotalOrderTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue); + mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); + mgtTotalOrderTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } //获取商品销售排名 - List<MgtMapTotalPlusVo> goodsRankList = orderMapper.listTotalOrderTotalGoodsRank(mgtBaseShopDto); + List<MgtMapBigTotalVo> goodsRankList = orderMapper.listTotalOrderTotalGoodsRank(mgtBaseShopDto); if (goodsRankList != null && goodsRankList.size() > 0) { - String[] goodsRankKey = new String[goodsRankList.size()]; - BigDecimal[] goodsRankValue = new BigDecimal[goodsRankList.size()]; - // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < goodsRankList.size(); i++) { - goodsRankKey[i] = goodsRankList.get(i).getMapKey(); - goodsRankValue[i] = goodsRankList.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setGoodsRankKey(goodsRankKey); - mgtTotalOrderTotalVo.setGoodsRankValue(goodsRankValue); + goodsRankList = bigListRemoveNull(goodsRankList); + mgtTotalOrderTotalVo.setGoodsRankList(goodsRankList); } //获取来源销售排名 - List<MgtMapTotalPlusVo> orderFromList = orderMapper.listTotalOrderTotalOrderFrom(mgtBaseShopDto); + List<MgtMapBigTotalVo> orderFromList = orderMapper.listTotalOrderTotalOrderFrom(mgtBaseShopDto); if (orderFromList != null && orderFromList.size() > 0) { - String[] orderFromKey = new String[orderFromList.size()]; - BigDecimal[] orderFromValue = new BigDecimal[orderFromList.size()]; - // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < orderFromList.size(); i++) { - orderFromKey[i] = orderFromList.get(i).getMapKey(); - orderFromValue[i] = orderFromList.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setOrderFromRankKey(orderFromKey); - mgtTotalOrderTotalVo.setOrderFromRankValue(orderFromValue); + orderFromList = bigListRemoveNull(orderFromList); + mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); } return mgtTotalOrderTotalVo; } + /** + * @param MgtMapIntTotalVos + * @return List<MgtMapIntTotalVo> + * @description 去除空字符串 + * @author jqs + * @date 2023/6/27 17:35 + */ + private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos) { + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { + MgtMapIntTotalVos.remove(i); + } + } + return MgtMapIntTotalVos; + } /** - * @description - * @author jqs - * @date 2023/6/20 9:27 + * @param MgtMapIntTotalVos + * @return List<MgtMapIntTotalVo> + * @description 去除空字符串 + * @author jqs + * @date 2023/6/27 17:35 + */ + private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> MgtMapIntTotalVos) { + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { + MgtMapIntTotalVos.remove(i); + } + } + return MgtMapIntTotalVos; + } + + /** * @param mgtBaseShopDto - * @return MgtTotalActivityTotalVo + * @return MgtTotalActivityTotalVo + * @description + * @author jqs + * @date 2023/6/20 9:27 */ @Override - public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto){ + public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) { //获取基础统计 MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto); //获取商品分类销售数据 - List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto); - if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) { - String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()]; - Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()]; - BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()]; + List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto); + if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { + List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); + List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); + totalActivityTotalVo.setCycleTotal(0); + totalActivityTotalVo.setCycleMoney(BigDecimal.ZERO); + totalActivityTotalVo.setServiceTotal(0); + totalActivityTotalVo.setServiceMoney(BigDecimal.ZERO); + totalActivityTotalVo.setExperienceTotal(0); + totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO); // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) { - goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst(); - goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond(); - if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){ - goodsTypeKey[i] = "周期"; - totalActivityTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setCyclePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){ - goodsTypeKey[i] = "服务"; - totalActivityTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setServicePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){ - goodsTypeKey[i] = "体验"; - totalActivityTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setExperiencePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){ - goodsTypeKey[i] = "单品"; + MgtMapIntTotalVo MgtMapIntTotalVo; + MgtMapBigTotalVo mgtMapBigTotalVo; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + mgtMapBigTotalVo = new MgtMapBigTotalVo(); + MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); + if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { + MgtMapIntTotalVo.setMapKey("周期"); + mgtMapBigTotalVo.setMapKey("周期"); + totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { + MgtMapIntTotalVo.setMapKey("服务"); + mgtMapBigTotalVo.setMapKey("服务"); + totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { + MgtMapIntTotalVo.setMapKey("体验"); + mgtMapBigTotalVo.setMapKey("体验"); + totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { + MgtMapIntTotalVo.setMapKey("单品"); + mgtMapBigTotalVo.setMapKey("单品"); } + goodsTypeTotalList.add(MgtMapIntTotalVo); + goodsTypeMoneyList.add(mgtMapBigTotalVo); } - totalActivityTotalVo.setGoodsTypeKey(goodsTypeKey); - totalActivityTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue); - totalActivityTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue); + totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); + totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } //获取订单分布 - List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto); - if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) { - String[] orderTotalKey = new String[mgtMapTotalVos.size()]; - Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()]; - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey(); - orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond(); + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listTotalActivityTotal(mgtBaseShopDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); } totalActivityTotalVo.setOrderTotalKey(orderTotalKey); totalActivityTotalVo.setOrderTotalValue(orderTotalValue); @@ -1436,33 +1634,49 @@ } /** - * @description - * @author jqs - * @date 2023/6/20 9:56 * @param mgtActivityAgeDto - * @return MgtTotalActivityTotalVo + * @return MgtTotalActivityTotalVo + * @description + * @author jqs + * @date 2023/6/20 9:56 */ @Override - public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto){ + public MgtTotalActivityTotalVo getTotalActivityAgeRank(MgtActivityAgeDto mgtActivityAgeDto) { List<Long> userIds = orderMapper.getUserIdAgeRank(mgtActivityAgeDto); mgtActivityAgeDto.setUserIds(userIds); userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData(); mgtActivityAgeDto.setUserIds(userIds); - MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto); + List<MgtMapIntTotalVo> ageRankList = orderMapper.getTotalActivityAgeRank(mgtActivityAgeDto); + ageRankList = listRemoveNull(ageRankList); + MgtTotalActivityTotalVo totalActivityTotalVo = new MgtTotalActivityTotalVo(); + String[] activityAgeKey = new String[ageRankList.size()]; + Integer[] activityAgeValue = new Integer[ageRankList.size()]; + if (!ageRankList.isEmpty()) { + MgtMapIntTotalVo MgtMapIntTotalVo; + for (int i = 0; i < ageRankList.size(); i++) { + MgtMapIntTotalVo = ageRankList.get(i); + activityAgeKey[i] = MgtMapIntTotalVo.getMapKey(); + activityAgeValue[i] = MgtMapIntTotalVo.getMapValue(); + } + } + totalActivityTotalVo.setActivityAgeKey(activityAgeKey); + totalActivityTotalVo.setActivityAgeValue(activityAgeValue); return totalActivityTotalVo; } /** - * @description - * @author jqs - * @date 2023/6/20 15:31 * @param mgtBaseShopDto - * @return MgtTotalDataTotalVo + * @return MgtTotalDataTotalVo + * @description + * @author jqs + * @date 2023/6/20 15:31 */ @Override - public MgtTotalDataTotalVo getTotalDataTotal(MgtBaseShopDto mgtBaseShopDto){ + public MgtTotalDataTotalVo getTotalDataTotal(MgtBaseShopDto mgtBaseShopDto) { //获取人数统计 MgtTotalDataTotalVo mgtTotalDataTotalVo = orderMapper.getTotalDataTotal(mgtBaseShopDto); + BigDecimal salesTotal = orderMapper.shopSalesTotal(mgtBaseShopDto); + mgtTotalDataTotalVo.setSalesTotal(salesTotal); Integer reorderPerson = orderMapper.getReorderPerson(mgtBaseShopDto); mgtTotalDataTotalVo.setReorderPerson(reorderPerson); Integer returnedPerson = orderMapper.getReturnedPerson(mgtBaseShopDto); @@ -1471,26 +1685,26 @@ } /** - * @description - * @author jqs - * @date 2023/6/21 15:26 * @param mgtBasePlatformDto - * @return List<MgtMapTotalVo> + * @return List<MgtMapIntTotalVo> + * @description + * @author jqs + * @date 2023/6/21 15:26 */ @Override - public List<MgtMapTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto){ + public List<MgtMapIntTotalVo> listMemberGoodsRank(MgtBasePlatformDto mgtBasePlatformDto) { return orderMapper.listMemberGoodsRank(mgtBasePlatformDto); } /** - * @description 获取平台商户数据统计 * @param mgtBasePlatformDto * @return List<MgtTotalDataTotalVo> + * @description 获取平台商户数据统计 * @author jqs34 * @date 2023/6/23 14:01 */ @Override - public List<MgtTotalDataTotalVo> getPlTotalDataTotal(MgtBasePlatformDto mgtBasePlatformDto){ + public List<MgtTotalDataTotalVo> getPlTotalDataTotal(MgtBasePlatformDto mgtBasePlatformDto) { //获取需要关联的用户id集合 if (mgtBasePlatformDto.getDeptId() != null) { List<Long> userIdList = new ArrayList<>(); @@ -1510,13 +1724,15 @@ List<MgtTotalDataTotalVo> mgtTotalDataTotalVoList = new ArrayList<>(); MgtBaseShopDto mgtBaseShopDto; MgtTotalDataTotalVo mgtTotalDataTotalVo; - if(shopIdList!=null&&!shopIdList.isEmpty()){ - for(Long shopId : shopIdList){ + if (shopIdList != null && !shopIdList.isEmpty()) { + for (Long shopId : shopIdList) { mgtBaseShopDto = new MgtBaseShopDto(); mgtBaseShopDto.setStartDate(mgtBasePlatformDto.getStartDate()); mgtBaseShopDto.setEndDate(mgtBasePlatformDto.getEndDate()); mgtBaseShopDto.setShopId(shopId); mgtTotalDataTotalVo = this.getTotalDataTotal(mgtBaseShopDto); + Shop shop = remoteShopService.getShop(shopId).getData(); + mgtTotalDataTotalVo.setShopName(shop.getShopName()); mgtTotalDataTotalVoList.add(mgtTotalDataTotalVo); } } @@ -1524,14 +1740,14 @@ } /** - * @description 获取平台商户订单统计 * @param mgtBasePlatformDto * @return MgtTotalOrderTotalVo + * @description 获取平台商户订单统计 * @author jqs34 * @date 2023/6/19 22:23 */ @Override - public MgtTotalOrderTotalVo getPlTotalOrderTotal(MgtBasePlatformDto mgtBasePlatformDto){ + public MgtTotalOrderTotalVo getPlTotalOrderTotal(MgtBasePlatformDto mgtBasePlatformDto) { //获取需要关联的用户id集合 if (mgtBasePlatformDto.getDeptId() != null) { List<Long> userIdList = new ArrayList<>(); @@ -1551,88 +1767,88 @@ mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getPlTotalOrderTotalOrderFrom(mgtBasePlatformDto); - List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); - if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) { - String[] orderTotalKey = new String[mgtMapTotalVos.size()]; - Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()]; - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey(); - orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond(); + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); } mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); } //获取商品分类销售数据 - List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto); - if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) { - String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()]; - Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()]; - BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()]; + List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto); + List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); + List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); + mgtTotalOrderTotalVo.setCycleTotal(0); + mgtTotalOrderTotalVo.setCycleMoney(BigDecimal.ZERO); + mgtTotalOrderTotalVo.setServiceTotal(0); + mgtTotalOrderTotalVo.setServiceMoney(BigDecimal.ZERO); + mgtTotalOrderTotalVo.setExperienceTotal(0); + mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO); + if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { + MgtMapIntTotalVo MgtMapIntTotalVo; + MgtMapBigTotalVo mgtMapBigTotalVo; // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) { - goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst(); - goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond(); - if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){ - goodsTypeKey[i] = "周期"; - mgtTotalOrderTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){ - goodsTypeKey[i] = "服务"; - mgtTotalOrderTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){ - goodsTypeKey[i] = "体验"; - mgtTotalOrderTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - mgtTotalOrderTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){ - goodsTypeKey[i] = "单品"; + for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + mgtMapBigTotalVo = new MgtMapBigTotalVo(); + MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); + if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { + MgtMapIntTotalVo.setMapKey("周期"); + mgtMapBigTotalVo.setMapKey("周期"); + mgtTotalOrderTotalVo.setCycleTotal(mgtTotalOrderTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setCycleMoney(mgtTotalOrderTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { + MgtMapIntTotalVo.setMapKey("服务"); + mgtMapBigTotalVo.setMapKey("服务"); + mgtTotalOrderTotalVo.setServiceTotal(mgtTotalOrderTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setServiceMoney(mgtTotalOrderTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { + MgtMapIntTotalVo.setMapKey("体验"); + mgtMapBigTotalVo.setMapKey("体验"); + mgtTotalOrderTotalVo.setExperienceTotal(mgtTotalOrderTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setExperienceMoney(mgtTotalOrderTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { + MgtMapIntTotalVo.setMapKey("单品"); + mgtMapBigTotalVo.setMapKey("单品"); } + goodsTypeTotalList.add(MgtMapIntTotalVo); + goodsTypeMoneyList.add(mgtMapBigTotalVo); } - mgtTotalOrderTotalVo.setGoodsTypeKey(goodsTypeKey); - mgtTotalOrderTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue); - mgtTotalOrderTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue); + mgtTotalOrderTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); + mgtTotalOrderTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } //获取商品销售排名 - List<MgtMapTotalPlusVo> goodsRankList = orderMapper.listPlTotalOrderTotalGoodsRank(mgtBasePlatformDto); + List<MgtMapBigTotalVo> goodsRankList = orderMapper.listPlTotalOrderTotalGoodsRank(mgtBasePlatformDto); if (goodsRankList != null && goodsRankList.size() > 0) { - String[] goodsRankKey = new String[goodsRankList.size()]; - BigDecimal[] goodsRankValue = new BigDecimal[goodsRankList.size()]; - // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < goodsRankList.size(); i++) { - goodsRankKey[i] = goodsRankList.get(i).getMapKey(); - goodsRankValue[i] = goodsRankList.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setGoodsRankKey(goodsRankKey); - mgtTotalOrderTotalVo.setGoodsRankValue(goodsRankValue); + goodsRankList = bigListRemoveNull(goodsRankList); + mgtTotalOrderTotalVo.setGoodsRankList(goodsRankList); } //获取来源销售排名 - List<MgtMapTotalPlusVo> orderFromList = orderMapper.listPlTotalOrderTotalOrderFrom(mgtBasePlatformDto); + List<MgtMapBigTotalVo> orderFromList = orderMapper.listPlTotalOrderTotalOrderFrom(mgtBasePlatformDto); if (orderFromList != null && orderFromList.size() > 0) { - String[] orderFromKey = new String[orderFromList.size()]; - BigDecimal[] orderFromValue = new BigDecimal[orderFromList.size()]; - // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < orderFromList.size(); i++) { - orderFromKey[i] = orderFromList.get(i).getMapKey(); - orderFromValue[i] = orderFromList.get(i).getMapValueSecond(); - } - mgtTotalOrderTotalVo.setOrderFromRankKey(orderFromKey); - mgtTotalOrderTotalVo.setOrderFromRankValue(orderFromValue); + orderFromList = bigListRemoveNull(orderFromList); + mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); } return mgtTotalOrderTotalVo; } /** - * @description - * @author jqs - * @date 2023/6/20 9:27 * @param mgtBasePlatformDto - * @return MgtTotalActivityTotalVo + * @return MgtTotalActivityTotalVo + * @description + * @author jqs + * @date 2023/6/20 9:27 */ @Override - public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto){ + public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) { //获取需要关联的用户id集合 if (mgtBasePlatformDto.getDeptId() != null) { List<Long> userIdList = new ArrayList<>(); @@ -1653,48 +1869,57 @@ //获取基础统计 MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); //获取商品分类销售数据 - List<MgtMapTotalPlusVo> mgtMapTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto); - if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) { - String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()]; - Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()]; - BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()]; + List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto); + List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); + List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); + totalActivityTotalVo.setCycleTotal(0); + totalActivityTotalVo.setCycleMoney(BigDecimal.ZERO); + totalActivityTotalVo.setServiceTotal(0); + totalActivityTotalVo.setServiceMoney(BigDecimal.ZERO); + totalActivityTotalVo.setExperienceTotal(0); + totalActivityTotalVo.setExperienceMoney(BigDecimal.ZERO); + if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { + MgtMapIntTotalVo MgtMapIntTotalVo; + MgtMapBigTotalVo mgtMapBigTotalVo; // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 - for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) { - goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst(); - goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond(); - if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){ - goodsTypeKey[i] = "周期"; - totalActivityTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setCyclePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){ - goodsTypeKey[i] = "服务"; - totalActivityTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setServicePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){ - goodsTypeKey[i] = "体验"; - totalActivityTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); - totalActivityTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); - totalActivityTotalVo.setExperiencePerson(mgtMapTotalVoGoodsType.get(i).getMapValueThird()); - }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){ - goodsTypeKey[i] = "单品"; + for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + mgtMapBigTotalVo = new MgtMapBigTotalVo(); + MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); + if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { + MgtMapIntTotalVo.setMapKey("周期"); + mgtMapBigTotalVo.setMapKey("周期"); + totalActivityTotalVo.setCycleTotal(totalActivityTotalVo.getCycleTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setCycleMoney(totalActivityTotalVo.getCycleMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { + MgtMapIntTotalVo.setMapKey("服务"); + mgtMapBigTotalVo.setMapKey("服务"); + totalActivityTotalVo.setServiceTotal(totalActivityTotalVo.getServiceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setServiceMoney(totalActivityTotalVo.getServiceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { + MgtMapIntTotalVo.setMapKey("体验"); + mgtMapBigTotalVo.setMapKey("体验"); + totalActivityTotalVo.setExperienceTotal(totalActivityTotalVo.getExperienceTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + totalActivityTotalVo.setExperienceMoney(totalActivityTotalVo.getExperienceMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond())); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { + MgtMapIntTotalVo.setMapKey("单品"); + mgtMapBigTotalVo.setMapKey("单品"); } } - totalActivityTotalVo.setGoodsTypeKey(goodsTypeKey); - totalActivityTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue); - totalActivityTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue); + totalActivityTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); + totalActivityTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); } //获取订单分布 - List<MgtMapTotalPlusVo> mgtMapTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto); - if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) { - String[] orderTotalKey = new String[mgtMapTotalVos.size()]; - Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()]; - BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()]; - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey(); - orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst(); - orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond(); + List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalActivityTotal(mgtBasePlatformDto); + if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) { + String[] orderTotalKey = new String[MgtMapIntTotalVos.size()]; + Integer[] orderTotalValue = new Integer[MgtMapIntTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[MgtMapIntTotalVos.size()]; + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + orderTotalKey[i] = MgtMapIntTotalVos.get(i).getMapKey(); + orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond(); } totalActivityTotalVo.setOrderTotalKey(orderTotalKey); totalActivityTotalVo.setOrderTotalValue(orderTotalValue); @@ -1715,60 +1940,104 @@ Map<Long, MgtSimpleShopVo> map = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); //商户活动次数排名 - List<MgtMapTotalPlusVo> shopActivityRank = orderMapper.listPlTotalShopActivityRank(mgtBasePlatformDto); + List<MgtMapBigTotalVo> shopActivityRank = orderMapper.listPlTotalShopActivityRank(mgtBasePlatformDto); if (shopActivityRank != null && shopActivityRank.size() > 0) { - String[] shopActivityRankKey = new String[shopActivityRank.size()]; - Integer[] shopActivityRankValue = new Integer[shopActivityRank.size()]; - for (int i = 0; i < shopActivityRank.size(); i++) { - shopActivityRankKey[i] = map.get(Long.valueOf(shopActivityRank.get(i).getMapKey())).getShopName(); - shopActivityRankValue[i] = shopActivityRank.get(i).getMapValueFirst(); - } - totalActivityTotalVo.setActivityRankKey(shopActivityRankKey); - totalActivityTotalVo.setActivityRankValue(shopActivityRankValue); + shopActivityRank = bigListRemoveNull(shopActivityRank); + totalActivityTotalVo.setShopSalesRankList(shopActivityRank); } //商户活动销售额排名 - List<MgtMapTotalPlusVo> shopActivitySalesRank = orderMapper.listPlTotalShopActivitySalesRank(mgtBasePlatformDto); + List<MgtMapBigTotalVo> shopActivitySalesRank = orderMapper.listPlTotalShopActivitySalesRank(mgtBasePlatformDto); if (shopActivitySalesRank != null && shopActivitySalesRank.size() > 0) { - String[] shopActivitySalesRankKey = new String[shopActivitySalesRank.size()]; - BigDecimal[] shopActivitySalesRankValue = new BigDecimal[shopActivitySalesRank.size()]; - for (int i = 0; i < shopActivitySalesRank.size(); i++) { - shopActivitySalesRankKey[i] = map.get(Long.valueOf(shopActivityRank.get(i).getMapKey())).getShopName(); - shopActivitySalesRankValue[i] = shopActivitySalesRank.get(i).getMapValueSecond(); - } - totalActivityTotalVo.setShopSalesRankKey(shopActivitySalesRankKey); - totalActivityTotalVo.setShopSalesRankValue(shopActivitySalesRankValue); + shopActivitySalesRank = bigListRemoveNull(shopActivitySalesRank); + totalActivityTotalVo.setShopSalesRankList(shopActivitySalesRank); } //活动销售额排名 - List<MgtMapTotalPlusVo> activitySalesRank = orderMapper.listPlTotalActivitySalesRank(mgtBasePlatformDto); + List<MgtMapBigTotalVo> activitySalesRank = orderMapper.listPlTotalActivitySalesRank(mgtBasePlatformDto); if (activitySalesRank != null && activitySalesRank.size() > 0) { - String[] activitySalesRankKey = new String[activitySalesRank.size()]; - BigDecimal[] activitySalesRankValue = new BigDecimal[activitySalesRank.size()]; - for (int i = 0; i < activitySalesRank.size(); i++) { - activitySalesRankKey[i] = activitySalesRank.get(i).getMapKey(); - activitySalesRankValue[i] = activitySalesRank.get(i).getMapValueSecond(); - } - totalActivityTotalVo.setActivitySalesRankKey(activitySalesRankKey); - totalActivityTotalVo.setActivitySalesRankValue(activitySalesRankValue); + activitySalesRank = bigListRemoveNull(activitySalesRank); + totalActivityTotalVo.setActivitySalesRankList(activitySalesRank); } return totalActivityTotalVo; } /** - * @description - * @author jqs - * @date 2023/6/20 9:56 * @param mgtPlActivityAgeDto - * @return MgtTotalActivityTotalVo + * @return MgtTotalActivityTotalVo + * @description + * @author jqs + * @date 2023/6/20 9:56 */ @Override - public MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto){ + public MgtPlTotalActivityTotalVo getPlTotalActivityAgeRank(MgtPlActivityAgeDto mgtPlActivityAgeDto) { List<Long> userIds = orderMapper.getPlUserIdAgeRank(mgtPlActivityAgeDto); MgtActivityAgeDto mgtActivityAgeDto = new MgtActivityAgeDto(); mgtActivityAgeDto.setUserIds(userIds); mgtActivityAgeDto.setAgeType(mgtPlActivityAgeDto.getAgeType()); userIds = remoteMemberService.listUserIdByAge(mgtActivityAgeDto).getData(); mgtPlActivityAgeDto.setUserIds(userIds); - MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto); - return totalActivityTotalVo; + List<MgtMapIntTotalVo> ageRankList = orderMapper.getPlTotalActivityAgeRank(mgtPlActivityAgeDto); + ageRankList = listRemoveNull(ageRankList); + MgtPlTotalActivityTotalVo plTotalActivityTotalVo = new MgtPlTotalActivityTotalVo(); + String[] activityAgeKey = new String[ageRankList.size()]; + Integer[] activityAgeValue = new Integer[ageRankList.size()]; + if (!ageRankList.isEmpty()) { + MgtMapIntTotalVo MgtMapIntTotalVo; + for (int i = 0; i < ageRankList.size(); i++) { + MgtMapIntTotalVo = ageRankList.get(i); + activityAgeKey[i] = MgtMapIntTotalVo.getMapKey(); + activityAgeValue[i] = MgtMapIntTotalVo.getMapValue(); + } + } + plTotalActivityTotalVo.setActivityAgeKey(activityAgeKey); + plTotalActivityTotalVo.setActivityAgeValue(activityAgeValue); + return plTotalActivityTotalVo; + } + + /** + * @param verifyCode + * @return MerVerifyCouponVo + * @description 获取优惠券核销信息 + * @author jqs + * @date 2023/6/27 11:10 + */ + @Override + public MerVerifyCouponVo verifyCoupon(String verifyCode) { + // 创建MerVerifyCouponVo对象 + MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo(); + // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象 + MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(verifyCode).getData(); + List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); + Long userId = verifyCouponGetVo.getUserId(); + // 调用remoteMemberService的getMember方法获取Member对象 + Member member = remoteMemberService.getMember(userId).getData(); + merVerifyCouponVo.setUserName(member.getNickName()); + merVerifyCouponVo.setUserMobile(member.getMobile()); + merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); + // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性 + List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream() + .map(goods -> { + MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo(); + merCouponGoods.setGoodsId(goods.getGoodsId()); + merCouponGoods.setGoodsName(goods.getGoodsName()); + // 设置其他属性 + return merCouponGoods; + }) + .collect(Collectors.toList()); + // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList + merVerifyCouponVo.setGoodsList(merCouponGoodsList); + return merVerifyCouponVo; + } + + /** + * @description 获取用户未支付金额 + * @author jqs + * @date 2023/6/29 18:00 + * @param merBaseDto + * @return BigDecimal + */ + @Override + public BigDecimal getMemberUnpaidOrder(MerBaseDto merBaseDto){ + BigDecimal unpaidMoney = orderMapper.getMemberUnpaidOrder(merBaseDto); + return unpaidMoney; } } -- Gitblit v1.7.1