栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java EasyExcel导入组织人员[精品推荐]

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java EasyExcel导入组织人员[精品推荐]

模板

 

 表结构

HSGD_base_GROUP_CUSTOMER_import_RECORD

 HSGD_base_GROUP_CUSTOMER_import_COMPLETION

HSGD_base_GROUP_CUSTOMER_NOT_import_RECORD

 

代码

package com.zhgd.base.controller.api;

import com.zhgd.base.service.IZhgdSrbaseGroupCustomerimportService;
import com.zhgd.common.util.JsonUtil;
import com.zhgd.common.web.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;


@RestController
@Api(tags = "Zhgd Sr base Group import Customer Controller")
@RequestMapping(value = "/api/srbaseGroupCustomerimport")
@Slf4j
public class ApiZhgdSrbaseGroupCustomerimportController {

    @Resource
    private IZhgdSrbaseGroupCustomerimportService iZhgdSrbaseGroupCustomerimportService;

    @ApiOperation(value = "掌柜组织改版导入组织人员接口", response = String.class, notes = "import base Group Customer")
    @PostMapping(value = "/11202/v1/importbaseGroupCustomer")
    public ResponseResult> importbaseGroupCustomer(@RequestParam("importFile") MultipartFile importFile){
        String importFileName = importFile != null ? importFile.getOriginalFilename() : "--";
        log.info("[掌柜组织改版]导入部门组织人员,导入文件名:{}",importFileName);
        ResponseResult> result = new ResponseResult<>();
        result.setData(iZhgdSrbaseGroupCustomerimportService.importbaseGroupCustomerProcess(importFile));
        log.info("[掌柜组织改版]导入部门组织人员,导入文件名:{}", JsonUtil.toJSonString(result));
        return result;
    }

//    @ApiOperation(value = "掌柜组织改版 初始化组织人员上下级关系接口", response = String.class, notes = "Initialize base Group Customer Relation")
//    @PostMapping(value = "/11203/v1/initializebaseGroupCustomerRelation")
//    public ResponseResult initializebaseGroupCustomerRelation(HttpServletRequest request){
//        log.info("[掌柜组织改版]初始化组织人员上下级关系,开始...");
//        ResponseResult result = new ResponseResult<>();
//        result.setData(iZhgdSrbaseGroupCustomerimportService.initializebaseGroupCustomerRelationProcess());
//        log.info("[掌柜组织改版]初始化组织人员上下级关系,响应结果:{}", JsonUtil.toJSonString(result));
//        return result;
//    }
}

 

package com.zhgd.base.service;

import com.zhgd.base.entity.HsgdbaseGroupCustomerimportRecord;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface IZhgdSrbaseGroupCustomerimportService {

    void batchInsertAll(List recordList);

    List importbaseGroupCustomerProcess(MultipartFile importFile);

    Boolean initializebaseGroupCustomerRelationProcess();

    void insert(HsgdbaseGroupCustomerimportRecord record);
}
package com.zhgd.base.service.impl;

import com.alibaba.excel.EasyExcel;
import com.github.pagehelper.PageHelper;
import com.zhgd.base.domain.model.ZhgdSrGroupCustomerimportModel;
import com.zhgd.base.domain.vo.HsgdbaseGroupCustomerSimpleVO;
import com.zhgd.base.domain.vo.HsgdbaseGroupLevelNameVO;
import com.zhgd.base.domain.vo.HsgdbaseGroupSimpleVO;
import com.zhgd.base.entity.*;
import com.zhgd.base.enums.HsgdbaseGroupLevelEnum;
import com.zhgd.base.listener.ZhgdSrbaseGroupCustomerimportExcelListener;
import com.zhgd.base.mapper.HsgdbaseGroupCustomerimportCompletionMapper;
import com.zhgd.base.mapper.HsgdbaseGroupCustomerimportRecordMapper;
import com.zhgd.base.mapper.HsgdbaseGroupCustomerMapper;
import com.zhgd.base.mapper.HsgdbaseGroupMapper;
import com.zhgd.base.service.*;
import com.zhgd.common.util.StringUtil;
import com.zhgd.common.util.UUIDUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

@Service
@Slf4j
public class ZhgdSrbaseGroupCustomerimportServiceImpl implements IZhgdSrbaseGroupCustomerimportService {

    private final String SYSTEM_USER_NAME = "system";

    @Resource
    private HsgdbaseGroupCustomerimportRecordMapper hsgdbaseGroupCustomerimportRecordMapper;

    @Resource
    private HsgdbaseGroupCustomerimportCompletionMapper hsgdbaseGroupCustomerimportCompletionMapper;

    @Resource
    private IZhgdSrbaseGroupimportCustomerHandleService iZhgdSrbaseGroupimportCustomerHandleService;

