fix: 移除@Resource注解,修复权限更新后,登录用户权限没有更新问题。

This commit is contained in:
misworga831 2023-06-06 17:26:04 +08:00
parent b61a5e8f7b
commit 5d6e99dc8a
35 changed files with 276 additions and 189 deletions

View File

@ -3,14 +3,12 @@ package cn.lili.timetask.handler.impl.goods;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.lili.modules.goods.mapper.GoodsMapper; import cn.lili.modules.goods.service.GoodsService;
import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.service.MemberEvaluationService;
import cn.lili.modules.member.mapper.MemberEvaluationMapper;
import cn.lili.timetask.handler.EveryDayExecute; import cn.lili.timetask.handler.EveryDayExecute;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,13 +23,13 @@ public class GoodsExecute implements EveryDayExecute {
/** /**
* 会员评价 * 会员评价
*/ */
@Resource @Autowired
private MemberEvaluationMapper memberEvaluationMapper; private MemberEvaluationService memberEvaluationService;
/** /**
* 商品 * 商品
*/ */
@Resource @Autowired
private GoodsMapper goodsMapper; private GoodsService goodsService;
/** /**
* 查询已上架的商品的评价数量并赋值 * 查询已上架的商品的评价数量并赋值
@ -40,12 +38,10 @@ public class GoodsExecute implements EveryDayExecute {
public void execute() { public void execute() {
//查询上次统计到本次的评价数量 //查询上次统计到本次的评价数量
List<Map<String, Object>> list = memberEvaluationMapper.memberEvaluationNum( List<Map<String, Object>> list = memberEvaluationService.memberEvaluationNum(DateUtil.yesterday(), new DateTime());
new QueryWrapper<MemberEvaluation>()
.between("create_time", DateUtil.yesterday(), new DateTime()));
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
goodsMapper.addGoodsCommentNum(Convert.toInt(map.get("num").toString()), map.get("goods_id").toString()); goodsService.addGoodsCommentNum(Convert.toInt(map.get("num").toString()), map.get("goods_id").toString());
} }
} }

View File

@ -15,7 +15,6 @@ import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderItemService;
import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dos.Setting;
@ -24,13 +23,11 @@ import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.service.SettingService; import cn.lili.modules.system.service.SettingService;
import cn.lili.timetask.handler.EveryDayExecute; import cn.lili.timetask.handler.EveryDayExecute;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -53,8 +50,6 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
*/ */
@Autowired @Autowired
private OrderItemService orderItemService; private OrderItemService orderItemService;
@Resource
private OrderItemMapper orderItemMapper;
/** /**
* 设置 * 设置
*/ */
@ -148,10 +143,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getAutoEvaluation()); DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getAutoEvaluation());
//订单完成时间 <= 订单自动好评时间 //订单完成时间 <= 订单自动好评时间
QueryWrapper queryWrapper = new QueryWrapper(); List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, CommentStatusEnum.UNFINISHED.name());
queryWrapper.le("o.complete_time", receiveTime);
queryWrapper.eq("oi.comment_status", CommentStatusEnum.UNFINISHED.name());
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
//判断是否有符合条件的订单进行自动评价处理 //判断是否有符合条件的订单进行自动评价处理
if (!orderItems.isEmpty()) { if (!orderItems.isEmpty()) {
@ -191,10 +183,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale()); DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
//关闭售后订单=未售后订单+小于订单关闭售后申请时间 //关闭售后订单=未售后订单+小于订单关闭售后申请时间
QueryWrapper queryWrapper = new QueryWrapper(); List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
queryWrapper.le("o.complete_time", receiveTime);
queryWrapper.eq("oi.after_sale_status", OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
//判断是否有符合条件的订单关闭允许售后申请处理 //判断是否有符合条件的订单关闭允许售后申请处理
if (!orderItems.isEmpty()) { if (!orderItems.isEmpty()) {
@ -235,10 +224,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseComplaint()); DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseComplaint());
//关闭售后订单=未售后订单+小于订单关闭售后申请时间 //关闭售后订单=未售后订单+小于订单关闭售后申请时间
QueryWrapper queryWrapper = new QueryWrapper(); List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderComplaintStatusEnum.NO_APPLY.name());
queryWrapper.le("o.complete_time", receiveTime);
queryWrapper.eq("oi.complain_status", OrderComplaintStatusEnum.NO_APPLY.name());
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
//判断是否有符合条件的订单关闭允许售后申请处理 //判断是否有符合条件的订单关闭允许售后申请处理
if (!orderItems.isEmpty()) { if (!orderItems.isEmpty()) {

View File

@ -1,9 +1,8 @@
package cn.lili.timetask.handler.impl.store; package cn.lili.timetask.handler.impl.store;
import cn.lili.common.enums.SwitchEnum; import cn.lili.common.enums.SwitchEnum;
import cn.lili.modules.member.entity.dos.MemberEvaluation;
import cn.lili.modules.member.entity.vo.StoreRatingVO; import cn.lili.modules.member.entity.vo.StoreRatingVO;
import cn.lili.modules.member.mapper.MemberEvaluationMapper; import cn.lili.modules.member.service.MemberEvaluationService;
import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dos.Store;
import cn.lili.modules.store.entity.enums.StoreStatusEnum; import cn.lili.modules.store.entity.enums.StoreStatusEnum;
import cn.lili.modules.store.service.StoreService; import cn.lili.modules.store.service.StoreService;
@ -14,7 +13,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -33,8 +31,8 @@ public class StoreRatingExecute implements EveryDayExecute {
/** /**
* 会员评价 * 会员评价
*/ */
@Resource @Autowired
private MemberEvaluationMapper memberEvaluationMapper; private MemberEvaluationService memberEvaluationService;
@Override @Override
@ -43,10 +41,7 @@ public class StoreRatingExecute implements EveryDayExecute {
List<Store> storeList = storeService.list(new LambdaQueryWrapper<Store>().eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name())); List<Store> storeList = storeService.list(new LambdaQueryWrapper<Store>().eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()));
for (Store store : storeList) { for (Store store : storeList) {
//店铺所有开启的评价 //店铺所有开启的评价
LambdaQueryWrapper<MemberEvaluation> lambdaQueryWrapper = Wrappers.lambdaQuery(); StoreRatingVO storeRatingVO = memberEvaluationService.getStoreRatingVO(store.getId(), SwitchEnum.OPEN.name());
lambdaQueryWrapper.eq(MemberEvaluation::getStoreId, store.getId());
lambdaQueryWrapper.eq(MemberEvaluation::getStatus, SwitchEnum.OPEN.name());
StoreRatingVO storeRatingVO = memberEvaluationMapper.getStoreRatingVO(lambdaQueryWrapper);
if (storeRatingVO != null) { if (storeRatingVO != null) {
//保存评分 //保存评分

View File

@ -4,6 +4,7 @@ import cn.lili.modules.goods.entity.dos.Commodity;
import cn.lili.modules.goods.entity.dos.Studio; import cn.lili.modules.goods.entity.dos.Studio;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List; import java.util.List;
@ -13,9 +14,12 @@ import java.util.List;
* @author Bulbasaur * @author Bulbasaur
* @since 2021/5/31 11:58 上午 * @since 2021/5/31 11:58 上午
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class StudioVO extends Studio { public class StudioVO extends Studio {
private static final long serialVersionUID = 3459644787796753594L;
@ApiModelProperty(value = "直播间商品列表") @ApiModelProperty(value = "直播间商品列表")
private List<Commodity> commodityList; private List<Commodity> commodityList;

View File

@ -43,4 +43,8 @@ public interface CommodityService extends IService<Commodity> {
* @return 直播商品分页 * @return 直播商品分页
*/ */
IPage<CommodityVO> commodityList(PageVO pageVO, String name, String auditStatus); IPage<CommodityVO> commodityList(PageVO pageVO, String name, String auditStatus);
List<Commodity> getCommodityByRoomId(Integer roomId);
List<String> getSimpleCommodityByRoomId(Integer roomId);
} }

View File

@ -190,4 +190,7 @@ public interface GoodsService extends IService<Goods> {
* @param categoryId 分类ID * @param categoryId 分类ID
*/ */
void categoryGoodsName(String categoryId); void categoryGoodsName(String categoryId);
void addGoodsCommentNum(Integer commentNum, String goodsId);
} }

View File

@ -121,4 +121,14 @@ public class CommodityServiceImpl extends ServiceImpl<CommodityMapper, Commodity
.eq(Objects.requireNonNull(UserContext.getCurrentUser()).getRole().equals(UserEnums.STORE), "c.store_id", UserContext.getCurrentUser().getStoreId()) .eq(Objects.requireNonNull(UserContext.getCurrentUser()).getRole().equals(UserEnums.STORE), "c.store_id", UserContext.getCurrentUser().getStoreId())
.orderByDesc("create_time")); .orderByDesc("create_time"));
} }
@Override
public List<Commodity> getCommodityByRoomId(Integer roomId) {
return this.baseMapper.getCommodityByRoomId(roomId);
}
@Override
public List<String> getSimpleCommodityByRoomId(Integer roomId) {
return this.baseMapper.getSimpleCommodityByRoomId(roomId);
}
} }

View File

@ -170,7 +170,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
//检查商品 //检查商品
this.checkGoods(goods); this.checkGoods(goods);
//向goods加入图片 //向goods加入图片
if (goodsOperationDTO.getGoodsGalleryList().size() > 0 ) { if (goodsOperationDTO.getGoodsGalleryList().size() > 0) {
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods); this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
} }
//添加商品参数 //添加商品参数
@ -190,7 +190,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId) { public void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId) {
@ -497,13 +496,17 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
@Override @Override
public void categoryGoodsName(String categoryId) { public void categoryGoodsName(String categoryId) {
//获取分类下的商品 //获取分类下的商品
List<Goods> list = this.list(new LambdaQueryWrapper<Goods>().like(Goods::getCategoryPath,categoryId)); List<Goods> list = this.list(new LambdaQueryWrapper<Goods>().like(Goods::getCategoryPath, categoryId));
list.parallelStream().forEach(goods->{ list.parallelStream().forEach(goods -> {
//移除redis中商品缓存 //移除redis中商品缓存
cache.remove(CachePrefix.GOODS.getPrefix() + goods.getId()); cache.remove(CachePrefix.GOODS.getPrefix() + goods.getId());
}); });
} }
@Override
public void addGoodsCommentNum(Integer commentNum, String goodsId) {
this.baseMapper.addGoodsCommentNum(commentNum, goodsId);
}
/** /**
* 更新商品状态 * 更新商品状态

View File

@ -16,8 +16,8 @@ import cn.lili.modules.goods.entity.dos.Studio;
import cn.lili.modules.goods.entity.dos.StudioCommodity; import cn.lili.modules.goods.entity.dos.StudioCommodity;
import cn.lili.modules.goods.entity.enums.StudioStatusEnum; import cn.lili.modules.goods.entity.enums.StudioStatusEnum;
import cn.lili.modules.goods.entity.vos.StudioVO; import cn.lili.modules.goods.entity.vos.StudioVO;
import cn.lili.modules.goods.mapper.CommodityMapper;
import cn.lili.modules.goods.mapper.StudioMapper; import cn.lili.modules.goods.mapper.StudioMapper;
import cn.lili.modules.goods.service.CommodityService;
import cn.lili.modules.goods.service.GoodsService; import cn.lili.modules.goods.service.GoodsService;
import cn.lili.modules.goods.service.StudioCommodityService; import cn.lili.modules.goods.service.StudioCommodityService;
import cn.lili.modules.goods.service.StudioService; import cn.lili.modules.goods.service.StudioService;
@ -39,7 +39,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -58,8 +57,8 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
private WechatLivePlayerUtil wechatLivePlayerUtil; private WechatLivePlayerUtil wechatLivePlayerUtil;
@Autowired @Autowired
private StudioCommodityService studioCommodityService; private StudioCommodityService studioCommodityService;
@Resource @Autowired
private CommodityMapper commodityMapper; private CommodityService commodityService;
@Autowired @Autowired
private TimeTrigger timeTrigger; private TimeTrigger timeTrigger;
@Autowired @Autowired
@ -141,7 +140,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
//获取直播间信息 //获取直播间信息
BeanUtil.copyProperties(studio, studioVO); BeanUtil.copyProperties(studio, studioVO);
//获取直播间商品信息 //获取直播间商品信息
studioVO.setCommodityList(commodityMapper.getCommodityByRoomId(studioVO.getRoomId())); studioVO.setCommodityList(commodityService.getCommodityByRoomId(studioVO.getRoomId()));
return studioVO; return studioVO;
} }
@ -183,7 +182,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
studio.setRoomGoodsNum(studio.getRoomGoodsNum() != null ? studio.getRoomGoodsNum() + 1 : 1); studio.setRoomGoodsNum(studio.getRoomGoodsNum() != null ? studio.getRoomGoodsNum() + 1 : 1);
//设置直播间默认的商品前台展示只展示两个 //设置直播间默认的商品前台展示只展示两个
if (studio.getRoomGoodsNum() < 3) { if (studio.getRoomGoodsNum() < 3) {
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityMapper.getSimpleCommodityByRoomId(roomId))); studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityService.getSimpleCommodityByRoomId(roomId)));
} }
return this.updateById(studio); return this.updateById(studio);
} }
@ -205,7 +204,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
studio.setRoomGoodsNum(studio.getRoomGoodsNum() - 1); studio.setRoomGoodsNum(studio.getRoomGoodsNum() - 1);
//设置直播间默认的商品前台展示只展示两个 //设置直播间默认的商品前台展示只展示两个
if (studio.getRoomGoodsNum() < 3) { if (studio.getRoomGoodsNum() < 3) {
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityMapper.getSimpleCommodityByRoomId(roomId))); studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityService.getSimpleCommodityByRoomId(roomId)));
} }
return this.updateById(studio); return this.updateById(studio);
} }
@ -229,7 +228,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
//获取直播间信息 //获取直播间信息
BeanUtil.copyProperties(record, studioVO); BeanUtil.copyProperties(record, studioVO);
//获取直播间商品信息 //获取直播间商品信息
studioVO.setCommodityList(commodityMapper.getCommodityByRoomId(studioVO.getRoomId())); studioVO.setCommodityList(commodityService.getCommodityByRoomId(studioVO.getRoomId()));
studioVOS.add(studioVO); studioVOS.add(studioVO);
} }
page.setRecords(studioVOS); page.setRecords(studioVOS);

View File

@ -1,14 +1,19 @@
package cn.lili.modules.member.service; package cn.lili.modules.member.service;
import cn.hutool.core.date.DateTime;
import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.entity.dos.MemberEvaluation;
import cn.lili.modules.member.entity.dto.EvaluationQueryParams; import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
import cn.lili.modules.member.entity.dto.MemberEvaluationDTO; import cn.lili.modules.member.entity.dto.MemberEvaluationDTO;
import cn.lili.modules.member.entity.vo.EvaluationNumberVO; import cn.lili.modules.member.entity.vo.EvaluationNumberVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationVO; import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
import cn.lili.modules.member.entity.vo.StoreRatingVO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/** /**
* 会员商品评价业务层 * 会员商品评价业务层
* *
@ -111,4 +116,8 @@ public interface MemberEvaluationService extends IService<MemberEvaluation> {
*/ */
long getEvaluationCount(EvaluationQueryParams evaluationQueryParams); long getEvaluationCount(EvaluationQueryParams evaluationQueryParams);
List<Map<String, Object>> memberEvaluationNum(DateTime startDate, DateTime endDate);
StoreRatingVO getStoreRatingVO(String storeId, String status);
} }

