SysAgencyLeaderServiceImpl.java 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. package com.ydtech.modules.admin.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.ydtech.aop.exception.DescribeException;
  9. import com.ydtech.modules.admin.dao.*;
  10. import com.ydtech.modules.admin.model.*;
  11. import com.ydtech.modules.admin.model.dto.SysAgencyLeaderDto;
  12. import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
  13. import com.ydtech.modules.admin.model.dto.TeamInformationDto;
  14. import com.ydtech.modules.admin.model.dto.TeamUserInfoDto;
  15. import com.ydtech.modules.admin.model.vo.*;
  16. import com.ydtech.modules.admin.service.SysAgencyLeaderService;
  17. import com.ydtech.modules.admin.service.SysPartnerService;
  18. import com.ydtech.modules.base.controller.BaseController;
  19. import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
  20. import com.ydtech.modules.order.dao.InsOrdersMapper;
  21. import com.ydtech.modules.order.entity.BasePageResult;
  22. import com.ydtech.modules.order.entity.InsAreaCompany;
  23. import com.ydtech.modules.order.entity.InsOrders;
  24. import com.ydtech.utils.StringUtils;
  25. import lombok.extern.slf4j.Slf4j;
  26. import org.springframework.stereotype.Service;
  27. import org.springframework.transaction.annotation.Transactional;
  28. import javax.annotation.Resource;
  29. import java.math.BigDecimal;
  30. import java.util.ArrayList;
  31. import java.util.Arrays;
  32. import java.util.Date;
  33. import java.util.List;
  34. import java.util.stream.Collectors;
  35. @Slf4j
  36. @Service("sysAgencyLeaderService")
  37. public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMapper, SysAgencyLeader> implements SysAgencyLeaderService {
  38. @Resource
  39. private SysAgencyLeaderMapper sysAgencyLeaderMapper;
  40. @Resource
  41. private SysDeptMapper sysDeptMapper;
  42. @Resource
  43. private SysUserMapper sysUserMapper;
  44. @Resource
  45. private InsOrdersMapper insOrdersMapper;
  46. @Resource
  47. private InsAreaCompanyMapper insAreaCompanyMapper;
  48. @Resource
  49. private SysAgencyFeeApprovalMapper sysAgencyFeeApprovalMapper;
  50. @Resource
  51. private SysRelationPersonMapper sysRelationPersonMapper;
  52. @Resource
  53. private SysPartnerService sysPartnerService;
  54. @Resource
  55. private SysPartnerMapper sysPartnerMapper;
  56. @Override
  57. @Transactional(rollbackFor = Exception.class)
  58. public boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto) {
  59. //校验一个用户只能是一个机构的负责人,每个机构只有一个负责人
  60. List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
  61. if (sysAgencyLeaders.size() > 0) {
  62. //校验用户是否已经机构负责人
  63. List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
  64. if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
  65. throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是机构负责人,不可重复配置");
  66. }
  67. List<String> deptIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getDeptId).collect(Collectors.toList());
  68. if (deptIdList.contains(sysAgencyLeaderDto.getDeptId())) {
  69. throw new DescribeException(sysAgencyLeaderDto.getDeptName() + "机构已配置负责人,不可重复配置");
  70. }
  71. }
  72. List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
  73. if (sysPartners.size() > 0) {
  74. List<String> userIdList = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
  75. if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
  76. throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是合伙人,不可设置为机构负责人");
  77. }
  78. }
  79. SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
  80. String[] source = sysAgencyLeaderDto.getSource();
  81. StringBuilder stringBuilder = new StringBuilder();
  82. if (source != null) {
  83. int size = source.length;
  84. if (size == 3) {
  85. stringBuilder.append(source[0]).append(",").append(source[1]).append(",").append(source[2]);
  86. } else if (size == 2) {
  87. stringBuilder.append(source[0]).append(",").append(source[1]);
  88. } else {
  89. stringBuilder.append(source[0]);
  90. }
  91. }
  92. sysAgencyLeader.setSource(stringBuilder.toString());
  93. sysAgencyLeader.setCreateTime(new Date());
  94. SysUser user = BaseController.getUser();
  95. sysAgencyLeader.setCreateBy(user.getId());
  96. sysAgencyLeaderMapper.insert(sysAgencyLeader);
  97. //sysRelationPerson1为空是无上级
  98. SysRelationPerson sysRelationPerson = new SysRelationPerson();
  99. sysRelationPerson.setAgencyLeaderId(sysAgencyLeader.getUserId());
  100. sysRelationPerson.setCreateBy(user.getId());
  101. sysRelationPerson.setCreateTime(new Date());
  102. sysRelationPerson.setSuggestId(sysAgencyLeaderDto.getSuggestId());
  103. sysRelationPerson.setSource(0);
  104. sysRelationPerson.setType(1);
  105. boolean b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
  106. //查询推荐人是否有上级 :满足合伙人有多层关系
  107. List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
  108. .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeaderDto.getSuggestId())
  109. .eq(SysRelationPerson::getType, 0));
  110. if (sysRelationPersonList.size() > 0) {
  111. for (SysRelationPerson sysRelation : sysRelationPersonList) {
  112. SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
  113. sysRelationPerson1.setAgencyLeaderId(sysAgencyLeader.getUserId());
  114. sysRelationPerson1.setCreateBy(user.getId());
  115. sysRelationPerson1.setCreateTime(new Date());
  116. sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
  117. sysRelationPerson1.setSource(1);
  118. sysRelationPerson1.setType(1);
  119. sysRelationPersonMapper.insert(sysRelationPerson1);
  120. }
  121. }
  122. return b;
  123. }
  124. @Override
  125. public List<SysDept> getDeptInfo() {
  126. return sysDeptMapper.selectList(new QueryWrapper<SysDept>().lambda().eq(SysDept::getDelFlag, 0).isNotNull(SysDept::getComlevel));
  127. }
  128. @Override
  129. public List<SysUser> getUserInfo() {
  130. List<SysUser> sysUsers = sysUserMapper.selectList(new QueryWrapper<SysUser>().lambda().eq(SysUser::getStatus, 1));
  131. String id = BaseController.getUser().getId();
  132. List<SysUser> sysUserList = null;
  133. if (sysUsers.size() > 0) {
  134. sysUserList = sysUsers.stream().filter(SysUser -> !SysUser.getId().equals(id)).collect(Collectors.toList());
  135. }
  136. return sysUserList;
  137. }
  138. @Override
  139. @Transactional(rollbackFor = Exception.class)
  140. public boolean edit(SysAgencyLeaderDto sysAgencyLeaderDto) {
  141. //不修改负责人userId传null
  142. String userId = sysAgencyLeaderDto.getUserId();
  143. SysAgencyLeader sysAgencyLeader1 = sysAgencyLeaderMapper.selectById(sysAgencyLeaderDto.getId());
  144. if (StringUtils.isNotEmpty(userId) && !sysAgencyLeader1.getUserId().equals(userId)) {
  145. List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
  146. List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
  147. if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
  148. throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是机构负责人,不可重复配置");
  149. }
  150. //修改负责人时解除合伙人或者推荐人与机构负责人的关系
  151. List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
  152. .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
  153. .eq(SysRelationPerson::getDelFlag, 1)
  154. .eq(SysRelationPerson::getType, 1));
  155. if (sysRelationPeople.size() > 0) {
  156. throw new DescribeException(sysAgencyLeaderDto.getUserName() + "有推荐关系,不允许修改");
  157. }
  158. }
  159. SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
  160. String[] source = sysAgencyLeaderDto.getSource();
  161. StringBuilder stringBuilder = new StringBuilder();
  162. if (source != null) {
  163. int size = source.length;
  164. if (size == 3) {
  165. stringBuilder.append(source[0]).append(",").append(source[1]).append(",").append(source[2]);
  166. } else if (size == 2) {
  167. stringBuilder.append(source[0]).append(",").append(source[1]);
  168. } else {
  169. stringBuilder.append(source[0]);
  170. }
  171. }
  172. sysAgencyLeader.setSource(stringBuilder.toString());
  173. sysAgencyLeader.setUpdateTime(new Date());
  174. SysUser user = BaseController.getUser();
  175. sysAgencyLeader.setUpdateBy(user.getId());
  176. return sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
  177. }
  178. @Override
  179. @Transactional(rollbackFor = Exception.class)
  180. public boolean delById(Integer id) {
  181. SysAgencyLeader sysAgencyLeader1 = sysAgencyLeaderMapper.selectById(id);
  182. List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new UpdateWrapper<SysRelationPerson>().lambda()
  183. .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
  184. .eq(SysRelationPerson::getDelFlag, 1)
  185. .eq(SysRelationPerson::getType, 1));
  186. if (sysRelationPeople.size() > 0) {
  187. throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐人,不允许删除");
  188. }
  189. SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
  190. sysAgencyLeader.setId(id);
  191. sysAgencyLeader.setDelFlag(0);
  192. return sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
  193. }
  194. @Override
  195. public List<SysAgencyLeaderVo> queryInfo() {
  196. List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
  197. List<SysAgencyLeaderVo> sysAgencyLeaderVos = BeanUtil.copyToList(sysAgencyLeaders, SysAgencyLeaderVo.class);
  198. if (sysAgencyLeaders.size() > 0) {
  199. for (SysAgencyLeader record : sysAgencyLeaders) {
  200. for (SysAgencyLeaderVo sysAgencyLeaderVo : sysAgencyLeaderVos) {
  201. if (record.getId().equals(sysAgencyLeaderVo.getId()) ) {
  202. String source = record.getSource();
  203. if (!StringUtils.isNullOrEmpty(source)) {
  204. String[] split = source.split(",");
  205. sysAgencyLeaderVo.setSource(split);
  206. }
  207. }
  208. }
  209. }
  210. }
  211. return sysAgencyLeaderVos;
  212. }
  213. @Override
  214. public BasePageResult<SysAgencyLeaderVo> queryPage(SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
  215. Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
  216. LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
  217. wrapper.eq(SysAgencyLeader::getDelFlag, 1);
  218. wrapper.eq(!StringUtils.isNullOrEmpty(sysAgencyLeaderPageDto.getDeptId()), SysAgencyLeader::getDeptId, sysAgencyLeaderPageDto.getDeptId());
  219. wrapper.eq(!StringUtils.isNullOrEmpty(sysAgencyLeaderPageDto.getUserId()), SysAgencyLeader::getUserId, sysAgencyLeaderPageDto.getUserId());
  220. wrapper.eq(!StringUtils.isNullOrEmpty(sysAgencyLeaderPageDto.getSuggestId()), SysAgencyLeader::getSuggestId, sysAgencyLeaderPageDto.getSuggestId());
  221. wrapper.orderByAsc(SysAgencyLeader::getId);
  222. Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
  223. List<SysAgencyLeader> records = insOrdersPage.getRecords();
  224. List<SysAgencyLeaderVo> sysAgencyLeaderVos = BeanUtil.copyToList(records, SysAgencyLeaderVo.class);
  225. if (records.size() > 0) {
  226. for (SysAgencyLeader record : records) {
  227. for (SysAgencyLeaderVo sysAgencyLeaderVo : sysAgencyLeaderVos) {
  228. if (record.getId().equals(sysAgencyLeaderVo.getId()) ) {
  229. String source = record.getSource();
  230. if (!StringUtils.isNullOrEmpty(source)) {
  231. String[] split = source.split(",");
  232. sysAgencyLeaderVo.setSource(split);
  233. }
  234. }
  235. }
  236. }
  237. }
  238. return new BasePageResult<>(sysAgencyLeaderPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
  239. sysAgencyLeaderVos);
  240. }
  241. @Override
  242. public SysAgencyLeaderVo queryById(Integer id) {
  243. SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
  244. sysAgencyLeader.setId(id);
  245. SysAgencyLeader sysAgencyLeader1 = sysAgencyLeaderMapper.selectById(sysAgencyLeader);
  246. SysAgencyLeaderVo sysAgencyLeaderVo = BeanUtil.copyProperties(sysAgencyLeader1, SysAgencyLeaderVo.class);
  247. String source = sysAgencyLeader1.getSource();
  248. if (!StringUtils.isNullOrEmpty(source)) {
  249. String[] split = source.split(",");
  250. sysAgencyLeaderVo.setSource(split);
  251. }
  252. return sysAgencyLeaderVo;
  253. }
  254. @Override
  255. public boolean checkUserId(String userId) {
  256. List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
  257. if (sysAgencyLeaders.size() > 0) {
  258. //校验用户是否已经配置机构负责人
  259. List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
  260. return userIdList.contains(userId);
  261. }
  262. return false;
  263. }
  264. @Override
  265. public AgencyExtractFee queryExtractFee(String userId) {
  266. AgencyExtractFee agencyExtractFee = new AgencyExtractFee();
  267. //判断当前登录用户是合伙人还是机构负责人
  268. boolean b1 = sysPartnerService.checkPartner(userId);
  269. if (b1) {
  270. //总保费
  271. BigDecimal bigDecimal = new BigDecimal("0.00");
  272. //已提现抽成费用
  273. BigDecimal historyFee = new BigDecimal("0.00");
  274. //合伙人信息
  275. SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
  276. .eq(SysPartner::getUserId, userId));
  277. //填充查询人的姓名和机构
  278. agencyExtractFee.setUserId(sysPartner.getUserId());
  279. agencyExtractFee.setUserName(sysPartner.getUserName());
  280. SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>()
  281. .eq(SysUser::getId, sysPartner.getUserId())
  282. .eq(SysUser::getStatus, 1));
  283. agencyExtractFee.setDeptId(sysUser.getDeptId());
  284. SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
  285. .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
  286. agencyExtractFee.setDeptName(sysDept.getName());
  287. //查询所有推荐的机构负责人核算总保费
  288. List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
  289. .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 1));
  290. if (sysRelationPeople.size() > 0) {
  291. List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
  292. for (String agencyLeaderId : agencyLeaderIds) {
  293. SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getUserId, agencyLeaderId)
  294. .eq(SysAgencyLeader::getDelFlag, 1));
  295. if (sysAgencyLeaders != null) {
  296. agencyExtractFee.setProportional(sysPartner.getProportional());
  297. List<InsOrders> insOrderList;
  298. //筛选订单,选择时间
  299. Date updateTime = sysAgencyLeaders.getUpdateTime();
  300. if (updateTime == null) {
  301. //机构下所有订单
  302. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  303. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  304. .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
  305. agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
  306. } else {
  307. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  308. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  309. .ge(InsOrders::getCreatetime, updateTime));
  310. agencyExtractFee.setStartTime(updateTime);
  311. }
  312. if (insOrderList.size() > 0) {
  313. for (InsOrders insOrders : insOrderList) {
  314. //查询订单下的所有子订单
  315. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  316. .eq(InsAreaCompany::getOrderstatus, 3));
  317. if (insAreaCompanies.size() > 0) {
  318. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  319. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  320. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  321. }
  322. }
  323. }
  324. }
  325. }
  326. }
  327. agencyExtractFee.setSumpremium(bigDecimal);
  328. BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
  329. agencyExtractFee.setExtractFee(multiply);
  330. // 填充 已提现抽成费用和可提现抽成费用
  331. List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
  332. .eq(SysAgencyFeeApproval::getUserId, userId)
  333. .eq(SysAgencyFeeApproval::getStatus, 1));
  334. if (sysAgencyFeeApprovals.size() > 0) {
  335. for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
  336. historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
  337. }
  338. }
  339. if (!bigDecimal.equals(new BigDecimal("0.00"))) {
  340. //已提现
  341. agencyExtractFee.setHistoryFee(historyFee);
  342. //可提现 = 总抽成-已提现
  343. agencyExtractFee.setCashFee(multiply.subtract(historyFee));
  344. }else {
  345. agencyExtractFee.setHistoryFee(new BigDecimal("0.00"));
  346. agencyExtractFee.setCashFee(multiply.subtract(new BigDecimal("0.00")));
  347. }
  348. }
  349. return agencyExtractFee;
  350. }
  351. //校验是否为机构负责人
  352. boolean b = this.checkUserId(userId);
  353. if (b) {
  354. SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getUserId, userId).eq(SysAgencyLeader::getDelFlag, 1));
  355. if (sysAgencyLeaders != null) {
  356. //填充查询人的姓名和机构
  357. agencyExtractFee.setUserId(sysAgencyLeaders.getUserId());
  358. agencyExtractFee.setUserName(sysAgencyLeaders.getUserName());
  359. SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>()
  360. .eq(SysUser::getId, sysAgencyLeaders.getUserId())
  361. .eq(SysUser::getStatus, 1));
  362. agencyExtractFee.setDeptId(sysUser.getDeptId());
  363. SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
  364. .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
  365. agencyExtractFee.setDeptName(sysDept.getName());
  366. //总保费
  367. BigDecimal bigDecimal = new BigDecimal("0.00");
  368. //已提现抽成费用
  369. BigDecimal historyFee = new BigDecimal("0.00");
  370. agencyExtractFee.setProportional(sysAgencyLeaders.getProportional());
  371. List<InsOrders> insOrderList;
  372. //筛选订单,选择时间
  373. Date updateTime = sysAgencyLeaders.getUpdateTime();
  374. if (updateTime == null) {
  375. //机构下所有订单
  376. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  377. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  378. .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
  379. agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
  380. } else {
  381. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  382. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  383. .ge(InsOrders::getCreatetime, updateTime));
  384. agencyExtractFee.setStartTime(updateTime);
  385. }
  386. if (insOrderList.size() > 0) {
  387. for (InsOrders insOrders : insOrderList) {
  388. //查询订单下的所有子订单
  389. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  390. .eq(InsAreaCompany::getOrderstatus, 3));
  391. if (insAreaCompanies.size() > 0) {
  392. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  393. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  394. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  395. }
  396. }
  397. }
  398. }
  399. agencyExtractFee.setSumpremium(bigDecimal);
  400. BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
  401. agencyExtractFee.setExtractFee(multiply);
  402. // 填充 已提现抽成费用和可提现抽成费用
  403. List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
  404. .eq(SysAgencyFeeApproval::getUserId, userId)
  405. .eq(SysAgencyFeeApproval::getStatus, 1));
  406. if (sysAgencyFeeApprovals.size() > 0) {
  407. for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
  408. historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
  409. }
  410. }
  411. if (!bigDecimal.equals(new BigDecimal("0.00"))) {
  412. //已提现
  413. agencyExtractFee.setHistoryFee(historyFee);
  414. //可提现 = 总抽成-已提现
  415. agencyExtractFee.setCashFee(multiply.subtract(historyFee));
  416. }else {
  417. agencyExtractFee.setHistoryFee(new BigDecimal("0.00"));
  418. agencyExtractFee.setCashFee(multiply.subtract(new BigDecimal("0.00")));
  419. }
  420. }
  421. return agencyExtractFee;
  422. }
  423. return agencyExtractFee;
  424. }
  425. @Override
  426. public BasePageResult<AgencyExtractFeeVo> queryExtractFeeAll(SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
  427. List<AgencyExtractFeeVo> agencyExtractFeeList = new ArrayList<>();
  428. Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
  429. LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
  430. wrapper.eq(SysAgencyLeader::getDelFlag, 1);
  431. Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
  432. List<SysAgencyLeader> records = insOrdersPage.getRecords();
  433. if (records.size() > 0) {
  434. for (SysAgencyLeader sysAgencyLeaders : records) {
  435. AgencyExtractFeeVo agencyExtractFee = new AgencyExtractFeeVo();
  436. //总保费
  437. BigDecimal bigDecimal = new BigDecimal("0.00");
  438. //已提现抽成费用
  439. BigDecimal historyFee = new BigDecimal("0.00");
  440. agencyExtractFee.setUserId(sysAgencyLeaders.getUserId());
  441. agencyExtractFee.setUserName(sysAgencyLeaders.getUserName());
  442. agencyExtractFee.setDeptId(sysAgencyLeaders.getDeptId());
  443. agencyExtractFee.setDeptName(sysAgencyLeaders.getDeptName());
  444. agencyExtractFee.setProportional(sysAgencyLeaders.getProportional());
  445. List<InsOrders> insOrderList;
  446. //筛选订单,选择时间
  447. Date updateTime = sysAgencyLeaders.getUpdateTime();
  448. if (updateTime == null) {
  449. //机构下所有订单
  450. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  451. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  452. .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
  453. agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
  454. } else {
  455. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  456. .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
  457. .ge(InsOrders::getCreatetime, updateTime));
  458. agencyExtractFee.setStartTime(updateTime);
  459. }
  460. if (insOrderList.size() > 0) {
  461. for (InsOrders insOrders : insOrderList) {
  462. //查询订单下的所有子订单
  463. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  464. .eq(InsAreaCompany::getOrderstatus, 3));
  465. if (insAreaCompanies.size() > 0) {
  466. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  467. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  468. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  469. }
  470. }
  471. }
  472. }
  473. agencyExtractFee.setSumpremium(bigDecimal);
  474. BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
  475. agencyExtractFee.setExtractFee(multiply);
  476. // 填充 已提现抽成费用和可提现抽成费用
  477. List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
  478. .eq(SysAgencyFeeApproval::getUserId, sysAgencyLeaders.getUserId())
  479. .eq(SysAgencyFeeApproval::getStatus, 1));
  480. if (sysAgencyFeeApprovals.size() > 0) {
  481. for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
  482. historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
  483. }
  484. }
  485. if (!bigDecimal.equals(new BigDecimal("0.00"))) {
  486. //已提现
  487. agencyExtractFee.setHistoryFee(historyFee);
  488. //可提现 = 总抽成-已提现
  489. agencyExtractFee.setCashFee(multiply.subtract(historyFee));
  490. }else {
  491. agencyExtractFee.setHistoryFee(new BigDecimal("0.00"));
  492. agencyExtractFee.setCashFee(multiply.subtract(new BigDecimal("0.00")));
  493. }
  494. agencyExtractFeeList.add(agencyExtractFee);
  495. }
  496. }
  497. return new BasePageResult<>(sysAgencyLeaderPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
  498. agencyExtractFeeList);
  499. }
  500. @Override
  501. public List<TeamInformation> queryTeamInfo(TeamInformationDto teamInformationDto) {
  502. String userId = BaseController.getUser().getId();
  503. List<TeamInformation> informationList = new ArrayList<>();
  504. //合伙人
  505. boolean c = sysPartnerService.checkPartner(userId);
  506. if (c) {
  507. extracted(userId, informationList,teamInformationDto);
  508. return informationList;
  509. }
  510. //校验当前用户是否为机构负责人
  511. boolean b = this.checkUserId(userId);
  512. if (b) {
  513. //机构负责人查询机构下的团队
  514. SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getUserId, userId)
  515. .eq(SysAgencyLeader::getDelFlag, 1));
  516. String[] split = sysAgencyLeaders.getSource().split(",");
  517. //根据当前机构id查询出下面的团队,条件:机构来源相同,机构等级为null的团队
  518. List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().likeRight(SysDept::getId, sysAgencyLeaders.getDeptId())
  519. .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0).in(SysDept::getManagementSource, split)
  520. .like(StringUtils.isNotEmpty(teamInformationDto.getDeptName()),SysDept::getName,teamInformationDto.getDeptName()));
  521. if (sysDeptList.size() > 0) {
  522. //总保费
  523. BigDecimal bigDecimal = new BigDecimal("0.00");
  524. for (SysDept sysDept : sysDeptList) {
  525. TeamInformation teamInformation = new TeamInformation();
  526. teamInformation.setDeptId(sysDept.getId());
  527. teamInformation.setDeptName(sysDept.getName());
  528. List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>().likeRight(SysUser::getId, sysDept.getId()).eq(SysUser::getStatus, 1));
  529. teamInformation.setDeptManNum(sysUsers.size());
  530. List<InsOrders> insOrderList;
  531. //筛选订单,选择时间
  532. Date updateTime = sysAgencyLeaders.getUpdateTime();
  533. if (updateTime == null) {
  534. //机构下所有订单
  535. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  536. .likeRight(InsOrders::getDeptid, sysDept.getId())
  537. .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime())
  538. .ge(StringUtils.isNotEmpty(teamInformationDto.getBeginTime()),InsOrders::getCreatetime,teamInformationDto.getBeginTime())
  539. .le(StringUtils.isNotEmpty(teamInformationDto.getEndTime()),InsOrders::getCreatetime,teamInformationDto.getEndTime()));
  540. teamInformation.setStartTime(sysAgencyLeaders.getCreateTime());
  541. } else {
  542. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  543. .likeRight(InsOrders::getDeptid, sysDept.getId())
  544. .ge(InsOrders::getCreatetime, updateTime)
  545. .ge(StringUtils.isNotEmpty(teamInformationDto.getBeginTime()),InsOrders::getCreatetime,teamInformationDto.getBeginTime())
  546. .le(StringUtils.isNotEmpty(teamInformationDto.getEndTime()),InsOrders::getCreatetime,teamInformationDto.getEndTime()));
  547. teamInformation.setStartTime(updateTime);
  548. }
  549. if (insOrderList.size() > 0) {
  550. for (InsOrders insOrders : insOrderList) {
  551. //查询订单下的所有子订单
  552. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  553. .eq(InsAreaCompany::getOrderstatus, 3));
  554. if (insAreaCompanies.size() > 0) {
  555. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  556. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  557. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  558. }
  559. }
  560. }
  561. }
  562. teamInformation.setSumpremium(bigDecimal);
  563. int num = 0;
  564. // 查团队有几人出单 :订单表中userid相等同时在 子订单表中状态为3已承保才为出单
  565. List<String> userIdList = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
  566. for (String s : userIdList) {
  567. List<InsOrders> collect = insOrderList.stream().filter(InsOrders -> InsOrders.getUserid().equals(s)).collect(Collectors.toList());
  568. if (collect.size() > 0) {
  569. InsOrders insOrders = collect.get(0);
  570. List<InsAreaCompany> insAreaCompanies1 = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  571. .eq(InsAreaCompany::getOrderstatus, 3));
  572. if (insAreaCompanies1.size() > 0) {
  573. num++;
  574. }
  575. }
  576. }
  577. teamInformation.setOrderManNum(num);
  578. informationList.add(teamInformation);
  579. }
  580. }
  581. return informationList;
  582. }
  583. return informationList;
  584. }
  585. private void extracted(String userId, List<TeamInformation> informationList,TeamInformationDto teamInformationDto) {
  586. //查询所有推荐的机构负责人核算总保费
  587. List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
  588. .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 1));
  589. if (sysRelationPeople.size() > 0) {
  590. //总保费
  591. BigDecimal bigDecimal = new BigDecimal("0.00");
  592. //获取所有推荐的机构负责人id
  593. List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
  594. for (String agencyLeaderId : agencyLeaderIds) {
  595. //获取机构负责人信息
  596. SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>()
  597. .eq(SysAgencyLeader::getUserId, agencyLeaderId)
  598. .eq(SysAgencyLeader::getDelFlag, 1));
  599. String[] split = sysAgencyLeaders.getSource().split(",");
  600. //根据当前机构id查询出下面的团队,条件:机构来源相同,机构等级为null的团队
  601. List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
  602. .likeRight(SysDept::getId, sysAgencyLeaders.getDeptId())
  603. .isNull(SysDept::getComlevel)
  604. .eq(SysDept::getDelFlag, 0)
  605. .in(SysDept::getManagementSource, split)
  606. .like(StringUtils.isNotEmpty(teamInformationDto.getDeptName()),SysDept::getName,teamInformationDto.getDeptName()));
  607. if (sysDeptList.size() > 0) {
  608. for (SysDept sysDept : sysDeptList) {
  609. TeamInformation teamInformation = new TeamInformation();
  610. teamInformation.setDeptId(sysDept.getId());
  611. teamInformation.setDeptName(sysDept.getName());
  612. List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
  613. .likeRight(SysUser::getId, sysDept.getId())
  614. .eq(SysUser::getStatus, 1));
  615. teamInformation.setDeptManNum(sysUsers.size());
  616. List<InsOrders> insOrderList;
  617. //筛选订单,选择时间
  618. Date updateTime = sysAgencyLeaders.getUpdateTime();
  619. if (updateTime == null) {
  620. //机构下所有订单
  621. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  622. .likeRight(InsOrders::getDeptid, sysDept.getId())
  623. .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime())
  624. .ge(StringUtils.isNotEmpty(teamInformationDto.getBeginTime()),InsOrders::getCreatetime,teamInformationDto.getBeginTime())
  625. .le(StringUtils.isNotEmpty(teamInformationDto.getEndTime()),InsOrders::getCreatetime,teamInformationDto.getEndTime()));
  626. teamInformation.setStartTime(sysAgencyLeaders.getCreateTime());
  627. } else {
  628. insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  629. .likeRight(InsOrders::getDeptid, sysDept.getId())
  630. .ge(InsOrders::getCreatetime, updateTime)
  631. .ge(StringUtils.isNotEmpty(teamInformationDto.getBeginTime()),InsOrders::getCreatetime,teamInformationDto.getBeginTime())
  632. .le(StringUtils.isNotEmpty(teamInformationDto.getEndTime()),InsOrders::getCreatetime,teamInformationDto.getEndTime()));
  633. teamInformation.setStartTime(updateTime);
  634. }
  635. if (insOrderList.size() > 0) {
  636. for (InsOrders insOrders : insOrderList) {
  637. //查询订单下的所有子订单
  638. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
  639. .eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  640. .eq(InsAreaCompany::getOrderstatus, 3));
  641. if (insAreaCompanies.size() > 0) {
  642. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  643. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  644. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  645. }
  646. }
  647. }
  648. }
  649. teamInformation.setSumpremium(bigDecimal);
  650. int num = 0;
  651. // 查团队有几人出单 :子订单中userid相等同时在 子订单表中状态为3已承保才为出单
  652. List<String> userIdList = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
  653. for (String s : userIdList) {
  654. List<InsOrders> collect = insOrderList.stream().filter(InsOrders -> InsOrders.getUserid().equals(s)).collect(Collectors.toList());
  655. if (collect.size() > 0) {
  656. InsOrders insOrders = collect.get(0);
  657. List<InsAreaCompany> insAreaCompanies1 = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
  658. .eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
  659. .eq(InsAreaCompany::getOrderstatus, 3));
  660. if (insAreaCompanies1.size() > 0) {
  661. num++;
  662. }
  663. }
  664. }
  665. teamInformation.setOrderManNum(num);
  666. informationList.add(teamInformation);
  667. }
  668. }
  669. }
  670. }
  671. }
  672. @Override
  673. public List<TeamUserInfoVo> queryTeamUser(TeamUserInfoDto teamUserInfoDto) {
  674. List<TeamUserInfoVo> teamUserInfoVoList = new ArrayList<>();
  675. //团队下的人员 报价笔数 核保笔数 出单笔数 签单保费
  676. List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
  677. .likeRight(SysUser::getId, teamUserInfoDto.getDeptId())
  678. .eq(SysUser::getStatus, 1));
  679. //总保费
  680. for (SysUser sysUser : sysUsers) {
  681. List<InsOrders> insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
  682. .ge(InsOrders::getCreatetime, teamUserInfoDto.getStartTime())
  683. .ge(StringUtils.isNotEmpty(teamUserInfoDto.getBeginTime()),InsOrders::getCreatetime,teamUserInfoDto.getBeginTime())
  684. .le(StringUtils.isNotEmpty(teamUserInfoDto.getEndTime()),InsOrders::getCreatetime,teamUserInfoDto.getEndTime())
  685. .eq(InsOrders::getUserid, sysUser.getId()));
  686. //总保费
  687. BigDecimal bigDecimal = new BigDecimal("0.00");
  688. TeamUserInfoVo teamUserInfoVo = new TeamUserInfoVo();
  689. teamUserInfoVo.setUserId(sysUser.getId());
  690. teamUserInfoVo.setUserName(sysUser.getName());
  691. if (insOrderList.size() > 0) {
  692. List<String> orderNoList = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
  693. //单个人员查询订单下的所有子订单总保费 '订单状态(0 报价 1 待核保 2 已核保待缴费 3 核保退回 4 核保不通过)',
  694. List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
  695. .in(InsAreaCompany::getOrderno, orderNoList)
  696. .eq(InsAreaCompany::getOrderstatus, 3));
  697. if (insAreaCompanies.size() > 0) {
  698. //
  699. for (InsAreaCompany insAreaCompany : insAreaCompanies) {
  700. //累加每一个子订单的交强险费用+商业险费用+驾意险费用
  701. bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
  702. }
  703. }
  704. //出单笔数
  705. teamUserInfoVo.setIssueNum(insAreaCompanies.size());
  706. teamUserInfoVo.setSumpremium(bigDecimal);
  707. //报价笔数
  708. Long quoteNum = insAreaCompanyMapper.selectCount(new LambdaQueryWrapper<InsAreaCompany>()
  709. .in(InsAreaCompany::getOrderno, orderNoList));
  710. teamUserInfoVo.setQuoteNum(quoteNum);
  711. //核保笔数 订单状态(0 报价中 1 待核保 2 已核保待缴费 3已承保 4 核保退回)
  712. List<Integer> integers = Arrays.asList(2, 3, 4);
  713. Long underwriteNum = insAreaCompanyMapper.selectCount(new LambdaQueryWrapper<InsAreaCompany>()
  714. .in(InsAreaCompany::getOrderno, orderNoList)
  715. .in(InsAreaCompany::getOrderstatus, integers));
  716. teamUserInfoVo.setUnderwriteNum(underwriteNum);
  717. teamUserInfoVoList.add(teamUserInfoVo);
  718. } else {
  719. teamUserInfoVo.setIssueNum(0);
  720. teamUserInfoVo.setSumpremium(bigDecimal);
  721. teamUserInfoVo.setQuoteNum(Long.valueOf("0"));
  722. teamUserInfoVo.setUnderwriteNum(Long.valueOf("0"));
  723. teamUserInfoVoList.add(teamUserInfoVo);
  724. }
  725. }
  726. return teamUserInfoVoList;
  727. }
  728. }