    @Resource
    private HsgdbaseGroupCustomerMapper hsgdbaseGroupCustomerMapper;

    @Resource
    private HsgdbaseGroupMapper hsgdbaseGroupMapper;

    @Resource
    private IZhgdSrbaseGroupimportService iZhgdSrbaseGroupimportService;

    @Resource
    private IHsgdbaseGroupCustomerService iHsgdbaseGroupCustomerService;

    @Resource
    private IHsgdbaseGroupCustomerNotimportRecordService iHsgdbaseGroupCustomerNotimportRecordService;

    @Transactional(rollbackFor = Exception.class)
    @Override
    public void batchInsertAll(List recordList) {
        hsgdbaseGroupCustomerimportRecordMapper.insertAll(recordList);
    }

    @Override
    public void insert(HsgdbaseGroupCustomerimportRecord record) {
        hsgdbaseGroupCustomerimportRecordMapper.insert(record);
    }

    @Override
    public List importbaseGroupCustomerProcess(MultipartFile importFile) {
        List importResultList = new ArrayList<>();
        try {
            String batchNo = UUIDUtils.getUUID();
            ZhgdSrbaseGroupCustomerimportExcelListener listener = new ZhgdSrbaseGroupCustomerimportExcelListener(iZhgdSrbaseGroupimportCustomerHandleService, batchNo);
            EasyExcel.read(importFile.getInputStream(), ZhgdSrGroupCustomerimportModel.class, listener).sheet(0).doRead();
            // 2、文件校验(待处理)
            // 3、组织数据
            int totalRecord =  this.organizeAndSavebaseGroupCustomerCompletionData(batchNo);
            this.savebaseGroupCustomerData(batchNo,totalRecord);
        } catch (Exception e) {
            log.info("导入异常", e);
            importResultList.add("导入异常 :" + e.getMessage());
            return importResultList;
        }

        importResultList.add("执行完成,请检查是否全部导入成功!");
        return importResultList;
    }

    @Override
    public Boolean initializebaseGroupCustomerRelationProcess() {
        return null;
    }

    private int organizeAndSavebaseGroupCustomerCompletionData(String batchNo) {

        int importDataTotal = hsgdbaseGroupCustomerimportRecordMapper.countimportbaseGroupCustomerDataTotalByBatchNo(batchNo);
        
        if (importDataTotal > 0) {
            // 每页记录数
            int pageSize = 120, startPage = 1;
            // 总页数
            int totalPage = importDataTotal % pageSize == 0 ? (importDataTotal / pageSize) : (importDataTotal / pageSize + 1);

            for (int pageN = 0; pageN < totalPage; pageN++) {
                PageHelper.startPage(startPage + pageN, pageSize, false);
                List list = hsgdbaseGroupCustomerimportRecordMapper.selectListByBatchNo(batchNo);

                if (CollectionUtils.isNotEmpty(list)) {
                    List completionList = new ArrayList<>();
                    HsgdbaseGroupCustomerimportCompletion completion;

                    for (int i = 0, listSize = list.size(); i < listSize; i++) {
                        HsgdbaseGroupCustomerimportRecord record = list.get(i);
                        completion = new HsgdbaseGroupCustomerimportCompletion();

                        if (StringUtils.isNotBlank(record.getLeveloneGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelTwoGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelThreeGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelFourGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.FOUR.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelFiveGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.FIVE.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelSixGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.SIX.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelSevenGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel());
                        }

                        if (StringUtils.isNotBlank(record.getLevelEightGroup())) {
                            completion.setGroupLevel(HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel());
                        }

                        BeanUtils.copyProperties(record, completion);
                        completionList.add(completion);
                    }

                    iZhgdSrbaseGroupimportCustomerHandleService.insertAllimportCompletion(completionList);
                }
            }
        }

        return importDataTotal;
    }


