ClientService.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package cn.cslg.pas.service;
  2. import cn.cslg.pas.common.model.PersonnelVO;
  3. import cn.cslg.pas.common.model.vo.ClientVO;
  4. import cn.cslg.pas.common.model.vo.ProjectVO;
  5. import cn.cslg.pas.common.utils.*;
  6. import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
  7. import cn.cslg.pas.domain.Client;
  8. import cn.cslg.pas.mapper.ClientMapper;
  9. import com.alibaba.fastjson.JSON;
  10. import com.alibaba.fastjson.JSONArray;
  11. import com.alibaba.fastjson.JSONObject;
  12. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  13. import com.baomidou.mybatisplus.core.metadata.IPage;
  14. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import lombok.RequiredArgsConstructor;
  17. import org.springframework.context.annotation.Lazy;
  18. import org.springframework.stereotype.Service;
  19. import java.util.ArrayList;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. import java.util.stream.Collectors;
  24. /**
  25. * <p>
  26. * 委托方表 服务类
  27. * </p>
  28. *
  29. * @author 王岩
  30. * @since 2022-02-17
  31. */
  32. @Service
  33. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  34. public class ClientService extends ServiceImpl<ClientMapper, Client> {
  35. private final LoginUtils loginUtils;
  36. private final CacheUtils cacheUtils;
  37. private final ApiUtils apiUtils;
  38. public IPage<Client> getPageList(ClientVO params) {
  39. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  40. if (StringUtils.isNotEmpty(params.getName())) {
  41. queryWrapper.like(Client::getName, params.getName());
  42. }
  43. queryWrapper.orderByDesc(Client::getCreateTime);
  44. IPage<Client> lst = this.page(new Page<>(params.getCurrent(), params.getSize()), queryWrapper);
  45. List<Client> list = this.page(new Page<>(params.getCurrent(), params.getSize()), queryWrapper).getRecords();
  46. //获取专题库负责人对应信息
  47. Map<String, Object> map1 = new HashMap<>();
  48. try {
  49. map1.put("personnelId", list.stream().map(Client::getPersonnelId).collect(Collectors.toList()));
  50. String jsonObject1 = apiUtils.invokeApi(new JSONObject(map1), "/permission/api/system/getPersonnelById", "post", "data");
  51. JSONArray jsonArray = JSON.parseArray(jsonObject1);
  52. List<ProjectVO.Personnel> personnelList = jsonArray.toJavaList(ProjectVO.Personnel.class);
  53. for (Client client : list) {
  54. for (ProjectVO.Personnel personnel : personnelList) {
  55. if (client.getPersonnelId() != null) {
  56. if (client.getPersonnelId().equals(personnel.getId())) {
  57. client.setPersonnelName(personnel.getPersonnelName());
  58. }
  59. }
  60. }
  61. }
  62. } catch (Exception e) {
  63. e.printStackTrace();
  64. }
  65. lst.setRecords(list);
  66. return lst;
  67. }
  68. public Client getClientByName(String name) {
  69. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  70. queryWrapper.eq(Client::getName, name);
  71. return this.getOne(queryWrapper);
  72. }
  73. public List<Map<String,Object>> getClientName(List<Integer> ids) {
  74. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  75. queryWrapper.in(Client::getId, ids);
  76. List<Client> clients =this.list(queryWrapper);
  77. List<Map<String,Object>> mapList =new ArrayList<>();
  78. clients.forEach(item->{
  79. Map<String,Object> map =new HashMap<>();
  80. map.put("clientId",item.getId());
  81. map.put("clientName",item.getName());
  82. mapList.add(map);
  83. });
  84. return mapList;
  85. }
  86. public List<Client> getClientByTenant(Integer tenantId) {
  87. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  88. queryWrapper.eq(Client::getTenantId, tenantId);
  89. return this.list(queryWrapper);
  90. }
  91. public String add(Client client) {
  92. client.setCreateBy(loginUtils.getId());
  93. client.setCreateTime(DateUtils.getDateTime());
  94. client.setStatus(1);
  95. client.insert();
  96. return Response.success(client.getId());
  97. }
  98. public String edit(Client client) {
  99. client.updateById();
  100. return Response.success();
  101. }
  102. public String delete(Integer id) {
  103. this.removeById(id);
  104. return Response.success(true);
  105. }
  106. public List<Client> getClientByObjectIds(List<Object> ids) {
  107. if (ids == null || ids.size() == 0) {
  108. return new ArrayList<>();
  109. }
  110. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  111. queryWrapper.in(Client::getId, ids);
  112. return this.list(queryWrapper);
  113. }
  114. public String add2(Client client) {
  115. Client temp = this.getClientByName(client.getName());
  116. if (temp != null) {
  117. return Response.error("客户名称已存在");
  118. }
  119. PersonnelVO personnelVO = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
  120. client.setCreateBy(personnelVO.getId());
  121. client.setCreateTime(DateUtils.getDateTime());
  122. client.setStatus(1);
  123. client.insert();
  124. return Response.success(client.getId());
  125. }
  126. public String edit2(Client client) {
  127. Client temp = this.getClientByName(client.getName());
  128. if (temp != null && !temp.getId().equals(client.getId())) {
  129. return Response.error("客户名称已存在");
  130. }
  131. client.updateById();
  132. return Response.success();
  133. }
  134. public String delete2(Integer id) {
  135. this.removeById(id);
  136. return Response.success();
  137. }
  138. /**
  139. * @author 沈永艺
  140. * @description 获取所有的客户列表
  141. */
  142. public String getAllClient() {
  143. return Response.success(this.list());
  144. }
  145. }