View File

@ -2,6 +2,7 @@ package cn.lili.modules.member.service;
import cn.lili.modules.member.entity.dos.StoreMenu; import cn.lili.modules.member.entity.dos.StoreMenu;
import cn.lili.modules.member.entity.vo.StoreMenuVO; import cn.lili.modules.member.entity.vo.StoreMenuVO;
import cn.lili.modules.member.entity.vo.StoreUserMenuVO;
import cn.lili.modules.permission.entity.dto.MenuSearchParams; import cn.lili.modules.permission.entity.dto.MenuSearchParams;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
@ -30,7 +31,7 @@ public interface StoreMenuService extends IService<StoreMenu> {
* @param userId * @param userId
* @return * @return
*/ */
List<StoreMenu> findUserList(String userId); List<StoreMenu> findUserList(String userId, String clerkId);
/** /**
@ -71,4 +72,6 @@ public interface StoreMenuService extends IService<StoreMenu> {
*/ */
boolean saveOrUpdateMenu(StoreMenu storeMenu); boolean saveOrUpdateMenu(StoreMenu storeMenu);
List<StoreUserMenuVO> getUserRoleMenu(String clerkId);
} }

View File

@ -1,9 +1,12 @@
package cn.lili.modules.member.serviceimpl; package cn.lili.modules.member.serviceimpl;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException; import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.context.UserContext; import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.StringUtils; import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO; import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dos.Clerk; import cn.lili.modules.member.entity.dos.Clerk;
@ -49,6 +52,8 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
private MemberService memberService; private MemberService memberService;
@Autowired @Autowired
private StoreClerkRoleService storeClerkRoleService; private StoreClerkRoleService storeClerkRoleService;
@Autowired
private Cache cache;
@Override @Override
public IPage<ClerkVO> clerkForPage(PageVO page, ClerkQueryDTO clerkQueryDTO) { public IPage<ClerkVO> clerkForPage(PageVO page, ClerkQueryDTO clerkQueryDTO) {
@ -138,7 +143,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
.eq("store_id", UserContext.getCurrentUser().getStoreId())); .eq("store_id", UserContext.getCurrentUser().getStoreId()));
clerkVO.setRoles( clerkVO.setRoles(
roles.stream().filter roles.stream().filter
(role -> memberRoles.contains(role.getId())) (role -> memberRoles.contains(role.getId()))
.collect(Collectors.toList()) .collect(Collectors.toList())
); );
} }
@ -150,7 +155,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
Clerk clerk = this.getById(clerkEditDTO.getId()); Clerk clerk = this.getById(clerkEditDTO.getId());
if (clerk != null) { if (clerk != null) {
//编辑店主限制 //编辑店主限制
if(clerk.getShopkeeper()){ if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
throw new ServiceException(ResultCode.CANT_EDIT_CLERK_SHOPKEEPER); throw new ServiceException(ResultCode.CANT_EDIT_CLERK_SHOPKEEPER);
} }
@ -158,17 +163,19 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
if (!clerk.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) { if (!clerk.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) {
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
} }
if (clerkEditDTO.getIsSuper()) { if (Boolean.TRUE.equals(clerkEditDTO.getIsSuper())) {
clerk.setRoleIds(""); clerk.setRoleIds("");
} else { } else {
//角色赋值 //角色赋值
if (!clerkEditDTO.getRoles().isEmpty()) { if (!clerkEditDTO.getRoles().isEmpty()) {
clerk.setRoleIds(CharSequenceUtil.join(",", clerkEditDTO.getRoles())); clerk.setRoleIds(CharSequenceUtil.join(",", clerkEditDTO.getRoles()));
} }
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE) + UserContext.getCurrentUser().getId());
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix() + UserContext.getCurrentUser().getId());
} }
//部门校验 //部门校验
if (StringUtils.isNotEmpty(clerkEditDTO.getDepartmentId())) { if (CharSequenceUtil.isNotEmpty(clerkEditDTO.getDepartmentId())) {
if (storeDepartmentService.getById(clerkEditDTO.getDepartmentId()) != null) { if (storeDepartmentService.getById(clerkEditDTO.getDepartmentId()) != null) {
clerk.setDepartmentId(clerkEditDTO.getDepartmentId()); clerk.setDepartmentId(clerkEditDTO.getDepartmentId());
} else { } else {
@ -194,17 +201,15 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
if (temp != null && !temp.getStoreId().equals(clerkAddDTO.getStoreId())) { if (temp != null && !temp.getStoreId().equals(clerkAddDTO.getStoreId())) {
throw new ServiceException(ResultCode.CLERK_USER_ERROR); throw new ServiceException(ResultCode.CLERK_USER_ERROR);
} }
if (temp != null && temp.getStoreId().equals(clerkAddDTO.getStoreId())) { if (temp != null) {
throw new ServiceException(ResultCode.CLERK_ALREADY_EXIT_ERROR); throw new ServiceException(ResultCode.CLERK_ALREADY_EXIT_ERROR);
} }
//部门校验 //部门校验
if (StringUtils.isNotEmpty(clerkAddDTO.getDepartmentId())) { if (CharSequenceUtil.isNotEmpty(clerkAddDTO.getDepartmentId()) && storeDepartmentService.getById(clerkAddDTO.getDepartmentId()) == null) {
if (storeDepartmentService.getById(clerkAddDTO.getDepartmentId()) == null) { throw new ServiceException(ResultCode.PERMISSION_NOT_FOUND_ERROR);
throw new ServiceException(ResultCode.PERMISSION_NOT_FOUND_ERROR);
}
} }
//角色校验 //角色校验
if (clerkAddDTO.getRoles() != null && clerkAddDTO.getRoles().size() > 0) { if (clerkAddDTO.getRoles() != null && !clerkAddDTO.getRoles().isEmpty()) {
List<StoreRole> storeRoles = storeRoleService.list(clerkAddDTO.getRoles()); List<StoreRole> storeRoles = storeRoleService.list(clerkAddDTO.getRoles());
if (storeRoles.size() != clerkAddDTO.getRoles().size()) { if (storeRoles.size() != clerkAddDTO.getRoles().size()) {
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
@ -214,13 +219,12 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
this.save(clerk); this.save(clerk);
//判断用户角色权限不为超级会员且权限路径不为空 //判断用户角色权限不为超级会员且权限路径不为空
if(clerkAddDTO.getIsSuper()==false && clerkAddDTO.getRoles()!=null){ if (Boolean.FALSE.equals(clerkAddDTO.getIsSuper()) && clerkAddDTO.getRoles() != null) {
//添加店员用户角色 //添加店员用户角色
List<StoreClerkRole> storeClerkRoleList = new ArrayList<>(); List<StoreClerkRole> storeClerkRoleList = new ArrayList<>();
clerkAddDTO.getRoles().stream().forEach(a -> { clerkAddDTO.getRoles().forEach(a -> storeClerkRoleList.add(StoreClerkRole.builder().clerkId(clerk.getId()).roleId(a).build()));
storeClerkRoleList.add(StoreClerkRole.builder().clerkId(clerk.getId()).roleId(a).build());
});
storeClerkRoleService.saveBatch(storeClerkRoleList); storeClerkRoleService.saveBatch(storeClerkRoleList);
} }
@ -246,7 +250,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
List<String> memberIds = new ArrayList<>(); List<String> memberIds = new ArrayList<>();
clerks.forEach(clerk -> { clerks.forEach(clerk -> {
//如果是店主无法重置密码 //如果是店主无法重置密码
if (clerk.getShopkeeper()) { if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
throw new ServiceException(ResultCode.CLERK_SUPPER); throw new ServiceException(ResultCode.CLERK_SUPPER);
} }
memberIds.add(clerk.getMemberId()); memberIds.add(clerk.getMemberId());
@ -261,7 +265,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId());
queryWrapper.in("id", ids); queryWrapper.in("id", ids);
List<Clerk> clerks = this.baseMapper.selectList(queryWrapper); List<Clerk> clerks = this.baseMapper.selectList(queryWrapper);
if (clerks.size() > 0) { if (!clerks.isEmpty()) {
//校验要重置的店员是否是当前店铺的店员 //校验要重置的店员是否是当前店铺的店员
if (clerks.size() != ids.size()) { if (clerks.size() != ids.size()) {
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
@ -276,7 +280,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
throw new ServiceException(ResultCode.CLERK_CURRENT_SUPPER); throw new ServiceException(ResultCode.CLERK_CURRENT_SUPPER);
} }
//无法删除店主 //无法删除店主
if (clerk.getShopkeeper()) { if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
throw new ServiceException(ResultCode.CLERK_SUPPER); throw new ServiceException(ResultCode.CLERK_SUPPER);
} }
memberIds.add(clerk.getMemberId()); memberIds.add(clerk.getMemberId());
@ -291,11 +295,11 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
Member member = memberService.findByMobile(mobile); Member member = memberService.findByMobile(mobile);
if (member != null) { if (member != null) {
//校验要添加的会员是否已经是店主 //校验要添加的会员是否已经是店主
if (member.getHaveStore()) { if (Boolean.TRUE.equals(member.getHaveStore())) {
throw new ServiceException(ResultCode.STORE_APPLY_DOUBLE_ERROR); throw new ServiceException(ResultCode.STORE_APPLY_DOUBLE_ERROR);
} }
//校验会员的有效性 //校验会员的有效性
if (!member.getDisabled()) { if (Boolean.FALSE.equals(member.getDisabled())) {
throw new ServiceException(ResultCode.USER_STATUS_ERROR); throw new ServiceException(ResultCode.USER_STATUS_ERROR);
} }
//校验此会员是否已经是店员 //校验此会员是否已经是店员

View File

@ -21,6 +21,7 @@ import cn.lili.modules.member.entity.enums.EvaluationGradeEnum;
import cn.lili.modules.member.entity.vo.EvaluationNumberVO; import cn.lili.modules.member.entity.vo.EvaluationNumberVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationVO; import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
import cn.lili.modules.member.entity.vo.StoreRatingVO;
import cn.lili.modules.member.mapper.MemberEvaluationMapper; import cn.lili.modules.member.mapper.MemberEvaluationMapper;
import cn.lili.modules.member.service.MemberEvaluationService; import cn.lili.modules.member.service.MemberEvaluationService;
import cn.lili.modules.member.service.MemberService; import cn.lili.modules.member.service.MemberService;
@ -44,7 +45,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -57,11 +57,6 @@ import java.util.Map;
@Service @Service
public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMapper, MemberEvaluation> implements MemberEvaluationService { public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMapper, MemberEvaluation> implements MemberEvaluationService {
/**
* 会员评价数据层
*/
@Resource
private MemberEvaluationMapper memberEvaluationMapper;
/** /**
* 订单 * 订单
*/ */
@ -101,7 +96,7 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
@Override @Override
public IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams) { public IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams) {
return memberEvaluationMapper.getMemberEvaluationList(PageUtil.initPage(evaluationQueryParams), evaluationQueryParams.queryWrapper()); return this.baseMapper.getMemberEvaluationList(PageUtil.initPage(evaluationQueryParams), evaluationQueryParams.queryWrapper());
} }
@Override @Override
@ -231,6 +226,20 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
return this.count(evaluationQueryParams.queryWrapper()); return this.count(evaluationQueryParams.queryWrapper());
} }
@Override
public List<Map<String, Object>> memberEvaluationNum(DateTime startDate, DateTime endDate) {
return this.baseMapper.memberEvaluationNum(new QueryWrapper<MemberEvaluation>()
.between("create_time", startDate, endDate));
}
@Override
public StoreRatingVO getStoreRatingVO(String storeId, String status) {
LambdaQueryWrapper<MemberEvaluation> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(MemberEvaluation::getStoreId, storeId);
lambdaQueryWrapper.eq(MemberEvaluation::getStatus, SwitchEnum.OPEN.name());
return this.baseMapper.getStoreRatingVO(lambdaQueryWrapper);
}
/** /**
* 检测会员评价 * 检测会员评价
* *

View File

@ -1,13 +1,15 @@
package cn.lili.modules.member.serviceimpl; package cn.lili.modules.member.serviceimpl;
import cn.lili.common.security.context.UserContext; import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.member.entity.dos.StoreDepartmentRole; import cn.lili.modules.member.entity.dos.StoreDepartmentRole;
import cn.lili.modules.member.mapper.StoreDepartmentRoleMapper; import cn.lili.modules.member.mapper.StoreDepartmentRoleMapper;
import cn.lili.modules.member.service.StoreDepartmentRoleService; import cn.lili.modules.member.service.StoreDepartmentRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@ -18,9 +20,10 @@ import java.util.List;
* @since 2020/11/22 12:08 * @since 2020/11/22 12:08
*/ */
@Service @Service
@Transactional(rollbackFor = Exception.class)
public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentRoleMapper, StoreDepartmentRole> implements StoreDepartmentRoleService { public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentRoleMapper, StoreDepartmentRole> implements StoreDepartmentRoleService {
@Autowired
private Cache cache;
@Override @Override
public List<StoreDepartmentRole> listByDepartmentId(String storeDepartmentId) { public List<StoreDepartmentRole> listByDepartmentId(String storeDepartmentId) {
@ -31,11 +34,13 @@ public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentR
@Override @Override
public void updateByDepartmentId(String storeDepartmentId, List<StoreDepartmentRole> storeDepartmentRoles) { public void updateByDepartmentId(String storeDepartmentId, List<StoreDepartmentRole> storeDepartmentRoles) {
if (storeDepartmentRoles.size() > 0) { if (!storeDepartmentRoles.isEmpty()) {
QueryWrapper queryWrapper = new QueryWrapper<>(); QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("department_id", storeDepartmentId); queryWrapper.eq("department_id", storeDepartmentId);
this.remove(queryWrapper); this.remove(queryWrapper);
this.saveBatch(storeDepartmentRoles); this.saveBatch(storeDepartmentRoles);
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
} }
@ -45,5 +50,7 @@ public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentR
QueryWrapper queryWrapper = new QueryWrapper<>(); QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("department_id", ids); queryWrapper.in("department_id", ids);
this.remove(queryWrapper); this.remove(queryWrapper);
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
} }

View File

@ -3,16 +3,12 @@ package cn.lili.modules.member.serviceimpl;
import cn.lili.cache.Cache; import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix; import cn.lili.cache.CachePrefix;
import cn.lili.common.security.context.UserContext; import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.member.entity.dos.StoreMenuRole; import cn.lili.modules.member.entity.dos.StoreMenuRole;
import cn.lili.modules.member.entity.vo.StoreUserMenuVO; import cn.lili.modules.member.entity.vo.StoreUserMenuVO;
import cn.lili.modules.member.mapper.StoreMenuMapper;
import cn.lili.modules.member.mapper.StoreMenuRoleMapper; import cn.lili.modules.member.mapper.StoreMenuRoleMapper;
import cn.lili.modules.member.service.StoreMenuRoleService; import cn.lili.modules.member.service.StoreMenuRoleService;
import cn.lili.modules.permission.entity.dos.RoleMenu; import cn.lili.modules.member.service.StoreMenuService;
import cn.lili.modules.permission.entity.vo.UserMenuVO;
import cn.lili.modules.permission.mapper.MenuMapper;
import cn.lili.modules.permission.mapper.RoleMenuMapper;
import cn.lili.modules.permission.service.RoleMenuService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -21,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -38,9 +33,8 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
/** /**
* 菜单 * 菜单
*/ */
@Resource @Autowired
private StoreMenuMapper storeMenuMapper; private StoreMenuService storeMenuService;
@Autowired @Autowired
private Cache<Object> cache; private Cache<Object> cache;
@ -53,11 +47,11 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
} }
@Override @Override
public List<StoreUserMenuVO> findAllMenu(String clerkId,String memberId) { public List<StoreUserMenuVO> findAllMenu(String clerkId, String memberId) {
String cacheKey = CachePrefix.STORE_USER_MENU.getPrefix() + memberId; String cacheKey = CachePrefix.STORE_USER_MENU.getPrefix() + memberId;
List<StoreUserMenuVO> menuList = (List<StoreUserMenuVO>) cache.get(cacheKey); List<StoreUserMenuVO> menuList = (List<StoreUserMenuVO>) cache.get(cacheKey);
if (menuList == null || menuList.isEmpty()) { if (menuList == null || menuList.isEmpty()) {
menuList = storeMenuMapper.getUserRoleMenu(clerkId); menuList = storeMenuService.getUserRoleMenu(clerkId);
cache.put(cacheKey, menuList); cache.put(cacheKey, menuList);
} }
return menuList; return menuList;
@ -67,16 +61,14 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
@Override @Override
public void updateRoleMenu(String roleId, List<StoreMenuRole> roleMenus) { public void updateRoleMenu(String roleId, List<StoreMenuRole> roleMenus) {
try { try {
roleMenus.forEach(role -> { roleMenus.forEach(role -> role.setStoreId(UserContext.getCurrentUser().getStoreId()));
role.setStoreId(UserContext.getCurrentUser().getStoreId());
});
//删除角色已经绑定的菜单 //删除角色已经绑定的菜单
this.delete(roleId); this.delete(roleId);
//重新保存角色菜单关系 //重新保存角色菜单关系
this.saveBatch(roleMenus); this.saveBatch(roleMenus);
cache.vagueDel(CachePrefix.MENU_USER_ID.getPrefix()); cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.USER_MENU.getPrefix()); cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} catch (Exception e) { } catch (Exception e) {
log.error("修改用户权限错误", e); log.error("修改用户权限错误", e);
} }
@ -88,7 +80,7 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id", roleId); queryWrapper.eq("role_id", roleId);
this.remove(queryWrapper); this.remove(queryWrapper);
cache.vagueDel(CachePrefix.STORE_MENU_USER_ID.getPrefix()); cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix()); cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
@ -98,7 +90,7 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
queryWrapper.in("role_id", roleId); queryWrapper.in("role_id", roleId);
this.remove(queryWrapper); this.remove(queryWrapper);
cache.vagueDel(CachePrefix.STORE_MENU_USER_ID.getPrefix()); cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix()); cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
} }

View File

@ -7,15 +7,18 @@ import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException; import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.AuthUser; import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext; import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.vo.SearchVO; import cn.lili.common.vo.SearchVO;
import cn.lili.modules.member.entity.dos.Clerk; import cn.lili.modules.member.entity.dos.Clerk;
import cn.lili.modules.member.entity.dos.StoreMenu; import cn.lili.modules.member.entity.dos.StoreMenu;
import cn.lili.modules.member.entity.dos.StoreMenuRole; import cn.lili.modules.member.entity.dos.StoreMenuRole;
import cn.lili.modules.member.entity.vo.StoreMenuVO; import cn.lili.modules.member.entity.vo.StoreMenuVO;
import cn.lili.modules.member.entity.vo.StoreUserMenuVO;
import cn.lili.modules.member.mapper.StoreMenuMapper; import cn.lili.modules.member.mapper.StoreMenuMapper;
import cn.lili.modules.member.service.ClerkService; import cn.lili.modules.member.service.ClerkService;
import cn.lili.modules.member.service.StoreMenuRoleService; import cn.lili.modules.member.service.StoreMenuRoleService;
import cn.lili.modules.member.service.StoreMenuService; import cn.lili.modules.member.service.StoreMenuService;
import cn.lili.modules.member.token.StoreTokenGenerate;
import cn.lili.modules.permission.entity.dto.MenuSearchParams; import cn.lili.modules.permission.entity.dto.MenuSearchParams;
import cn.lili.mybatis.util.PageUtil; import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -24,6 +27,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -43,7 +47,7 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
private StoreMenuRoleService storeMenuRoleService; private StoreMenuRoleService storeMenuRoleService;
@Autowired @Autowired
private Cache<List<StoreMenu>> cache; private Cache cache;
/** /**
* 店员 * 店员
@ -51,7 +55,12 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired
private StoreTokenGenerate storeTokenGenerate;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void deleteIds(List<String> ids) { public void deleteIds(List<String> ids) {
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
queryWrapper.in("menu_id", ids); queryWrapper.in("menu_id", ids);
@ -59,6 +68,8 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
if (storeMenuRoleService.count(queryWrapper) > 0) { if (storeMenuRoleService.count(queryWrapper) > 0) {
throw new ServiceException(ResultCode.PERMISSION_MENU_ROLE_ERROR); throw new ServiceException(ResultCode.PERMISSION_MENU_ROLE_ERROR);
} }
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
this.removeByIds(ids); this.removeByIds(ids);
} }
@ -72,18 +83,26 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
//获取当前登录用户的店员信息 //获取当前登录用户的店员信息
Clerk clerk = clerkService.getOne(new LambdaQueryWrapper<Clerk>().eq(Clerk::getMemberId, authUser.getId())); Clerk clerk = clerkService.getOne(new LambdaQueryWrapper<Clerk>().eq(Clerk::getMemberId, authUser.getId()));
//获取当前店员角色的菜单列表 //获取当前店员角色的菜单列表
List<StoreMenu> userMenus = this.baseMapper.findByUserId(clerk.getId()); List<StoreMenu> userMenus = this.findUserList(authUser.getId(), clerk.getId());
return this.tree(userMenus); return this.tree(userMenus);
} }
@Override @Override
public List<StoreMenu> findUserList(String userId) { public List<StoreMenu> findUserList(String userId, String clerkId) {
String cacheKey = CachePrefix.STORE_MENU_USER_ID.getPrefix() + userId; String cacheKey = CachePrefix.STORE_USER_MENU.getPrefix() + clerkId;
List<StoreMenu> menuList = cache.get(cacheKey); List<StoreMenu> menuList = (List<StoreMenu>) cache.get(cacheKey);
if (menuList == null) { if (menuList == null) {
menuList = this.baseMapper.findByUserId(userId); menuList = this.baseMapper.findByUserId(clerkId);
cache.put(cacheKey, menuList); cache.put(cacheKey, menuList);
} }
String permissionCacheKey = CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE) + userId;
Map<String, List<String>> permission = (Map<String, List<String>>) cache.get(permissionCacheKey);
if (permission == null || permission.isEmpty()) {
permission = storeTokenGenerate.permissionList(storeMenuRoleService.findAllMenu(clerkId, userId));
cache.put(permissionCacheKey, permission);
}
return menuList; return menuList;
} }
@ -94,13 +113,20 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
* @return 是否成功 * @return 是否成功
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean saveOrUpdateMenu(StoreMenu storeMenu) { public boolean saveOrUpdateMenu(StoreMenu storeMenu) {
if (CharSequenceUtil.isNotEmpty(storeMenu.getId())) { if (CharSequenceUtil.isNotEmpty(storeMenu.getId())) {
cache.vagueDel(CachePrefix.STORE_MENU_USER_ID.getPrefix()); cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
return this.saveOrUpdate(storeMenu); return this.saveOrUpdate(storeMenu);
} }
@Override
public List<StoreUserMenuVO> getUserRoleMenu(String clerkId) {
return this.baseMapper.getUserRoleMenu(clerkId);
}
@Override @Override
public List<StoreMenu> findByRoleIds(String roleId) { public List<StoreMenu> findByRoleIds(String roleId) {
QueryWrapper<StoreMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<StoreMenu> queryWrapper = new QueryWrapper<>();

View File

@ -1,8 +1,11 @@
package cn.lili.modules.member.serviceimpl; package cn.lili.modules.member.serviceimpl;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException; import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.context.UserContext; import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.member.entity.dos.StoreRole; import cn.lili.modules.member.entity.dos.StoreRole;
import cn.lili.modules.member.mapper.StoreRoleMapper; import cn.lili.modules.member.mapper.StoreRoleMapper;
import cn.lili.modules.member.service.StoreClerkRoleService; import cn.lili.modules.member.service.StoreClerkRoleService;
@ -41,6 +44,9 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
@Autowired @Autowired
private StoreMenuRoleService storeMenuRoleService; private StoreMenuRoleService storeMenuRoleService;
@Autowired
private Cache cache;
@Override @Override
public List<StoreRole> findByDefaultRole(Boolean defaultRole) { public List<StoreRole> findByDefaultRole(Boolean defaultRole) {
QueryWrapper<StoreRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<StoreRole> queryWrapper = new QueryWrapper<>();
@ -73,6 +79,8 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
this.removeByIds(roleIds); this.removeByIds(roleIds);
//删除角色与菜单关联 //删除角色与菜单关联
storeMenuRoleService.remove(queryWrapper); storeMenuRoleService.remove(queryWrapper);
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
} }
@Override @Override
@ -86,6 +94,8 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
if (!storeRoleTemp.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) { if (!storeRoleTemp.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) {
throw new ServiceException(ResultCode.PERMISSION_ROLE_NOT_FOUND_ERROR); throw new ServiceException(ResultCode.PERMISSION_ROLE_NOT_FOUND_ERROR);
} }
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
return updateById(storeRole); return updateById(storeRole);
} }

View File

@ -57,7 +57,7 @@ public class StoreTokenGenerate extends AbstractTokenGenerate<Member> {
if (clerk == null) { if (clerk == null) {
throw new ServiceException(ResultCode.CLERK_NOT_FOUND_ERROR); throw new ServiceException(ResultCode.CLERK_NOT_FOUND_ERROR);
} }
if (!clerk.getStatus()) { if (Boolean.FALSE.equals(clerk.getStatus())) {
throw new ServiceException(ResultCode.CLERK_DISABLED_ERROR); throw new ServiceException(ResultCode.CLERK_DISABLED_ERROR);
} }
//获取当前用户权限 //获取当前用户权限
@ -96,7 +96,7 @@ public class StoreTokenGenerate extends AbstractTokenGenerate<Member> {
* @param userMenuVOList * @param userMenuVOList
* @return * @return
*/ */
private Map<String, List<String>> permissionList(List<StoreUserMenuVO> userMenuVOList) { public Map<String, List<String>> permissionList(List<StoreUserMenuVO> userMenuVOList) {
Map<String, List<String>> permission = new HashMap<>(2); Map<String, List<String>> permission = new HashMap<>(2);
List<String> superPermissions = new ArrayList<>(); List<String> superPermissions = new ArrayList<>();

View File

@ -1,5 +1,6 @@
package cn.lili.modules.order.order.service; package cn.lili.modules.order.order.service;
import cn.hutool.core.date.DateTime;
import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum; import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
@ -66,4 +67,6 @@ public interface OrderItemService extends IService<OrderItem> {
* @return 子订单 * @return 子订单
*/ */
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId); OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
List<OrderItem> waitOperationOrderItem(DateTime receiveTime, String commentStatus);
} }

View File

@ -1,7 +1,7 @@
package cn.lili.modules.order.order.service; package cn.lili.modules.order.order.service;
import cn.lili.modules.order.order.entity.dos.Trade;
import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.order.entity.dos.Trade;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
@ -44,4 +44,6 @@ public interface TradeService extends IService<Trade> {
*/ */
void payTrade(String tradeSn, String paymentName, String receivableNo); void payTrade(String tradeSn, String paymentName, String receivableNo);
void updateTradePrice(String tradeSn);
} }

View File

@ -1,5 +1,6 @@
package cn.lili.modules.order.order.serviceimpl; package cn.lili.modules.order.order.serviceimpl;
import cn.hutool.core.date.DateTime;
import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException; import cn.lili.common.exception.ServiceException;
import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.OrderItem;
@ -9,6 +10,7 @@ import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderItemService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -82,4 +84,12 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
.eq(OrderItem::getOrderSn, orderSn) .eq(OrderItem::getOrderSn, orderSn)
.eq(OrderItem::getSkuId, skuId)); .eq(OrderItem::getSkuId, skuId));
} }
@Override
public List<OrderItem> waitOperationOrderItem(DateTime receiveTime, String commentStatus) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.le("o.complete_time", receiveTime);
queryWrapper.eq("oi.comment_status", CommentStatusEnum.UNFINISHED.name());
return this.baseMapper.waitOperationOrderItem(queryWrapper);
}
} }

View File

@ -10,17 +10,16 @@ import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
import cn.lili.modules.order.order.mapper.TradeMapper;
import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderItemService;
import cn.lili.modules.order.order.service.OrderPriceService; import cn.lili.modules.order.order.service.OrderPriceService;
import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.order.service.TradeService;
import cn.lili.modules.payment.kit.plugin.bank.BankTransferPlugin; import cn.lili.modules.payment.kit.plugin.bank.BankTransferPlugin;
import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -46,8 +45,8 @@ public class OrderPriceServiceImpl implements OrderPriceService {
/** /**
* 交易数据层 * 交易数据层
*/ */
@Resource @Autowired
private TradeMapper tradeMapper; private TradeService tradeService;
/** /**
* 订单 * 订单
*/ */
@ -63,7 +62,7 @@ public class OrderPriceServiceImpl implements OrderPriceService {
Order order = updateOrderPrice(orderSn, orderPrice); Order order = updateOrderPrice(orderSn, orderPrice);
//修改交易金额 //修改交易金额
tradeMapper.updateTradePrice(order.getTradeSn()); tradeService.updateTradePrice(order.getTradeSn());
return order; return order;
} }

View File

@ -18,9 +18,7 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums; import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.SnowFlake; import cn.lili.common.utils.SnowFlake;
import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage; import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
import cn.lili.modules.logistics.entity.enums.LogisticsEnum;
import cn.lili.modules.member.entity.dto.MemberAddressDTO; import cn.lili.modules.member.entity.dto.MemberAddressDTO;
import cn.lili.modules.member.service.StoreLogisticsService;
import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
import cn.lili.modules.order.order.aop.OrderLogPoint; import cn.lili.modules.order.order.aop.OrderLogPoint;
@ -34,7 +32,6 @@ import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.entity.vo.OrderVO; import cn.lili.modules.order.order.entity.vo.OrderVO;
import cn.lili.modules.order.order.entity.vo.PaymentLog; import cn.lili.modules.order.order.entity.vo.PaymentLog;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.mapper.OrderMapper; import cn.lili.modules.order.order.mapper.OrderMapper;
import cn.lili.modules.order.order.service.*; import cn.lili.modules.order.order.service.*;
import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.entity.dos.OrderLog;
@ -46,7 +43,6 @@ import cn.lili.modules.store.entity.dto.StoreDeliverGoodsAddressDTO;
import cn.lili.modules.store.service.StoreDetailService; import cn.lili.modules.store.service.StoreDetailService;
import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
import cn.lili.modules.system.entity.dos.Logistics; import cn.lili.modules.system.entity.dos.Logistics;
import cn.lili.modules.system.entity.dto.LogisticsSetting;
import cn.lili.modules.system.entity.vo.Traces; import cn.lili.modules.system.entity.vo.Traces;
import cn.lili.modules.system.service.LogisticsService; import cn.lili.modules.system.service.LogisticsService;
import cn.lili.mybatis.util.PageUtil; import cn.lili.mybatis.util.PageUtil;
@ -75,7 +71,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
@ -100,11 +95,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
*/ */
@Autowired @Autowired
private TimeTrigger timeTrigger; private TimeTrigger timeTrigger;
/**
* 订单货物数据层
*/
@Resource
private OrderItemMapper orderItemMapper;
/** /**
* 发票 * 发票
*/ */
@ -285,10 +275,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
if (order == null) { if (order == null) {
throw new ServiceException(ResultCode.ORDER_NOT_EXIST); throw new ServiceException(ResultCode.ORDER_NOT_EXIST);
} }
QueryWrapper<OrderItem> orderItemWrapper = new QueryWrapper<>();
orderItemWrapper.eq(ORDER_SN_COLUMN, orderSn);
//查询订单项信息 //查询订单项信息
List<OrderItem> orderItems = orderItemMapper.selectList(orderItemWrapper); List<OrderItem> orderItems = orderItemService.getByOrderSn(orderSn);
//查询订单日志信息 //查询订单日志信息
List<OrderLog> orderLogs = orderLogService.getOrderLog(orderSn); List<OrderLog> orderLogs = orderLogService.getOrderLog(orderSn);
//查询发票信息 //查询发票信息

File diff suppressed because one or more lines are too long

View File

@ -3,6 +3,7 @@ package cn.lili.modules.permission.service;
import cn.lili.modules.permission.entity.dos.Menu; import cn.lili.modules.permission.entity.dos.Menu;
import cn.lili.modules.permission.entity.dto.MenuSearchParams; import cn.lili.modules.permission.entity.dto.MenuSearchParams;
import cn.lili.modules.permission.entity.vo.MenuVO; import cn.lili.modules.permission.entity.vo.MenuVO;
import cn.lili.modules.permission.entity.vo.UserMenuVO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
@ -71,4 +72,12 @@ public interface MenuService extends IService<Menu> {
*/ */
boolean saveOrUpdateMenu(Menu menu); boolean saveOrUpdateMenu(Menu menu);
/**
* 根据角色集合获取拥有的菜单具体权限
*
* @param userId
* @return
*/
List<UserMenuVO> findAllMenu(String userId);
} }

View File

@ -1,7 +1,6 @@
package cn.lili.modules.permission.service; package cn.lili.modules.permission.service;
import cn.lili.modules.permission.entity.dos.RoleMenu; import cn.lili.modules.permission.entity.dos.RoleMenu;
import cn.lili.modules.permission.entity.vo.UserMenuVO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@ -23,15 +22,6 @@ public interface RoleMenuService extends IService<RoleMenu> {
List<RoleMenu> findByRoleId(String roleId); List<RoleMenu> findByRoleId(String roleId);
/**
* 根据角色集合获取拥有的菜单具体权限
*
* @param userId
* @return
*/
List<UserMenuVO> findAllMenu(String userId);
/** /**
* 更新某角色拥有到菜单 * 更新某角色拥有到菜单
* *

View File

@ -46,6 +46,10 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser> implements AdminUserService { public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser> implements AdminUserService {
/**
* 角色长度
*/
private final int rolesMaxSize = 10;
@Autowired @Autowired
private UserRoleService userRoleService; private UserRoleService userRoleService;
@Autowired @Autowired
@ -56,15 +60,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
private MenuService menuService; private MenuService menuService;
@Autowired @Autowired
private ManagerTokenGenerate managerTokenGenerate; private ManagerTokenGenerate managerTokenGenerate;
@Autowired @Autowired
private Cache cache; private Cache cache;
/**
* 角色长度
*/
private final int rolesMaxSize = 10;
@Override @Override
public IPage<AdminUserVO> adminUserPage(Page initPage, QueryWrapper<AdminUser> initWrapper) { public IPage<AdminUserVO> adminUserPage(Page initPage, QueryWrapper<AdminUser> initWrapper) {
Page<AdminUser> adminUserPage = page(initPage, initWrapper); Page<AdminUser> adminUserPage = page(initPage, initWrapper);
@ -102,7 +100,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
} }
result.add(adminUserVO); result.add(adminUserVO);
}); });
Page<AdminUserVO> pageResult = new Page(adminUserPage.getCurrent(), adminUserPage.getSize(), adminUserPage.getTotal()); Page<AdminUserVO> pageResult = new Page<>(adminUserPage.getCurrent(), adminUserPage.getSize(), adminUserPage.getTotal());
pageResult.setRecords(result); pageResult.setRecords(result);
return pageResult; return pageResult;
@ -163,13 +161,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
@Override @Override
public AdminUser findByUsername(String username) { public AdminUser findByUsername(String username) {
return getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getUsername, username), false);
AdminUser user = getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getUsername, username));
if (user == null) {
return null;
}
return user;
} }
@ -185,11 +177,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
} }
adminUser.setRoleIds(CharSequenceUtil.join(",", roles)); adminUser.setRoleIds(CharSequenceUtil.join(",", roles));
updateRole(adminUser.getId(), roles);
} else { } else {
adminUser.setRoleIds(""); adminUser.setRoleIds("");
} }
updateRole(adminUser.getId(), roles);
this.updateById(adminUser); this.updateById(adminUser);
return true; return true;
} }
@ -208,8 +200,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void resetPassword(List<String> ids) { public void resetPassword(List<String> ids) {
LambdaQueryWrapper<AdminUser> lambdaQueryWrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<AdminUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(AdminUser::getId, ids); lambdaQueryWrapper.in(AdminUser::getId, ids);
List<AdminUser> adminUsers = this.list(lambdaQueryWrapper); List<AdminUser> adminUsers = this.list(lambdaQueryWrapper);
String password = StringUtils.md5("123456"); String password = StringUtils.md5("123456");
@ -239,6 +232,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void deleteCompletely(List<String> ids) { public void deleteCompletely(List<String> ids) {
//彻底删除超级管理员 //彻底删除超级管理员
this.removeByIds(ids); this.removeByIds(ids);
@ -269,5 +263,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
List<UserRole> userRoles = new ArrayList<>(roles.size()); List<UserRole> userRoles = new ArrayList<>(roles.size());
roles.forEach(id -> userRoles.add(new UserRole(userId, id))); roles.forEach(id -> userRoles.add(new UserRole(userId, id)));
userRoleService.updateUserRole(userId, userRoles); userRoleService.updateUserRole(userId, userRoles);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} }
} }

