123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- package cn.cslg.permission.service;
- import cn.cslg.permission.common.model.dto.ClientDTO;
- import cn.cslg.permission.common.model.vo.PersonnelVO;
- import cn.cslg.permission.common.utils.*;
- import cn.cslg.permission.domain.Client;
- import cn.cslg.permission.domain.Personnel;
- import cn.cslg.permission.mapper.ClientMapper;
- import cn.cslg.permission.service.associate.AssoTenantClientService;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import lombok.RequiredArgsConstructor;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 委托方表 服务类
- * </p>
- *
- * @author 王岩
- * @since 2022-02-17
- */
- @Service
- @RequiredArgsConstructor(onConstructor_ = {@Lazy})
- public class ClientService extends ServiceImpl<ClientMapper, Client> {
- private final LoginUtils loginUtils;
- private final PersonnelService personnelService;
- private final AssoTenantClientService assoTenantClientService;
- private final CacheUtils cacheUtils;
- /**
- * @author lrj
- * @param params
- * @description 分页获得客户列表
- * @return
- */
- public IPage<Client> getPageList(ClientDTO params) {
- if(params.getTenantId()== null){
- PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
- params.setTenantId(personnel.getTenantId());
- }
- IPage<Client> lst = this.baseMapper.getClientPageList( new Page<>(params.getCurrent(), params.getSize()),params);
- List<Client> list =lst.getRecords();
- this.loadClient(list);
- lst.setRecords(list);
- return lst;
- }
- public List<Client> getNoTenantClients() {
- List<Client> lst = this.baseMapper.getNoTenantClients();
- this.loadClient(lst);
- return lst;
- }
- public List<Client> queryList(Integer tenantId) {
- if(tenantId== null){
- PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
- tenantId= personnel.getTenantId();
- }
- List<Client> lst = this.baseMapper.queryList(tenantId);
- return lst;
- }
- public Client getClientByName(String name) {
- LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(Client::getName, name);
- return this.getOne(queryWrapper);
- }
- /**
- * @autor lrj
- * @param client
- * @return
- * @descrption 添加客户
- */
- @Transactional(rollbackFor = Exception.class)
- public String add(Client client) {
- client.setCreateUser(loginUtils.getId());
- client.setStatus(1);
- client.insert();
- PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
- Integer tenantId= personnel.getTenantId();
- assoTenantClientService.addTenantClient(client.getId(),tenantId);
- return Response.success(client.getId());
- }
- /**
- * @autor lrj
- * @param id
- * @return
- * @description 删除客户
- */
- @Transactional(rollbackFor = Exception.class)
- public String delete(Integer id) {
- //删除客户的关联信息
- assoTenantClientService.deleteApplicationTenant(id,null);
- this.removeById(id);
- return Response.success(true);
- }
- /**
- * @autor lrj
- * @param client
- * @return
- * @description 修改客户
- */
- public String edit(Client client) {
- Client temp = this.getClientByName(client.getName());
- if (temp != null && !temp.getId().equals(client.getId())) {
- return Response.error("客户名称已存在");
- }
- client.updateById();
- return Response.success();
- }
- /**
- * @author 李仁杰
- * @description 装载客户
- */
- public void loadClient(List<Client> clients) {
- List<Integer> personIds = clients.stream().map(Client::getCreateUser).collect(Collectors.toList());
- if (personIds.size() != 0) {
- LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(Personnel::getId, personIds);
- List<Personnel> personnels = personnelService.list(queryWrapper);
- for (Client client : clients) {
- for (Personnel personnel : personnels) {
- if (client.getCreateUser() != null) {
- if (client.getCreateUser().equals(personnel.getId())) {
- client.setPersonnelName(personnel.getPersonnelName());
- }
- }
- }
- }
- }
- }
- }
|