|
|
|
@@ -46,16 +46,16 @@ public class WxCuserFloatingLayerServiceImpl implements WxCuserFloatingLayerServ |
|
|
|
public WxFloatingLayer getFloatingLayer(String openId, String appId) { |
|
|
|
WxAppinfo appinfo = appinfoMapper.findByAppId(appId); |
|
|
|
if (StringUtils.isBlank(openId)) { |
|
|
|
return getWxFloatingLayer(appinfo.getTenantInfo()); |
|
|
|
return getWxFloatingLayer(appinfo.getTenantId()); |
|
|
|
} |
|
|
|
//1 查看是否存在用户,用户不存在 直接返回浮层信息 |
|
|
|
WxCUser user = new WxCUser(); |
|
|
|
user.setOpenId(openId); |
|
|
|
user.setAppId(appId); |
|
|
|
user.updateTenantInfo(appinfo); |
|
|
|
user.setTenantId(appinfo.getTenantId()); |
|
|
|
WxCUser byOpenId = wxCUserMapper.findByOpenId(user); |
|
|
|
if (byOpenId == null) { |
|
|
|
return getWxFloatingLayer(appinfo.getTenantInfo()); |
|
|
|
return getWxFloatingLayer(appinfo.getTenantId()); |
|
|
|
} |
|
|
|
//2 用户存在 查看是否已有弹出记录 没有 保存记录后返回浮层信息 |
|
|
|
WxCuserFloatingLayer wxCuserFloatingLayerQuery = new WxCuserFloatingLayer(); |
|
|
|
@@ -68,7 +68,7 @@ public class WxCuserFloatingLayerServiceImpl implements WxCuserFloatingLayerServ |
|
|
|
logger.error("用户 {} 已弹过浮层",byOpenId.getId()); |
|
|
|
return null; |
|
|
|
} |
|
|
|
return getWxFloatingLayer(byOpenId); |
|
|
|
return getWxFloatingLayer(byOpenId.getTenantId()); |
|
|
|
//merge from develop: 分支逻辑 |
|
|
|
// WxFloatingLayer wxFloatingLayer = getWxFloatingLayer(byOpenId); |
|
|
|
// if (wxFloatingLayer != null) { |
|
|
|
@@ -84,15 +84,15 @@ public class WxCuserFloatingLayerServiceImpl implements WxCuserFloatingLayerServ |
|
|
|
wxCuserFloatingLayer = new WxCuserFloatingLayer(); |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
wxCuserFloatingLayer.setId(idWorker.nextId()); |
|
|
|
wxCuserFloatingLayer.setTenantId(wxCUser.getTenantId()); |
|
|
|
wxCuserFloatingLayer.setUserId(wxCUser.getId()); |
|
|
|
wxCuserFloatingLayer.updateTenantInfo(wxCUser); |
|
|
|
wxCuserFloatingLayer.setCreateTime(new Date()); |
|
|
|
wxCuserFloatingLayerMapper.insert(wxCuserFloatingLayer); |
|
|
|
} |
|
|
|
|
|
|
|
public WxFloatingLayer getWxFloatingLayer(TenantEntity tenantEntity) { |
|
|
|
public WxFloatingLayer getWxFloatingLayer(String tenantId) { |
|
|
|
WxFloatingLayer wxFloatingLayer = new WxFloatingLayer(); |
|
|
|
wxFloatingLayer.updateTenantInfo(tenantEntity); |
|
|
|
wxFloatingLayer.setTenantId(tenantId); |
|
|
|
wxFloatingLayer.setStatus(EnumFloatingLayerStatus.STATUS_THROW_IN.getCode()); |
|
|
|
return wxFloatingLayerMapper.selectOne(new QueryWrapper<>(wxFloatingLayer)); |
|
|
|
} |
|
|
|
|