From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 01 四月 2025 16:03:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 102 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java index 1c77604..99e844c 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java @@ -1,10 +1,29 @@ package com.ruoyi.order.service.impl.order; -import com.ruoyi.system.domain.pojo.order.UserServiceRecord; -import com.ruoyi.system.mapper.order.UserServiceRecordMapper; -import com.ruoyi.system.service.order.UserServiceRecordService; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.order.domain.dto.AppConsumerPageDto; +import com.ruoyi.order.domain.dto.MerServiceRecordPageDto; +import com.ruoyi.order.domain.dto.MgtMemberServiceRecordPageDto; +import com.ruoyi.order.domain.pojo.order.UserServiceRecord; +import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; +import com.ruoyi.order.domain.vo.MerServiceRecordPageVo; +import com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo; +import com.ruoyi.order.domain.vo.MgtMemberServiceTotalVo; +import com.ruoyi.order.mapper.order.UserServiceRecordMapper; +import com.ruoyi.order.service.order.UserServiceRecordService; +import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; +import com.ruoyi.system.api.service.RemoteShopService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +36,84 @@ @Service public class UserServiceRecordServiceImpl extends ServiceImpl<UserServiceRecordMapper, UserServiceRecord> implements UserServiceRecordService { + @Resource + private UserServiceRecordMapper userServiceRecordMapper; + + @Resource + private RemoteShopService remoteShopService; + + /** + * 分页获取用户服务记录 + * @param page + * @param appConsumerPageDto + * @return + */ + @Override + public List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto){ + return userServiceRecordMapper.pageUserServiceRecord(page, appConsumerPageDto); + } + + /** + * 商户分页获取用户服务记录 + * @param page + * @param merServiceRecordPageDto + * @return + */ + @Override + public List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto){ + return userServiceRecordMapper.pageMerMemberServiceRecord(page, merServiceRecordPageDto); + } + + /** + * 平台分页获取用户服务记录 + * @param page + * @param mgtMemberServiceRecordPageDto + * @return + */ + @Override + public List<MgtMemberServiceRecordPageVo> pageMgtMemberServiceRecord(Page page, MgtMemberServiceRecordPageDto mgtMemberServiceRecordPageDto){ + List<MgtMemberServiceRecordPageVo> mgtMemberServiceRecordPageVoList = userServiceRecordMapper.pageMgtMemberServiceRecord(page, mgtMemberServiceRecordPageDto); + if(mgtMemberServiceRecordPageVoList!=null&&!mgtMemberServiceRecordPageVoList.isEmpty()){ + HashSet<Long> shopIdSet = new HashSet<>(); + for(MgtMemberServiceRecordPageVo mgtMemberServiceRecordPageVo : mgtMemberServiceRecordPageVoList){ + if(mgtMemberServiceRecordPageVo.getShopId()!=null){ + shopIdSet.add(mgtMemberServiceRecordPageVo.getShopId()); + } + } + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(shopJoinedString); + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + for(MgtMemberServiceRecordPageVo mgtMemberServiceRecordPageVo : mgtMemberServiceRecordPageVoList){ + if(mgtMemberServiceRecordPageVo.getShopId()!=null){ + mgtMemberServiceRecordPageVo.setShopName(shopMap.get(mgtMemberServiceRecordPageVo.getShopId()).getShopName()); + } + } + } + return mgtMemberServiceRecordPageVoList; + } + + /** + * 通过用户id获取会员服务统计 + * @param userId + * @return + */ + @Override + public MgtMemberServiceTotalVo getMgtMemberServiceTotal(Long userId){ + return userServiceRecordMapper.getMgtMemberServiceTotal(userId); + } + + /** + * @description 统计商户到店人数 + * @author jqs + * @date 2023/6/25 17:17 + * @param shopId + * @return Integer + */ + @Override + public Integer countShopServicePerson(Long shopId){ + return userServiceRecordMapper.countShopServicePerson(shopId); + } } -- Gitblit v1.7.1