|
|
|
@ -19,11 +19,13 @@ package com.logpm.basicdata.service.impl;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataBrandEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataClientEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataClientLogEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataTripartiteMallEntity; |
|
|
|
|
import com.logpm.basicdata.excel.BasicdataTripartiteMallExcel; |
|
|
|
|
import com.logpm.basicdata.mapper.BasicdataTripartiteMallMapper; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataBrandService; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataClientLogService; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataClientService; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataTripartiteMallService; |
|
|
|
@ -31,14 +33,18 @@ import com.logpm.basicdata.vo.BasicdataTripartiteMallVO;
|
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.jetbrains.annotations.Nullable; |
|
|
|
|
import org.springblade.common.exception.CustomerException; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.core.tool.utils.StringUtil; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Objects; |
|
|
|
@ -59,6 +65,8 @@ public class BasicdataTripartiteMallServiceImpl extends BaseServiceImpl<Basicdat
|
|
|
|
|
|
|
|
|
|
private IBasicdataClientLogService basicdataClientLogService; |
|
|
|
|
|
|
|
|
|
private IBasicdataBrandService basicdataBrandService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<BasicdataTripartiteMallVO> selectBasicdataTripartiteMallPage(IPage<BasicdataTripartiteMallVO> page, BasicdataTripartiteMallVO basicdataTripartiteMall) { |
|
|
|
@ -236,6 +244,85 @@ public class BasicdataTripartiteMallServiceImpl extends BaseServiceImpl<Basicdat
|
|
|
|
|
return R.success("操作成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<BasicdataTripartiteMallExcel> exportTripartiteMallTemplate() { |
|
|
|
|
List<BasicdataTripartiteMallExcel> list = new ArrayList<>(); |
|
|
|
|
BasicdataTripartiteMallExcel tripartiteMallExcel = new BasicdataTripartiteMallExcel(); |
|
|
|
|
tripartiteMallExcel.setTripartiteMall("示例:XXX商城"); |
|
|
|
|
tripartiteMallExcel.setTripartiteCoding("示例:ASDFG0000"); |
|
|
|
|
tripartiteMallExcel.setBrandName("示例:欧派"); |
|
|
|
|
list.add(tripartiteMallExcel); |
|
|
|
|
return list; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public void importTripartiteMall(List<BasicdataTripartiteMallExcel> data) { |
|
|
|
|
List<Long> clientIds = new ArrayList<>(); |
|
|
|
|
boolean b = data.stream().anyMatch(a -> Objects.isNull(a.getClientName())); |
|
|
|
|
String string =""; |
|
|
|
|
if (b) { |
|
|
|
|
string = data.stream().filter(a -> Objects.isNull(a.getClientName())).map(BasicdataTripartiteMallExcel::getTripartiteMall).collect(Collectors.joining(",")); |
|
|
|
|
throw new ServiceException(string+"未填写客户信息"); |
|
|
|
|
} |
|
|
|
|
boolean c = data.stream().anyMatch(a -> Objects.isNull(a.getBrandName())); |
|
|
|
|
if (c) { |
|
|
|
|
string = data.stream().filter(a -> Objects.isNull(a.getBrandName())).map(BasicdataTripartiteMallExcel::getTripartiteMall).collect(Collectors.joining(",")); |
|
|
|
|
throw new ServiceException(string+"未填写品牌信息"); |
|
|
|
|
} |
|
|
|
|
String clientNames = data.stream().map(BasicdataTripartiteMallExcel::getClientName).collect(Collectors.joining(",")); |
|
|
|
|
|
|
|
|
|
//查询客户信息是否合法
|
|
|
|
|
List<BasicdataClientEntity> basicdataClientEntityList = basicdataClientService.list(Wrappers.<BasicdataClientEntity>query().lambda() |
|
|
|
|
.in(BasicdataClientEntity::getClientName, clientNames) |
|
|
|
|
); |
|
|
|
|
if (basicdataClientEntityList.isEmpty()) { |
|
|
|
|
throw new ServiceException(clientNames+"查询客户信息错误"); |
|
|
|
|
} |
|
|
|
|
Map<String, List<BasicdataClientEntity>> listMap = basicdataClientEntityList.stream().collect(Collectors.groupingBy(BasicdataClientEntity::getClientName)); |
|
|
|
|
List<BasicdataTripartiteMallEntity> tripartiteMallEntityList = new ArrayList<>(); |
|
|
|
|
for (BasicdataTripartiteMallExcel datum : data) { |
|
|
|
|
List<BasicdataTripartiteMallEntity> entities = this.list(Wrappers.<BasicdataTripartiteMallEntity>query().lambda() |
|
|
|
|
.eq(BasicdataTripartiteMallEntity::getTripartiteMall, datum.getTripartiteMall()) |
|
|
|
|
.eq(BasicdataTripartiteMallEntity::getTripartiteCoding, datum.getTripartiteCoding()) |
|
|
|
|
.eq(BasicdataTripartiteMallEntity::getBrandName, datum.getBrandName()) |
|
|
|
|
); |
|
|
|
|
if (!entities.isEmpty()) { |
|
|
|
|
clientIds.addAll(entities.stream().map(BasicdataTripartiteMallEntity::getClientId).collect(Collectors.toList())); |
|
|
|
|
}else { |
|
|
|
|
List<BasicdataClientEntity> basicdataClientEntities = listMap.get(datum.getClientName()); |
|
|
|
|
if (basicdataClientEntities.size() > 1) { |
|
|
|
|
throw new ServiceException(datum.getClientName()+"客户信息错误"); |
|
|
|
|
} |
|
|
|
|
BasicdataClientEntity basicdataClientEntity = basicdataClientEntities.get(0); |
|
|
|
|
BasicdataTripartiteMallEntity basicdataTripartiteMall = BeanUtil.copyProperties(datum, BasicdataTripartiteMallEntity.class); |
|
|
|
|
basicdataTripartiteMall.setClientId(basicdataClientEntity.getId()); |
|
|
|
|
List<BasicdataBrandEntity> list = basicdataBrandService.list(Wrappers.<BasicdataBrandEntity>query().lambda() |
|
|
|
|
.eq(BasicdataBrandEntity::getBrandName, datum.getBrandName()) |
|
|
|
|
); |
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
|
basicdataTripartiteMall.setBrandId(list.get(0).getId()); |
|
|
|
|
}else { |
|
|
|
|
throw new ServiceException(datum.getClientName()+"客户信息错误"); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
tripartiteMallEntityList.add(basicdataTripartiteMall); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (!clientIds.isEmpty()) { |
|
|
|
|
List<BasicdataClientEntity> basicdataClientEntityList1 = basicdataClientService.listByIds(clientIds); |
|
|
|
|
if (!basicdataClientEntityList1.isEmpty()) { |
|
|
|
|
String errorClient = basicdataClientEntityList1.stream().map(BasicdataClientEntity::getClientName).collect(Collectors.joining(",")); |
|
|
|
|
throw new ServiceException(errorClient+"已存在相关配置"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!tripartiteMallEntityList.isEmpty()) { |
|
|
|
|
this.saveBatch(tripartiteMallEntityList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private String comparisonBasicdataTripartiteMall(BasicdataTripartiteMallEntity entity, BasicdataTripartiteMallEntity basicdataTripartiteMall) { |
|
|
|
|
StringBuilder builder = new StringBuilder(); |
|
|
|
|
String str1 = entity.getTripartiteCoding().isEmpty() ? "空" : entity.getTripartiteCoding(); |
|
|
|
|