    private void savebaseGroupCustomerData(String batchNo, int totalRecord) {
        if(totalRecord > 0) {
            int pageSize = 120, startPage = 1;
            int totalPage = totalRecord % pageSize == 0 ? (totalRecord / pageSize) : (totalRecord / pageSize + 1);
            Date nowDate = new Date();
            Long parentId;
            String oneMapKey, twoMapKey, threeMapKey, fourMapKey, fiveMapKey, sixMapKey, sevenMapKey, eightMapKey;
            HsgdbaseGroupSimpleVO groupSimpleVo = null;
            Map grouponeLevelMap = new HashMap<>();
            Map groupTwoLevelMap = new HashMap<>();
            Map groupThreeLevelMap = new HashMap<>();
            Map groupFourLevelMap = new HashMap<>();
            Map groupFiveLevelMap = new HashMap<>();
            Map groupSixLevelMap = new HashMap<>();
            Map groupSevenLevelMap = new HashMap<>();
            Map groupEightLevelMap = new HashMap<>();

            for (int pageN = 0; pageN < totalPage; pageN++) {
                PageHelper.startPage(startPage + pageN, pageSize, false);
                List completionPageList  = hsgdbaseGroupCustomerimportCompletionMapper.selectListByBatchNo(batchNo);
                if(CollectionUtils.isNotEmpty(completionPageList)){

                    List customerIdList = completionPageList.stream().map(HsgdbaseGroupCustomerimportCompletion::getCustomerId).collect(Collectors.toList());
                    List  customerSiList = hsgdbaseGroupCustomerimportCompletionMapper.querySrCustomerInfoByIds(customerIdList);
                    List  customerDealerList = hsgdbaseGroupCustomerimportCompletionMapper.queryDealerCustomerInfoByIds(customerIdList);
                    Map customerSiMap = new HashMap<>();
                    if (CollectionUtils.isNotEmpty(customerSiList)) {
                        Map srCustomerSiMap = customerSiList.stream().collect(Collectors.toMap(HsgdbaseGroupCustomerSimpleVO::getCustomerId, Function.identity(), (key1, key2) -> key2));
                        customerSiMap.putAll(srCustomerSiMap);
                    }
                    if (CollectionUtils.isNotEmpty(customerDealerList)) {
                        Map dealerCustomerSiMap = customerDealerList.stream().collect(Collectors.toMap(HsgdbaseGroupCustomerSimpleVO::getCustomerId, Function.identity(), (key1, key2) -> key2));
                        customerSiMap.putAll(dealerCustomerSiMap);
                    }

                    List groupCustomerList = new ArrayList<>();
                    HsgdbaseGroupCustomer baseGroupCustomer;
                    List  errorRecordList = new ArrayList<>();
                    HsgdbaseGroupCustomerNotimportRecord notimportRecord;

                    Map completionMap = completionPageList.stream().collect(Collectors.toMap(HsgdbaseGroupCustomerimportCompletion::getId,Function.identity(),(key1,key2)->key2));

                    for (HsgdbaseGroupCustomerimportCompletion completionVO : completionPageList){
                        HsgdbaseGroupCustomerSimpleVO customerVo = customerSiMap.get(completionVO.getCustomerId());
                        Long importId = completionVO.getId();

                        if(customerSiMap.containsKey(completionVO.getCustomerId())){

                            if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                if (groupOneLevelMap.get(oneMapKey) == null) {
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if (groupOneLevelMap.get(oneMapKey) != null) {
                                    groupSimpleVo = groupOneLevelMap.get(oneMapKey);
                                    baseGroupCustomer = this.createHsgdbaseGroupCutomerData(groupSimpleVo, customerVo, nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                } else {
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) != null){
                                    groupSimpleVo = groupTwoLevelMap.get(twoMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) != null){
                                    groupSimpleVo = groupThreeLevelMap.get(threeMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();
                                fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) == null){
                                    parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
                                    this.queryFourLevelGroup(fourMapKey, groupFourLevelMap, completionVO,parentId);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  && groupTwoLevelMap.get(twoMapKey) != null
                                        && groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) != null){
                                    groupSimpleVo = groupFourLevelMap.get(fourMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();
                                fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
                                fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) == null){
                                    parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
                                    this.queryFourLevelGroup(fourMapKey, groupFourLevelMap, completionVO,parentId);
                                }

                                if(groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) == null){
                                    parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
                                    this.queryFiveLevelGroup(fiveMapKey, groupFiveLevelMap, completionVO,parentId);
                                }

                                if (groupOneLevelMap.get(oneMapKey) != null  && groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) != null &&
                                        groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) != null) {
                                    groupSimpleVo  = groupFiveLevelMap.get(fiveMapKey);
                                    baseGroupCustomer = this.createHsgdbaseGroupCutomerData(groupSimpleVo, customerVo, nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(completionVO.getGroupLevel())) {

                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();
                                fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
                                fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
                                sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) == null){
                                    parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
                                    this.queryFourLevelGroup(fourMapKey, groupFourLevelMap, completionVO,parentId);
                                }

                                if(groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) == null){
                                    parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
                                    this.queryFiveLevelGroup(fiveMapKey, groupFiveLevelMap, completionVO,parentId);
                                }

                                if(groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) == null){
                                    parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
                                    this.querySixLevelGroup(sixMapKey, groupSixLevelMap, completionVO,parentId);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  && groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) != null &&
                                        groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) != null ){
                                    groupSimpleVo  = groupSixLevelMap.get(sixMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();
                                fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
                                fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
                                sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup();
                                sevenMapKey =  completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) == null){
                                    parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
                                    this.queryFourLevelGroup(fourMapKey, groupFourLevelMap, completionVO,parentId);
                                }

                                if(groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) == null){
                                    parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
                                    this.queryFiveLevelGroup(fiveMapKey, groupFiveLevelMap, completionVO,parentId);
                                }

                                if(groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) == null){
                                    parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
                                    this.querySixLevelGroup(sixMapKey, groupSixLevelMap, completionVO,parentId);
                                }

                                if(groupSixLevelMap.get(sixMapKey) != null && groupSevenLevelMap.get(sevenMapKey) == null){
                                    parentId = groupSixLevelMap.get(sixMapKey) .getGroupId();
                                    this.querySevenLevelGroup(sevenMapKey, groupSevenLevelMap, completionVO,parentId);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  && groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) != null &&
                                        groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) != null
                                        &&  groupSevenLevelMap.get(sevenMapKey) != null){
                                    groupSimpleVo  = groupSevenLevelMap.get(sevenMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                            else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(completionVO.getGroupLevel())) {
                                oneMapKey = completionVO.getLeveloneGroup();
                                twoMapKey = completionVO.getLevelTwoGroup();
                                threeMapKey = completionVO.getLevelThreeGroup();
                                fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
                                fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
                                sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup();
                                sevenMapKey =  completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup();
                                eightMapKey =   completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
                                        + "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup() + "-" + completionVO.getLevelEightGroup();

                                if(groupOneLevelMap.get(oneMapKey) == null){
                                    this.queryoneLevelGroup(oneMapKey, groupOneLevelMap, completionVO);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  &&  groupTwoLevelMap.get(twoMapKey) == null){
                                    this.queryTwoLevelGroup(twoMapKey, groupTwoLevelMap, completionVO);
                                }

                                if(groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) == null){
                                    this.queryThreeLevelGroup(threeMapKey, groupThreeLevelMap, completionVO);
                                }

                                if(groupThreeLevelMap.get(threeMapKey) != null && groupFourLevelMap.get(fourMapKey) == null){
                                    parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
                                    this.queryFourLevelGroup(fourMapKey, groupFourLevelMap, completionVO,parentId);
                                }

                                if(groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) == null){
                                    parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
                                    this.queryFiveLevelGroup(fiveMapKey, groupFiveLevelMap, completionVO,parentId);
                                }

                                if(groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) == null){
                                    parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
                                    this.querySixLevelGroup(sixMapKey, groupSixLevelMap, completionVO,parentId);
                                }

                                if(groupSixLevelMap.get(sixMapKey) != null && groupSevenLevelMap.get(sevenMapKey) == null){
                                    parentId = groupSixLevelMap.get(sixMapKey) .getGroupId();
                                    this.querySevenLevelGroup(sevenMapKey, groupSevenLevelMap, completionVO,parentId);
                                }

                                if( groupSevenLevelMap.get(sevenMapKey) != null && groupEightLevelMap.get(eightMapKey) == null){
                                    parentId = groupSevenLevelMap.get(sevenMapKey).getGroupId();
                                    this.queryEightLevelGroup(eightMapKey, groupEightLevelMap, completionVO,parentId);
                                }

                                if(groupOneLevelMap.get(oneMapKey) != null  && groupTwoLevelMap.get(twoMapKey) != null && groupThreeLevelMap.get(threeMapKey) != null &&
                                        groupFourLevelMap.get(fourMapKey) != null && groupFiveLevelMap.get(fiveMapKey) != null && groupSixLevelMap.get(sixMapKey) != null
                                        &&  groupSevenLevelMap.get(sevenMapKey) != null && groupEightLevelMap.get(eightMapKey) != null){
                                    groupSimpleVo  = groupEightLevelMap.get(eightMapKey);
                                    baseGroupCustomer =  this.createHsgdbaseGroupCutomerData(groupSimpleVo,customerVo,nowDate,importId);
                                    groupCustomerList.add(baseGroupCustomer);
                                }else{
                                    notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                    BeanUtils.copyProperties(completionVO, notimportRecord);
                                    errorRecordList.add(notimportRecord);
                                }
                            }
                        }else{
                            notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                            BeanUtils.copyProperties(completionVO, notimportRecord);
                            errorRecordList.add(notimportRecord);
                        }
                    }

                    if(CollectionUtils.isNotEmpty(groupCustomerList)){
                        List customerIds =  groupCustomerList.stream().map(HsgdbaseGroupCustomer::getCustomerId).collect(Collectors.toList());
                        List groupCustomerIdList = iHsgdbaseGroupCustomerService.selectListByCustomerId(customerIds);
                        List existsList = groupCustomerIdList.stream().map(e -> e.getCustomerId() + "-" + e.getGroupId()  ).collect(Collectors.toList());
                        List needInsertGroupCustomerList = new ArrayList<>();
                        for (HsgdbaseGroupCustomer  customer : groupCustomerList){
                            if(!existsList.contains(customer.getCustomerId() + "-" + customer.getGroupId())){
                                needInsertGroupCustomerList.add(customer);
                            }else{
                                HsgdbaseGroupCustomerimportCompletion   comRecord =  completionMap.get(customer.getimportId());
                                notimportRecord = new HsgdbaseGroupCustomerNotimportRecord();
                                BeanUtils.copyProperties(comRecord, notimportRecord);
                                errorRecordList.add(notimportRecord);
                            }
                        }
                        if(CollectionUtils.isNotEmpty(needInsertGroupCustomerList)){
                            iHsgdbaseGroupCustomerService.saveBatch(needInsertGroupCustomerList);
                        }
                    }

                    if(CollectionUtils.isNotEmpty(errorRecordList)){
                        iHsgdbaseGroupCustomerNotimportRecordService.saveBatch(errorRecordList);
                    }
                }
            }
        }
    }

    private HsgdbaseGroupCustomer createHsgdbaseGroupCutomerData(HsgdbaseGroupSimpleVO oneSimpleVo, HsgdbaseGroupCustomerSimpleVO customerVo, Date nowDate,Long importCustomerComId) {
        HsgdbaseGroupCustomer hsgdbaseGroupCustomer = new HsgdbaseGroupCustomer();
        hsgdbaseGroupCustomer.setGroupId(oneSimpleVo.getGroupId());
        hsgdbaseGroupCustomer.setType(customerVo.getCustomerType());
        hsgdbaseGroupCustomer.setBusType(Integer.parseInt(customerVo.getBusType()));
        hsgdbaseGroupCustomer.setCustomerId(customerVo.getCustomerId());
        hsgdbaseGroupCustomer.setPoiCode(customerVo.getPoiCode());
        hsgdbaseGroupCustomer.setStatus(1);
        hsgdbaseGroupCustomer.setCreated(nowDate);
        hsgdbaseGroupCustomer.setCreatedBy(SYSTEM_USER_NAME);
        hsgdbaseGroupCustomer.setCreatedById(-1L);
        hsgdbaseGroupCustomer.setUpdated(nowDate);
        hsgdbaseGroupCustomer.setUpdatedBy(SYSTEM_USER_NAME);
        hsgdbaseGroupCustomer.setUpdatedById(-1L);
        hsgdbaseGroupCustomer.setimportId(importCustomerComId);
        return hsgdbaseGroupCustomer;
    }


    private HsgdbaseGroupSimpleVO queryoneLevelGroup(String oneMapKey, Map groupOneLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO) {
        HsgdbaseGroupSimpleVO oneSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevel(completionVO.getLeveloneGroup(), HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
        if (oneSimpleVo != null) {
            groupOneLevelMap.put(oneMapKey, oneSimpleVo);
        }
        return oneSimpleVo;
    }


    private HsgdbaseGroupSimpleVO queryTwoLevelGroup(String twoMapKey, Map groupTwoLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO) {
        HsgdbaseGroupSimpleVO twoSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelTwoGroup(), HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
        if (twoSimpleVo != null) {
            groupTwoLevelMap.put(twoMapKey, twoSimpleVo);
        }
        return twoSimpleVo;
    }

    private HsgdbaseGroupSimpleVO queryThreeLevelGroup(String threeMapKey, Map groupThreeLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO) {
        HsgdbaseGroupSimpleVO threeSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelThreeGroup(), HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
        if (threeSimpleVo != null) {
            groupThreeLevelMap.put(threeMapKey, threeSimpleVo);
        }
        return threeSimpleVo;
    }


    private HsgdbaseGroupSimpleVO queryFourLevelGroup(String fourMapKey, Map groupFourLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO, Long parentId) {
        HsgdbaseGroupSimpleVO fourSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelFourGroup(), HsgdbaseGroupLevelEnum.FOUR.getGroupLevel(), parentId);
        if (fourSimpleVo != null) {
            groupFourLevelMap.put(fourMapKey, fourSimpleVo);
        }
        return fourSimpleVo;
    }

    private HsgdbaseGroupSimpleVO queryFiveLevelGroup(String fiveMapKey, Map groupFiveLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO, Long parentId) {
        HsgdbaseGroupSimpleVO  fiveSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelFiveGroup(), HsgdbaseGroupLevelEnum.FIVE.getGroupLevel(), parentId);
        if (fiveSimpleVo != null) {
            groupFiveLevelMap.put(fiveMapKey, fiveSimpleVo);
        }
        return fiveSimpleVo;
    }

    private HsgdbaseGroupSimpleVO querySixLevelGroup(String sixMapKey, Map groupSixLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO, Long parentId) {
        HsgdbaseGroupSimpleVO  sixSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelSixGroup(),HsgdbaseGroupLevelEnum.SIX.getGroupLevel(), parentId);
        if(sixSimpleVo != null){
            groupSixLevelMap.put(sixMapKey,sixSimpleVo);
        }

        return sixSimpleVo;
    }


    private HsgdbaseGroupSimpleVO querySevenLevelGroup(String sevenMapKey, Map groupSevenLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO, Long parentId) {
        HsgdbaseGroupSimpleVO sevenSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelSevenGroup(), HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel(),parentId);
        if (sevenSimpleVo != null) {
            groupSevenLevelMap.put(sevenMapKey, sevenSimpleVo);
        }
        return sevenSimpleVo;
    }


    private HsgdbaseGroupSimpleVO queryEightLevelGroup(String eightMapKey, Map groupEightLevelMap, HsgdbaseGroupCustomerimportCompletion completionVO, Long parentId) {
        HsgdbaseGroupSimpleVO eightSimpleVo = iZhgdSrbaseGroupimportService.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelEightGroup(), HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel(), parentId);
        if (eightSimpleVo != null) {
            groupEightLevelMap.put(eightMapKey, eightSimpleVo);
        }
        return eightSimpleVo;
    }


}
package com.zhgd.base.mapper;

