|
|
|
@ -37,11 +37,17 @@ 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;
|
|
|
|
@ -72,6 +78,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 找到用户公司
|
|
|
|
|
*
|
|
|
|
|
* @param parentId 父区域id
|
|
|
|
|
* @param userId 用户id
|
|
|
|
|
* @param level 等级
|
|
|
|
@ -80,14 +87,16 @@ public class RetailCompanyService {
|
|
|
|
|
public List<PrivilageOrganizational> getUserOrg(Long parentId, long userId, int level) {
|
|
|
|
|
|
|
|
|
|
QueryWrapper<PrivilageOrganizationalMember> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
if(!check(userId)){
|
|
|
|
|
wrapper1.eq("user_id", userId);
|
|
|
|
|
}
|
|
|
|
|
PrivilageOrganizational p = new PrivilageOrganizational();
|
|
|
|
|
List<PrivilageOrganizationalMember> pm = organizationalMemberMapper.selectList(wrapper1);
|
|
|
|
|
QueryWrapper<PrivilageOrganizational> wrapper = new QueryWrapper<>();
|
|
|
|
|
if(check(userId)){
|
|
|
|
|
wrapper.eq("level",level).eq("type",1).eq("status", 1);
|
|
|
|
|
return retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
}
|
|
|
|
|
if (pm.isEmpty()) {
|
|
|
|
|
return null;
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
wrapper.eq("type", 1).eq("status", 1).eq("level", level).
|
|
|
|
|
in("id", pm.stream().map(PrivilageOrganizationalMember::getOrgId).
|
|
|
|
@ -104,13 +113,15 @@ public class RetailCompanyService {
|
|
|
|
|
*/
|
|
|
|
|
public List<PrivilageOrganizational> listOfBigRetailCompany(long userId) {
|
|
|
|
|
QueryWrapper<PrivilageOrganizationalMember> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
if(!check(userId)){
|
|
|
|
|
wrapper1.eq("user_id", userId);
|
|
|
|
|
}
|
|
|
|
|
List<PrivilageOrganizationalMember> pm = organizationalMemberMapper.selectList(wrapper1);
|
|
|
|
|
QueryWrapper<PrivilageOrganizational> wrapper = new QueryWrapper<>();
|
|
|
|
|
if(check(userId)){
|
|
|
|
|
wrapper.eq("type", 1).eq("level", 1).eq("status", 1);
|
|
|
|
|
return retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
}
|
|
|
|
|
if (pm.isEmpty()) {
|
|
|
|
|
return null;
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
wrapper.eq("type", 1).eq("level", 1).eq("status", 1).in("id", pm.stream().map(PrivilageOrganizationalMember::getOrgId).collect(Collectors.toList()));
|
|
|
|
|
return retailCompanyMapper.selectList(wrapper);
|
|
|
|
@ -133,10 +144,11 @@ public class RetailCompanyService {
|
|
|
|
|
*/
|
|
|
|
|
public List<PrivilageOrganizational> listOfRetailOrg(long userId, Long regionId, Long companyId, Long customerId) {
|
|
|
|
|
QueryWrapper<PrivilageOrganizationalMember> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
if(!check(userId)){
|
|
|
|
|
wrapper1.eq("user_id", userId);
|
|
|
|
|
}
|
|
|
|
|
List<PrivilageOrganizationalMember> pm = organizationalMemberMapper.selectList(wrapper1);
|
|
|
|
|
if(check(userId)){
|
|
|
|
|
return retailCompanyMapper.selectList(null);
|
|
|
|
|
}
|
|
|
|
|
if (pm.isEmpty()) {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
@ -177,25 +189,27 @@ public class RetailCompanyService {
|
|
|
|
|
bigRegionId = null;
|
|
|
|
|
}
|
|
|
|
|
QueryWrapper<PrivilageOrganizationalMember> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
if(!check(userId)){
|
|
|
|
|
wrapper1.eq("user_id", userId);
|
|
|
|
|
}
|
|
|
|
|
List<PrivilageOrganizationalMember> pm = organizationalMemberMapper.selectList(wrapper1);
|
|
|
|
|
QueryWrapper<PrivilageOrganizational> wrapper = new QueryWrapper<>();
|
|
|
|
|
if(check(userId)){
|
|
|
|
|
wrapper.eq("type", 1).eq("level", 2).eq("status", 1);
|
|
|
|
|
return retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
}
|
|
|
|
|
if (pm.isEmpty()) {
|
|
|
|
|
return null;
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
wrapper.eq("type", 1).eq("level", 2).eq("status", 1).in("id", pm.stream().map(PrivilageOrganizationalMember::getOrgId).collect(Collectors.toList()));
|
|
|
|
|
if (bigRegionId != null) {
|
|
|
|
|
wrapper.eq("parent_id", bigRegionId);
|
|
|
|
|
}
|
|
|
|
|
List<PrivilageOrganizational> privilageOrganizationals = retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
return privilageOrganizationals;
|
|
|
|
|
return retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询零售公司下的店铺
|
|
|
|
|
*
|
|
|
|
|
* @param orgId 零售公司id
|
|
|
|
|
* @return 门店信息
|
|
|
|
|
*/
|
|
|
|
@ -209,7 +223,8 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询零售公司下的店铺
|
|
|
|
|
* @param orgId 零售公司id
|
|
|
|
|
*
|
|
|
|
|
* @param bigRegionId 零售公司id
|
|
|
|
|
* @return 门店信息
|
|
|
|
|
*/
|
|
|
|
|
public List<PoiStore> selectShopByBigRegion(Long bigRegionId) {
|
|
|
|
@ -225,6 +240,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询客户公司下的店铺
|
|
|
|
|
*
|
|
|
|
|
* @param orgId 零售公司id
|
|
|
|
|
* @return 门店信息
|
|
|
|
|
*/
|
|
|
|
@ -234,6 +250,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询零售公司下的店铺
|
|
|
|
|
*
|
|
|
|
|
* @param shopId 零售公司id
|
|
|
|
|
* @return 门店信息
|
|
|
|
|
*/
|
|
|
|
@ -243,6 +260,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询所有零售公司的推广数据
|
|
|
|
|
*
|
|
|
|
|
* @param startTime 日期
|
|
|
|
|
* @param endTime 日期
|
|
|
|
|
* @param orgId 零售公司
|
|
|
|
@ -316,6 +334,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 计算新增客户数和新增有效客户数
|
|
|
|
|
*
|
|
|
|
|
* @param startTime 开始时间
|
|
|
|
|
* @param endTime 结束时间
|
|
|
|
|
* @param organizationalVO 封装实体
|
|
|
|
@ -356,6 +375,7 @@ public class RetailCompanyService {
|
|
|
|
|
organizationalVO.setAvgNewCustomer(check(countEnd - count, days));
|
|
|
|
|
organizationalVO.setAvgNewEffectiveCustomer(check(countEnd2 - count2, days));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void newCustomerStore(String startTime, String endTime, DataVO organizationalVO, List<Long> storeIds) {
|
|
|
|
|
//最初时间的总客户人数
|
|
|
|
|
QueryWrapper<OpSellerCustomerRelation> wrapper2 = new QueryWrapper<>();
|
|
|
|
@ -395,6 +415,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 除法计算
|
|
|
|
|
*
|
|
|
|
|
* @param l1 被除数
|
|
|
|
|
* @param l2 除数
|
|
|
|
|
* @return 值
|
|
|
|
@ -409,6 +430,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询门店推广数据
|
|
|
|
|
*
|
|
|
|
|
* @param startTime 日期
|
|
|
|
|
* @param endTime 日期
|
|
|
|
|
* @param orgId 零售公司id
|
|
|
|
@ -470,6 +492,7 @@ public class RetailCompanyService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询导购的推广数据
|
|
|
|
|
*
|
|
|
|
|
* @param startTime 日期
|
|
|
|
|
* @param endTime 日期
|
|
|
|
|
* @param orgId 零售哦给弄死id
|
|
|
|
|