From fa9ddd8e204ee728b3eeef701abcf0ba600e7c65 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 18 Jul 2023 14:20:46 +0800 Subject: [PATCH 1/7] fix car --- .../java/com/iformall/controller/car/WxCarController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java index 8094204f1..843e0a3d0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java @@ -18,6 +18,7 @@ import com.iformall.mapper.WxCouponMapper; import com.iformall.service.*; import com.iformall.service.park.impl.etcp.ETCPUtil; import com.iformall.service.park.impl.tjd.TJDUtil; +import com.iformall.utils.Constant; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -191,6 +192,9 @@ public class WxCarController extends BaseController { } WxMerchant wxMerchant = wxMerchantService.getById(merchantId); String carParams = wxMerchant.getCarParams(); + if (StringUtils.isBlank(carParams)) { + return Constant.default_business.toString(); + } JSONObject objParams1 = JSON.parseObject(carParams); businessId = objParams1.getString("businessId"); return businessId; From 116f021de5880b770b7910f55d85cd0cf7bc384e Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 18 Jul 2023 14:45:55 +0800 Subject: [PATCH 2/7] fix bug --- .../main/java/com/iformall/controller/car/WxCarController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java index 843e0a3d0..c6452995e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java @@ -193,7 +193,7 @@ public class WxCarController extends BaseController { WxMerchant wxMerchant = wxMerchantService.getById(merchantId); String carParams = wxMerchant.getCarParams(); if (StringUtils.isBlank(carParams)) { - return Constant.default_business.toString(); + return null; } JSONObject objParams1 = JSON.parseObject(carParams); businessId = objParams1.getString("businessId"); From 43451a2401d2a9307d5fe7bcab3533e701b1ac8d Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 18 Jul 2023 17:14:48 +0800 Subject: [PATCH 3/7] fix poi bug --- .../java/com/iformall/service/impl/WxMerchantServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index fcc609bb2..6b11154d4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -2204,7 +2204,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { shop.setBuilding(buildingId); shop.setFloor(floorId); shop.setOperationArea("0"); - shop.setBusinessId(0); + shop.setBusinessId(Constant.default_business); shop.setRentUnit(2); Result result = wxShopService.saveOrUpdate(shop); if (null == result) { From b51d037ae8365c71ce6a3ffeb6e1db81ed9bcc54 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 18 Jul 2023 18:25:57 +0800 Subject: [PATCH 4/7] fix poi bug --- .../controller/basic/TtMerchantPoiController.java | 8 ++++---- .../main/java/com/iformall/controller/mem/AsyncTask.java | 4 ++-- .../com/iformall/service/impl/WxMerchantServiceImpl.java | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java index 0f0efebda..cb29bbb78 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java @@ -278,12 +278,12 @@ public class TtMerchantPoiController extends DouyinBaseController { //得到当前用户ID final MallUserInfo user = getUser(); String userId = "" + user.getId(); - String importKey = Constant.importPoiPrev + userId; - File lFile = handlerImportFile(mFile,importKey,"poi"); + //String importKey = Constant.importPoiPrev + userId; + File lFile = handlerImportFile(mFile,null,"poi"); if (isSaas) { - asyncTask.importExcelPoiDataForNew(lFile, user, importKey,request,response); + asyncTask.importExcelPoiDataForNew(lFile, user, null,request,response); }else { - asyncTask.importExcelPoiData(lFile, user, importKey,request,response); + asyncTask.importExcelPoiData(lFile, user, null,request,response); } } catch (Exception e) { logger.error("allTreeList error.",e); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java index a4a65884a..0e0aa7997 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java @@ -290,12 +290,12 @@ public class AsyncTask { return datalist; } - @Async + //@Async public void importExcelPoiData(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) { String[] importFields = new String[]{"服务商POI_ID", "POI名称", "省份", "城市", "地址", "经度", "纬度", "高德ID(非必填)", "已匹配POI_ID", "已匹配POI名称", "已匹配POI省份", "已匹配POI城市", "已匹配POI地址", "未匹配原因", "其他信息","POI导入结果"}; String[] needFields = new String[]{"服务商POI_ID","已匹配POI_ID"}; - ExcelImportResult datalist = handleImportFile(importKey,file,MerchantPoiT.class,importFields,needFields,new AsyncTask.PoiExcelHandler()); + ExcelImportResult datalist = handleImportFile(null,file,MerchantPoiT.class,importFields,needFields,new AsyncTask.PoiExcelHandler()); if (null == datalist) { return; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 6b11154d4..e5801e65c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -2275,7 +2275,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { buser.setName("管理员"); buser.setPhone(phone); buser.setUserPwd("123456Abc"); - buser.setIsAdmin(merchant.getIsAdmin()); + buser.setIsAdmin(EnumYesOrNo.YES.getCode()); users.add(buser); merchant.setUsers(users); this.updateMerchantAdmin(merchant) ; From 7e610eaa756a3389e610a52f940daf65f497e158 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Tue, 18 Jul 2023 18:33:44 +0800 Subject: [PATCH 5/7] fix bug --- .../iformall/controller/mem/AsyncTask.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java index 0e0aa7997..4c1e0b079 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java @@ -295,7 +295,7 @@ public class AsyncTask { String[] importFields = new String[]{"服务商POI_ID", "POI名称", "省份", "城市", "地址", "经度", "纬度", "高德ID(非必填)", "已匹配POI_ID", "已匹配POI名称", "已匹配POI省份", "已匹配POI城市", "已匹配POI地址", "未匹配原因", "其他信息","POI导入结果"}; String[] needFields = new String[]{"服务商POI_ID","已匹配POI_ID"}; - ExcelImportResult datalist = handleImportFile(null,file,MerchantPoiT.class,importFields,needFields,new AsyncTask.PoiExcelHandler()); + ExcelImportResult datalist = handleImportFile(importKey,file,MerchantPoiT.class,importFields,needFields,new AsyncTask.PoiExcelHandler()); if (null == datalist) { return; } @@ -310,11 +310,15 @@ public class AsyncTask { logger.error("session :"+ue.getMessage()); } }); - stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + if (StringUtils.isNotBlank(importKey)) { + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + } exportExcel(request, response, successList,MerchantPoiT.class, "POI导入-结果.xlsx"); } catch (Exception e) { logger.error("导入模板失败:"+e.getMessage(),e); - stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + if (StringUtils.isNotBlank(importKey)) { + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + } } } } @@ -455,7 +459,7 @@ public class AsyncTask { public void importExcelPoiDataForNew(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) { // 需要验证 String[] needFields = new String[]{"门店ID","富茂系统商户ID","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度"}; - ExcelImportResult datalist = handleImportFile(null,file,MerchantPoiTNew.class,poiImportFields,needFields,new AsyncTask.PoiNewExcelHandler()); + ExcelImportResult datalist = handleImportFile(importKey,file,MerchantPoiTNew.class,poiImportFields,needFields,new AsyncTask.PoiNewExcelHandler()); if (null == datalist) { return ; } @@ -470,11 +474,15 @@ public class AsyncTask { logger.error("session :"+ue.getMessage(),ue); } }); - stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + if (StringUtils.isNotBlank(importKey)) { + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + } exportExcel(request, response, successList,MerchantPoiTNew.class, "POI导入-结果.xlsx"); } catch (Exception e) { logger.error("导入模板失败:"+e.getMessage(),e); - stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + if (StringUtils.isNotBlank(importKey)) { + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + } } } } From b3d34e0cafaa90f6041793ce55b6d080d03e258e Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Wed, 19 Jul 2023 11:04:34 +0800 Subject: [PATCH 6/7] fix poi bug --- .../com/iformall/service/impl/TtMerchantPoiServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java index d01fb06dd..4ef4b9224 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java @@ -548,10 +548,10 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { public void exportTemplate(HttpServletRequest request, HttpServletResponse response, boolean isNew) { if (isNew) { List list = new ArrayList(); - excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiTNew.class, "POI匹配模板.xlsx", response, true); + excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiTNew.class, "门店数据模板.xlsx", response, true); }else { List list = new ArrayList(); - excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiT.class, "POI匹配模板.xlsx", response, true); + excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiT.class, "门店数据模板.xlsx", response, true); } } From b79196a8cc9e9762d9de4e3a1e44c4431993d9c8 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Wed, 19 Jul 2023 14:36:18 +0800 Subject: [PATCH 7/7] fix poi bug --- .../iformall/controller/mem/AsyncTask.java | 21 +++++++++++++- .../com/iformall/domain/po/WxMerchant.java | 3 ++ .../service/impl/WxMerchantServiceImpl.java | 28 +++++++++++++------ 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java index 4c1e0b079..858ad607d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java @@ -52,6 +52,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -112,11 +114,28 @@ public class AsyncTask { if (value == null) { value = ""; } + //管理员手机号校验手机号格式 + if ("管理员手机号".equals(name)) { + String _v = (String)value; + if (StringUtils.isNotBlank(_v) && (!isMobile(_v))) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"管理员手机号必须是移动号码"); + } + } return super.importHandler(obj, name, value); } } + private static boolean isMobile(String str) { + Pattern p = null; + Matcher m = null; + boolean b = false; + p = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); // 验证手机号 + m = p.matcher(str); + b = m.matches(); + return b; + } + private class CardPriceExcelHandler extends ExcelDataHandlerDefaultImpl { @Override public Object importHandler(WxCardPriceTemplate obj, String name, Object value) { @@ -547,7 +566,7 @@ public class AsyncTask { WxMerchant merchant = wxMerchantService.initMerchantByPoi(user,poiBase.getPoiName(), poiBase.getPoiId(),poiBase.getPhone()); poiBase.setMerchantId(String.valueOf(merchant.getId())); poiBase.setMerchantName(merchant.getName()); - poiBase.setInitMerchantRemark("初始化商户成功."); + poiBase.setInitMerchantRemark("初始化商户成功."+StringUtils.trimToEmpty(merchant.getInitLog())); }catch(Exception e) { poiBase.setInitMerchantRemark("初始化商户失败."+e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index 8bb963e7f..bdbaf9e95 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -439,5 +439,8 @@ public class WxMerchant extends TenantEntity { private Integer noCarVendor; @TableField(exist = false) private List merchantIds; + + @TableField(exist = false) + private String initLog; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index e5801e65c..9439e6aba 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -160,6 +160,10 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired private WxMallBuildingService wxMallBuildingService; + @Lazy + @Autowired + private WxMerchantBUserService wxMerchantBUserService; + @Autowired @Qualifier("objectCommonRedisTemplate") RedisTemplate redisTemplate; @@ -2206,6 +2210,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { shop.setOperationArea("0"); shop.setBusinessId(Constant.default_business); shop.setRentUnit(2); + shop.setImgUrl("https://formall.oss-accelerate.aliyuncs.com/789/7428a764-fc00-46e4-b7b7-8b4a794e1c39.jpg"); Result result = wxShopService.saveOrUpdate(shop); if (null == result) { return null; @@ -2270,15 +2275,20 @@ public class WxMerchantServiceImpl implements WxMerchantService { } //加管理员 if (StringUtils.isNotBlank(phone)) { - List users = new ArrayList(); - WxMerchantBUser buser = new WxMerchantBUser(); - buser.setName("管理员"); - buser.setPhone(phone); - buser.setUserPwd("123456Abc"); - buser.setIsAdmin(EnumYesOrNo.YES.getCode()); - users.add(buser); - merchant.setUsers(users); - this.updateMerchantAdmin(merchant) ; + boolean hasPhone = wxMerchantBUserService.hasPhone(user, phone); + if (hasPhone) { + merchant.setInitLog("手机号已存在,跳过创建管理员账号"); + }else { + List users = new ArrayList(); + WxMerchantBUser buser = new WxMerchantBUser(); + buser.setName("管理员"); + buser.setPhone(phone); + buser.setUserPwd("123456Abc"); + buser.setIsAdmin(EnumYesOrNo.YES.getCode()); + users.add(buser); + merchant.setUsers(users); + this.updateMerchantAdmin(merchant) ; + } } return merchant; }