import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.zhgd.base.entity.HsgdbaseGroupCustomerimportRecord;
import com.zhgd.base.entity.HsgdbaseGroupimportRecord;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface HsgdbaseGroupCustomerimportRecordMapper extends baseMapper {

    
    Boolean insertAll(@Param("paramList") List param);

    int countimportbaseGroupCustomerDataTotalByBatchNo(String batchNo);

    List selectListByBatchNo(String batchNo);
}

HsgdbaseGroupCustomerimportRecordMapper.xml




    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        ID, LEVEL_ONE_GROUP, LEVEL_TWO_GROUP, LEVEL_THREE_GROUP, LEVEL_FOUR_GROUP, LEVEL_FIVE_GROUP, LEVEL_SIX_GROUP, LEVEL_SEVEN_GROUP, LEVEL_EIGHT_GROUP, CUSTOMER_ID, POI_CODE, CREATED, CREATED_BY, UPDATED, UPDATED_BY, BATCH_NO
    
    
        insert into HSGD_base_GROUP_CUSTOMER_import_RECORD
        
            LEVEL_ONE_GROUP,
            LEVEL_TWO_GROUP,
            LEVEL_THREE_GROUP,
            LEVEL_FOUR_GROUP,
            LEVEL_FIVE_GROUP,
            LEVEL_SIX_GROUP,
            LEVEL_SEVEN_GROUP,
            LEVEL_EIGHT_GROUP,
            CUSTOMER_ID,
            POI_CODE,
            CREATED,
            CREATED_BY,
            UPDATED,
            UPDATED_BY,
            BATCH_NO,
        
        VALUES
        
            
                #{param.levelOneGroup, jdbcType=VARCHAR},
                #{param.levelTwoGroup, jdbcType=VARCHAR},
                #{param.levelThreeGroup, jdbcType=VARCHAR},
                #{param.levelFourGroup, jdbcType=VARCHAR},
                #{param.levelFiveGroup, jdbcType=VARCHAR},
                #{param.levelSixGroup, jdbcType=VARCHAR},
                #{param.levelSevenGroup, jdbcType=VARCHAR},
                #{param.levelEightGroup, jdbcType=VARCHAR},
                #{param.customerId, jdbcType=BIGINT},
                #{param.poiCode, jdbcType=BIGINT},
                #{param.created, jdbcType=TIMESTAMP},
                #{param.createdBy, jdbcType=VARCHAR},
                #{param.updated, jdbcType=TIMESTAMP},
                #{param.updatedBy, jdbcType=VARCHAR},
                #{param.batchNo, jdbcType=VARCHAR},
            
        
    

    
        SELECT
        
        FROM HSGD_base_GROUP_CUSTOMER_import_RECORD WITH(NOLOCK)
        WHERe BATCH_NO = #{batchNo}
        ORDER BY LEVEL_ONE_GROUP,LEVEL_TWO_GROUP,LEVEL_THREE_GROUP,LEVEL_FOUR_GROUP,LEVEL_FIVE_GROUP,LEVEL_SIX_GROUP,LEVEL_SEVEN_GROUP,LEVEL_EIGHT_GROUP
    
