| | |
| | | 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> |
| | |
| | | @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); |
| | | } |
| | | } |