package com.cdf.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cdf.common.PageInfo; import com.cdf.entity.*; import com.cdf.mapper.IShopMapper; import com.cdf.request.ShopRequest; import com.cdf.response.ShopVo; import com.cdf.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.cdf.util.JwtUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2022-05-10 */ @Service public class ShopServiceImpl extends ServiceImpl implements IShopService { @Autowired IDeptService deptService; @Autowired IShopCategoryService categoryService; @Autowired IUserService userService; @Autowired IFdkkUserService fdkkUserService; @Override public PageInfo pageList(ShopRequest param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(param.getShopName())){ wrapper.like(Shop::getShopName,param.getShopName()); } if(param.getCategoryId() !=null){ wrapper.eq(Shop::getCategoryId,param.getCategoryId()); } Integer id = JwtUtil.getId(param.getToken()); User user = userService.getById(id); if(user.getRoleId() == 1 || user.getRoleId() == 2){ FdkkUser fdkkUser = fdkkUserService.getById(user.getFdkkUserId()); param.setDeptId(fdkkUser.getDeptId()); }else { param.setDeptId(user.getDeptId()); } List deptIds = deptService.getDeptIdsSonList(param.getDeptId()); wrapper.in(Shop::getDeptId,deptIds); wrapper.orderByAsc(Shop::getSort); wrapper.orderByAsc(Shop::getShopName); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); Page pageVo = new Page<>(param.getPageNum(),param.getPageSize()); List listVo = new ArrayList<>(); for (Shop shop : page.getRecords()) { ShopVo shopVo = new ShopVo(); BeanUtils.copyProperties(shop,shopVo); Dept dept = deptService.getById(shop.getDeptId()); if(dept !=null){ shopVo.setDeptName(dept.getDeptName()); } ShopCategory category = categoryService.getById(shop.getCategoryId()); if(category !=null){ shopVo.setCategoryName(category.getCategoryName()); } listVo.add(shopVo); } pageVo.setRecords(listVo); pageVo.setTotal(page.getTotal()); return PageInfo.PageInfo(pageVo); } @Override public List getByCategory(Integer categoryId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Shop::getCategoryId,categoryId); return this.list(wrapper); } }