|
|
@ -25,6 +25,8 @@ import com.qs.serve.modules.goods.entity.vo.GoodsAccreditResult; |
|
|
|
import com.qs.serve.modules.goods.entity.vo.GoodsAccreditVo; |
|
|
|
import com.qs.serve.modules.goods.mapper.*; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsAccreditItemService; |
|
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
|
import com.qs.serve.modules.sys.mapper.SysUserMapper; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -47,6 +49,8 @@ public class GoodsAccreditServiceImpl extends ServiceImpl<GoodsAccreditMapper,Go |
|
|
|
private final GoodsSpuMapper goodsSpuMapper; |
|
|
|
private final GoodsSkuMapper goodsSkuMapper; |
|
|
|
|
|
|
|
private final SysUserMapper sysUserMapper; |
|
|
|
|
|
|
|
private final BmsRegionMapper regionMapper; |
|
|
|
private final BmsRegion2Mapper region2Mapper; |
|
|
|
private final BmsSupplierMapper supplierMapper; |
|
|
@ -54,7 +58,7 @@ public class GoodsAccreditServiceImpl extends ServiceImpl<GoodsAccreditMapper,Go |
|
|
|
private final GoodsAccreditItemService goodsAccreditItemService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<GoodsAccreditResult> queryPage(GoodsAccreditQuery query) { |
|
|
|
public PageVo<GoodsAccreditResult> queryPage(GoodsAccreditQuery query) { |
|
|
|
String productCode = query.getCode(); |
|
|
|
String productName = query.getName(); |
|
|
|
String targetCode = query.getTargetCode(); |
|
|
@ -108,6 +112,18 @@ public class GoodsAccreditServiceImpl extends ServiceImpl<GoodsAccreditMapper,Go |
|
|
|
|
|
|
|
if(StringUtils.hasText(targetCode)||StringUtils.hasText(targetName)){ |
|
|
|
Set<String> targetCodes = new HashSet<>(); |
|
|
|
|
|
|
|
//拓展人员
|
|
|
|
List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>() |
|
|
|
.eq(SysUser::getCode,targetCode) |
|
|
|
.or() |
|
|
|
.eq(SysUser::getName,targetName)); |
|
|
|
if(sysUserList.size()>0){ |
|
|
|
for (SysUser user : sysUserList) { |
|
|
|
targetCodes.add(user.getCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
List<BmsSupplier> supplierList = supplierMapper.selectList(new LambdaQueryWrapper<BmsSupplier>() |
|
|
|
.eq(BmsSupplier::getCode,targetCode) |
|
|
|
.or() |
|
|
@ -157,63 +173,83 @@ public class GoodsAccreditServiceImpl extends ServiceImpl<GoodsAccreditMapper,Go |
|
|
|
} |
|
|
|
|
|
|
|
query.setTargetCodeList(targetCodes); |
|
|
|
|
|
|
|
} |
|
|
|
List<GoodsAccreditExt> list = super.baseMapper.queryPage(query); |
|
|
|
|
|
|
|
PageUtil.startPage(); |
|
|
|
|
|
|
|
List<GoodsAccreditExt> list = super.baseMapper.queryUnionPage(query); |
|
|
|
List<GoodsAccreditResult> results = list.stream().map(ext->{ |
|
|
|
GoodsAccreditResult result = new GoodsAccreditResult(); |
|
|
|
result.setId("goods"+ext.getId()); |
|
|
|
result.setRuleType("goods"); |
|
|
|
if(ext.getCategoryId()!=null){ |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getSpuId()!=null){ |
|
|
|
result.setGoodType("spu"); |
|
|
|
if (ext.getUnionType().equals("accredit")){ |
|
|
|
GoodsAccreditResult result = new GoodsAccreditResult(); |
|
|
|
result.setId("goods"+ext.getId()); |
|
|
|
result.setRuleType("goods"); |
|
|
|
if(ext.getCategoryId()!=null){ |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getSpuId()!=null){ |
|
|
|
result.setGoodType("spu"); |
|
|
|
}else { |
|
|
|
result.setGoodType("sku"); |
|
|
|
} |
|
|
|
result.setCode(ext.getCode()); |
|
|
|
result.setName(ext.getName()); |
|
|
|
result.setAccType(ext.getAccType().equals(0)?"in":"notIn"); |
|
|
|
if(ext.getTargetType().equals("0")){ |
|
|
|
result.setTargetType("supplier"); |
|
|
|
}else if (ext.getTargetType().equals("1")){ |
|
|
|
result.setTargetType("bizRegion"); |
|
|
|
}else if (ext.getTargetType().equals("2")){ |
|
|
|
result.setTargetType("saleRegion"); |
|
|
|
}else { |
|
|
|
result.setTargetType(ext.getTargetType()); |
|
|
|
} |
|
|
|
result.setTargetCode(ext.getTargetCode()); |
|
|
|
result.setTargetName(ext.getTargetName()); |
|
|
|
result.setTargetId(ext.getTargetId()); |
|
|
|
result.setCreateTime(ext.getCreateTime()); |
|
|
|
result.setCreateUser(ext.getCreateUser()); |
|
|
|
result.setCreateUserCode(ext.getCreateUserCode()); |
|
|
|
return result; |
|
|
|
}else { |
|
|
|
result.setGoodType("sku"); |
|
|
|
GoodsAccreditResult result = new GoodsAccreditResult(); |
|
|
|
result.setId("supplier"+ext.getId()); |
|
|
|
result.setRuleType("supplier"); |
|
|
|
if(ext.getUserId()!=null) { |
|
|
|
result.setTargetType("user"); |
|
|
|
}else if(ext.getSaleRegionId()!=null){ |
|
|
|
result.setTargetType("saleRegion"); |
|
|
|
}else if (ext.getBizRegionId()!=null){ |
|
|
|
result.setTargetType("bizRegion"); |
|
|
|
}else { |
|
|
|
result.setTargetType("supplier"); |
|
|
|
} |
|
|
|
result.setCode(ext.getCode()); |
|
|
|
result.setName(ext.getName()); |
|
|
|
if(ext.getTargetType().equals("1")){ |
|
|
|
result.setAccType("in"); |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getTargetType().equals("2")){ |
|
|
|
result.setAccType("notIn"); |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getTargetType().equals("3")){ |
|
|
|
result.setAccType("in"); |
|
|
|
result.setGoodType("spu"); |
|
|
|
}else { |
|
|
|
result.setAccType("notIn"); |
|
|
|
result.setGoodType("spu"); |
|
|
|
} |
|
|
|
result.setTargetId(ext.getId()+""); |
|
|
|
//result.setTargetType(ext.getTargetType());
|
|
|
|
result.setTargetCode(ext.getTargetCode()); |
|
|
|
result.setTargetName(ext.getTargetName()); |
|
|
|
result.setCreateTime(ext.getCreateTime()); |
|
|
|
result.setCreateUser(ext.getCreateUser()); |
|
|
|
result.setCreateUserCode(ext.getCreateUserCode()); |
|
|
|
return result; |
|
|
|
} |
|
|
|
result.setCode(ext.getCode()); |
|
|
|
result.setName(ext.getName()); |
|
|
|
result.setAccType(ext.getAccType().equals(0)?"in":"notIn"); |
|
|
|
result.setTargetType(ext.getTargetType()); |
|
|
|
result.setTargetCode(ext.getTargetCode()); |
|
|
|
result.setTargetName(ext.getTargetName()); |
|
|
|
result.setTargetId(ext.getTargetId()); |
|
|
|
return result; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
List<GoodsAccreditExt> list2 = super.baseMapper.queryPage2(query); |
|
|
|
for (GoodsAccreditExt ext : list2) { |
|
|
|
GoodsAccreditResult result = new GoodsAccreditResult(); |
|
|
|
result.setId("supplier"+ext.getId()); |
|
|
|
result.setRuleType("supplier"); |
|
|
|
if(ext.getSaleRegionId()!=null){ |
|
|
|
result.setTargetType("saleRegion"); |
|
|
|
}else if (ext.getBizRegionId()!=null){ |
|
|
|
result.setTargetType("bizRegion"); |
|
|
|
}else { |
|
|
|
result.setTargetType("supplier"); |
|
|
|
} |
|
|
|
result.setCode(ext.getCode()); |
|
|
|
result.setName(ext.getName()); |
|
|
|
if(ext.getTargetType().equals("1")){ |
|
|
|
result.setAccType("in"); |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getTargetType().equals("2")){ |
|
|
|
result.setAccType("notIn"); |
|
|
|
result.setGoodType("category"); |
|
|
|
}else if (ext.getTargetType().equals("3")){ |
|
|
|
result.setAccType("in"); |
|
|
|
result.setGoodType("spu"); |
|
|
|
}else { |
|
|
|
result.setAccType("notIn"); |
|
|
|
result.setGoodType("spu"); |
|
|
|
} |
|
|
|
result.setTargetType(ext.getTargetType()); |
|
|
|
result.setTargetCode(ext.getTargetCode()); |
|
|
|
result.setTargetName(ext.getTargetName()); |
|
|
|
results.add(result); |
|
|
|
} |
|
|
|
return results; |
|
|
|
return R.byPageHelperList(list,results).getData(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|