package com.zhgd.base.mapper;

import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.zhgd.base.domain.vo.HsgdbaseGroupCustomerSimpleVO;
import com.zhgd.base.entity.HsgdbaseGroupCustomerimportCompletion;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface HsgdbaseGroupCustomerimportCompletionMapper extends baseMapper {

    
    Boolean insertAll(@Param("paramList") List param);

    List selectListByBatchNo(String batchNo);

    List querySrCustomerInfoByIds(@Param("list")  List customerIdList);

    List queryDealerCustomerInfoByIds(List customerIdList);
}

HsgdbaseGroupCustomerimportCompletionMapper.xml




    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        ID, LEVEL_ONE_GROUP, LEVEL_TWO_GROUP, LEVEL_THREE_GROUP, LEVEL_FOUR_GROUP, LEVEL_FIVE_GROUP, LEVEL_SIX_GROUP, LEVEL_SEVEN_GROUP, LEVEL_EIGHT_GROUP, CUSTOMER_ID, POI_CODE, CREATED, CREATED_BY, UPDATED, UPDATED_BY, BATCH_NO,GROUP_LEVEL
    
    
        insert into HSGD_base_GROUP_CUSTOMER_import_COMPLETION
        
            LEVEL_ONE_GROUP,
            LEVEL_TWO_GROUP,
            LEVEL_THREE_GROUP,
            LEVEL_FOUR_GROUP,
            LEVEL_FIVE_GROUP,
            LEVEL_SIX_GROUP,
            LEVEL_SEVEN_GROUP,
            LEVEL_EIGHT_GROUP,
            CUSTOMER_ID,
            POI_CODE,
            CREATED,
            CREATED_BY,
            UPDATED,
            UPDATED_BY,
            BATCH_NO,
            GROUP_LEVEL,
        
        VALUES
        
            
                #{param.levelOneGroup, jdbcType=VARCHAR},
                #{param.levelTwoGroup, jdbcType=VARCHAR},
                #{param.levelThreeGroup, jdbcType=VARCHAR},
                #{param.levelFourGroup, jdbcType=VARCHAR},
                #{param.levelFiveGroup, jdbcType=VARCHAR},
                #{param.levelSixGroup, jdbcType=VARCHAR},
                #{param.levelSevenGroup, jdbcType=VARCHAR},
                #{param.levelEightGroup, jdbcType=VARCHAR},
                #{param.customerId, jdbcType=BIGINT},
                #{param.poiCode, jdbcType=BIGINT},
                #{param.created, jdbcType=TIMESTAMP},
                #{param.createdBy, jdbcType=VARCHAR},
                #{param.updated, jdbcType=TIMESTAMP},
                #{param.updatedBy, jdbcType=VARCHAR},
                #{param.batchNo, jdbcType=VARCHAR},
                #{param.groupLevel, jdbcType=INTEGER},
            
        
    

    
        SELECT
            businessInfo.CUSTOMER_ID AS customerId,
            1 AS customerType,
            businessInfo.BUS_TYPE AS busType,
            wsCustomer.ORG_ID AS poiCode
            FROM CRM_BUSINESS_INFO businessInfo WITH(NOLOCK)
            LEFT JOIN CRM_WS_CUSTOMER wsCustomer  WITH(NOLOCK)  ON  businessInfo.CUSTOMER_ID = wsCustomer.CUSTOMER_ID
            WHERe
                businessInfo.BUS_STATUS = 1
            AND wsCustomer.CUST_STATUS = 1
            AND businessInfo.CUSTOMER_ID IN
            
                #{custoemrId}
            
    

    

