From 7751f075adb6743d40d91c9993d4b95a4d918e70 Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 22 Jul 2020 11:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A6=E8=BE=BE=E7=94=A8=E6=88=B7=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/WxProjectConfigController.java | 5 +++- .../iformall/schedule/WxAppVisitSchedule.java | 24 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java index d025475f7..9cf85734b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java @@ -553,7 +553,10 @@ public class WxProjectConfigController extends BaseController { if(StringUtils.isBlank(wxMall.getParentTenantId())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - WxMall parentWxMall = wxMallService.getById(Long.parseLong(wxMall.getParentTenantId())); + TenantEntity TenantEntity = new TenantEntity(){{ + setTenantId(wxMall.getParentTenantId()); + }}; + WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); if(parentWxMall == null || parentWxMall.getSaleType() != 100 || !parentWxMall.equals(EnumGroupSupport.SUPPORT.getCode()) || StringUtils.isNotBlank(parentWxMall.getParentTenantId())){ diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/WxAppVisitSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/WxAppVisitSchedule.java index 11faec6f3..0aaeab7f2 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/WxAppVisitSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/WxAppVisitSchedule.java @@ -5,6 +5,9 @@ import java.util.*; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.analysis.WxMaVisitTrend; +import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.service.WxMallService; import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.MaUtil; import me.chanjar.weixin.common.error.WxErrorException; @@ -38,6 +41,9 @@ public class WxAppVisitSchedule { @Autowired private FmOpenService openService; + @Autowired + private WxMallService wxMallService; + @Scheduled(cron = "0 0 9/1 * * ? ") //早晨9点开始每小时取一次,获取前一日,微信时间为GMT public void daliyVisitRetrive() { @@ -47,9 +53,16 @@ public class WxAppVisitSchedule { appInfoQ.setType(EnumAppType.C.getCode()); List apps = WxAppinfoService.getList(appInfoQ); for(WxAppinfo app:apps) { - if(StringUtils.isBlank(app.getAppId())||StringUtils.isBlank(app.getSecret())) { + if(StringUtils.isBlank(app.getAppId())||StringUtils.isBlank(app.getSecret())||StringUtils.isBlank(app.getTenantId())) { continue; } + TenantEntity TenantEntity = new TenantEntity(){{ + setTenantId(app.getTenantId()); + }}; + WxMall byTenantInfo = wxMallService.getByTenantInfo(TenantEntity); + if(byTenantInfo != null && StringUtils.isNotBlank(byTenantInfo.getParentTenantId())){ + app.setParentTenantId(byTenantInfo.getParentTenantId()); + } Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, -1); Date lastDate = c.getTime(); @@ -72,9 +85,16 @@ public class WxAppVisitSchedule { appInfo.setType(EnumAppType.C.getCode()); List apps = WxAppinfoService.getList(appInfo); for(WxAppinfo appinfo :apps) { - if(StringUtils.isBlank(appinfo.getAppId())||StringUtils.isBlank(appinfo.getSecret())) { + if(StringUtils.isBlank(appinfo.getAppId())||StringUtils.isBlank(appinfo.getSecret())||StringUtils.isBlank(appinfo.getTenantId())) { continue; } + TenantEntity TenantEntity = new TenantEntity(){{ + setTenantId(appinfo.getTenantId()); + }}; + WxMall byTenantInfo = wxMallService.getByTenantInfo(TenantEntity); + if(byTenantInfo != null && StringUtils.isNotBlank(byTenantInfo.getParentTenantId())){ + appinfo.setParentTenantId(byTenantInfo.getParentTenantId()); + } Calendar c = Calendar.getInstance(); String date; for(int i = 2;i <=7;i++) { //查找最近7天有没有漏掉的数据