Просмотр исходного кода

Merge branch 'release_toaliyun_real_20230701' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_20230701

release_toaliyun_real
xhxu 2 лет назад
Родитель
Сommit
ef8bbf7035
6 измененных файлов: 67 добавлений и 23 удалений
  1. +4
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java
  2. +4
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java
  3. +34
    -7
      mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java
  4. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  5. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java
  6. +20
    -10
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java

+ 4
- 4
mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java Просмотреть файл

@@ -278,12 +278,12 @@ public class TtMerchantPoiController extends DouyinBaseController {
//得到当前用户ID //得到当前用户ID
final MallUserInfo user = getUser(); final MallUserInfo user = getUser();
String userId = "" + user.getId(); 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) { if (isSaas) {
asyncTask.importExcelPoiDataForNew(lFile, user, importKey,request,response);
asyncTask.importExcelPoiDataForNew(lFile, user, null,request,response);
}else { }else {
asyncTask.importExcelPoiData(lFile, user, importKey,request,response);
asyncTask.importExcelPoiData(lFile, user, null,request,response);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("allTreeList error.",e); logger.error("allTreeList error.",e);


+ 4
- 0
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.*;
import com.iformall.service.park.impl.etcp.ETCPUtil; import com.iformall.service.park.impl.etcp.ETCPUtil;
import com.iformall.service.park.impl.tjd.TJDUtil; import com.iformall.service.park.impl.tjd.TJDUtil;
import com.iformall.utils.Constant;


import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@@ -191,6 +192,9 @@ public class WxCarController extends BaseController {
} }
WxMerchant wxMerchant = wxMerchantService.getById(merchantId); WxMerchant wxMerchant = wxMerchantService.getById(merchantId);
String carParams = wxMerchant.getCarParams(); String carParams = wxMerchant.getCarParams();
if (StringUtils.isBlank(carParams)) {
return null;
}
JSONObject objParams1 = JSON.parseObject(carParams); JSONObject objParams1 = JSON.parseObject(carParams);
businessId = objParams1.getString("businessId"); businessId = objParams1.getString("businessId");
return businessId; return businessId;


+ 34
- 7
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.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -112,11 +114,28 @@ public class AsyncTask {
if (value == null) { if (value == null) {
value = ""; 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); 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<WxCardPriceTemplate> { private class CardPriceExcelHandler extends ExcelDataHandlerDefaultImpl<WxCardPriceTemplate> {
@Override @Override
public Object importHandler(WxCardPriceTemplate obj, String name, Object value) { public Object importHandler(WxCardPriceTemplate obj, String name, Object value) {
@@ -290,7 +309,7 @@ public class AsyncTask {
return datalist; return datalist;
} }
@Async
//@Async
public void importExcelPoiData(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) { public void importExcelPoiData(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) {
String[] importFields = new String[]{"服务商POI_ID", "POI名称", "省份", "城市", "地址", "经度", "纬度", "高德ID(非必填)", String[] importFields = new String[]{"服务商POI_ID", "POI名称", "省份", "城市", "地址", "经度", "纬度", "高德ID(非必填)",
"已匹配POI_ID", "已匹配POI名称", "已匹配POI省份", "已匹配POI城市", "已匹配POI地址", "未匹配原因", "其他信息","POI导入结果"}; "已匹配POI_ID", "已匹配POI名称", "已匹配POI省份", "已匹配POI城市", "已匹配POI地址", "未匹配原因", "其他信息","POI导入结果"};
@@ -310,11 +329,15 @@ public class AsyncTask {
logger.error("session :"+ue.getMessage()); 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"); exportExcel(request, response, successList,MerchantPoiT.class, "POI导入-结果.xlsx");
} catch (Exception e) { } catch (Exception e) {
logger.error("导入模板失败:"+e.getMessage(),e); logger.error("导入模板失败:"+e.getMessage(),e);
stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS);
if (StringUtils.isNotBlank(importKey)) {
stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS);
}
} }
} }
} }
@@ -455,7 +478,7 @@ public class AsyncTask {
public void importExcelPoiDataForNew(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) { public void importExcelPoiDataForNew(File file, MallUserInfo user, String importKey,HttpServletRequest request, HttpServletResponse response) {
// 需要验证 // 需要验证
String[] needFields = new String[]{"门店ID","富茂系统商户ID","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度"}; String[] needFields = new String[]{"门店ID","富茂系统商户ID","富茂系统省份", "富茂系统城市", "富茂系统地址","富茂系统经度", "富茂系统纬度"};
ExcelImportResult<MerchantPoiTNew> datalist = handleImportFile(null,file,MerchantPoiTNew.class,poiImportFields,needFields,new AsyncTask.PoiNewExcelHandler());
ExcelImportResult<MerchantPoiTNew> datalist = handleImportFile(importKey,file,MerchantPoiTNew.class,poiImportFields,needFields,new AsyncTask.PoiNewExcelHandler());
if (null == datalist) { if (null == datalist) {
return ; return ;
} }
@@ -470,11 +493,15 @@ public class AsyncTask {
logger.error("session :"+ue.getMessage(),ue); 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"); exportExcel(request, response, successList,MerchantPoiTNew.class, "POI导入-结果.xlsx");
} catch (Exception e) { } catch (Exception e) {
logger.error("导入模板失败:"+e.getMessage(),e); logger.error("导入模板失败:"+e.getMessage(),e);
stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS);
if (StringUtils.isNotBlank(importKey)) {
stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS);
}
} }
} }
} }
@@ -539,7 +566,7 @@ public class AsyncTask {
WxMerchant merchant = wxMerchantService.initMerchantByPoi(user,poiBase.getPoiName(), poiBase.getPoiId(),poiBase.getPhone()); WxMerchant merchant = wxMerchantService.initMerchantByPoi(user,poiBase.getPoiName(), poiBase.getPoiId(),poiBase.getPhone());
poiBase.setMerchantId(String.valueOf(merchant.getId())); poiBase.setMerchantId(String.valueOf(merchant.getId()));
poiBase.setMerchantName(merchant.getName()); poiBase.setMerchantName(merchant.getName());
poiBase.setInitMerchantRemark("初始化商户成功.");
poiBase.setInitMerchantRemark("初始化商户成功."+StringUtils.trimToEmpty(merchant.getInitLog()));
}catch(Exception e) { }catch(Exception e) {
poiBase.setInitMerchantRemark("初始化商户失败."+e.getMessage()); poiBase.setInitMerchantRemark("初始化商户失败."+e.getMessage());
} }


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java Просмотреть файл