View File

@ -1,10 +1,14 @@
package cn.lili.modules.permission.serviceimpl; package cn.lili.modules.permission.serviceimpl;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.permission.entity.dos.DepartmentRole; import cn.lili.modules.permission.entity.dos.DepartmentRole;
import cn.lili.modules.permission.mapper.DepartmentRoleMapper; import cn.lili.modules.permission.mapper.DepartmentRoleMapper;
import cn.lili.modules.permission.service.DepartmentRoleService; import cn.lili.modules.permission.service.DepartmentRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -19,6 +23,8 @@ import java.util.List;
@Service @Service
public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper, DepartmentRole> implements DepartmentRoleService { public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper, DepartmentRole> implements DepartmentRoleService {
@Autowired
private Cache cache;
@Override @Override
public List<DepartmentRole> listByDepartmentId(String departmentId) { public List<DepartmentRole> listByDepartmentId(String departmentId) {
@ -35,6 +41,8 @@ public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper,
this.remove(queryWrapper); this.remove(queryWrapper);
this.saveBatch(departmentRoles); this.saveBatch(departmentRoles);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} }
@Override @Override
@ -42,5 +50,7 @@ public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper,
QueryWrapper queryWrapper = new QueryWrapper<>(); QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("department_id", ids); queryWrapper.in("department_id", ids);
this.remove(queryWrapper); this.remove(queryWrapper);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} }
} }

