Ver Fonte

销售线索excel导入

yangzian há 3 anos atrás
pai
commit
5da63b8c8e
22 ficheiros alterados com 886 adições e 98 exclusões
  1. 12 0
      ruixuan-common/src/main/java/com/ruixuan/common/utils/DateUtils.java
  2. 17 0
      ruixuan-common/src/main/java/com/ruixuan/common/utils/file/FileTypeUtils.java
  3. 1 0
      ruixuan-framework/src/main/java/com/ruixuan/framework/config/SecurityConfig.java
  4. 6 0
      ruixuan-salesLeads/pom.xml
  5. 1 1
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/DemoController.java
  6. 75 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/SaleClueInfoController.java
  7. 25 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueInfoMapper.java
  8. 25 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleQuotaInfoMapper.java
  9. 87 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleClueInfoPojo.java
  10. 53 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleQuotaInfoPojo.java
  11. 0 88
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SalesleadsInfoPojo.java
  12. 20 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/ISaleClueInfoService.java
  13. 138 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/SaleClueInfoServiceImpl.java
  14. 47 9
      ruixuan-salesLeads/src/main/java/com/ruixuan/salesLeads/listener/ImportExcelListener.java
  15. 57 0
      ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueInfoMapper.xml
  16. 40 0
      ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleQuotaInfoMapper.xml
  17. 105 0
      ruixuan-system/src/main/java/com/ruixuan/system/domain/SysAreaInfo.java
  18. 96 0
      ruixuan-system/src/main/java/com/ruixuan/system/domain/SysIndustryInfo.java
  19. 22 0
      ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysAreaInfoMapper.java
  20. 25 0
      ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysIndustryInfoMapper.java
  21. 17 0
      ruixuan-system/src/main/resources/mapper/system/SysAreaMapper.xml
  22. 17 0
      ruixuan-system/src/main/resources/mapper/system/SysIndustryMapper.xml

+ 12 - 0
ruixuan-common/src/main/java/com/ruixuan/common/utils/DateUtils.java

@@ -184,4 +184,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
         return Date.from(zdt.toInstant());
     }
+
+
+    /**
+     * 时间字符串转long类型
+     *  2022-05-01 ===>>>> 20220501
+     * @param date
+     * @return
+     */
+    public static Long strDateToInt(String date){
+
+        return Long.getLong(date.replaceAll("-",""));
+    }
 }

+ 17 - 0
ruixuan-common/src/main/java/com/ruixuan/common/utils/file/FileTypeUtils.java

@@ -2,6 +2,7 @@ package com.ruixuan.common.utils.file;
 
 import java.io.File;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 文件类型工具类
@@ -73,4 +74,20 @@ public class FileTypeUtils
         }
         return strFileExtendName;
     }
+
+
+    /**
+     * 判断文件是否为excel 或 csv
+     * @param file
+     * @return
+     */
+    public static boolean fileNameSuffix(MultipartFile file){
+        String fileName = file.getOriginalFilename();
+
+        if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx") || fileName.endsWith(".csv")){
+            return true;
+        }
+
+        return false;
+    }
 }

+ 1 - 0
ruixuan-framework/src/main/java/com/ruixuan/framework/config/SecurityConfig.java

@@ -115,6 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     .antMatchers("/swagger/**").permitAll()
                     .antMatchers("/test/**").permitAll()
                     .antMatchers("/demoController/**").permitAll()
+                    .antMatchers("/sale/**").permitAll()
 
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()

+ 6 - 0
ruixuan-salesLeads/pom.xml

@@ -24,6 +24,12 @@
             <artifactId>ruixuan-common</artifactId>
         </dependency>
 
+        <!-- system-->
+        <dependency>
+            <groupId>com.ruixuan</groupId>
+            <artifactId>ruixuan-system</artifactId>
+        </dependency>
+
 
         <!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
         <dependency>

+ 1 - 1
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/DemoController.java

@@ -6,7 +6,7 @@ import com.ruixuan.common.core.domain.AjaxResult;
 import com.ruixuan.common.core.domain.ResultResponse;
 import com.ruixuan.common.utils.poi.ExcelUtil;
 import com.ruixuan.salesLeads.listener.ImportExcelListener;
-import com.ruixuan.salesLeads.pojo.SalesleadsInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
 import com.ruixuan.salesLeads.pojo.TestPojo;
 import com.ruixuan.salesLeads.service.ITestService;
 import io.swagger.annotations.*;

