diff --git a/src/main/java/com/kiisoo/ic/generalize/controller/RetailCompanyController.java b/src/main/java/com/kiisoo/ic/generalize/controller/RetailCompanyController.java index 6adfd18..0548d0c 100644 --- a/src/main/java/com/kiisoo/ic/generalize/controller/RetailCompanyController.java +++ b/src/main/java/com/kiisoo/ic/generalize/controller/RetailCompanyController.java @@ -62,9 +62,9 @@ public class RetailCompanyController extends BaseController { */ @ResponseBody @GetMapping("/org") - public Map listOfRetailCompany(@RequestParam("userId") long userId){ + public Map listOfRetailCompany(@RequestParam("userId") long userId, Long regionId, Long companyId, Long customerId){ try{ - List privilageOrganizationals = retailCompanyService.listOfRetailOrg(userId); + List privilageOrganizationals = retailCompanyService.listOfRetailOrg(userId, regionId, companyId, customerId); return data(privilageOrganizationals); }catch (Exception e){ log.error("查询所有的组织数据失败",e); diff --git a/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalRelationVO.java b/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalRelationVO.java new file mode 100644 index 0000000..f598d6b --- /dev/null +++ b/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalRelationVO.java @@ -0,0 +1,24 @@ +package com.kiisoo.ic.generalize.entity; + +import lombok.Data; + + +/** + * @Description: 客户概览,零推广VO + * @Author: wangyinjia + * @Date: 2020/4/17 + * @Company: kiisoo + * @Version: 1.0 + */ +@Data +public class PrivilageOrganizationalRelationVO { + /**大区*/ + private Long regionId; + private String region; + /**零售公司*/ + private Long companyId; + private String company; + /**客户*/ + private Long customerId; + private String customer; +} diff --git a/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java b/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java index 71b262b..8c98355 100644 --- a/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java +++ b/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java @@ -2,8 +2,8 @@ package com.kiisoo.ic.generalize.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kiisoo.ic.generalize.entity.CompanyStoreDO; +import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalRelationVO; import com.kiisoo.ic.generalize.entity.PrivilageOrganizational; -import com.kiisoo.ic.region.entity.RegionDO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -23,4 +23,9 @@ public interface RetailCompanyMapper extends BaseMapper Set selectChildList(@Param("companys") Set companys); void insertDomainOrgRelation(@Param("domainId")Long domainId, @Param("companyId")Long companyId); + + /** + * 所以组织对应关系list + */ + List selectAllOrgListByOrgIds(@Param("orgIds") List orgIds, @Param("regionId")Long regionId , @Param("companyId")Long companyId, @Param("customerId")Long customerId); } diff --git a/src/main/java/com/kiisoo/ic/generalize/service/RetailCompanyService.java b/src/main/java/com/kiisoo/ic/generalize/service/RetailCompanyService.java index bfcf469..3c80558 100644 --- a/src/main/java/com/kiisoo/ic/generalize/service/RetailCompanyService.java +++ b/src/main/java/com/kiisoo/ic/generalize/service/RetailCompanyService.java @@ -7,10 +7,7 @@ import com.github.pagehelper.PageHelper; import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; import com.kiisoo.ic.generalize.bean.*; -import com.kiisoo.ic.generalize.entity.CompanyStoreDO; -import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat; -import com.kiisoo.ic.generalize.entity.PrivilageOrganizational; -import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalMember; +import com.kiisoo.ic.generalize.entity.*; import com.kiisoo.ic.generalize.mapper.OrganizationalMemberMapper; import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper; import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper; @@ -38,6 +35,13 @@ import java.util.stream.Collectors; @Service public class RetailCompanyService { + /**区域*/ + static final Integer LEVEL_REGION = 1; + /**零售公司*/ + static final Integer LEVEL_COMPANY = 2; + /**客户*/ + static final Integer LEVEL_CUSTOMER = 3; + private RetailCompanyMapper retailCompanyMapper; private OrganizationalMemberMapper organizationalMemberMapper; @@ -110,17 +114,39 @@ public class RetailCompanyService { /** * 查询所有的组织数据信息 */ - public List listOfRetailOrg(long userId){ + public List listOfRetailOrg(long userId, Long regionId, Long companyId, Long customerId){ QueryWrapper wrapper1 = new QueryWrapper<>(); wrapper1.eq("user_id",userId); List pm = organizationalMemberMapper.selectList(wrapper1); - QueryWrapper wrapper = new QueryWrapper<>(); if(pm.isEmpty()) { return new ArrayList<>(); }else { - wrapper.eq("type", 1).eq("status", 1).in("id", pm.stream().map(PrivilageOrganizationalMember::getOrgId).collect(Collectors.toList())); - List privilageOrganizationals = retailCompanyMapper.selectList(wrapper); - return privilageOrganizationals; + List orgIds = pm.stream().map(PrivilageOrganizationalMember::getOrgId).collect(Collectors.toList()); + List orgRelationList = retailCompanyMapper.selectAllOrgListByOrgIds(orgIds, regionId, companyId, customerId); + //所以组织list + List tmpOrgList = new ArrayList<>(); + orgRelationList.forEach(orgRelationVO -> { + PrivilageOrganizational regionDO = new PrivilageOrganizational(); + regionDO.setId(orgRelationVO.getRegionId()); + regionDO.setName(orgRelationVO.getRegion()); + regionDO.setLevel((long)LEVEL_REGION); + regionDO.setParentId(0L); + PrivilageOrganizational companyDO = new PrivilageOrganizational(); + companyDO.setId(orgRelationVO.getCompanyId()); + companyDO.setName(orgRelationVO.getCompany()); + companyDO.setLevel((long)LEVEL_COMPANY); + companyDO.setParentId(orgRelationVO.getRegionId()); + PrivilageOrganizational customerDO = new PrivilageOrganizational(); + customerDO.setId(orgRelationVO.getCustomerId()); + customerDO.setName(orgRelationVO.getCustomer()); + customerDO.setLevel((long)LEVEL_CUSTOMER); + customerDO.setParentId(orgRelationVO.getCompanyId()); + tmpOrgList.add(regionDO); + tmpOrgList.add(companyDO); + tmpOrgList.add(customerDO); + }); + List orgList = tmpOrgList.stream().distinct().collect(Collectors.toList()); + return orgList; } } diff --git a/src/main/resources/mapper/RetailCompanyMapper.xml b/src/main/resources/mapper/RetailCompanyMapper.xml index 664374b..b508bd7 100644 --- a/src/main/resources/mapper/RetailCompanyMapper.xml +++ b/src/main/resources/mapper/RetailCompanyMapper.xml @@ -55,4 +55,44 @@ + + +