parent
82d67af356
commit
8726456126
@ -0,0 +1,126 @@ |
||||
package com.bweb.excelListener; |
||||
|
||||
import com.alibaba.excel.context.AnalysisContext; |
||||
import com.alibaba.excel.event.AnalysisEventListener; |
||||
import com.bweb.model.ImportCouponModel; |
||||
import com.bweb.model.ImportStoreModel; |
||||
import com.hai.common.utils.DateUtil; |
||||
import com.hai.common.utils.MemberValidateUtil; |
||||
import com.hai.entity.*; |
||||
import com.hai.model.HighMerchantStoreModel; |
||||
import com.hai.model.UserInfoModel; |
||||
import com.hai.service.CommonService; |
||||
import com.hai.service.HighCouponCodeService; |
||||
import com.hai.service.HighMerchantStoreService; |
||||
import org.apache.commons.lang3.StringUtils; |
||||
|
||||
import java.util.*; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @Auther: 胡锐 |
||||
* @Description: |
||||
* @Date: 2021/3/26 19:28 |
||||
*/ |
||||
public class ImportStoreListener extends AnalysisEventListener<ImportStoreModel> { |
||||
|
||||
List<ImportStoreModel> errorData = new ArrayList<>(); |
||||
List<HighMerchantStoreModel> successData = new ArrayList<>(); |
||||
List<HighMerchantStore> allStoreData = new ArrayList<>(); |
||||
|
||||
HighMerchantStoreModel highMerchantStore; |
||||
HighMerchant highMerchant; |
||||
UserInfoModel userInfoModel; |
||||
|
||||
private HighMerchantStoreService highMerchantStoreService; |
||||
private CommonService commonService; |
||||
|
||||
/** |
||||
* @Author 胡锐 |
||||
* @Description 解析到的每一条数据都会调用此方法 |
||||
* @Date 2021/3/20 21:08 |
||||
**/ |
||||
@Override |
||||
public void invoke(ImportStoreModel importStoreModel, AnalysisContext analysisContext) { |
||||
if (StringUtils.isBlank(importStoreModel.getStoreName()) |
||||
|| StringUtils.isBlank(importStoreModel.getStoreKey()) |
||||
|| StringUtils.isBlank(importStoreModel.getRegionId()) |
||||
|| StringUtils.isBlank(importStoreModel.getAddress()) |
||||
|| StringUtils.isBlank(importStoreModel.getLatitude()) |
||||
|| StringUtils.isBlank(importStoreModel.getLongitude()) |
||||
) { |
||||
importStoreModel.setErrorMessage("有必填项未填写"); |
||||
errorData.add(importStoreModel); |
||||
return; |
||||
} |
||||
|
||||
// 查询区域信息
|
||||
String regionName = this.commonService.getRegionName(Long.parseLong(importStoreModel.getRegionId())); |
||||
if (StringUtils.isBlank(regionName)) { |
||||
importStoreModel.setErrorMessage("【"+importStoreModel.getRegionId()+"】,未知的区域id"); |
||||
errorData.add(importStoreModel); |
||||
return; |
||||
} |
||||
|
||||
// 根据门店编码进行校验
|
||||
List<HighMerchantStore> collect = allStoreData.stream().filter(o -> o.getStoreKey().equals(importStoreModel.getStoreKey())).collect(Collectors.toList()); |
||||
if (collect != null && collect.size() > 0) { |
||||
importStoreModel.setErrorMessage("门店编号已存在"); |
||||
errorData.add(importStoreModel); |
||||
return; |
||||
} |
||||
|
||||
highMerchantStore = new HighMerchantStoreModel(); |
||||
highMerchantStore.setStoreName(importStoreModel.getStoreName()); |
||||
highMerchantStore.setStoreKey(importStoreModel.getStoreKey()); |
||||
highMerchantStore.setAddress(importStoreModel.getAddress()); |
||||
highMerchantStore.setLatitude(importStoreModel.getLatitude()); |
||||
highMerchantStore.setLongitude(importStoreModel.getLongitude()); |
||||
highMerchantStore.setRegionId(Long.parseLong(importStoreModel.getRegionId())); |
||||
|
||||
highMerchantStore.setRegionName(regionName); |
||||
highMerchantStore.setCompanyId(highMerchant.getCompanyId()); |
||||
highMerchantStore.setMerchantId(highMerchant.getId()); |
||||
highMerchantStore.setOperatorId(userInfoModel.getSecUser().getId()); |
||||
highMerchantStore.setOperatorName(userInfoModel.getSecUser().getUserName()); |
||||
highMerchantStore.setStatus(1); |
||||
highMerchantStore.setCreateTime(new Date()); |
||||
highMerchantStore.setUpdateTime(new Date()); |
||||
|
||||
successData.add(highMerchantStore); |
||||
allStoreData.add(highMerchantStore); |
||||
|
||||
|
||||
} |
||||
|
||||
/** |
||||
* @Author 胡锐 |
||||
* @Description 所有数据解析完成了 都会来调用此方法 |
||||
* @Date 2021/3/20 21:08 |
||||
**/ |
||||
@Override |
||||
public void doAfterAllAnalysed(AnalysisContext analysisContext) { |
||||
if (successData.size() > 0) { |
||||
try { |
||||
highMerchantStoreService.insertMerchantStoreList(successData); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
this.successData.clear(); |
||||
this.allStoreData.clear(); |
||||
} |
||||
|
||||
public List<ImportStoreModel> getErrorData() { |
||||
return errorData; |
||||
} |
||||
|
||||
public void initData(HighMerchant highMerchant, UserInfoModel userInfoModel, HighMerchantStoreService highMerchantStoreService, CommonService commonService){ |
||||
this.highMerchant = highMerchant; |
||||
this.userInfoModel = userInfoModel; |
||||
this.highMerchantStoreService = highMerchantStoreService; |
||||
this.commonService = commonService; |
||||
this.allStoreData = this.highMerchantStoreService.getMerchantStoreList(new HashMap<>()); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,89 @@ |
||||
package com.bweb.model; |
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty; |
||||
import com.alibaba.excel.annotation.format.DateTimeFormat; |
||||
|
||||
/** |
||||
* @Author 胡锐 |
||||
* @Description 导入门店 |
||||
* @Date 2021/3/26 19:23 |
||||
**/ |
||||
public class ImportStoreModel { |
||||
|
||||
@ExcelProperty("门店名称") |
||||
private String storeName; |
||||
|
||||
@ExcelProperty("门店编号") |
||||
private String storeKey; |
||||
|
||||
@ExcelProperty("区域Id") |
||||
private String regionId; |
||||
|
||||
@ExcelProperty("地址") |
||||
private String address; |
||||
|
||||
@ExcelProperty("经度") |
||||
private String longitude; |
||||
|
||||
@ExcelProperty("纬度") |
||||
private String latitude; |
||||
|
||||
// 错误消息
|
||||
private String errorMessage; |
||||
|
||||
public String getStoreName() { |
||||
return storeName; |
||||
} |
||||
|
||||
public void setStoreName(String storeName) { |
||||
this.storeName = storeName; |
||||
} |
||||
|
||||
public String getStoreKey() { |
||||
return storeKey; |
||||
} |
||||
|
||||
public void setStoreKey(String storeKey) { |
||||
this.storeKey = storeKey; |
||||
} |
||||
|
||||
public String getRegionId() { |
||||
return regionId; |
||||
} |
||||
|
||||
public void setRegionId(String regionId) { |
||||
this.regionId = regionId; |
||||
} |
||||
|
||||
public String getAddress() { |
||||
return address; |
||||
} |
||||
|
||||
public void setAddress(String address) { |
||||
this.address = address; |
||||
} |
||||
|
||||
public String getLongitude() { |
||||
return longitude; |
||||
} |
||||
|
||||
public void setLongitude(String longitude) { |
||||
this.longitude = longitude; |
||||
} |
||||
|
||||
public String getLatitude() { |
||||
return latitude; |
||||
} |
||||
|
||||
public void setLatitude(String latitude) { |
||||
this.latitude = latitude; |
||||
} |
||||
|
||||
public String getErrorMessage() { |
||||
return errorMessage; |
||||
} |
||||
|
||||
public void setErrorMessage(String errorMessage) { |
||||
this.errorMessage = errorMessage; |
||||
} |
||||
} |
Loading…
Reference in new issue