+ 75 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/SaleClueInfoController.java

@@ -0,0 +1,75 @@
+package com.ruixuan.salesLeads.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.ruixuan.common.core.controller.BaseController;
+import com.ruixuan.common.core.domain.ResultResponse;
+import com.ruixuan.common.utils.DateUtils;
+import com.ruixuan.common.utils.file.FileTypeUtils;
+import com.ruixuan.salesLeads.listener.ImportExcelListener;
+import com.ruixuan.salesLeads.pojo.TestPojo;
+import com.ruixuan.salesLeads.service.ISaleClueInfoService;
+import com.ruixuan.salesLeads.service.ITestService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+
+
+@Api(tags = "销售线索",description = "saleClueInfoController")
+@RestController
+@RequestMapping("sale/saleClueInfoController")
+public class SaleClueInfoController extends BaseController {
+
+
+    @Autowired
+    private ISaleClueInfoService saleClueInfoServiceImpl;
+
+
+
+
+
+
+
+    @ApiOperation(value = "导入",notes = "swagger不支持上传,请移步使用postman上传仅支持form-data。")
+    @PostMapping(value = "/importExcel")
+    public ResultResponse importExcel(
+                                      @ApiParam("文件数组") @RequestParam("files") List<MultipartFile> files,
+                                      @ApiParam("销售线索类型1:50W低潜;2:50W中高潜;3:200W高潜;4:200W-500w;5:500W") @RequestParam("salesLeadsType") int salesLeadsType,
+                                      @ApiParam("年-月") @RequestParam("uploadDate") String uploadDate,
+                                      @ApiParam("创建人") @RequestParam("createUserId") Long createUserId
+                                      ) throws Exception{
+
+
+        if (files.isEmpty()){
+            return ResultResponse.error("文件不能为空,请选择文件!");
+        }
+
+        for (MultipartFile file : files) {
+           if (!FileTypeUtils.fileNameSuffix(file)){
+               return ResultResponse.error("请上传正确格式的文件,支持扩展名.xls;.xlsx;.csv");
+           }
+        }
+
+        Long year = DateUtils.strDateToInt(uploadDate);
+
+        return saleClueInfoServiceImpl.importSaleClueExcel(files,salesLeadsType,year,createUserId);
+
+
+    }
+
+}

+ 25 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueInfoMapper.java

@@ -0,0 +1,25 @@
+package com.ruixuan.salesLeads.mapper;
+
+import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.TestPojo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+public interface SaleClueInfoMapper {
+
+
+    /**
+     * 批量新增销售线索
+     * @param saleClueList
+     */
+    void replaceSaleClueInfoBatch(@Param(value = "saleClueList") List<SaleClueInfoPojo> saleClueList);
+}

+ 25 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleQuotaInfoMapper.java

@@ -0,0 +1,25 @@
+package com.ruixuan.salesLeads.mapper;
+
+import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleQuotaInfoPojo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索-额度
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+public interface SaleQuotaInfoMapper {
+
+
+    /**
+     * 批量新增销售线索-额度
+     * @param saleQuotaList
+     */
+    void replaceSaleQuotaInfoBatch(@Param(value = "saleQuotaList") List<SaleQuotaInfoPojo> saleQuotaList);
+}

+ 87 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleClueInfoPojo.java

@@ -0,0 +1,87 @@
+package com.ruixuan.salesLeads.pojo;
+
+import com.ruixuan.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索信息表
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+@Data
+@ApiModel(value = "saleClueInfoPojo", description = "销售线索")
+public class SaleClueInfoPojo {
+
+
+    private int id;
+
+    @ApiModelProperty("销售线索类型1:50W低潜;2:50W中高潜;3:200W高潜;4:200W-500w;5:500W")
+    private int salesLeadsType;
+
+    @ApiModelProperty("卖家id")
+    private Long sellerId;
+
+    @ApiModelProperty("'卖家昵称'")
+    private String sellerName;
+
+    @ApiModelProperty("粉丝数")
+    private Long fans;
+
+    @ApiModelProperty("所属行业")
+    private int industryId;
+
+    @ApiModelProperty("常驻省份")
+    private int provinceId;
+
+    @ApiModelProperty("常驻城市")
+    private int cityId;
+
+    @ApiModelProperty("联系方式")
+    private Long telephone;
+
+    @ApiModelProperty("卖家是否绑定服务商 0-否 1-是'")
+    private int providerFlag;
+
+    @ApiModelProperty("是否跃迁 0-否 1-是'")
+    private int transitionFlag;
+
+    @ApiModelProperty("月份")
+    private int uploadDate;
+
+    @ApiModelProperty("是否分配销售 0-否 1-是'")
+    private int distributionSaleFlag;
+
+    @ApiModelProperty("销售人员id")
+    private Long saleId;
+
+    @ApiModelProperty("进行状态 1-未开始 2-进行中 3-已结束")
+    private int state;
+
+    @ApiModelProperty("是否转面销 0-否 1-是")
+    private int offlineSaleFlag;
+
+    @ApiModelProperty("创建人")
+    private Long createUserId;
+
+    @ApiModelProperty("创建时间")
+    private String createTime;
+
+    @ApiModelProperty("更新人")
+    private Long updateUserId;
+
+    @ApiModelProperty("更新时间")
+    private String updateTime;
+
+
+}

