From 0a21b7b596dafc156cb8e34dfee5d873eae03981 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 1 Mar 2022 14:38:57 +0800 Subject: [PATCH] =?UTF-8?q?/=E3=80=82=20mall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/HomeController.java | 6 ++-- .../controller/sys/WechatLoginController.java | 22 ++++++++---- .../java/com/iformall/domain/po/WxMall.java | 5 +-- .../com/iformall/service/WxMallService.java | 2 ++ .../service/impl/WxMallServiceImpl.java | 35 ++++++++++++++++--- .../java/com/iformall/utils/Constant.java | 2 ++ 6 files changed, 57 insertions(+), 15 deletions(-) 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 94a742dc7..75083ccd1 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java @@ -179,8 +179,8 @@ 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("username", info.getUsername()); map.put("withWechat", info.getWithWechat()); data.data = map; } catch (Exception e) { @@ -430,7 +430,9 @@ public class HomeController extends BaseController { unameCookie.setMaxAge(3600); response.addCookie(unameCookie); - map.put("username", info.getUsername()); + 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); 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 6c912e3ce..99cfa6dcc 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java @@ -200,6 +200,11 @@ 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()); @@ -358,12 +363,12 @@ 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()); -// } + 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()); + } // 登录cookie String cookieName = URLEncoder.encode(info.getUsername(), "utf-8"); Cookie unameCookie = new Cookie("uname", cookieName); @@ -371,6 +376,11 @@ 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 a38d8c6f2..1aa73f8a8 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.utils.DateUtils; import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.commons.lang3.StringUtils; @@ -111,8 +112,8 @@ public class WxMall extends TenantEntity { public boolean isValid() { if(saleType != null) { if(validStart != null && validEnd != null) { - Date curDate = new Date(); - if(curDate.before(validStart) || curDate.after(validEnd)) { + Date today = DateUtils.getDateZero(new Date()); + if(today.before(validStart) || today.after(validEnd)) { return false; } else { return true; diff --git a/mallinkService/src/main/java/com/iformall/service/WxMallService.java b/mallinkService/src/main/java/com/iformall/service/WxMallService.java index fc1bfd5bd..d54dbd8d6 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMallService.java @@ -89,4 +89,6 @@ public interface WxMallService { PageInfo listAadminAsPage(WxMall wxMall, Integer pageNum, Integer pageSize); ResultData addAadmin(WxMall wxMall); + + String 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 6e1ffa282..fcbdac1bb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -16,6 +17,7 @@ import com.iformall.mapper.WxMallMapper; import com.iformall.service.MallUserInfoService; import com.iformall.service.WxMallService; import com.iformall.utils.Constant; +import com.iformall.utils.DateUtils; import com.iformall.utils.PasswordHelper; import com.iformall.utils.RedisCacheUtils; import org.apache.commons.lang3.StringUtils; @@ -30,7 +32,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -56,7 +60,7 @@ public class WxMallServiceImpl implements WxMallService { @Autowired @Qualifier("objectCommonRedisTemplate") - RedisTemplate subMallListRedisTemplate; + RedisTemplate redisTemplate; @@ -224,12 +228,12 @@ public class WxMallServiceImpl implements WxMallService { @Override public List getSubByParentTenantId(String parentTenantId) { String key = Constant.subMallinfoPrev + parentTenantId; - List mallList = RedisCacheUtils.getCacheListObject(subMallListRedisTemplate, key, WxMall.class); + List mallList = RedisCacheUtils.getCacheListObject(redisTemplate, key, WxMall.class); if(null == mallList || mallList.size() == 0){ WxMall q = new WxMall(); q.setParentTenantId(parentTenantId); mallList = wxMallMapper.selectList(new QueryWrapper<>(q)); - RedisCacheUtils.cache(subMallListRedisTemplate, key, mallList, 3600*24*7); + RedisCacheUtils.cache(redisTemplate, key, mallList, 3600*24*7); } return mallList; } @@ -263,10 +267,10 @@ public class WxMallServiceImpl implements WxMallService { mallRedisTemplate.delete(key1); } String key2 = Constant.subMallinfoPrev + tenantEntity.getTenantId(); - RedisCacheUtils.removeCache(subMallListRedisTemplate, key2); + RedisCacheUtils.removeCache(redisTemplate, key2); if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ String key3 = Constant.subMallinfoPrev + tenantEntity.getParentTenantId(); - RedisCacheUtils.removeCache(subMallListRedisTemplate, key3); + RedisCacheUtils.removeCache(redisTemplate, key3); } } @@ -364,4 +368,25 @@ public class WxMallServiceImpl implements WxMallService { return new ResultData(); } + @Override + public String mallValid(Long loginUserId,WxMall mall) { + 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(redisTemplate.hasKey(key)){ + map.put("isShow",false); + }else{ + RedisCacheUtils.cache(redisTemplate,key,true,3600*6); + map.put("isShow",true); + } + return JSON.toJSONString(map); + } + } diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 93f61a251..03acec2cc 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -37,6 +37,8 @@ public class Constant { // TOKEN过期时间, 7天后过期 public final static int S_D_EXPIRE = EXPIRE * 7; + public static final String LOGIN_A_USER_VALID = "LOGIN_A_USER_VALID:"; + // C端token public static final String tokenPrev = "weapp:token:";