|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.qs.serve.common.model.annotation.SysLog; |
|
|
|
import com.qs.serve.common.model.dto.PageVo; |
|
|
|
import com.qs.serve.common.model.dto.R; |
|
|
|
import com.qs.serve.common.model.dto.RowParam; |
|
|
|
import com.qs.serve.common.model.enums.BizType; |
|
|
|
import com.qs.serve.common.model.enums.SystemModule; |
|
|
|
import com.qs.serve.common.util.*; |
|
|
@ -59,9 +60,96 @@ public class BmsChannelPointMyController { |
|
|
|
private SysUserService sysUserService; |
|
|
|
private BmsRegionUserService bmsRegionUserService; |
|
|
|
private SysPostUserService postUserService; |
|
|
|
private BmsChannelService bmsChannelService; |
|
|
|
private BmsMasterUserService bmsMasterUserService; |
|
|
|
private BmsSupplierChannelService bmsSupplierChannelService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 导出 |
|
|
|
* @param param |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@GetMapping("/export") |
|
|
|
@PreAuthorize("hasRole('bms:channelPoint:query')") |
|
|
|
public R<List<BmsChannelPoint>> export(BmsChannelPoint param){ |
|
|
|
LambdaQueryWrapper<BmsChannelPoint> lqw = new LambdaQueryWrapper<>(param); |
|
|
|
lqw.orderByDesc(BmsChannelPoint::getCreateTime); |
|
|
|
if(param.getSelectStartTime()!=null) { |
|
|
|
lqw.ge(BmsChannelPoint::getCreateTime, param.getSelectStartTime()); |
|
|
|
lqw.isNotNull(BmsChannelPoint::getCreateBy); |
|
|
|
} |
|
|
|
if(param.getSelectEndTime()!=null) { |
|
|
|
lqw.le(BmsChannelPoint::getCreateTime, param.getSelectEndTime()); |
|
|
|
lqw.isNotNull(BmsChannelPoint::getCreateBy); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(param.getSelectIds())){ |
|
|
|
lqw.in(BmsChannelPoint::getId, param.getSelectIds()); |
|
|
|
} |
|
|
|
|
|
|
|
//过滤为当前负责人
|
|
|
|
LambdaQueryWrapper<BmsMasterUser> masterLqw = new LambdaQueryWrapper<>(); |
|
|
|
masterLqw.in(BmsMasterUser::getType,MasterUserType.Channel,MasterUserType.Point); |
|
|
|
masterLqw.eq(BmsMasterUser::getUserId,AuthContextUtils.getSysUserId()); |
|
|
|
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(masterLqw); |
|
|
|
Map<String,List<BmsMasterUser>> masterUsersMap = masterUsers.stream().collect(Collectors.groupingBy(BmsMasterUser::getType)); |
|
|
|
List<BmsMasterUser> channelMasterList = masterUsersMap.get(MasterUserType.Channel); |
|
|
|
List<BmsMasterUser> pointMasterList = masterUsersMap.get(MasterUserType.Point); |
|
|
|
List<String> channelIds = new ArrayList<>(); |
|
|
|
List<String> pointIds = new ArrayList<>(); |
|
|
|
channelIds.add("#"); |
|
|
|
pointIds.add("#"); |
|
|
|
if(CollectionUtil.isNotEmpty(channelMasterList)){ |
|
|
|
List<String> channelMasterIdsTmp = channelMasterList.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); |
|
|
|
channelIds.addAll(channelMasterIdsTmp); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(pointMasterList)){ |
|
|
|
List<String> pointMasterIdsTmp = pointMasterList.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); |
|
|
|
pointIds.addAll(pointMasterIdsTmp); |
|
|
|
} |
|
|
|
lqw.and(qw->{ |
|
|
|
qw.in(BmsChannelPoint::getChannelId,channelIds).or().in(BmsChannelPoint::getId,pointIds); |
|
|
|
}); |
|
|
|
|
|
|
|
List<BmsChannelPoint> list = bmsChannelPointService.list(lqw); |
|
|
|
List<String> bizRegionIds = new ArrayList<>(); |
|
|
|
bizRegionIds.addAll(list.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); |
|
|
|
bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); |
|
|
|
List<BmsRegion2> region2List = new ArrayList<>(); |
|
|
|
if(bizRegionIds.size()>0){ |
|
|
|
LambdaQueryWrapper<BmsRegion2> region2LambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
region2LambdaQueryWrapper.in(BmsRegion2::getId,bizRegionIds); |
|
|
|
region2List = bmsRegion2Service.list(region2LambdaQueryWrapper); |
|
|
|
} |
|
|
|
Map<String,BmsRegion2> idToBizRegion = region2List.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a)); |
|
|
|
|
|
|
|
for (BmsChannelPoint channelPoint : list) { |
|
|
|
Long channelId = channelPoint.getChannelId(); |
|
|
|
BmsChannel channel = bmsChannelService.getById(channelId); |
|
|
|
if(channel!=null){ |
|
|
|
channelPoint.setChannelName(channel.getChannelName()); |
|
|
|
channelPoint.setChannelCode(channel.getChannelCode()); |
|
|
|
channelPoint.setChannelType(channel.getChannelType()); |
|
|
|
} |
|
|
|
if(StringUtils.hasText(channelPoint.getBizRegionPath())){ |
|
|
|
String[] bizRegions = channelPoint.getBizRegionPath().split("_"); |
|
|
|
if(bizRegions.length>0){ |
|
|
|
channelPoint.setBizRegionName(bizRegions[bizRegions.length-1]); |
|
|
|
} |
|
|
|
BmsRegion2 region2 = idToBizRegion.get(channelPoint.getBizRegionId()); |
|
|
|
if(region2!=null){ |
|
|
|
channelPoint.setBizRegionCode(region2.getCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
if(StringUtils.hasText(channelPoint.getSaleRegionPath())){ |
|
|
|
String[] regions = channelPoint.getSaleRegionPath().split("_"); |
|
|
|
if(regions.length>0){ |
|
|
|
channelPoint.setSaleRegionName(regions[regions.length-1]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return R.ok(list); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 我负责的网店 |
|
|
@ -74,7 +162,7 @@ public class BmsChannelPointMyController { |
|
|
|
if(count<1L){ |
|
|
|
return R.byEmptyList(); |
|
|
|
} |
|
|
|
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param, Arrays.asList(AuthContextUtils.getSysUserId())); |
|
|
|
List<BmsChannelPoint> list = bmsChannelPointService.selectChannelPointMyList(param, Arrays.asList(AuthContextUtils.getSysUserId()),new RowParam(true)); |
|
|
|
|
|
|
|
List<String> bizRegionIds = new ArrayList<>(); |
|
|
|
bizRegionIds.addAll(list.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); |
|
|
@ -131,7 +219,7 @@ public class BmsChannelPointMyController { |
|
|
|
if(count < 1L){ |
|
|
|
return R.byEmptyList(); |
|
|
|
} |
|
|
|
List<BmsChannelPoint> pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds); |
|
|
|
List<BmsChannelPoint> pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds,new RowParam(true)); |
|
|
|
List<String> bizRegionIds = new ArrayList<>(); |
|
|
|
bizRegionIds.addAll(pageList.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); |
|
|
|
bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); |
|
|
@ -184,7 +272,7 @@ public class BmsChannelPointMyController { |
|
|
|
if(count < 1L){ |
|
|
|
return R.byEmptyList(); |
|
|
|
} |
|
|
|
List<BmsChannelPoint> pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds); |
|
|
|
List<BmsChannelPoint> pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds,new RowParam(true)); |
|
|
|
List<String> bizRegionIds = new ArrayList<>(); |
|
|
|
bizRegionIds.addAll(pageList.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); |
|
|
|
bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); |
|
|
|