+ 53 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleQuotaInfoPojo.java

@@ -0,0 +1,53 @@
+package com.ruixuan.salesLeads.pojo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索-额度信息表
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+@Data
+@ApiModel(value = "saleQuotaInfoPojo", description = "销售线索-额度")
+public class SaleQuotaInfoPojo {
+
+
+    private int id;
+
+
+    @ApiModelProperty("卖家id")
+    private Long sellerId;
+
+    @ApiModelProperty("'近30天'")
+    private String nearlyThirtyDays;
+
+    @ApiModelProperty("gmv月份")
+    private Long gmvMonth;
+
+    @ApiModelProperty("gmv")
+    private String gmv;
+
+    @ApiModelProperty("mtd日期")
+    private Long mtdDate;
+
+    @ApiModelProperty("mtd")
+    private String mtd;
+
+
+
+    @ApiModelProperty("创建人")
+    private Long createUserId;
+
+    @ApiModelProperty("创建时间")
+    private String createTime;
+
+
+
+}

+ 0 - 88
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SalesleadsInfoPojo.java

@@ -1,88 +0,0 @@
-package com.ruixuan.salesLeads.pojo;
-
-import com.ruixuan.common.annotation.Excel;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * ***************************************************
- *
- * @Auther: zianY
- * @Descipion: TODO
- * @CreateDate: 2022-05-24
- * ****************************************************
- */
-
-
-
-@Data
-@ApiModel(value = "salesleadsInfoPojo", description = "销售线索")
-public class SalesleadsInfoPojo {
-
-
-    private int id;
-
-
-    @ApiModelProperty("卖家id")
-    private Long  sellerId;
-
-    @ApiModelProperty("粉丝数")
-    private Long  fansNumber;
-
-     private String gmv;
-     private String mtd;
-
-
-
-     public static List<SalesleadsInfoPojo> SalesleadsInfoPojoInit(List<Map<String,String>> dataList){
-
-         List<SalesleadsInfoPojo> list = new ArrayList<>();
-
-
-         for (Map map : dataList) {
-
-             map.forEach((key,value) ->{
-
-                 String k = key.toString();
-                 switch (k){
-                     case "卖家ID":
-
-                         map.remove("卖家ID");
-                         map.put("sellerId",value);
-                         break;
-
-                     case "粉丝数":
-
-                         map.remove("粉丝数");
-                         map.put("fansNumber",value);
-                         break;
-
-                 }
-
-
-             });
-
-
-         }
-
-
-
-
-
-
-         SalesleadsInfoPojo pojo = new SalesleadsInfoPojo();
-
-         list.add(pojo);
-         return list;
-     }
-
-
-
-
-
-}

+ 20 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/ISaleClueInfoService.java

@@ -0,0 +1,20 @@
+package com.ruixuan.salesLeads.service;
+
+import com.ruixuan.common.core.domain.ResultResponse;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: demo测试
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+public interface ISaleClueInfoService {
+
+
+    ResultResponse importSaleClueExcel(List<MultipartFile> files,int salesLeadsType,Long uploadDate,Long createUserId)throws Exception;
+}

+ 138 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/SaleClueInfoServiceImpl.java