package com.zhgd.base.service;

import com.zhgd.base.domain.model.ZhgdSrGroupCustomerimportModel;
import com.zhgd.base.entity.HsgdbaseGroupCustomerimportCompletion;


import java.util.List;

public interface IZhgdSrbaseGroupimportCustomerHandleService {

    void saveSrbaseGroupCustomerimportDataList(List dataList);

    void saveSrbaseGroupCustomerimportData(ZhgdSrGroupCustomerimportModel data);

    void insertAllimportCompletion(List completionList);
}
package com.zhgd.base.service.impl;

import com.zhgd.base.domain.model.ZhgdSrGroupCustomerimportModel;
import com.zhgd.base.entity.HsgdbaseGroupCustomerimportCompletion;
import com.zhgd.base.entity.HsgdbaseGroupCustomerimportRecord;
import com.zhgd.base.entity.HsgdbaseGroupimportRecord;
import com.zhgd.base.mapper.HsgdbaseGroupCustomerimportCompletionMapper;
import com.zhgd.base.service.IZhgdSrbaseGroupCustomerimportService;
import com.zhgd.base.service.IZhgdSrbaseGroupimportCustomerHandleService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Service
@Slf4j
public class ZhgdSrbaseGroupimportCustomerHandleServiceImpl implements IZhgdSrbaseGroupimportCustomerHandleService {