@@ -439,5 +439,8 @@ public class WxMerchant extends TenantEntity {
private Integer noCarVendor; private Integer noCarVendor;
@TableField(exist = false) @TableField(exist = false)
private List<Long> merchantIds; private List<Long> merchantIds;
@TableField(exist = false)
private String initLog;


} }

+ 2
- 2
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) { public void exportTemplate(HttpServletRequest request, HttpServletResponse response, boolean isNew) {
if (isNew) { if (isNew) {
List<MerchantPoiTNew> list = new ArrayList<MerchantPoiTNew>(); List<MerchantPoiTNew> list = new ArrayList<MerchantPoiTNew>();
excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiTNew.class, "POI匹配模板.xlsx", response, true);
excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiTNew.class, "门店数据模板.xlsx", response, true);
}else { }else {
List<MerchantPoiT> list = new ArrayList<MerchantPoiT>(); List<MerchantPoiT> list = new ArrayList<MerchantPoiT>();
excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiT.class, "POI匹配模板.xlsx", response, true);
excelService.exportExcel(list, null, "POI匹配模板", MerchantPoiT.class, "门店数据模板.xlsx", response, true);
} }
} }


+ 20
- 10
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -160,6 +160,10 @@ public class WxMerchantServiceImpl implements WxMerchantService {
@Autowired @Autowired
private WxMallBuildingService wxMallBuildingService; private WxMallBuildingService wxMallBuildingService;
@Lazy
@Autowired
private WxMerchantBUserService wxMerchantBUserService;
@Autowired @Autowired
@Qualifier("objectCommonRedisTemplate") @Qualifier("objectCommonRedisTemplate")
RedisTemplate<String, Object> redisTemplate; RedisTemplate<String, Object> redisTemplate;
@@ -2204,8 +2208,9 @@ public class WxMerchantServiceImpl implements WxMerchantService {
shop.setBuilding(buildingId); shop.setBuilding(buildingId);
shop.setFloor(floorId); shop.setFloor(floorId);
shop.setOperationArea("0"); shop.setOperationArea("0");
shop.setBusinessId(0);
shop.setBusinessId(Constant.default_business);
shop.setRentUnit(2); shop.setRentUnit(2);
shop.setImgUrl("https://formall.oss-accelerate.aliyuncs.com/789/7428a764-fc00-46e4-b7b7-8b4a794e1c39.jpg");
Result result = wxShopService.saveOrUpdate(shop); Result result = wxShopService.saveOrUpdate(shop);
if (null == result) { if (null == result) {
return null; return null;
@@ -2270,15 +2275,20 @@ public class WxMerchantServiceImpl implements WxMerchantService {
} }
//加管理员 //加管理员
if (StringUtils.isNotBlank(phone)) { if (StringUtils.isNotBlank(phone)) {
List<WxMerchantBUser> users = new ArrayList<WxMerchantBUser>();
WxMerchantBUser buser = new WxMerchantBUser();
buser.setName("管理员");
buser.setPhone(phone);
buser.setUserPwd("123456Abc");
buser.setIsAdmin(merchant.getIsAdmin());
users.add(buser);
merchant.setUsers(users);
this.updateMerchantAdmin(merchant) ;
boolean hasPhone = wxMerchantBUserService.hasPhone(user, phone);
if (hasPhone) {
merchant.setInitLog("手机号已存在,跳过创建管理员账号");
}else {
List<WxMerchantBUser> users = new ArrayList<WxMerchantBUser>();
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; return merchant;
} }

Загрузка…
Отмена
Сохранить