@@ -0,0 +1,138 @@
+package com.ruixuan.salesLeads.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.ruixuan.common.core.domain.ResultResponse;
+import com.ruixuan.common.utils.PageUtils;
+import com.ruixuan.common.utils.StringUtils;
+import com.ruixuan.salesLeads.listener.ImportExcelListener;
+import com.ruixuan.salesLeads.mapper.SaleClueInfoMapper;
+import com.ruixuan.salesLeads.mapper.SaleQuotaInfoMapper;
+import com.ruixuan.salesLeads.mapper.TestMapper;
+import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleQuotaInfoPojo;
+import com.ruixuan.salesLeads.pojo.TestPojo;
+import com.ruixuan.salesLeads.service.ISaleClueInfoService;
+import com.ruixuan.salesLeads.service.ITestService;
+import com.ruixuan.system.domain.SysAreaInfo;
+import com.ruixuan.system.domain.SysIndustryInfo;
+import com.ruixuan.system.mapper.SysAreaInfoMapper;
+import com.ruixuan.system.mapper.SysIndustryInfoMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: demo测试
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+@Service
+@Slf4j
+public class SaleClueInfoServiceImpl implements ISaleClueInfoService {
+
+
+    @Autowired
+    private SaleClueInfoMapper saleClueInfoMapper;
+
+
+    @Autowired
+    private SaleQuotaInfoMapper saleQuotaInfoMapper;
+
+    @Autowired
+    private SysIndustryInfoMapper sysIndustryInfoMapper;
+
+    @Autowired
+    private SysAreaInfoMapper sysAreaInfoMapper;
+
+
+
+
+    @Override
+    public ResultResponse importSaleClueExcel(List<MultipartFile> files, int salesLeadsType, Long uploadDate, Long createUserId) throws Exception{
+
+
+        for (MultipartFile file : files) {
+            //读取Excel
+            EasyExcel.read(file.getInputStream(),null,
+                        new ImportExcelListener()).sheet().headRowNumber(1).doRead();
+
+
+            //结果集
+            List<Map<String,String>> dataList = ImportExcelListener.importDataList;
+
+            //头 信息
+            //Map<Integer, String> headList = ImportExcelListener.importHeadList;
+
+            //log.info("--结果shuju---{}",dataList);
+
+            //log.info("--结果表头---{}",headList);
+
+
+            List<SaleClueInfoPojo> clueList = new ArrayList<>();
+            List<SaleQuotaInfoPojo> quotaList = new ArrayList<>();
+            for (Map<String, String> dataMap : dataList) {
+                SaleClueInfoPojo clue = new SaleClueInfoPojo();
+                SaleQuotaInfoPojo quota = new SaleQuotaInfoPojo();
+
+                clue.setSalesLeadsType(salesLeadsType);
+                clue.setSellerId(Long.valueOf(dataMap.get("sellerId")));
+                clue.setSellerName(dataMap.get("sellerName"));
+                clue.setFans(Long.valueOf(dataMap.get("fans")));
+                clue.setTelephone(Long.valueOf(dataMap.get("telephone")));
+                clue.setProviderFlag(dataMap.get("providerFlag").equals("否") ? 0 : 1);
+                clue.setTransitionFlag(Integer.valueOf(dataMap.get("transitionFlag")));
+                clue.setCreateUserId(createUserId);
+
+                //查询行业
+                SysIndustryInfo industryInfo = sysIndustryInfoMapper.getIndustryInfoByName(dataMap.get("industryId"));
+                clue.setIndustryId(StringUtils.isNull(industryInfo) ? 0 : industryInfo.getId());
+
+                //根据城市查询 省市id
+                SysAreaInfo areaInfo = sysAreaInfoMapper.getAreaInfoByName(dataMap.get("cityId"));
+                clue.setProvinceId(areaInfo.getParentCode());
+                clue.setCityId(areaInfo.getCode());
+
+
+                quota.setNearlyThirtyDays(dataMap.get("NearlyThirtyDays"));
+                quota.setGmvMonth(Long.valueOf(dataMap.get("gmvMonth")));
+                quota.setGmv(dataMap.get("gmv"));
+
+                quota.setMtdDate(Long.valueOf(dataMap.get("mtdDate")));
+                quota.setMtd(dataMap.get("mtd"));
+                quota.setCreateUserId(createUserId);
+                quota.setSellerId(Long.valueOf(dataMap.get("sellerId")));
+
+
+
+                clueList.add(clue);
+                quotaList.add(quota);
+            }
+
+
+            saleClueInfoMapper.replaceSaleClueInfoBatch(clueList);
+            saleQuotaInfoMapper.replaceSaleQuotaInfoBatch(quotaList);
+
+
+
+
+            ImportExcelListener.importDataList.clear();
+            ImportExcelListener.importHeadList.clear();
+
+
+
+        }
+
+
+
+
+        return null;
+    }
+}