View File

@ -13,15 +13,18 @@ import cn.lili.modules.permission.entity.dos.Menu;
import cn.lili.modules.permission.entity.dos.RoleMenu; import cn.lili.modules.permission.entity.dos.RoleMenu;
import cn.lili.modules.permission.entity.dto.MenuSearchParams; import cn.lili.modules.permission.entity.dto.MenuSearchParams;
import cn.lili.modules.permission.entity.vo.MenuVO; import cn.lili.modules.permission.entity.vo.MenuVO;
import cn.lili.modules.permission.entity.vo.UserMenuVO;
import cn.lili.modules.permission.mapper.MenuMapper; import cn.lili.modules.permission.mapper.MenuMapper;
import cn.lili.modules.permission.service.MenuService; import cn.lili.modules.permission.service.MenuService;
import cn.lili.modules.permission.service.RoleMenuService; import cn.lili.modules.permission.service.RoleMenuService;
import cn.lili.modules.system.token.ManagerTokenGenerate;
import cn.lili.mybatis.util.PageUtil; import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
@ -41,9 +44,13 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
private RoleMenuService roleMenuService; private RoleMenuService roleMenuService;
@Autowired @Autowired
private Cache<List<Menu>> cache; private ManagerTokenGenerate managerTokenGenerate;
@Autowired
private Cache cache;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void deleteIds(List<String> ids) { public void deleteIds(List<String> ids) {
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.in("menu_id", ids); queryWrapper.in("menu_id", ids);
@ -51,6 +58,8 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
if (roleMenuService.count(queryWrapper) > 0) { if (roleMenuService.count(queryWrapper) > 0) {
throw new ServiceException(ResultCode.PERMISSION_MENU_ROLE_ERROR); throw new ServiceException(ResultCode.PERMISSION_MENU_ROLE_ERROR);
} }
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
this.removeByIds(ids); this.removeByIds(ids);
} }
@ -68,12 +77,17 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
@Override @Override
public List<Menu> findUserList(String userId) { public List<Menu> findUserList(String userId) {
String cacheKey = CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER) + userId; String cacheKey = CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER) + userId;
List<Menu> menuList = cache.get(cacheKey); List<Menu> menuList = (List<Menu>) cache.get(cacheKey);
if (menuList == null) { if (menuList == null) {
menuList = this.baseMapper.findByUserId(userId); menuList = this.baseMapper.findByUserId(userId);
//每5分钟重新确认用户权限 //每5分钟重新确认用户权限
cache.put(cacheKey, menuList, 300L); cache.put(cacheKey, menuList, 300L);
} }
String permissionCacheKey = CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER) + userId;
Map<String, List<String>> permission = (Map<String, List<String>>) cache.get(permissionCacheKey);
if (permission == null || permission.isEmpty()) {
cache.put(permissionCacheKey, this.managerTokenGenerate.permissionList(this.findAllMenu(userId)));
}
return menuList; return menuList;
} }
@ -84,14 +98,18 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
* @return 是否成功 * @return 是否成功
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean saveOrUpdateMenu(Menu menu) { public boolean saveOrUpdateMenu(Menu menu) {
if (CharSequenceUtil.isNotEmpty(menu.getId())) {
}
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER)); cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
return this.saveOrUpdate(menu); return this.saveOrUpdate(menu);
} }
@Override
public List<UserMenuVO> findAllMenu(String userId) {
return this.baseMapper.getUserRoleMenu(userId);
}
@Override @Override
public List<Menu> findByRoleIds(String roleId) { public List<Menu> findByRoleIds(String roleId) {
QueryWrapper<Menu> queryWrapper = new QueryWrapper<>(); QueryWrapper<Menu> queryWrapper = new QueryWrapper<>();

View File

@ -2,9 +2,8 @@ package cn.lili.modules.permission.serviceimpl;
import cn.lili.cache.Cache; import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix; import cn.lili.cache.CachePrefix;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.permission.entity.dos.RoleMenu; import cn.lili.modules.permission.entity.dos.RoleMenu;
import cn.lili.modules.permission.entity.vo.UserMenuVO;
import cn.lili.modules.permission.mapper.MenuMapper;
import cn.lili.modules.permission.mapper.RoleMenuMapper; import cn.lili.modules.permission.mapper.RoleMenuMapper;
import cn.lili.modules.permission.service.RoleMenuService; import cn.lili.modules.permission.service.RoleMenuService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -15,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -28,13 +26,6 @@ import java.util.List;
@Service @Service
public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService { public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService {
/**
* 菜单
*/
@Resource
private MenuMapper menuMapper;
@Autowired @Autowired
private Cache<Object> cache; private Cache<Object> cache;
@ -45,11 +36,6 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
return this.baseMapper.selectList(queryWrapper); return this.baseMapper.selectList(queryWrapper);
} }
@Override
public List<UserMenuVO> findAllMenu(String userId) {
return menuMapper.getUserRoleMenu(userId);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -59,7 +45,9 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
this.deleteRoleMenu(roleId); this.deleteRoleMenu(roleId);
//重新保存角色菜单关系 //重新保存角色菜单关系
this.saveBatch(roleMenus); this.saveBatch(roleMenus);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} catch (Exception e) { } catch (Exception e) {
log.error("修改用户权限错误", e); log.error("修改用户权限错误", e);
} }
@ -70,6 +58,8 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
//删除 //删除
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id", roleId); queryWrapper.eq("role_id", roleId);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
this.remove(queryWrapper); this.remove(queryWrapper);
} }
@ -79,6 +69,8 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
//删除 //删除
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.in("role_id", roleId); queryWrapper.in("role_id", roleId);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
this.remove(queryWrapper); this.remove(queryWrapper);
} }

