fix: 移除@Resource注解,修复权限更新后,登录用户权限没有更新问题。
This commit is contained in:
parent
b61a5e8f7b
commit
5d6e99dc8a
@ -3,14 +3,12 @@ package cn.lili.timetask.handler.impl.goods;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.lili.modules.goods.mapper.GoodsMapper;
|
||||
import cn.lili.modules.member.entity.dos.MemberEvaluation;
|
||||
import cn.lili.modules.member.mapper.MemberEvaluationMapper;
|
||||
import cn.lili.modules.goods.service.GoodsService;
|
||||
import cn.lili.modules.member.service.MemberEvaluationService;
|
||||
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 javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -25,13 +23,13 @@ public class GoodsExecute implements EveryDayExecute {
|
||||
/**
|
||||
* 会员评价
|
||||
*/
|
||||
@Resource
|
||||
private MemberEvaluationMapper memberEvaluationMapper;
|
||||
@Autowired
|
||||
private MemberEvaluationService memberEvaluationService;
|
||||
/**
|
||||
* 商品
|
||||
*/
|
||||
@Resource
|
||||
private GoodsMapper goodsMapper;
|
||||
@Autowired
|
||||
private GoodsService goodsService;
|
||||
|
||||
/**
|
||||
* 查询已上架的商品的评价数量并赋值
|
||||
@ -40,12 +38,10 @@ public class GoodsExecute implements EveryDayExecute {
|
||||
public void execute() {
|
||||
|
||||
//查询上次统计到本次的评价数量
|
||||
List<Map<String, Object>> list = memberEvaluationMapper.memberEvaluationNum(
|
||||
new QueryWrapper<MemberEvaluation>()
|
||||
.between("create_time", DateUtil.yesterday(), new DateTime()));
|
||||
List<Map<String, Object>> list = memberEvaluationService.memberEvaluationNum(DateUtil.yesterday(), new DateTime());
|
||||
|
||||
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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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.OrderItemAfterSaleStatusEnum;
|
||||
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.OrderService;
|
||||
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.timetask.handler.EveryDayExecute;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -53,8 +50,6 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
*/
|
||||
@Autowired
|
||||
private OrderItemService orderItemService;
|
||||
@Resource
|
||||
private OrderItemMapper orderItemMapper;
|
||||
/**
|
||||
* 设置
|
||||
*/
|
||||
@ -148,10 +143,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getAutoEvaluation());
|
||||
|
||||
//订单完成时间 <= 订单自动好评时间
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.le("o.complete_time", receiveTime);
|
||||
queryWrapper.eq("oi.comment_status", CommentStatusEnum.UNFINISHED.name());
|
||||
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
|
||||
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, CommentStatusEnum.UNFINISHED.name());
|
||||
|
||||
//判断是否有符合条件的订单,进行自动评价处理
|
||||
if (!orderItems.isEmpty()) {
|
||||
@ -191,10 +183,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
||||
|
||||
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.le("o.complete_time", receiveTime);
|
||||
queryWrapper.eq("oi.after_sale_status", OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
|
||||
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
|
||||
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
|
||||
|
||||
//判断是否有符合条件的订单,关闭允许售后申请处理
|
||||
if (!orderItems.isEmpty()) {
|
||||
@ -235,10 +224,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseComplaint());
|
||||
|
||||
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.le("o.complete_time", receiveTime);
|
||||
queryWrapper.eq("oi.complain_status", OrderComplaintStatusEnum.NO_APPLY.name());
|
||||
List<OrderItem> orderItems = orderItemMapper.waitOperationOrderItem(queryWrapper);
|
||||
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderComplaintStatusEnum.NO_APPLY.name());
|
||||
|
||||
//判断是否有符合条件的订单,关闭允许售后申请处理
|
||||
if (!orderItems.isEmpty()) {
|
||||
|
@ -1,9 +1,8 @@
|
||||
package cn.lili.timetask.handler.impl.store;
|
||||
|
||||
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.mapper.MemberEvaluationMapper;
|
||||
import cn.lili.modules.member.service.MemberEvaluationService;
|
||||
import cn.lili.modules.store.entity.dos.Store;
|
||||
import cn.lili.modules.store.entity.enums.StoreStatusEnum;
|
||||
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.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -33,8 +31,8 @@ public class StoreRatingExecute implements EveryDayExecute {
|
||||
/**
|
||||
* 会员评价
|
||||
*/
|
||||
@Resource
|
||||
private MemberEvaluationMapper memberEvaluationMapper;
|
||||
@Autowired
|
||||
private MemberEvaluationService memberEvaluationService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -43,10 +41,7 @@ public class StoreRatingExecute implements EveryDayExecute {
|
||||
List<Store> storeList = storeService.list(new LambdaQueryWrapper<Store>().eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()));
|
||||
for (Store store : storeList) {
|
||||
//店铺所有开启的评价
|
||||
LambdaQueryWrapper<MemberEvaluation> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
||||
lambdaQueryWrapper.eq(MemberEvaluation::getStoreId, store.getId());
|
||||
lambdaQueryWrapper.eq(MemberEvaluation::getStatus, SwitchEnum.OPEN.name());
|
||||
StoreRatingVO storeRatingVO = memberEvaluationMapper.getStoreRatingVO(lambdaQueryWrapper);
|
||||
StoreRatingVO storeRatingVO = memberEvaluationService.getStoreRatingVO(store.getId(), SwitchEnum.OPEN.name());
|
||||
|
||||
if (storeRatingVO != null) {
|
||||
//保存评分
|
||||
|
@ -4,6 +4,7 @@ import cn.lili.modules.goods.entity.dos.Commodity;
|
||||
import cn.lili.modules.goods.entity.dos.Studio;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -13,9 +14,12 @@ import java.util.List;
|
||||
* @author Bulbasaur
|
||||
* @since 2021/5/31 11:58 上午
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class StudioVO extends Studio {
|
||||
|
||||
private static final long serialVersionUID = 3459644787796753594L;
|
||||
|
||||
@ApiModelProperty(value = "直播间商品列表")
|
||||
private List<Commodity> commodityList;
|
||||
|
||||
|
@ -43,4 +43,8 @@ public interface CommodityService extends IService<Commodity> {
|
||||
* @return 直播商品分页
|
||||
*/
|
||||
IPage<CommodityVO> commodityList(PageVO pageVO, String name, String auditStatus);
|
||||
|
||||
List<Commodity> getCommodityByRoomId(Integer roomId);
|
||||
|
||||
List<String> getSimpleCommodityByRoomId(Integer roomId);
|
||||
}
|
||||
|
@ -190,4 +190,7 @@ public interface GoodsService extends IService<Goods> {
|
||||
* @param categoryId 分类ID
|
||||
*/
|
||||
void categoryGoodsName(String categoryId);
|
||||
|
||||
|
||||
void addGoodsCommentNum(Integer commentNum, String goodsId);
|
||||
}
|
||||
|
@ -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())
|
||||
.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);
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
//检查商品
|
||||
this.checkGoods(goods);
|
||||
//向goods加入图片
|
||||
if (goodsOperationDTO.getGoodsGalleryList().size() > 0 ) {
|
||||
if (goodsOperationDTO.getGoodsGalleryList().size() > 0) {
|
||||
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
|
||||
}
|
||||
//添加商品参数
|
||||
@ -190,7 +190,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId) {
|
||||
@ -497,13 +496,17 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
@Override
|
||||
public void categoryGoodsName(String categoryId) {
|
||||
//获取分类下的商品
|
||||
List<Goods> list = this.list(new LambdaQueryWrapper<Goods>().like(Goods::getCategoryPath,categoryId));
|
||||
list.parallelStream().forEach(goods->{
|
||||
List<Goods> list = this.list(new LambdaQueryWrapper<Goods>().like(Goods::getCategoryPath, categoryId));
|
||||
list.parallelStream().forEach(goods -> {
|
||||
//移除redis中商品缓存
|
||||
cache.remove(CachePrefix.GOODS.getPrefix() + goods.getId());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addGoodsCommentNum(Integer commentNum, String goodsId) {
|
||||
this.baseMapper.addGoodsCommentNum(commentNum, goodsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新商品状态
|
||||
|
@ -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.enums.StudioStatusEnum;
|
||||
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.service.CommodityService;
|
||||
import cn.lili.modules.goods.service.GoodsService;
|
||||
import cn.lili.modules.goods.service.StudioCommodityService;
|
||||
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.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -58,8 +57,8 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
|
||||
private WechatLivePlayerUtil wechatLivePlayerUtil;
|
||||
@Autowired
|
||||
private StudioCommodityService studioCommodityService;
|
||||
@Resource
|
||||
private CommodityMapper commodityMapper;
|
||||
@Autowired
|
||||
private CommodityService commodityService;
|
||||
@Autowired
|
||||
private TimeTrigger timeTrigger;
|
||||
@Autowired
|
||||
@ -141,7 +140,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
|
||||
//获取直播间信息
|
||||
BeanUtil.copyProperties(studio, studioVO);
|
||||
//获取直播间商品信息
|
||||
studioVO.setCommodityList(commodityMapper.getCommodityByRoomId(studioVO.getRoomId()));
|
||||
studioVO.setCommodityList(commodityService.getCommodityByRoomId(studioVO.getRoomId()));
|
||||
return studioVO;
|
||||
}
|
||||
|
||||
@ -183,7 +182,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
|
||||
studio.setRoomGoodsNum(studio.getRoomGoodsNum() != null ? studio.getRoomGoodsNum() + 1 : 1);
|
||||
//设置直播间默认的商品(前台展示)只展示两个
|
||||
if (studio.getRoomGoodsNum() < 3) {
|
||||
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityMapper.getSimpleCommodityByRoomId(roomId)));
|
||||
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityService.getSimpleCommodityByRoomId(roomId)));
|
||||
}
|
||||
return this.updateById(studio);
|
||||
}
|
||||
@ -205,7 +204,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
|
||||
studio.setRoomGoodsNum(studio.getRoomGoodsNum() - 1);
|
||||
//设置直播间默认的商品(前台展示)只展示两个
|
||||
if (studio.getRoomGoodsNum() < 3) {
|
||||
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityMapper.getSimpleCommodityByRoomId(roomId)));
|
||||
studio.setRoomGoodsList(JSONUtil.toJsonStr(commodityService.getSimpleCommodityByRoomId(roomId)));
|
||||
}
|
||||
return this.updateById(studio);
|
||||
}
|
||||
@ -229,7 +228,7 @@ public class StudioServiceImpl extends ServiceImpl<StudioMapper, Studio> impleme
|
||||
//获取直播间信息
|
||||
BeanUtil.copyProperties(record, studioVO);
|
||||
//获取直播间商品信息
|
||||
studioVO.setCommodityList(commodityMapper.getCommodityByRoomId(studioVO.getRoomId()));
|
||||
studioVO.setCommodityList(commodityService.getCommodityByRoomId(studioVO.getRoomId()));
|
||||
studioVOS.add(studioVO);
|
||||
}
|
||||
page.setRecords(studioVOS);
|
||||
|
@ -1,14 +1,19 @@
|
||||
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.dto.EvaluationQueryParams;
|
||||
import cn.lili.modules.member.entity.dto.MemberEvaluationDTO;
|
||||
import cn.lili.modules.member.entity.vo.EvaluationNumberVO;
|
||||
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
|
||||
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.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);
|
||||
|
||||
List<Map<String, Object>> memberEvaluationNum(DateTime startDate, DateTime endDate);
|
||||
|
||||
StoreRatingVO getStoreRatingVO(String storeId, String status);
|
||||
|
||||
}
|
@ -2,6 +2,7 @@ package cn.lili.modules.member.service;
|
||||
|
||||
import cn.lili.modules.member.entity.dos.StoreMenu;
|
||||
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 com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.cache.annotation.CacheConfig;
|
||||
@ -30,7 +31,7 @@ public interface StoreMenuService extends IService<StoreMenu> {
|
||||
* @param userId
|
||||
* @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);
|
||||
|
||||
List<StoreUserMenuVO> getUserRoleMenu(String clerkId);
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,12 @@
|
||||
package cn.lili.modules.member.serviceimpl;
|
||||
|
||||
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.exception.ServiceException;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.member.entity.dos.Clerk;
|
||||
@ -49,6 +52,8 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
private MemberService memberService;
|
||||
@Autowired
|
||||
private StoreClerkRoleService storeClerkRoleService;
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
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()));
|
||||
clerkVO.setRoles(
|
||||
roles.stream().filter
|
||||
(role -> memberRoles.contains(role.getId()))
|
||||
(role -> memberRoles.contains(role.getId()))
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
}
|
||||
@ -150,7 +155,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
Clerk clerk = this.getById(clerkEditDTO.getId());
|
||||
if (clerk != null) {
|
||||
//编辑店主限制
|
||||
if(clerk.getShopkeeper()){
|
||||
if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
|
||||
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())) {
|
||||
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
|
||||
}
|
||||
if (clerkEditDTO.getIsSuper()) {
|
||||
if (Boolean.TRUE.equals(clerkEditDTO.getIsSuper())) {
|
||||
clerk.setRoleIds("");
|
||||
} else {
|
||||
//角色赋值
|
||||
if (!clerkEditDTO.getRoles().isEmpty()) {
|
||||
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) {
|
||||
clerk.setDepartmentId(clerkEditDTO.getDepartmentId());
|
||||
} else {
|
||||
@ -194,17 +201,15 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
if (temp != null && !temp.getStoreId().equals(clerkAddDTO.getStoreId())) {
|
||||
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);
|
||||
}
|
||||
//部门校验
|
||||
if (StringUtils.isNotEmpty(clerkAddDTO.getDepartmentId())) {
|
||||
if (storeDepartmentService.getById(clerkAddDTO.getDepartmentId()) == null) {
|
||||
throw new ServiceException(ResultCode.PERMISSION_NOT_FOUND_ERROR);
|
||||
}
|
||||
if (CharSequenceUtil.isNotEmpty(clerkAddDTO.getDepartmentId()) && storeDepartmentService.getById(clerkAddDTO.getDepartmentId()) == null) {
|
||||
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());
|
||||
if (storeRoles.size() != clerkAddDTO.getRoles().size()) {
|
||||
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
|
||||
@ -214,13 +219,12 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
this.save(clerk);
|
||||
|
||||
//判断用户角色权限不为超级会员且权限路径不为空
|
||||
if(clerkAddDTO.getIsSuper()==false && clerkAddDTO.getRoles()!=null){
|
||||
if (Boolean.FALSE.equals(clerkAddDTO.getIsSuper()) && clerkAddDTO.getRoles() != null) {
|
||||
//添加店员用户角色
|
||||
List<StoreClerkRole> storeClerkRoleList = new ArrayList<>();
|
||||
|
||||
clerkAddDTO.getRoles().stream().forEach(a -> {
|
||||
storeClerkRoleList.add(StoreClerkRole.builder().clerkId(clerk.getId()).roleId(a).build());
|
||||
});
|
||||
clerkAddDTO.getRoles().forEach(a -> storeClerkRoleList.add(StoreClerkRole.builder().clerkId(clerk.getId()).roleId(a).build()));
|
||||
|
||||
storeClerkRoleService.saveBatch(storeClerkRoleList);
|
||||
}
|
||||
|
||||
@ -246,7 +250,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
List<String> memberIds = new ArrayList<>();
|
||||
clerks.forEach(clerk -> {
|
||||
//如果是店主无法重置密码
|
||||
if (clerk.getShopkeeper()) {
|
||||
if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
|
||||
throw new ServiceException(ResultCode.CLERK_SUPPER);
|
||||
}
|
||||
memberIds.add(clerk.getMemberId());
|
||||
@ -261,7 +265,7 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId());
|
||||
queryWrapper.in("id", ids);
|
||||
List<Clerk> clerks = this.baseMapper.selectList(queryWrapper);
|
||||
if (clerks.size() > 0) {
|
||||
if (!clerks.isEmpty()) {
|
||||
//校验要重置的店员是否是当前店铺的店员
|
||||
if (clerks.size() != ids.size()) {
|
||||
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);
|
||||
}
|
||||
//无法删除店主
|
||||
if (clerk.getShopkeeper()) {
|
||||
if (Boolean.TRUE.equals(clerk.getShopkeeper())) {
|
||||
throw new ServiceException(ResultCode.CLERK_SUPPER);
|
||||
}
|
||||
memberIds.add(clerk.getMemberId());
|
||||
@ -291,11 +295,11 @@ public class ClerkServiceImpl extends ServiceImpl<ClerkMapper, Clerk> implements
|
||||
Member member = memberService.findByMobile(mobile);
|
||||
if (member != null) {
|
||||
//校验要添加的会员是否已经是店主
|
||||
if (member.getHaveStore()) {
|
||||
if (Boolean.TRUE.equals(member.getHaveStore())) {
|
||||
throw new ServiceException(ResultCode.STORE_APPLY_DOUBLE_ERROR);
|
||||
}
|
||||
//校验会员的有效性
|
||||
if (!member.getDisabled()) {
|
||||
if (Boolean.FALSE.equals(member.getDisabled())) {
|
||||
throw new ServiceException(ResultCode.USER_STATUS_ERROR);
|
||||
}
|
||||
//校验此会员是否已经是店员
|
||||
|
@ -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.MemberEvaluationListVO;
|
||||
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.service.MemberEvaluationService;
|
||||
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.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -57,11 +57,6 @@ import java.util.Map;
|
||||
@Service
|
||||
public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMapper, MemberEvaluation> implements MemberEvaluationService {
|
||||
|
||||
/**
|
||||
* 会员评价数据层
|
||||
*/
|
||||
@Resource
|
||||
private MemberEvaluationMapper memberEvaluationMapper;
|
||||
/**
|
||||
* 订单
|
||||
*/
|
||||
@ -101,7 +96,7 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
|
||||
|
||||
@Override
|
||||
public IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams) {
|
||||
return memberEvaluationMapper.getMemberEvaluationList(PageUtil.initPage(evaluationQueryParams), evaluationQueryParams.queryWrapper());
|
||||
return this.baseMapper.getMemberEvaluationList(PageUtil.initPage(evaluationQueryParams), evaluationQueryParams.queryWrapper());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -231,6 +226,20 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测会员评价
|
||||
*
|
||||
|
@ -1,13 +1,15 @@
|
||||
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.mapper.StoreDepartmentRoleMapper;
|
||||
import cn.lili.modules.member.service.StoreDepartmentRoleService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -18,9 +20,10 @@ import java.util.List;
|
||||
* @since 2020/11/22 12:08
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentRoleMapper, StoreDepartmentRole> implements StoreDepartmentRoleService {
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
public List<StoreDepartmentRole> listByDepartmentId(String storeDepartmentId) {
|
||||
@ -31,11 +34,13 @@ public class StoreDepartmentRoleServiceImpl extends ServiceImpl<StoreDepartmentR
|
||||
|
||||
@Override
|
||||
public void updateByDepartmentId(String storeDepartmentId, List<StoreDepartmentRole> storeDepartmentRoles) {
|
||||
if (storeDepartmentRoles.size() > 0) {
|
||||
if (!storeDepartmentRoles.isEmpty()) {
|
||||
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("department_id", storeDepartmentId);
|
||||
this.remove(queryWrapper);
|
||||
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.in("department_id", ids);
|
||||
this.remove(queryWrapper);
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
|
||||
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
|
||||
}
|
||||
}
|
@ -3,16 +3,12 @@ package cn.lili.modules.member.serviceimpl;
|
||||
import cn.lili.cache.Cache;
|
||||
import cn.lili.cache.CachePrefix;
|
||||
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.vo.StoreUserMenuVO;
|
||||
import cn.lili.modules.member.mapper.StoreMenuMapper;
|
||||
import cn.lili.modules.member.mapper.StoreMenuRoleMapper;
|
||||
import cn.lili.modules.member.service.StoreMenuRoleService;
|
||||
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.service.RoleMenuService;
|
||||
import cn.lili.modules.member.service.StoreMenuService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
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.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -38,9 +33,8 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
|
||||
/**
|
||||
* 菜单
|
||||
*/
|
||||
@Resource
|
||||
private StoreMenuMapper storeMenuMapper;
|
||||
|
||||
@Autowired
|
||||
private StoreMenuService storeMenuService;
|
||||
|
||||
@Autowired
|
||||
private Cache<Object> cache;
|
||||
@ -53,11 +47,11 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
|
||||
}
|
||||
|
||||
@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;
|
||||
List<StoreUserMenuVO> menuList = (List<StoreUserMenuVO>) cache.get(cacheKey);
|
||||
if (menuList == null || menuList.isEmpty()) {
|
||||
menuList = storeMenuMapper.getUserRoleMenu(clerkId);
|
||||
menuList = storeMenuService.getUserRoleMenu(clerkId);
|
||||
cache.put(cacheKey, menuList);
|
||||
}
|
||||
return menuList;
|
||||
@ -67,16 +61,14 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
|
||||
@Override
|
||||
public void updateRoleMenu(String roleId, List<StoreMenuRole> roleMenus) {
|
||||
try {
|
||||
roleMenus.forEach(role -> {
|
||||
role.setStoreId(UserContext.getCurrentUser().getStoreId());
|
||||
});
|
||||
roleMenus.forEach(role -> role.setStoreId(UserContext.getCurrentUser().getStoreId()));
|
||||
//删除角色已经绑定的菜单
|
||||
this.delete(roleId);
|
||||
//重新保存角色菜单关系
|
||||
this.saveBatch(roleMenus);
|
||||
|
||||
cache.vagueDel(CachePrefix.MENU_USER_ID.getPrefix());
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix());
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
|
||||
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
|
||||
} catch (Exception e) {
|
||||
log.error("修改用户权限错误", e);
|
||||
}
|
||||
@ -88,7 +80,7 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
|
||||
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("role_id", roleId);
|
||||
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());
|
||||
}
|
||||
|
||||
@ -98,7 +90,7 @@ public class StoreMenuRoleServiceImpl extends ServiceImpl<StoreMenuRoleMapper, S
|
||||
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("role_id", roleId);
|
||||
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());
|
||||
}
|
||||
}
|
@ -7,15 +7,18 @@ import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.security.AuthUser;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.vo.SearchVO;
|
||||
import cn.lili.modules.member.entity.dos.Clerk;
|
||||
import cn.lili.modules.member.entity.dos.StoreMenu;
|
||||
import cn.lili.modules.member.entity.dos.StoreMenuRole;
|
||||
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.service.ClerkService;
|
||||
import cn.lili.modules.member.service.StoreMenuRoleService;
|
||||
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.mybatis.util.PageUtil;
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -43,7 +47,7 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
|
||||
private StoreMenuRoleService storeMenuRoleService;
|
||||
|
||||
@Autowired
|
||||
private Cache<List<StoreMenu>> cache;
|
||||
private Cache cache;
|
||||
|
||||
/**
|
||||
* 店员
|
||||
@ -51,7 +55,12 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
|
||||
@Autowired
|
||||
private ClerkService clerkService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private StoreTokenGenerate storeTokenGenerate;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteIds(List<String> ids) {
|
||||
QueryWrapper<StoreMenuRole> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("menu_id", ids);
|
||||
@ -59,6 +68,8 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
|
||||
if (storeMenuRoleService.count(queryWrapper) > 0) {
|
||||
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);
|
||||
}
|
||||
|
||||
@ -72,18 +83,26 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
|
||||
//获取当前登录用户的店员信息
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreMenu> findUserList(String userId) {
|
||||
String cacheKey = CachePrefix.STORE_MENU_USER_ID.getPrefix() + userId;
|
||||
List<StoreMenu> menuList = cache.get(cacheKey);
|
||||
public List<StoreMenu> findUserList(String userId, String clerkId) {
|
||||
String cacheKey = CachePrefix.STORE_USER_MENU.getPrefix() + clerkId;
|
||||
List<StoreMenu> menuList = (List<StoreMenu>) cache.get(cacheKey);
|
||||
if (menuList == null) {
|
||||
menuList = this.baseMapper.findByUserId(userId);
|
||||
menuList = this.baseMapper.findByUserId(clerkId);
|
||||
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;
|
||||
}
|
||||
|
||||
@ -94,13 +113,20 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
|
||||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean saveOrUpdateMenu(StoreMenu storeMenu) {
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreUserMenuVO> getUserRoleMenu(String clerkId) {
|
||||
return this.baseMapper.getUserRoleMenu(clerkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreMenu> findByRoleIds(String roleId) {
|
||||
QueryWrapper<StoreMenu> queryWrapper = new QueryWrapper<>();
|
||||
|
@ -1,8 +1,11 @@
|
||||
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.exception.ServiceException;
|
||||
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.mapper.StoreRoleMapper;
|
||||
import cn.lili.modules.member.service.StoreClerkRoleService;
|
||||
@ -41,6 +44,9 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
|
||||
@Autowired
|
||||
private StoreMenuRoleService storeMenuRoleService;
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
public List<StoreRole> findByDefaultRole(Boolean defaultRole) {
|
||||
QueryWrapper<StoreRole> queryWrapper = new QueryWrapper<>();
|
||||
@ -73,6 +79,8 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
|
||||
this.removeByIds(roleIds);
|
||||
//删除角色与菜单关联
|
||||
storeMenuRoleService.remove(queryWrapper);
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE));
|
||||
cache.vagueDel(CachePrefix.STORE_USER_MENU.getPrefix());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -86,6 +94,8 @@ public class StoreRoleServiceImpl extends ServiceImpl<StoreRoleMapper, StoreRole
|
||||
if (!storeRoleTemp.getStoreId().equals(UserContext.getCurrentUser().getStoreId())) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ public class StoreTokenGenerate extends AbstractTokenGenerate<Member> {
|
||||
if (clerk == null) {
|
||||
throw new ServiceException(ResultCode.CLERK_NOT_FOUND_ERROR);
|
||||
}
|
||||
if (!clerk.getStatus()) {
|
||||
if (Boolean.FALSE.equals(clerk.getStatus())) {
|
||||
throw new ServiceException(ResultCode.CLERK_DISABLED_ERROR);
|
||||
}
|
||||
//获取当前用户权限
|
||||
@ -96,7 +96,7 @@ public class StoreTokenGenerate extends AbstractTokenGenerate<Member> {
|
||||
* @param userMenuVOList
|
||||
* @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);
|
||||
|
||||
List<String> superPermissions = new ArrayList<>();
|
||||
|
@ -1,5 +1,6 @@
|
||||
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.enums.CommentStatusEnum;
|
||||
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
|
||||
@ -66,4 +67,6 @@ public interface OrderItemService extends IService<OrderItem> {
|
||||
* @return 子订单
|
||||
*/
|
||||
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
|
||||
|
||||
List<OrderItem> waitOperationOrderItem(DateTime receiveTime, String commentStatus);
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
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.order.entity.dos.Trade;
|
||||
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 updateTradePrice(String tradeSn);
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package cn.lili.modules.order.order.serviceimpl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
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.service.OrderItemService;
|
||||
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.toolkit.Wrappers;
|
||||
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::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);
|
||||
}
|
||||
}
|
@ -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.dto.PriceDetailDTO;
|
||||
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.OrderPriceService;
|
||||
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.system.aspect.annotation.SystemLogPoint;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -46,8 +45,8 @@ public class OrderPriceServiceImpl implements OrderPriceService {
|
||||
/**
|
||||
* 交易数据层
|
||||
*/
|
||||
@Resource
|
||||
private TradeMapper tradeMapper;
|
||||
@Autowired
|
||||
private TradeService tradeService;
|
||||
/**
|
||||
* 订单
|
||||
*/
|
||||
@ -63,7 +62,7 @@ public class OrderPriceServiceImpl implements OrderPriceService {
|
||||
Order order = updateOrderPrice(orderSn, orderPrice);
|
||||
|
||||
//修改交易金额
|
||||
tradeMapper.updateTradePrice(order.getTradeSn());
|
||||
tradeService.updateTradePrice(order.getTradeSn());
|
||||
return order;
|
||||
}
|
||||
|
||||
|
@ -18,9 +18,7 @@ import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.utils.SnowFlake;
|
||||
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.service.StoreLogisticsService;
|
||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||
import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
|
||||
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.OrderVO;
|
||||
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.service.*;
|
||||
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.system.aspect.annotation.SystemLogPoint;
|
||||
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.service.LogisticsService;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
@ -75,7 +71,6 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.InputStream;
|
||||
@ -100,11 +95,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
*/
|
||||
@Autowired
|
||||
private TimeTrigger timeTrigger;
|
||||
/**
|
||||
* 订单货物数据层
|
||||
*/
|
||||
@Resource
|
||||
private OrderItemMapper orderItemMapper;
|
||||
/**
|
||||
* 发票
|
||||
*/
|
||||
@ -285,10 +275,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
if (order == null) {
|
||||
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);
|
||||
//查询发票信息
|
||||
|
File diff suppressed because one or more lines are too long
@ -3,6 +3,7 @@ package cn.lili.modules.permission.service;
|
||||
import cn.lili.modules.permission.entity.dos.Menu;
|
||||
import cn.lili.modules.permission.entity.dto.MenuSearchParams;
|
||||
import cn.lili.modules.permission.entity.vo.MenuVO;
|
||||
import cn.lili.modules.permission.entity.vo.UserMenuVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.cache.annotation.CacheConfig;
|
||||
|
||||
@ -71,4 +72,12 @@ public interface MenuService extends IService<Menu> {
|
||||
*/
|
||||
boolean saveOrUpdateMenu(Menu menu);
|
||||
|
||||
/**
|
||||
* 根据角色集合获取拥有的菜单具体权限
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<UserMenuVO> findAllMenu(String userId);
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package cn.lili.modules.permission.service;
|
||||
|
||||
import cn.lili.modules.permission.entity.dos.RoleMenu;
|
||||
import cn.lili.modules.permission.entity.vo.UserMenuVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@ -23,15 +22,6 @@ public interface RoleMenuService extends IService<RoleMenu> {
|
||||
List<RoleMenu> findByRoleId(String roleId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据角色集合获取拥有的菜单具体权限
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<UserMenuVO> findAllMenu(String userId);
|
||||
|
||||
|
||||
/**
|
||||
* 更新某角色拥有到菜单
|
||||
*
|
||||
|
@ -46,6 +46,10 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@Service
|
||||
public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser> implements AdminUserService {
|
||||
/**
|
||||
* 角色长度
|
||||
*/
|
||||
private final int rolesMaxSize = 10;
|
||||
@Autowired
|
||||
private UserRoleService userRoleService;
|
||||
@Autowired
|
||||
@ -56,15 +60,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
private MenuService menuService;
|
||||
@Autowired
|
||||
private ManagerTokenGenerate managerTokenGenerate;
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
/**
|
||||
* 角色长度
|
||||
*/
|
||||
private final int rolesMaxSize = 10;
|
||||
|
||||
@Override
|
||||
public IPage<AdminUserVO> adminUserPage(Page initPage, QueryWrapper<AdminUser> initWrapper) {
|
||||
Page<AdminUser> adminUserPage = page(initPage, initWrapper);
|
||||
@ -102,7 +100,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
}
|
||||
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);
|
||||
return pageResult;
|
||||
|
||||
@ -163,13 +161,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
|
||||
@Override
|
||||
public AdminUser findByUsername(String username) {
|
||||
|
||||
AdminUser user = getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getUsername, username));
|
||||
|
||||
if (user == null) {
|
||||
return null;
|
||||
}
|
||||
return user;
|
||||
return getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getUsername, username), false);
|
||||
}
|
||||
|
||||
|
||||
@ -185,11 +177,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
}
|
||||
adminUser.setRoleIds(CharSequenceUtil.join(",", roles));
|
||||
|
||||
updateRole(adminUser.getId(), roles);
|
||||
} else {
|
||||
adminUser.setRoleIds("");
|
||||
}
|
||||
|
||||
updateRole(adminUser.getId(), roles);
|
||||
this.updateById(adminUser);
|
||||
return true;
|
||||
}
|
||||
@ -208,8 +200,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void resetPassword(List<String> ids) {
|
||||
LambdaQueryWrapper<AdminUser> lambdaQueryWrapper = new LambdaQueryWrapper();
|
||||
LambdaQueryWrapper<AdminUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(AdminUser::getId, ids);
|
||||
List<AdminUser> adminUsers = this.list(lambdaQueryWrapper);
|
||||
String password = StringUtils.md5("123456");
|
||||
@ -239,6 +232,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteCompletely(List<String> ids) {
|
||||
//彻底删除超级管理员
|
||||
this.removeByIds(ids);
|
||||
@ -269,5 +263,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
List<UserRole> userRoles = new ArrayList<>(roles.size());
|
||||
roles.forEach(id -> userRoles.add(new UserRole(userId, id)));
|
||||
userRoleService.updateUserRole(userId, userRoles);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,14 @@
|
||||
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.mapper.DepartmentRoleMapper;
|
||||
import cn.lili.modules.permission.service.DepartmentRoleService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -19,6 +23,8 @@ import java.util.List;
|
||||
@Service
|
||||
public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper, DepartmentRole> implements DepartmentRoleService {
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
public List<DepartmentRole> listByDepartmentId(String departmentId) {
|
||||
@ -35,6 +41,8 @@ public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper,
|
||||
this.remove(queryWrapper);
|
||||
|
||||
this.saveBatch(departmentRoles);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -42,5 +50,7 @@ public class DepartmentRoleServiceImpl extends ServiceImpl<DepartmentRoleMapper,
|
||||
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("department_id", ids);
|
||||
this.remove(queryWrapper);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
}
|
||||
}
|
@ -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.dto.MenuSearchParams;
|
||||
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.service.MenuService;
|
||||
import cn.lili.modules.permission.service.RoleMenuService;
|
||||
import cn.lili.modules.system.token.ManagerTokenGenerate;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -41,9 +44,13 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
|
||||
private RoleMenuService roleMenuService;
|
||||
|
||||
@Autowired
|
||||
private Cache<List<Menu>> cache;
|
||||
private ManagerTokenGenerate managerTokenGenerate;
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteIds(List<String> ids) {
|
||||
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("menu_id", ids);
|
||||
@ -51,6 +58,8 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
|
||||
if (roleMenuService.count(queryWrapper) > 0) {
|
||||
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);
|
||||
}
|
||||
|
||||
@ -68,12 +77,17 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
|
||||
@Override
|
||||
public List<Menu> findUserList(String 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) {
|
||||
menuList = this.baseMapper.findByUserId(userId);
|
||||
//每5分钟重新确认用户权限
|
||||
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;
|
||||
}
|
||||
|
||||
@ -84,14 +98,18 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
|
||||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean saveOrUpdateMenu(Menu menu) {
|
||||
if (CharSequenceUtil.isNotEmpty(menu.getId())) {
|
||||
|
||||
}
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
return this.saveOrUpdate(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserMenuVO> findAllMenu(String userId) {
|
||||
return this.baseMapper.getUserRoleMenu(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Menu> findByRoleIds(String roleId) {
|
||||
QueryWrapper<Menu> queryWrapper = new QueryWrapper<>();
|
||||
|
@ -2,9 +2,8 @@ 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.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.service.RoleMenuService;
|
||||
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.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -28,13 +26,6 @@ import java.util.List;
|
||||
@Service
|
||||
public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService {
|
||||
|
||||
/**
|
||||
* 菜单
|
||||
*/
|
||||
@Resource
|
||||
private MenuMapper menuMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private Cache<Object> cache;
|
||||
|
||||
@ -45,11 +36,6 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
|
||||
return this.baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserMenuVO> findAllMenu(String userId) {
|
||||
return menuMapper.getUserRoleMenu(userId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -59,7 +45,9 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
|
||||
this.deleteRoleMenu(roleId);
|
||||
//重新保存角色菜单关系
|
||||
this.saveBatch(roleMenus);
|
||||
|
||||
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
} catch (Exception e) {
|
||||
log.error("修改用户权限错误", e);
|
||||
}
|
||||
@ -70,6 +58,8 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
|
||||
//删除
|
||||
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("role_id", roleId);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
this.remove(queryWrapper);
|
||||
|
||||
}
|
||||
@ -79,6 +69,8 @@ public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> i
|
||||
//删除
|
||||
QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("role_id", roleId);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
this.remove(queryWrapper);
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,10 @@
|
||||
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.exception.ServiceException;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.modules.permission.entity.dos.Role;
|
||||
import cn.lili.modules.permission.mapper.RoleMapper;
|
||||
import cn.lili.modules.permission.service.DepartmentRoleService;
|
||||
@ -38,6 +41,8 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
||||
|
||||
@Autowired
|
||||
private RoleMenuService roleMenuService;
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
public List<Role> findByDefaultRole(Boolean defaultRole) {
|
||||
@ -61,5 +66,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
||||
this.removeByIds(roleIds);
|
||||
//删除角色与菜单关联
|
||||
roleMenuService.remove(queryWrapper);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,14 @@
|
||||
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.mapper.UserRoleMapper;
|
||||
import cn.lili.modules.permission.service.UserRoleService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -20,6 +24,9 @@ import java.util.List;
|
||||
@Service
|
||||
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
|
||||
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@Override
|
||||
public List<UserRole> listByUserId(String userId) {
|
||||
QueryWrapper<UserRole> queryWrapper = new QueryWrapper<>();
|
||||
@ -46,6 +53,8 @@ public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> i
|
||||
|
||||
//保存
|
||||
this.saveBatch(userRoles);
|
||||
cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER));
|
||||
cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@ -59,11 +58,6 @@ public class PlatformViewServiceImpl extends ServiceImpl<PlatformViewMapper, Pla
|
||||
*/
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
/**
|
||||
* 平台流量统计
|
||||
*/
|
||||
@Resource
|
||||
private PlatformViewMapper platformViewMapper;
|
||||
|
||||
@Override
|
||||
public Long online() {
|
||||
@ -250,7 +244,7 @@ public class PlatformViewServiceImpl extends ServiceImpl<PlatformViewMapper, Pla
|
||||
} else {
|
||||
queryWrapper.eq("store_id", -1);
|
||||
}
|
||||
return platformViewMapper.count(queryWrapper);
|
||||
return this.baseMapper.count(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ import cn.lili.common.security.token.TokenUtil;
|
||||
import cn.lili.common.security.token.base.AbstractTokenGenerate;
|
||||
import cn.lili.modules.permission.entity.dos.AdminUser;
|
||||
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.stereotype.Component;
|
||||
|
||||
@ -33,7 +33,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
|
||||
@Autowired
|
||||
private TokenUtil tokenUtil;
|
||||
@Autowired
|
||||
private RoleMenuService roleMenuService;
|
||||
private MenuService menuService;
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
|
||||
@ -50,7 +50,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
|
||||
.longTerm(longTerm)
|
||||
.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));
|
||||
|
||||
@ -68,7 +68,7 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate<AdminUser> {
|
||||
* @param userMenuVOList
|
||||
* @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);
|
||||
|
||||
List<String> superPermissions = new ArrayList<>();
|
||||
|
@ -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>>) cache.get(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.STORE) + authUser.getId());
|
||||
|
Loading…
x
Reference in New Issue
Block a user