+ 47 - 9
ruixuan-salesLeads/src/main/java/com/ruixuan/salesLeads/listener/ImportExcelListener.java

@@ -55,31 +55,69 @@ public class ImportExcelListener extends AnalysisEventListener<Map<Integer, Stri
                         ObjectMap.put("sellerId",vlue);
                         break;
 
+
+                    case "卖家昵称":
+
+                        ObjectMap.put("sellerName",vlue);
+                        break;
+
+
                     case "粉丝数":
 
-                        ObjectMap.put("fansNumber",vlue);
+                        ObjectMap.put("fans",vlue);
+                        break;
+
+                    case "所属行业":
+
+                        ObjectMap.put("industryId",vlue);
+                        break;
+
+
+                    case "常驻省份":
+
+                        ObjectMap.put("provinceId",vlue);
+                        break;
+
+
+                    case "常驻城市":
+
+                        ObjectMap.put("cityId",vlue);
                         break;
 
 
+                    case "联系方式":
+
+                        ObjectMap.put("telephone",vlue);
+                        break;
+
+
+                    case "卖家是否绑定服务商":
+
+                        ObjectMap.put("providerFlag",StringUtils.isEmpty(vlue) ? "否" : vlue);
+                        break;
+
+                    case "是否跃迁":
+
+                        ObjectMap.put("transitionFlag",StringUtils.isEmpty(vlue) ? "0" : vlue);
+                        break;
+
                 }
 
-                if ((keyStr).contains("gmv")){
 
-                    String gmv = keyStr;
-                    System.out.println("==gmv=="+gmv);
+                if ((keyStr).contains("30天")){
+                    ObjectMap.put("NearlyThirtyDays",vlue);
+                }
 
+                if ((keyStr).contains("gmv")){
+                    ObjectMap.put("gmvMonth",keyStr.substring(0,keyStr.indexOf("gmv")));
                     ObjectMap.put("gmv",vlue);
                 }
 
                 if (keyStr.contains("mtd")){
-                    String mtd = keyStr;
-                    System.out.println("==mtd=="+mtd);
+                    ObjectMap.put("mtdDate",keyStr.substring(0,keyStr.indexOf("mtd")));
                     ObjectMap.put("mtd",vlue);
                 }
 
-
-
-
             }
         });
 

+ 57 - 0
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueInfoMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruixuan.salesLeads.mapper.SaleClueInfoMapper">
+
+
+	
+
+
+<!-- 批量新增销售线索-->
+	<insert id="replaceSaleClueInfoBatch">
+		replace into sale_clue_info(
+		sales_leads_type,
+		seller_id,
+		seller_name,
+		fans,
+		industry_id,
+		province_id,
+		city_id,
+		telephone,
+		provider_flag,
+		transition_flag,
+		upload_date,
+		distribution_sale_flag,
+		sale_id,
+		state,
+		offline_sale_flag,
+		create_user_id,
+		create_time)
+		values
+		<foreach collection="saleClueList" item="info" separator=",">
+			(
+			#{info.salesLeadsType},
+			#{info.sellerId},
+			#{info.sellerName},
+			#{info.fans},
+			#{info.industryId},
+			#{info.provinceId},
+			#{info.cityId},
+			#{info.telephone},
+			#{info.providerFlag},
+			#{info.transitionFlag},
+			#{info.uploadDate},
+			#{info.distributionSaleFlag},
+			#{info.saleId},
+			#{info.state},
+			#{info.offlineSaleFlag},
+			#{info.createUserId},
+			NOW()
+			)
+		</foreach>
+	</insert>
+
+
+
+</mapper> 

+ 40 - 0
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleQuotaInfoMapper.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruixuan.salesLeads.mapper.SaleQuotaInfoMapper">
+
+
+	
+
+
+<!-- 批量新增销售线索额度信息-->
+	<insert id="replaceSaleQuotaInfoBatch">
+		replace into sale_quota_info(
+
+		seller_id,
+		nearly_thirty_days,
+		gmv_month,
+		gmv,
+		mtd_date,
+		mtd,
+		create_user_id,
+		create_time)
+		values
+		<foreach collection="saleQuotaList" item="info" separator=",">
+			(
+			#{info.sellerId},
+			#{info.nearlyThirtyDays},
+			#{info.gmvMonth},
+			#{info.gmv},
+			#{info.mtdDate},
+			#{info.mtd},
+			#{info.createUserId},
+			NOW()
+			)
+		</foreach>
+	</insert>
+
+
+
+</mapper> 

