|
|
@@ -16,13 +16,28 @@
|
|
|
*/
|
|
|
package org.springblade.mocha.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.check.entity.AuditPathsLevels;
|
|
|
+import org.springblade.client.entity.GoodsDesc;
|
|
|
+import org.springblade.client.feign.IGoodsDescClient;
|
|
|
+import org.springblade.core.mp.support.Condition;
|
|
|
+import org.springblade.core.mp.support.Query;
|
|
|
+import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.mocha.entity.SalesPolicyItem;
|
|
|
import org.springblade.mocha.vo.SalesPolicyItemVO;
|
|
|
import org.springblade.mocha.mapper.SalesPolicyItemMapper;
|
|
|
import org.springblade.mocha.service.ISalesPolicyItemService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springblade.system.user.entity.User;
|
|
|
+import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 销售政策明细表 服务实现类
|
|
|
@@ -31,11 +46,75 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
* @since 2021-10-14
|
|
|
*/
|
|
|
@Service
|
|
|
+@AllArgsConstructor
|
|
|
public class SalesPolicyItemServiceImpl extends ServiceImpl<SalesPolicyItemMapper, SalesPolicyItem> implements ISalesPolicyItemService {
|
|
|
|
|
|
+ /**
|
|
|
+ * 商品信息
|
|
|
+ */
|
|
|
+ private final IGoodsDescClient goodsDescClient;
|
|
|
+ /**
|
|
|
+ * 用户
|
|
|
+ */
|
|
|
+ private final IUserClient userClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<SalesPolicyItemVO> selectSalesPolicyItemPage(IPage<SalesPolicyItemVO> page, SalesPolicyItemVO salesPolicyItem) {
|
|
|
return page.setRecords(baseMapper.selectSalesPolicyItemPage(page, salesPolicyItem));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 销售政策明细查询
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public IPage<SalesPolicyItem> selCnameList(Query query, SalesPolicyItem item) {
|
|
|
+ if (item.getPid() == null){
|
|
|
+ throw new SecurityException("缺少必要参数,查询失败");
|
|
|
+ }
|
|
|
+ //根据条件查询特价促销明细
|
|
|
+ LambdaQueryWrapper<SalesPolicyItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(SalesPolicyItem::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(SalesPolicyItem::getIsDeleted, 0)
|
|
|
+ .eq(SalesPolicyItem::getSalesType, 1)
|
|
|
+ .eq(SalesPolicyItem::getPid, item.getPid());
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(item.getCname())){//获得产品信息
|
|
|
+ List<GoodsDesc> goodsDescList = goodsDescClient.getGoodsIds(item.getCname());
|
|
|
+ List<Long> goodsIds = goodsDescList.stream().map(GoodsDesc::getId).collect(Collectors.toList());
|
|
|
+ lambdaQueryWrapper.in(SalesPolicyItem::getItemId, goodsIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<SalesPolicyItem> iPage = baseMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if (!CollectionUtils.isEmpty(iPage.getRecords())){
|
|
|
+ String updateUserIds = "";//修改人id拼接
|
|
|
+ String createUserIds = "";//创建人id拼接
|
|
|
+ for (SalesPolicyItem items : iPage.getRecords()){
|
|
|
+ if (ObjectUtil.isNotEmpty(items.getUpdateUser())){
|
|
|
+ updateUserIds = updateUserIds + items.getUpdateUser() + ",";
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(items.getCreateUser())){
|
|
|
+ createUserIds = createUserIds + items.getCreateUser() + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获得修改人信息
|
|
|
+ List<User> updateUserList = userClient.selectUserIds(updateUserIds);
|
|
|
+ //获得创建人信息
|
|
|
+ List<User> createUserList = userClient.selectUserIds(createUserIds);
|
|
|
+
|
|
|
+ iPage.getRecords().forEach(salesPolicyItem -> {
|
|
|
+ if (ObjectUtil.isNotEmpty(updateUserList)) {
|
|
|
+ salesPolicyItem.setUpdateUserName(updateUserList.stream().filter(e -> e.getId().equals(salesPolicyItem.getUpdateUser())).findFirst().get().getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(createUserList)) {
|
|
|
+ salesPolicyItem.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(salesPolicyItem.getCreateUser())).findFirst().get().getName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return iPage;
|
|
|
+ }
|
|
|
+
|
|
|
}
|