diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java index 4030ffe15..935068fe6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java @@ -1,11 +1,14 @@ package com.iformall.controller.basic; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxMall; +import com.iformall.enums.EnumGroupSupport; import com.iformall.service.WxMallService; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -41,7 +44,17 @@ public class WxMallController extends BaseController { @SystemControllerLog(description = "商城-当前查询") public ResultData mallinfo() { logger.debug("[" + getIpAddr() + "] WxMallController::mallinfo"); - return new ResultData(wxMallService.getByTenantInfo(ifParentUpdateTenantInfo())); + WxMall mall = wxMallService.getByTenantInfo(ifParentUpdateTenantInfo()); + if(mall == null) { + logger.error("未配置相应的mall"); + return new ResultData(Result.ERROR, "未配置相应的mall"); + } + if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && + StringUtils.isBlank(mall.getParentTenantId())) { + mall.setSubMalls(wxMallService.getSubByParentTenantId(mall.getTenantId())); + } + mall.setValidPrompt(wxMallService.mallValid(getUserId(),mall)); + return new ResultData(mall); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java index e126fde50..21416f831 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java @@ -72,10 +72,6 @@ public class WxChartDataController extends BaseController { String chart = params.get("chart"); logger.info("[" + getIpAddr() + "] WxChartDataController::queryData chart: " + chart); TenantEntity tenantEntity = getTenantInfo(); - if(StringUtils.isBlank(tenantEntity.getTenantId())){ - //todo 集团版查询数据待重构 - return new ResultData("集团版查询数据待重构"); - } params.put("tenantId",tenantEntity.getTenantId()); params.put("parentTenantId", tenantEntity.getParentTenantId()); ResultData data = wxChartDataService.queryData(params); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java index 75083ccd1..f3134e89b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java @@ -1,6 +1,5 @@ package com.iformall.controller.sys; -import com.alibaba.fastjson.JSON; import com.google.code.kaptcha.Constants; import com.google.code.kaptcha.Producer; import com.iformall.common.ErrorCode; @@ -158,7 +157,7 @@ public class HomeController extends BaseController { logger.error("mall已过期"); return new ResultData(Result.ERROR, "mall已过期"); } - Map map = new HashMap(); +// Map map = new HashMap(); if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && StringUtils.isBlank(info.getParentTenantId())) { @@ -166,10 +165,10 @@ public class HomeController extends BaseController { session.setAttribute(UserSession.tenantId, null); session.setAttribute(UserSession.parentTenantId, info.getTenantId()); - // 集团用户获取子商场 - List mallList = mallService.getSubByParentTenantId(info.getTenantId()); - map.put("subMalls", JSON.toJSONString(mallList)); - map.put("group", EnumGroupSupport.SUPPORT.getCode()); +// // 集团用户获取子商场 +// List mallList = mallService.getSubByParentTenantId(info.getTenantId()); +// map.put("subMalls", JSON.toJSONString(mallList)); +// map.put("group", EnumGroupSupport.SUPPORT.getCode()); } try { @@ -178,11 +177,11 @@ public class HomeController extends BaseController { unameCookie.setPath("/"); unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("mall", JSON.toJSONString(mall)); - map.put("mallValid",mallService.mallValid(info.getId(),mall)); - map.put("saleType",mall.getSaleType()); - map.put("withWechat", info.getWithWechat()); - data.data = map; +// map.put("mall", JSON.toJSONString(mall)); +// map.put("mallValid",mallService.mallValid(info.getId(),mall)); +// map.put("saleType",mall.getSaleType()); +// map.put("withWechat", info.getWithWechat()); +// data.data = map; } catch (Exception e) { logger.error(e.getMessage()); return new ResultData(Result.ERROR, e.getMessage()); @@ -191,6 +190,7 @@ public class HomeController extends BaseController { return data; } + private boolean isInMobileAdmin(MallUserInfo user) { // 检查用户是否有 移动端数据塔台 权限 boolean isInMobile = false; @@ -303,11 +303,18 @@ public class HomeController extends BaseController { logger.error("mall已过期"); return new ResultData(Result.ERROR, "mall已过期"); } - Map map = new HashMap(); - if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode())) { - List mallList = mallService.getSubByParentTenantId(mall.getTenantId()); - map.put("subMalls", JSON.toJSONString(mallList)); - map.put("group", EnumGroupSupport.SUPPORT.getCode()); +// Map map = new HashMap(); + if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && + StringUtils.isBlank(info.getParentTenantId())) { + + Session session = SecurityUtils.getSubject().getSession(); + session.setAttribute(UserSession.tenantId, null); + session.setAttribute(UserSession.parentTenantId, info.getTenantId()); + +// // 集团用户获取子商场 +// List mallList = mallService.getSubByParentTenantId(info.getTenantId()); +// map.put("subMalls", JSON.toJSONString(mallList)); +// map.put("group", EnumGroupSupport.SUPPORT.getCode()); } try { String cookieName = URLEncoder.encode(info.getUsername(), "utf-8"); @@ -316,9 +323,9 @@ public class HomeController extends BaseController { unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("username", info.getUsername()); - map.put("withWechat", info.getWithWechat()); - data.data = map; +// map.put("username", info.getUsername()); +// map.put("withWechat", info.getWithWechat()); +// data.data = map; } catch(Exception e){ logger.error(e.getMessage()); @@ -417,11 +424,18 @@ public class HomeController extends BaseController { logger.error("mall已过期"); return new ResultData(Result.ERROR, "mall已过期"); } - Map map = new HashMap(); - if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode())) { - List mallList = mallService.getSubByParentTenantId(mall.getTenantId()); - map.put("subMalls", JSON.toJSONString(mallList)); - map.put("group", EnumGroupSupport.SUPPORT.getCode()); +// Map map = new HashMap(); + if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && + StringUtils.isBlank(info.getParentTenantId())) { + + Session session = SecurityUtils.getSubject().getSession(); + session.setAttribute(UserSession.tenantId, null); + session.setAttribute(UserSession.parentTenantId, info.getTenantId()); + +// // 集团用户获取子商场 +// List mallList = mallService.getSubByParentTenantId(info.getTenantId()); +// map.put("subMalls", JSON.toJSONString(mallList)); +// map.put("group", EnumGroupSupport.SUPPORT.getCode()); } String cookieName = URLEncoder.encode(info.getUsername(), "utf-8"); @@ -430,12 +444,12 @@ public class HomeController extends BaseController { unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("mall", JSON.toJSONString(mall)); - map.put("mallValid",mallService.mallValid(info.getId(),mall)); - map.put("saleType",mall.getSaleType()); - map.put("withWechat", info.getWithWechat()); +// map.put("mall", JSON.toJSONString(mall)); +// map.put("mallValid",mallService.mallValid(info.getId(),mall)); +// map.put("saleType",mall.getSaleType()); +// map.put("withWechat", info.getWithWechat()); - return new ResultData(map); + return new ResultData(); } catch (MallinkException e) { return new ResultData(e.getErrorCode(), e.getMessage()); } catch (Exception e) { diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java index 99cfa6dcc..4772dc986 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java @@ -34,6 +34,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.DisabledAccountException; import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -187,11 +188,11 @@ public class WechatLoginController extends BaseController { log.error(e.getMessage()); } } - Map map = new HashMap(); - if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode())) { - List mallList = mallService.getSubByParentTenantId(mall.getTenantId()); - map.put("subMalls", JSON.toJSONString(mallList)); - map.put("group", EnumGroupSupport.SUPPORT.getCode()); + if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && + StringUtils.isBlank(info.getParentTenantId())) { + Session session = SecurityUtils.getSubject().getSession(); + session.setAttribute(UserSession.tenantId, null); + session.setAttribute(UserSession.parentTenantId, info.getTenantId()); } try { String cookieName = URLEncoder.encode(info.getUsername(), "utf-8"); @@ -200,11 +201,6 @@ public class WechatLoginController extends BaseController { unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("mall", JSON.toJSONString(mall)); - map.put("mallValid",mallService.mallValid(info.getId(),mall)); - map.put("saleType",mall.getSaleType()); - map.put("withWechat", info.getWithWechat()); - MallUserAction action = new MallUserAction(); action.updateTenantInfo(info); action.setType(EnumMallUserAction.CONTROLLER.getCode()); @@ -363,11 +359,11 @@ public class WechatLoginController extends BaseController { log.error(e.getMessage()); } } - Map map = new HashMap(); - if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode())) { - List mallList = mallService.getSubByParentTenantId(mall.getTenantId()); - map.put("subMalls", JSON.toJSONString(mallList)); - map.put("group", EnumGroupSupport.SUPPORT.getCode()); + if (mall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) && + StringUtils.isBlank(info.getParentTenantId())) { + Session session = SecurityUtils.getSubject().getSession(); + session.setAttribute(UserSession.tenantId, null); + session.setAttribute(UserSession.parentTenantId, info.getTenantId()); } // 登录cookie String cookieName = URLEncoder.encode(info.getUsername(), "utf-8"); @@ -376,11 +372,6 @@ public class WechatLoginController extends BaseController { unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("mall", JSON.toJSONString(mall)); - map.put("mallValid",mallService.mallValid(info.getId(),mall)); - map.put("saleType",mall.getSaleType()); - map.put("withWechat", info.getWithWechat()); - MallUserAction action = new MallUserAction(); action.updateTenantInfo(info); action.setType(EnumMallUserAction.CONTROLLER.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java index 1aa73f8a8..54cbd8c9c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java @@ -106,24 +106,35 @@ public class WxMall extends TenantEntity { @TableField(exist = false) private boolean valid; + @TableField(exist = false) + private Integer surplusDay;//距离过期还剩天数 + + private boolean validPrompt;//到期提醒 + @TableField(exist = false) protected List subMalls; public boolean isValid() { - if(saleType != null) { - if(validStart != null && validEnd != null) { - Date today = DateUtils.getDateZero(new Date()); - if(today.before(validStart) || today.after(validEnd)) { - return false; - } else { - return true; - } - } + if(saleType != null && validEnd != null) { + Date today = DateUtils.getDateZero(new Date()); + if(today.after(validEnd)) { + return false; + } else { + return true; + } } - return true; } + public Integer getSurplusDay() { + if(saleType != null && validEnd != null) { + Date today = DateUtils.getDateZero(new Date()); + int days = DateUtils.daysBetween(today, validEnd); + return days; + } + return null; + } + @io.swagger.annotations.ApiModelProperty(value = "营业时间", name = "businessHours") private String businessHours; diff --git a/mallinkService/src/main/java/com/iformall/service/WxMallService.java b/mallinkService/src/main/java/com/iformall/service/WxMallService.java index d54dbd8d6..09f74860e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMallService.java @@ -90,5 +90,5 @@ public interface WxMallService { ResultData addAadmin(WxMall wxMall); - String mallValid(Long loginUserId,WxMall mall); + boolean mallValid(Long loginUserId,WxMall mall); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java index a75cab103..c28dbd1d7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java @@ -369,27 +369,14 @@ public class WxMallServiceImpl implements WxMallService { } @Override - public String mallValid(Long loginUserId,WxMall mall) { - if(mall.getSaleType() == null || mall.getValidEnd() == null){ - return null; - } - Map map = new HashMap<>(); - Date today = DateUtils.getDateZero(new Date()); - map.put("mallName",mall.getName()); - //到期时间 - map.put("validEnd",mall.getValidEnd()); - //距离过期还剩天数 - int days = DateUtils.daysBetween(today, mall.getValidEnd()); - map.put("surplusDay",days); - //是否展示(6小时登陆展示) - String key = Constant.LOGIN_A_USER_VALID + mall.getTenantId() + ":" + loginUserId; - if(days <= 30 && !redisTemplate.hasKey(key)){ - RedisCacheUtils.cache(redisTemplate,key,true,3600*6); - map.put("isShow",true); - }else{ - map.put("isShow",false); + public boolean mallValid(Long loginUserId,WxMall mall) { + if(mall.getSurplusDay() != null && mall.getSurplusDay() <= 30){ + String key = Constant.LOGIN_A_USER_VALID + mall.getTenantId() + ":" + loginUserId; + if(!redisTemplate.hasKey(key)){ + return true; + } } - return JSON.toJSONString(map); + return false; } }