    @Resource
    private IZhgdSrbaseGroupCustomerimportService iZhgdSrbaseGroupCustomerimportService;

    @Resource
    private HsgdbaseGroupCustomerimportCompletionMapper hsgdbaseGroupCustomerimportCompletionMapper;

    @Override
    public void saveSrbaseGroupCustomerimportDataList(List dataList) {
        Date nowDate = new Date();
        final String userName = "system";
        if(CollectionUtils.isNotEmpty(dataList)){
            List recordList = new ArrayList();
            HsgdbaseGroupCustomerimportRecord record = null;
            for (int i=0,len = dataList.size();i< len;i++){
                ZhgdSrGroupCustomerimportModel importModel = dataList.get(i);
                record = new HsgdbaseGroupCustomerimportRecord();
                BeanUtils.copyProperties(importModel,record);
                record.setCreated(nowDate);
                record.setCreatedBy(userName);
                record.setUpdated(nowDate);
                record.setUpdatedBy(userName);
                if(StringUtils.isNotBlank(importModel.getCustomerID()) && NumberUtils.isNumber(importModel.getCustomerID())){
                    record.setCustomerId(Long.parseLong(importModel.getCustomerID()));
                }
                if(StringUtils.isNotBlank(importModel.getPoiCode()) && NumberUtils.isNumber(importModel.getPoiCode())){
                    record.setPoiCode(Long.parseLong(importModel.getPoiCode()));
                }
                recordList.add(record);
            };
            iZhgdSrbaseGroupCustomerimportService.batchInsertAll(recordList);
        }
    }

