|
|
@@ -11,7 +11,10 @@ import cn.afterturn.easypoi.handler.inter.IExcelDataHandler; |
|
|
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; |
|
|
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; |
|
|
import com.iformall.common.ErrorCode; |
|
|
import com.iformall.common.ErrorCode; |
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
|
|
|
import com.iformall.domain.po.TtMerchantPoi; |
|
|
|
|
|
import com.iformall.domain.po.WxMerchant; |
|
|
import com.iformall.domain.po.WxTags; |
|
|
import com.iformall.domain.po.WxTags; |
|
|
|
|
|
import com.iformall.domain.po.base.TenantEntity; |
|
|
import com.iformall.domain.vo.CUserBaseInfoT; |
|
|
import com.iformall.domain.vo.CUserBaseInfoT; |
|
|
import com.iformall.domain.vo.GaoDePoiInfo; |
|
|
import com.iformall.domain.vo.GaoDePoiInfo; |
|
|
import com.iformall.domain.vo.MerchantPoiT; |
|
|
import com.iformall.domain.vo.MerchantPoiT; |
|
|
@@ -21,6 +24,7 @@ import com.iformall.exception.MallinkException; |
|
|
import com.iformall.service.TtMerchantPoiService; |
|
|
import com.iformall.service.TtMerchantPoiService; |
|
|
import com.iformall.service.WxCUserBasicInfoService; |
|
|
import com.iformall.service.WxCUserBasicInfoService; |
|
|
import com.iformall.service.WxCouponPasswordService; |
|
|
import com.iformall.service.WxCouponPasswordService; |
|
|
|
|
|
import com.iformall.service.WxMerchantService; |
|
|
import com.iformall.service.WxTagsService; |
|
|
import com.iformall.service.WxTagsService; |
|
|
|
|
|
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
|
|
@@ -36,7 +40,9 @@ import org.springframework.stereotype.Component; |
|
|
import java.io.File; |
|
|
import java.io.File; |
|
|
import java.io.OutputStream; |
|
|
import java.io.OutputStream; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
import java.util.Map; |
|
|
import java.util.concurrent.TimeUnit; |
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
@@ -60,6 +66,9 @@ public class AsyncTask { |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
StringRedisTemplate stringRedisTemplate; |
|
|
StringRedisTemplate stringRedisTemplate; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private WxMerchantService wxMerchantService; |
|
|
|
|
|
|
|
|
private class UserExcelHandler extends ExcelDataHandlerDefaultImpl<CUserBaseInfoT> { |
|
|
private class UserExcelHandler extends ExcelDataHandlerDefaultImpl<CUserBaseInfoT> { |
|
|
@Override |
|
|
@Override |
|
|
@@ -237,10 +246,10 @@ public class AsyncTask { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public void exportExcelPoiDataAddLocationForNew(String gaodeKey,File file,HttpServletRequest request, HttpServletResponse response) throws Exception { |
|
|
|
|
|
|
|
|
public void exportExcelPoiDataAddLocationForNew(TenantEntity tenantEntity,String gaodeKey,File file,HttpServletRequest request, HttpServletResponse response) throws Exception { |
|
|
ImportParams params = new ImportParams(); |
|
|
ImportParams params = new ImportParams(); |
|
|
// 需要验证 |
|
|
// 需要验证 |
|
|
String[] headers = new String[]{"富茂系统商户ID", "富茂系统商户名称","门店名称", "门店ID", "城市", "详细地址","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度","高德匹配备注"}; |
|
|
|
|
|
|
|
|
String[] headers = new String[]{"门店名称", "门店ID", "城市", "详细地址","富茂系统商户ID", "富茂系统商户名称","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度","高德匹配备注","管理员手机号"}; |
|
|
params.setImportFields(headers); |
|
|
params.setImportFields(headers); |
|
|
IExcelDataHandler<MerchantPoiTNew> handler = new AsyncTask.PoiNewExcelHandler(); |
|
|
IExcelDataHandler<MerchantPoiTNew> handler = new AsyncTask.PoiNewExcelHandler(); |
|
|
handler.setNeedHandlerFields(new String[]{"门店名称", "门店ID", "城市", "详细地址"}); |
|
|
handler.setNeedHandlerFields(new String[]{"门店名称", "门店ID", "城市", "详细地址"}); |
|
|
@@ -266,7 +275,17 @@ public class AsyncTask { |
|
|
List<MerchantPoiTNew> successList = datalist.getList(); |
|
|
List<MerchantPoiTNew> successList = datalist.getList(); |
|
|
//List<MerchantPoiTNew> failList = datalist.getFailList(); |
|
|
//List<MerchantPoiTNew> failList = datalist.getFailList(); |
|
|
if(null != successList && successList.size() > 0 ) { |
|
|
if(null != successList && successList.size() > 0 ) { |
|
|
try { |
|
|
|
|
|
|
|
|
//查询所有匹配了poi的 |
|
|
|
|
|
TtMerchantPoi poiQ = new TtMerchantPoi(); |
|
|
|
|
|
poiQ.updateTenantInfo(tenantEntity); |
|
|
|
|
|
Map<String,Long> poiMerchantIdMap = ttMerchantPoiService.queryPoiMerchantIdMap(poiQ); |
|
|
|
|
|
|
|
|
|
|
|
//查询所有商户 |
|
|
|
|
|
WxMerchant merchantQ = new WxMerchant(); |
|
|
|
|
|
merchantQ.updateTenantInfo(tenantEntity); |
|
|
|
|
|
Map<Long,WxMerchant> merchantMap = wxMerchantService.findMerchantMap(merchantQ); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
successList.parallelStream().forEach(poiBase -> { |
|
|
successList.parallelStream().forEach(poiBase -> { |
|
|
try { |
|
|
try { |
|
|
if (StringUtils.isNotBlank(poiBase.getProvince()) && StringUtils.isNotBlank(poiBase.getCity()) |
|
|
if (StringUtils.isNotBlank(poiBase.getProvince()) && StringUtils.isNotBlank(poiBase.getCity()) |
|
|
@@ -289,6 +308,18 @@ public class AsyncTask { |
|
|
poiBase.setGaodeRemark("未匹配到信息"); |
|
|
poiBase.setGaodeRemark("未匹配到信息"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
String poiId = poiBase.getPoiId(); |
|
|
|
|
|
if (StringUtils.isNotBlank(poiId) && null != poiMerchantIdMap) { |
|
|
|
|
|
Long merchantId = poiMerchantIdMap.get(poiId); |
|
|
|
|
|
poiBase.setMerchantId(String.valueOf(merchantId)); |
|
|
|
|
|
if (null != merchantMap && null != merchantId) { |
|
|
|
|
|
WxMerchant m = merchantMap.get(merchantId); |
|
|
|
|
|
if (null != m) { |
|
|
|
|
|
poiBase.setMerchantName(m.getName()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} catch (UnknownSessionException ue) { |
|
|
} catch (UnknownSessionException ue) { |
|
|
logger.error("session :"+ue.getMessage()); |
|
|
logger.error("session :"+ue.getMessage()); |
|
|
poiBase.setGaodeRemark("查询高德API失败"); |
|
|
poiBase.setGaodeRemark("查询高德API失败"); |
|
|
@@ -298,7 +329,7 @@ public class AsyncTask { |
|
|
//exportParams.setCreateHeadRows(true); |
|
|
//exportParams.setCreateHeadRows(true); |
|
|
//exportParams.setExclusions(headers); |
|
|
//exportParams.setExclusions(headers); |
|
|
Workbook workBook = ExcelExportUtil.exportExcel(exportParams, MerchantPoiTNew.class, successList); |
|
|
Workbook workBook = ExcelExportUtil.exportExcel(exportParams, MerchantPoiTNew.class, successList); |
|
|
exportExcel(request, response, workBook, "POI匹配模版-高德.xls"); |
|
|
|
|
|
|
|
|
exportExcel(request, response, workBook, "POI匹配模版-高德.xlsx"); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
logger.error("更新地理信息失败:"+e.getMessage(),e); |
|
|
logger.error("更新地理信息失败:"+e.getMessage(),e); |
|
|
} |
|
|
} |
|
|
@@ -321,10 +352,10 @@ public class AsyncTask { |
|
|
public void importExcelPoiDataForNew(File file, MallUserInfo user, String importKey) { |
|
|
public void importExcelPoiDataForNew(File file, MallUserInfo user, String importKey) { |
|
|
ImportParams params = new ImportParams(); |
|
|
ImportParams params = new ImportParams(); |
|
|
// 需要验证 |
|
|
// 需要验证 |
|
|
String[] headers = new String[]{"富茂系统商户ID", "富茂系统商户名称","门店名称", "门店ID", "城市", "详细地址","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度","高德匹配备注"}; |
|
|
|
|
|
|
|
|
String[] headers = new String[]{"门店名称", "门店ID", "城市", "详细地址","富茂系统商户ID", "富茂系统商户名称","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度","高德匹配备注","管理员手机号"}; |
|
|
params.setImportFields(headers); |
|
|
params.setImportFields(headers); |
|
|
IExcelDataHandler<MerchantPoiTNew> handler = new AsyncTask.PoiNewExcelHandler(); |
|
|
IExcelDataHandler<MerchantPoiTNew> handler = new AsyncTask.PoiNewExcelHandler(); |
|
|
handler.setNeedHandlerFields(new String[]{"富茂系统商户ID","门店ID","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度"}); |
|
|
|
|
|
|
|
|
handler.setNeedHandlerFields(new String[]{"门店ID","富茂系统商户ID","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度"}); |
|
|
params.setNeedVerify(true); |
|
|
params.setNeedVerify(true); |
|
|
|
|
|
|
|
|
ExcelImportResult<MerchantPoiTNew> datalist = null; |
|
|
ExcelImportResult<MerchantPoiTNew> datalist = null; |
|
|
|