+ 105 - 0
ruixuan-system/src/main/java/com/ruixuan/system/domain/SysAreaInfo.java

@@ -0,0 +1,105 @@
+package com.ruixuan.system.domain;
+
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 地区信息表
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+
+public class SysAreaInfo {
+
+
+    private Long id;
+
+    //地区名称
+    private String name;
+
+    private int code;
+
+    //父id
+    private int parentCode;
+
+
+    //级别
+    private int level;
+
+    private String createTime;
+
+    private String updateTime;
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public int getParentCode() {
+        return parentCode;
+    }
+
+    public void setParentCode(int parentCode) {
+        this.parentCode = parentCode;
+    }
+
+    public int getLevel() {
+        return level;
+    }
+
+    public void setLevel(int level) {
+        this.level = level;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    @Override
+    public String toString() {
+        return "SysAreaInfo{" +
+                    "id=" + id +
+                    ", name='" + name + '\'' +
+                    ", code=" + code +
+                    ", parentCode=" + parentCode +
+                    ", level=" + level +
+                    ", createTime=" + createTime +
+                    ", updateTime='" + updateTime + '\'' +
+                    '}';
+    }
+}

+ 96 - 0
ruixuan-system/src/main/java/com/ruixuan/system/domain/SysIndustryInfo.java

@@ -0,0 +1,96 @@
+package com.ruixuan.system.domain;
+
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 行业分类
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+
+public class SysIndustryInfo {
+
+
+    private int id;
+
+
+    //父id
+    private int parentId;
+
+
+    //行业名称
+    private String name;
+
+    //排序
+    private int sort;
+
+    private Long createUserId;
+
+    private String createTime;
+
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(int parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getSort() {
+        return sort;
+    }
+
+    public void setSort(int sort) {
+        this.sort = sort;
+    }
+
+    public Long getCreateUserId() {
+        return createUserId;
+    }
+
+    public void setCreateUserId(Long createUserId) {
+        this.createUserId = createUserId;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+
+    @Override
+    public String toString() {
+        return "SysIndustryInfo{" +
+                    "id=" + id +
+                    ", parentId=" + parentId +
+                    ", name=" + name +
+                    ", sort=" + sort +
+                    ", createUserId=" + createUserId +
+                    ", createTime='" + createTime + '\'' +
+                    '}';
+    }
+}

+ 22 - 0
ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysAreaInfoMapper.java

@@ -0,0 +1,22 @@
+package com.ruixuan.system.mapper;
+
+import com.ruixuan.system.domain.SysAreaInfo;
+import com.ruixuan.system.domain.SysIndustryInfo;
+
+/**
+ * 地区信息 数据层
+ * 
+ * @author zianY
+ */
+public interface SysAreaInfoMapper {
+
+
+    /**
+     * 根据地区名称查询信息
+     * 
+     * @return
+     */
+    public SysAreaInfo getAreaInfoByName(String name);
+
+
+}

+ 25 - 0
ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysIndustryInfoMapper.java

@@ -0,0 +1,25 @@
+package com.ruixuan.system.mapper;
+
+import com.ruixuan.common.core.domain.entity.SysDept;
+import com.ruixuan.system.domain.SysIndustryInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 行业分类 数据层
+ * 
+ * @author zianY
+ */
+public interface SysIndustryInfoMapper{
+
+
+    /**
+     * 根据行业名称查询信息
+     * 
+     * @return 行业名称
+     */
+    public SysIndustryInfo getIndustryInfoByName(String name);
+
+
+}

+ 17 - 0
ruixuan-system/src/main/resources/mapper/system/SysAreaMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruixuan.system.mapper.SysAreaInfoMapper">
+
+
+	<!-- 根据地区名称查询信息-->
+	<select id="getAreaInfoByName" resultType="com.ruixuan.system.domain.SysAreaInfo">
+		select * from sys_area_info
+		where name = #{name}
+		limit 1
+	</select>
+	
+
+
+</mapper> 

+ 17 - 0
ruixuan-system/src/main/resources/mapper/system/SysIndustryMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruixuan.system.mapper.SysIndustryInfoMapper">
+
+
+	<!-- 根据行业名称查询信息-->
+	<select id="getIndustryInfoByName" resultType="com.ruixuan.system.domain.SysIndustryInfo">
+		select * from sys_industry_info
+		where name = #{name}
+		limit 1
+	</select>
+	
+
+
+</mapper>