|
|
@@ -0,0 +1,162 @@
|
|
|
+package com.ydtech.modules.admin.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ydtech.modules.admin.dao.SysUserLinkCompanyMapper;
|
|
|
+import com.ydtech.modules.admin.model.SysUser;
|
|
|
+import com.ydtech.modules.admin.model.dto.SysUserDto;
|
|
|
+import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementQueryDto;
|
|
|
+import com.ydtech.modules.admin.model.dto.UserLinkCompanyDto;
|
|
|
+import com.ydtech.modules.admin.model.po.SysUserLinkCompany;
|
|
|
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
|
|
|
+import com.ydtech.modules.admin.model.vo.SysUserLinkCompanyAddVo;
|
|
|
+import com.ydtech.modules.admin.service.SysUserLinkCompanyService;
|
|
|
+import com.ydtech.modules.esm.model.EsmInsCompany;
|
|
|
+import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+* @author Administrator
|
|
|
+* @description 针对表【sys_user_link_company】的数据库操作Service实现
|
|
|
+* @createDate 2025-01-07 11:40:53
|
|
|
+*/
|
|
|
+@Service
|
|
|
+public class SysUserLinkCompanyServiceImpl extends ServiceImpl<SysUserLinkCompanyMapper, SysUserLinkCompany>
|
|
|
+ implements SysUserLinkCompanyService {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/7 11:53
|
|
|
+ * @Description: 通过用户id查询保险公司的分页列表数据
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Page<EsmInsCompany> findCompanyPageListByUserId(Page<EsmInsCompany> page, SysUserLinkPtlAgreementQueryDto sysUserLinkPtlAgreementQueryDto) {
|
|
|
+ return this.baseMapper.findCompanyPageListByUserId(page,sysUserLinkPtlAgreementQueryDto);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/7 14:34
|
|
|
+ * @Description: 查询后线人员分页列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public BasePageResult<SysUserBaseVO> findUserListByPage(SysUserDto sysUserDto) {
|
|
|
+ Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(),
|
|
|
+ sysUserDto.getPageSize());
|
|
|
+ Page<SysUserBaseVO> userPageResult = this.baseMapper.findUserListByPage(page, sysUserDto);
|
|
|
+ return new BasePageResult<>(sysUserDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
|
|
|
+ userPageResult.getRecords());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/7 11:29
|
|
|
+ * @Description:
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public BasePageResult<EsmInsCompany> findCompanyPageListByUserId(SysUserLinkPtlAgreementQueryDto sysUserLinkPtlAgreementQueryDto) {
|
|
|
+ Page<EsmInsCompany> page = new Page<>(sysUserLinkPtlAgreementQueryDto.getPageNum(),
|
|
|
+ sysUserLinkPtlAgreementQueryDto.getPageSize());
|
|
|
+ Page<EsmInsCompany> userPageResult = this.findCompanyPageListByUserId(page, sysUserLinkPtlAgreementQueryDto);
|
|
|
+ List<EsmInsCompany> records = userPageResult.getRecords();
|
|
|
+ List<EsmInsCompany> newList =new ArrayList<>();
|
|
|
+ if(records!=null && records.size()>0){
|
|
|
+ for (EsmInsCompany esmInsCompany : records) {
|
|
|
+ if("1".equals(esmInsCompany.getFlag())){
|
|
|
+ esmInsCompany.setFlag("true");
|
|
|
+ }else{
|
|
|
+ esmInsCompany.setFlag("false");
|
|
|
+ }
|
|
|
+ newList.add(esmInsCompany);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userPageResult.setRecords(newList);
|
|
|
+ return new BasePageResult<>(sysUserLinkPtlAgreementQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
|
|
|
+ userPageResult.getRecords());
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/8 12:01
|
|
|
+ * @Description: 后线关联的保险公司保存
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void addOrUpdate(SysUserLinkCompanyAddVo sysUserLinkCompanyAddVo, SysUser user) {
|
|
|
+ //判断是否在数据库中存在存在不添加,不存在添加
|
|
|
+ //通过用户id查询关联的保险公司的列表
|
|
|
+ List<String> oldCompanyIds = this.baseMapper.findCompanyListByUserId(sysUserLinkCompanyAddVo.getUserId());
|
|
|
+ //找出没有添加的保存保险保司保存
|
|
|
+ List<String> addCompanyIds = sysUserLinkCompanyAddVo.getCompanyIds();
|
|
|
+ List<SysUserLinkCompany> addList =new ArrayList<SysUserLinkCompany>();
|
|
|
+ if(sysUserLinkCompanyAddVo.isFlag()){
|
|
|
+ //查询所有的保险公司集合
|
|
|
+ List<String> allCompanyIds = this.baseMapper.findAllCompanyList();
|
|
|
+ List<String> diffList = allCompanyIds.stream()
|
|
|
+ .filter(element ->!oldCompanyIds.contains(element))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ for (String companyId : diffList) {
|
|
|
+ SysUserLinkCompany add = new SysUserLinkCompany(null
|
|
|
+ ,companyId,sysUserLinkCompanyAddVo.getUserId(),new Date(),user.getId(),user.getName());
|
|
|
+ addList.add(add);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(oldCompanyIds==null){
|
|
|
+ for (String companyId : addCompanyIds) {
|
|
|
+ SysUserLinkCompany add = new SysUserLinkCompany(null
|
|
|
+ ,companyId,sysUserLinkCompanyAddVo.getUserId(),new Date(),user.getId(),user.getName());
|
|
|
+ addList.add(add);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //找出没有添加的保险公司id添加
|
|
|
+ List<String> diffList = addCompanyIds.stream()
|
|
|
+ .filter(element ->!oldCompanyIds.contains(element))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ for (String companyId : diffList) {
|
|
|
+ SysUserLinkCompany add = new SysUserLinkCompany(null
|
|
|
+ ,companyId,sysUserLinkCompanyAddVo.getUserId(),new Date(),user.getId(),user.getName());
|
|
|
+ addList.add(add);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.saveBatch(addList);
|
|
|
+
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/8 12:07
|
|
|
+ * @Description: 通过ID删除数据
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void deleteByIds(List<Long> ids) {
|
|
|
+ this.removeByIds(ids);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2025/1/8 14:59
|
|
|
+ * @Description: 通过用户id查询保险公司的列表数据
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public BasePageResult<UserLinkCompanyDto> sysUserLinkCompanyPage(SysUserLinkPtlAgreementQueryDto sysUserLinkPtlAgreementQueryDto) {
|
|
|
+ Page<UserLinkCompanyDto> page = new Page<>(sysUserLinkPtlAgreementQueryDto.getPageNum(),
|
|
|
+ sysUserLinkPtlAgreementQueryDto.getPageSize());
|
|
|
+ Page<UserLinkCompanyDto> userPageResult = this.baseMapper.sysUserLinkCompanyPage(page, sysUserLinkPtlAgreementQueryDto);
|
|
|
+ return new BasePageResult<>(sysUserLinkPtlAgreementQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
|
|
|
+ userPageResult.getRecords());
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|