From 2c9da627340f868d6c15673341cf0a115b5deac5 Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 8 Oct 2019 19:41:23 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=8B=9B=E5=95=86]adjust?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invest/InvestDemandController.java | 2 +- .../invest/InvestTaskController.java | 5 +- .../service/invest/InvestBaseService.java | 5 ++ .../service/invest/InvestBizService.java | 6 +- .../service/invest/InvestTaskService.java | 5 -- .../invest/impl/InvestBaseServiceImpl.java | 23 +++++++ .../invest/impl/InvestBizServiceImpl.java | 68 ++++++++++++++++--- .../impl/InvestCustomerServiceImpl.java | 26 ------- .../impl/InvestFollowRecordServiceImpl.java | 23 ------- .../impl/InvestOperateRecordServiceImpl.java | 25 ------- .../invest/impl/InvestRemindServiceImpl.java | 28 -------- .../invest/impl/InvestTaskServiceImpl.java | 66 ------------------ 12 files changed, 97 insertions(+), 185 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestDemandController.java b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestDemandController.java index 4d1632c22..270e27c5e 100755 --- a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestDemandController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestDemandController.java @@ -43,7 +43,7 @@ public class InvestDemandController extends InvestBaseController { @ApiOperation(value = "分页列表接口") @GetMapping("/list") public InvestResultData> list(InvestPageQuery params) { - return execute(params, p -> investBizService.queryPage(p)); + return execute(params, p -> investBizService.queryPageDemand(p)); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java index c5ec0c60c..bf8589e0b 100755 --- a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java @@ -6,6 +6,7 @@ import com.iformall.domain.po.InvestTaskEntity; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestTaskVo; +import com.iformall.service.invest.InvestBizService; import com.iformall.service.invest.InvestTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,6 +32,8 @@ import java.util.Arrays; public class InvestTaskController extends InvestBaseController { @Autowired private InvestTaskService investTaskService; + @Autowired + private InvestBizService bizService; /** * 分页列表 @@ -39,7 +42,7 @@ public class InvestTaskController extends InvestBaseController { @ApiOperation("分页列表接口") @GetMapping("/list") public InvestResultData> list(InvestPageQuery params){ - return execute(params, p -> investTaskService.queryPage(p)); + return execute(params, p -> bizService.queryPageTask(p)); } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java index 7e92f266c..b34875aed 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java @@ -1,5 +1,8 @@ package com.iformall.service.invest; +import com.iformall.domain.vo.invest.InvestPageQuery; +import com.iformall.domain.vo.invest.InvestPageResult; + import java.io.Serializable; /** @@ -11,6 +14,8 @@ import java.io.Serializable; */ public interface InvestBaseService { + InvestPageResult queryPage(InvestPageQuery params) ; + T getByIdNotNull(Serializable id); } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java index 2c5805556..8d94b559d 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java @@ -1,13 +1,17 @@ package com.iformall.service.invest; import com.iformall.domain.po.InvestDemandEntity; +import com.iformall.domain.po.InvestTaskEntity; import com.iformall.domain.vo.invest.InvestDemandVo; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; +import com.iformall.domain.vo.invest.InvestTaskVo; public interface InvestBizService { - InvestPageResult queryPage(InvestPageQuery params); + InvestPageResult queryPageDemand(InvestPageQuery params); + + InvestPageResult queryPageTask(InvestPageQuery params); boolean saveCustomerAndDemand(InvestDemandVo customerDemandVo) ; diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java index 58385f370..1320a0ca0 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java @@ -2,9 +2,6 @@ package com.iformall.service.invest; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.InvestTaskEntity; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; -import com.iformall.domain.vo.invest.InvestTaskVo; /** * 招商任务 @@ -15,7 +12,5 @@ import com.iformall.domain.vo.invest.InvestTaskVo; */ public interface InvestTaskService extends IService,InvestBaseService { - InvestPageResult queryPage(InvestPageQuery params); - } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java index 3ede362d5..c695cac5b 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java @@ -2,12 +2,15 @@ package com.iformall.service.invest.impl; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.iformall.common.ErrorCode; import com.iformall.domain.po.*; import com.iformall.domain.vo.invest.InvestPageQuery; +import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestUserContext; import com.iformall.enums.EnumInvestType; import com.iformall.enums.EnumShopStatus; @@ -21,15 +24,35 @@ import com.iformall.service.invest.InvestCustomerService; import com.iformall.service.invest.InvestHelper; import com.iformall.utils.JsonUtil; import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.BeanUtils; import java.io.Serializable; import java.util.List; import java.util.Objects; import java.util.function.Consumer; +import java.util.function.Function; import java.util.stream.Collectors; public class InvestBaseServiceImpl, T> extends ServiceImpl implements InvestBaseService { + @Override + public InvestPageResult queryPage(InvestPageQuery params) { + InvestHelper.allNotNull(params); + //1、分页信息 + Page queryPage = buildQueryPage(params); + //2、查询数据 + T queryParams = params.getQueryData(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryParams); + IPage resultPage = this.page(queryPage, queryWrapper); + + InvestPageResult investPage = new InvestPageResult<>(); + if (CollectionUtils.isEmpty(resultPage.getRecords())) { + return investPage; + } + BeanUtils.copyProperties(resultPage, investPage); + return investPage; + } + @Override public T getByIdNotNull(Serializable id) { InvestHelper.checkResult(id,"id=null"); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java index 18e893153..600f884df 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java @@ -1,22 +1,20 @@ package com.iformall.service.invest.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.iformall.domain.po.InvestCustomerEntity; -import com.iformall.domain.po.InvestDemandEntity; -import com.iformall.domain.po.WxBrand; -import com.iformall.domain.po.WxShop; +import com.iformall.domain.po.*; import com.iformall.domain.vo.invest.InvestDemandVo; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; +import com.iformall.domain.vo.invest.InvestTaskVo; +import com.iformall.service.MallUserInfoService; import com.iformall.service.WxBrandService; import com.iformall.service.WxShopService; -import com.iformall.service.invest.InvestBizService; -import com.iformall.service.invest.InvestCustomerService; -import com.iformall.service.invest.InvestDemandService; -import com.iformall.service.invest.InvestHelper; +import com.iformall.service.invest.*; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,14 +29,18 @@ public class InvestBizServiceImpl implements InvestBizService { @Autowired private InvestDemandService demandService; @Autowired + private InvestTaskService taskService; + @Autowired private WxShopService shopService; @Autowired private InvestCustomerService customerService; @Autowired private WxBrandService brandService; + @Autowired + private MallUserInfoService userInfoService; @Override - public InvestPageResult queryPage(InvestPageQuery params) { + public InvestPageResult queryPageDemand(InvestPageQuery params) { InvestHelper.allNotNull(params); Page page = InvestHelper.buildQueryPage(params); InvestPageResult investPage = new InvestPageResult<>(); @@ -57,6 +59,54 @@ public class InvestBizServiceImpl implements InvestBizService { return investPage; } + + @Override + public InvestPageResult queryPageTask(InvestPageQuery params) { + InvestPageResult taskPage = taskService.queryPage(params); + + + InvestPageResult investPage = new InvestPageResult<>(); + if (CollectionUtils.isEmpty(taskPage.getRecords())) { + return investPage; + } + + List taskList = taskPage.getRecords(); + + //2、目标信息 + Collection shops = shopService.getByIds(taskList.stream().map(InvestTaskEntity::getTargetId).collect(Collectors.toList())); + Map shopsMap = shops.stream().collect(Collectors.toMap(WxShop::getId, shop -> shop)); + + //3、用户信息 + Collection users = userInfoService.findList(null); + Map usersMap = users.parallelStream().collect(Collectors.toMap(MallUserInfo::getId, MallUserInfo -> MallUserInfo)); + List resultList = new ArrayList<>(); + for (InvestTaskEntity item : taskList) { + WxShop shop = shopsMap.get(item.getTargetId()); + resultList.add(buildResultItem(item, shop, usersMap)); + } + + BeanUtils.copyProperties(taskPage, investPage); + investPage.setRecords(resultList); + investPage.setTotal(taskPage.getTotal()); + return investPage; + } + + private InvestTaskVo buildResultItem(InvestTaskEntity item, WxShop shop, Map usersMap) { + List ownerInfo = Lists.newArrayList(); + List ownerList = JSON.parseArray(item.getOwner(), Long.class); + if (CollectionUtils.isNotEmpty(ownerList)) { + for (Long userId : ownerList) { + ownerInfo.add(usersMap.get(userId)); + } + } + InvestTaskVo resultItemVo = InvestTaskVo.builder() + .targetInfo(shop) + .ownerInfo(ownerInfo) + .build(); + BeanUtils.copyProperties(item, resultItemVo); + return resultItemVo; + } + private List getITargeInfoList(IPage demandPage) { List demandList = demandPage.getRecords(); //2、客户信息 diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java index f59946864..cbcc16352 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java @@ -1,21 +1,13 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iformall.common.ErrorCode; import com.iformall.common.TableLog; import com.iformall.domain.po.InvestCustomerEntity; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.mapper.InvestCustomerDao; import com.iformall.service.WxBrandService; import com.iformall.service.WxBusinessService; import com.iformall.service.invest.InvestCustomerService; -import com.iformall.service.invest.InvestHelper; -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,24 +24,6 @@ public class InvestCustomerServiceImpl extends InvestBaseServiceImpl queryPage(InvestPageQuery params) { - InvestHelper.allNotNull(params); - Page queryPage = buildQueryPage(params); - //1、任务信息 - InvestCustomerEntity queryData = params.getQueryData(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryData); - IPage taskPage = this.page(queryPage, queryWrapper); - - - InvestPageResult investPage = new InvestPageResult<>(); - if (CollectionUtils.isEmpty(taskPage.getRecords())) { - return investPage; - } - BeanUtils.copyProperties(taskPage, investPage); - return investPage; - } - - @Override public boolean save(InvestCustomerEntity entity) { return super.saveAction(entity, this::checkBeforeSaveOrUpdate); } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java index 5fb82cbec..8db3cdb44 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java @@ -1,21 +1,14 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iformall.common.ErrorCode; import com.iformall.domain.po.InvestFollowRecordEntity; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.enums.EnumFollowType; import com.iformall.mapper.InvestFollowRecordDao; import com.iformall.service.invest.InvestDemandService; import com.iformall.service.invest.InvestFollowRecordService; import com.iformall.service.invest.InvestHelper; import com.iformall.service.invest.InvestTaskService; -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,22 +22,6 @@ public class InvestFollowRecordServiceImpl extends InvestBaseServiceImpl queryPage(InvestPageQuery params) { - InvestHelper.allNotNull(params); - Page page = buildQueryPage(params); - InvestFollowRecordEntity queryTask = params.getQueryData(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryTask); - IPage records = this.page(page, queryWrapper); - - InvestPageResult investPage = new InvestPageResult<>(); - if (CollectionUtils.isEmpty(records.getRecords())) { - return investPage; - } - BeanUtils.copyProperties(records, investPage); - return investPage; - } - @Override public boolean save(InvestFollowRecordEntity entity) { return super.saveAction(entity, this::checkBeforeSaveOrUpdate); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestOperateRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestOperateRecordServiceImpl.java index e241a5373..8aec587cd 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestOperateRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestOperateRecordServiceImpl.java @@ -1,42 +1,17 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iformall.domain.po.InvestOperateRecordEntity; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestUserContext; import com.iformall.mapper.InvestOperateRecordDao; import com.iformall.service.invest.InvestHelper; import com.iformall.service.invest.InvestOperateRecordService; -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @Service public class InvestOperateRecordServiceImpl extends InvestBaseServiceImpl implements InvestOperateRecordService { - @Override - public InvestPageResult queryPage(InvestPageQuery params) { - InvestHelper.allNotNull(params); - //1、分页信息 - Page queryPage = buildQueryPage(params); - //2、查询数据 - InvestOperateRecordEntity queryParams = params.getQueryData(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryParams); - IPage taskPage = this.page(queryPage, queryWrapper); - - InvestPageResult investPage = new InvestPageResult<>(); - if (CollectionUtils.isEmpty(taskPage.getRecords())) { - return investPage; - } - BeanUtils.copyProperties(taskPage, investPage); - return investPage; - } - @Override public boolean save(InvestOperateRecordEntity entity) { return super.saveAction(entity, this::checkBeforeSaveOrUpdate); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestRemindServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestRemindServiceImpl.java index d8e722af4..c00df0eb7 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestRemindServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestRemindServiceImpl.java @@ -1,20 +1,10 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iformall.domain.po.InvestRemindEntity; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestUserContext; import com.iformall.mapper.InvestRemindDao; -import com.iformall.service.MallUserInfoService; -import com.iformall.service.invest.InvestHelper; import com.iformall.service.invest.InvestRemindService; -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Objects; @@ -23,24 +13,6 @@ import java.util.Objects; @Service public class InvestRemindServiceImpl extends InvestBaseServiceImpl implements InvestRemindService { - @Override - public InvestPageResult queryPage(InvestPageQuery params) { - InvestHelper.allNotNull(params); - //1、分页信息 - Page queryPage = buildQueryPage(params); - //2、查询数据 - InvestRemindEntity queryParams = params.getQueryData(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryParams); - IPage taskPage = this.page(queryPage, queryWrapper); - - InvestPageResult investPage = new InvestPageResult<>(); - if (CollectionUtils.isEmpty(taskPage.getRecords())) { - return investPage; - } - BeanUtils.copyProperties(taskPage, investPage); - return investPage; - } - @Override public boolean save(InvestRemindEntity entity) { return super.saveAction(entity, this::checkBeforeSaveOrUpdate); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java index 0d3eb89e3..07986179d 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java @@ -1,30 +1,16 @@ package com.iformall.service.invest.impl; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iformall.common.TableLog; import com.iformall.domain.po.InvestTaskEntity; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxShop; -import com.iformall.domain.vo.invest.InvestPageQuery; -import com.iformall.domain.vo.invest.InvestPageResult; -import com.iformall.domain.vo.invest.InvestTaskVo; import com.iformall.mapper.InvestTaskDao; import com.iformall.service.MallUserInfoService; import com.iformall.service.WxShopService; -import com.iformall.service.invest.InvestHelper; import com.iformall.service.invest.InvestTaskService; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.stream.Collectors; @Service @@ -35,58 +21,6 @@ public class InvestTaskServiceImpl extends InvestBaseServiceImpl queryPage(InvestPageQuery params) { - InvestHelper.allNotNull(params); - Page queryPage = buildQueryPage(params); - //1、任务信息 - InvestTaskEntity queryTask = params.getQueryData(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(queryTask); - IPage taskPage = this.page(queryPage, queryWrapper); - - - InvestPageResult investPage = new InvestPageResult<>(); - if (CollectionUtils.isEmpty(taskPage.getRecords())) { - return investPage; - } - - List taskList = taskPage.getRecords(); - - //2、目标信息 - Collection shops = shopService.getByIds(taskList.stream().map(InvestTaskEntity::getTargetId).collect(Collectors.toList())); - Map shopsMap = shops.stream().collect(Collectors.toMap(WxShop::getId, shop -> shop)); - - //3、用户信息 - Collection users = userInfoService.findList(null); - Map usersMap = users.parallelStream().collect(Collectors.toMap(MallUserInfo::getId, MallUserInfo -> MallUserInfo)); - List resultList = new ArrayList<>(); - for (InvestTaskEntity item : taskList) { - WxShop shop = shopsMap.get(item.getTargetId()); - resultList.add(buildResultItem(item, shop, usersMap)); - } - - BeanUtils.copyProperties(taskPage, investPage); - investPage.setRecords(resultList); - investPage.setTotal(taskPage.getTotal()); - return investPage; - } - - private InvestTaskVo buildResultItem(InvestTaskEntity item, WxShop shop, Map usersMap) { - List ownerInfo = Lists.newArrayList(); - List ownerList = JSON.parseArray(item.getOwner(), Long.class); - if (CollectionUtils.isNotEmpty(ownerList)) { - for (Long userId : ownerList) { - ownerInfo.add(usersMap.get(userId)); - } - } - InvestTaskVo resultItemVo = InvestTaskVo.builder() - .targetInfo(shop) - .ownerInfo(ownerInfo) - .build(); - BeanUtils.copyProperties(item, resultItemVo); - return resultItemVo; - } - @Override public boolean save(InvestTaskEntity entity) { return super.saveAction(entity, this::checkBeforeSaveOrUpdate);