View File

@ -1,7 +1,10 @@
package cn.lili.modules.permission.serviceimpl; package cn.lili.modules.permission.serviceimpl;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException; import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.permission.entity.dos.Role; import cn.lili.modules.permission.entity.dos.Role;
import cn.lili.modules.permission.mapper.RoleMapper; import cn.lili.modules.permission.mapper.RoleMapper;
import cn.lili.modules.permission.service.DepartmentRoleService; import cn.lili.modules.permission.service.DepartmentRoleService;
@ -38,6 +41,8 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
@Autowired @Autowired
private RoleMenuService roleMenuService; private RoleMenuService roleMenuService;
@Autowired
private Cache cache;
@Override @Override
public List<Role> findByDefaultRole(Boolean defaultRole) { public List<Role> findByDefaultRole(Boolean defaultRole) {
@ -61,5 +66,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
this.removeByIds(roleIds); this.removeByIds(roleIds);
//删除角色与菜单关联 //删除角色与菜单关联
roleMenuService.remove(queryWrapper); roleMenuService.remove(queryWrapper);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} }
} }

View File

@ -1,10 +1,14 @@
package cn.lili.modules.permission.serviceimpl; package cn.lili.modules.permission.serviceimpl;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.modules.permission.entity.dos.UserRole; import cn.lili.modules.permission.entity.dos.UserRole;
import cn.lili.modules.permission.mapper.UserRoleMapper; import cn.lili.modules.permission.mapper.UserRoleMapper;
import cn.lili.modules.permission.service.UserRoleService; import cn.lili.modules.permission.service.UserRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -20,6 +24,9 @@ import java.util.List;
@Service @Service
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService { public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
@Autowired
private Cache cache;
@Override @Override
public List<UserRole> listByUserId(String userId) { public List<UserRole> listByUserId(String userId) {
QueryWrapper<UserRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserRole> queryWrapper = new QueryWrapper<>();
@ -46,6 +53,8 @@ public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> i
//保存 //保存
this.saveBatch(userRoles); this.saveBatch(userRoles);
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
} }
} }