    @Override
    public void saveSrbaseGroupCustomerimportData(ZhgdSrGroupCustomerimportModel data) {
        Date nowDate = new Date();
        final String userName = "system";
        if(data != null){
            HsgdbaseGroupCustomerimportRecord record = new HsgdbaseGroupCustomerimportRecord();
            BeanUtils.copyProperties(data,record);
            record.setCreated(nowDate);
            record.setCreatedBy(userName);
            record.setUpdated(nowDate);
            record.setUpdatedBy(userName);
            if(StringUtils.isNotBlank(data.getCustomerID()) && NumberUtils.isNumber(data.getCustomerID())){
                record.setCustomerId(Long.parseLong(data.getCustomerID()));
            }
            if(StringUtils.isNotBlank(data.getPoiCode()) && NumberUtils.isNumber(data.getPoiCode())){
                record.setPoiCode(Long.parseLong(data.getPoiCode()));
            }

            iZhgdSrbaseGroupCustomerimportService.insert(record);
        }
    }

    @Override
    @Transactional
    public void insertAllimportCompletion(List completionList) {
        hsgdbaseGroupCustomerimportCompletionMapper.insertAll(completionList);
    }


}
package com.zhgd.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.base.entity.HsgdbaseGroupCustomer;

import java.util.List;


public interface IHsgdbaseGroupCustomerService extends IService {

    
    Boolean saveBatch(List param);

    long countExistsGroupCustomer(Long customerId, Long groupId);

    void insert(HsgdbaseGroupCustomer customer);

    List selectListByCustomerId(List customerIds);
}
package com.zhgd.base.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.base.entity.HsgdbaseGroupCustomer;
import com.zhgd.base.mapper.HsgdbaseGroupCustomerMapper;
import com.zhgd.base.service.IHsgdbaseGroupCustomerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


@Service
@Slf4j
public class HsgdbaseGroupCustomerServiceImpl extends ServiceImpl implements IHsgdbaseGroupCustomerService {

    
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean saveBatch(List param) {
        return this.getbaseMapper().insertAll(param);
    }

    @Override
    public long countExistsGroupCustomer(Long customerId, Long groupId) {
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("CUSTOMER_ID",customerId);
        queryWrapper.eq("GROUP_ID",groupId);
        queryWrapper.eq("STATUS",1);
        long count =  this.getbaseMapper().selectCount(queryWrapper);
        return count;
    }

    @Override
    public void insert(HsgdbaseGroupCustomer customer) {
        this.getbaseMapper().insert(customer);
    }

    @Override
    public List selectListByCustomerId(List customerIds) {
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.in("CUSTOMER_ID",customerIds);
        queryWrapper.eq("STATUS",1);
        return  this.getbaseMapper().selectList(queryWrapper);
    }

}

 导入之后

HSGD_base_GROUP_CUSTOMER_import_RECORD

HSGD_base_GROUP_CUSTOMER_import_COMPLETION

 

 HSGD_base_GROUP_CUSTOMER_NOT_import_RECORD

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号