View File

@ -27,7 +27,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -59,11 +58,6 @@ public class PlatformViewServiceImpl extends ServiceImpl<PlatformViewMapper, Pla
*/ */
@Autowired @Autowired
private Cache cache; private Cache cache;
/**
* 平台流量统计
*/
@Resource
private PlatformViewMapper platformViewMapper;
@Override @Override
public Long online() { public Long online() {
@ -250,7 +244,7 @@ public class PlatformViewServiceImpl extends ServiceImpl<PlatformViewMapper, Pla
} else { } else {
queryWrapper.eq("store_id", -1); queryWrapper.eq("store_id", -1);
} }
return platformViewMapper.count(queryWrapper); return this.baseMapper.count(queryWrapper);
} }
} }

View File

@ -11,7 +11,7 @@ import cn.lili.common.security.token.TokenUtil;
import cn.lili.common.security.token.base.AbstractTokenGenerate; import cn.lili.common.security.token.base.AbstractTokenGenerate;
import cn.lili.modules.permission.entity.dos.AdminUser; import cn.lili.modules.permission.entity.dos.AdminUser;
import cn.lili.modules.permission.entity.vo.UserMenuVO; import cn.lili.modules.permission.entity.vo.UserMenuVO;
import cn.lili.modules.permission.service.RoleMenuService; import cn.lili.modules.permission.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -33,7 +33,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
@Autowired @Autowired
private TokenUtil tokenUtil; private TokenUtil tokenUtil;
@Autowired @Autowired
private RoleMenuService roleMenuService; private MenuService menuService;
@Autowired @Autowired
private Cache cache; private Cache cache;
@ -50,7 +50,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
.longTerm(longTerm) .longTerm(longTerm)
.build(); .build();
List<UserMenuVO> userMenuVOList = roleMenuService.findAllMenu(authUser.getId()); List<UserMenuVO> userMenuVOList = menuService.findAllMenu(authUser.getId());
//缓存权限列表 //缓存权限列表
cache.put(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER) + authUser.getId(), this.permissionList(userMenuVOList)); cache.put(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER) + authUser.getId(), this.permissionList(userMenuVOList));
@ -68,7 +68,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
* @param userMenuVOList * @param userMenuVOList
* @return * @return
*/ */
private Map<String, List<String>> permissionList(List<UserMenuVO> userMenuVOList) { public Map<String, List<String>> permissionList(List<UserMenuVO> userMenuVOList) {
Map<String, List<String>> permission = new HashMap<>(2); Map<String, List<String>> permission = new HashMap<>(2);
List<String> superPermissions = new ArrayList<>(); List<String> superPermissions = new ArrayList<>();

View File

@ -123,7 +123,7 @@ public class StoreAuthenticationFilter extends BasicAuthenticationFilter {
//如果不是超级管理员 则鉴权 //如果不是超级管理员 则鉴权
if (!authUser.getIsSuper()) { if (Boolean.FALSE.equals(authUser.getIsSuper())) {
//获取缓存中的权限 //获取缓存中的权限
Map<String, List<String>> permission = Map<String, List<String>> permission =
(Map<String, List<String>>) cache.get(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE) + authUser.getId()); (Map<String, List<String>>) cache.get(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE) + authUser.getId());