浏览代码

feat(小说打标签)

yang G 5 年之前
父节点
当前提交
b1729b6b2d
共有 20 个文件被更改,包括 921 次插入6 次删除
  1. 22 0
      pom.xml
  2. 61 0
      src/main/java/com/mokamrp/privates/controller/SetUserTagMainController.java
  3. 43 4
      src/main/java/com/mokamrp/privates/controller/WorkContactEmployeeController.java
  4. 16 0
      src/main/java/com/mokamrp/privates/entity/SetUserTagHandle.java
  5. 102 0
      src/main/java/com/mokamrp/privates/help/Analysis.java
  6. 21 0
      src/main/java/com/mokamrp/privates/help/MultipartResolverHelp.java
  7. 26 0
      src/main/java/com/mokamrp/privates/mapper/SetUserTagMainMapper.java
  8. 41 0
      src/main/java/com/mokamrp/privates/mapper/SetUserTagMainMapper.xml
  9. 26 0
      src/main/java/com/mokamrp/privates/mapper/SetUserTagMapper.java
  10. 58 0
      src/main/java/com/mokamrp/privates/mapper/SetUserTagMapper.xml
  11. 157 0
      src/main/java/com/mokamrp/privates/mapper/pojo/SetUserTag.java
  12. 118 0
      src/main/java/com/mokamrp/privates/mapper/pojo/SetUserTagMain.java
  13. 20 0
      src/main/java/com/mokamrp/privates/service/SetUserTagMainService.java
  14. 23 0
      src/main/java/com/mokamrp/privates/service/SetUserTagService.java
  15. 4 0
      src/main/java/com/mokamrp/privates/service/WorkContactEmployeeService.java
  16. 52 0
      src/main/java/com/mokamrp/privates/service/impl/SetUserTagMainServiceImpl.java
  17. 75 0
      src/main/java/com/mokamrp/privates/service/impl/SetUserTagServiceImpl.java
  18. 52 2
      src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java
  19. 2 0
      src/main/resources/application.properties
  20. 2 0
      src/main/resources/static/用户标签设置.xls

+ 22 - 0
pom.xml

@@ -129,6 +129,17 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.16</version>
+        </dependency>
+        <!--处理2007 excel-->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.16</version>
+        </dependency>
     </dependencies>
     <profiles>
         <!--        <profile>-->
@@ -173,6 +184,17 @@
                 </includes>
             </resource>
             <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.xlsx</include>
+                    <include>**/*.xls</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.*</exclude>
+                </excludes>
+                <filtering>false</filtering>
+            </resource>
+            <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**/*.*</include>

+ 61 - 0
src/main/java/com/mokamrp/privates/controller/SetUserTagMainController.java

@@ -0,0 +1,61 @@
+package com.mokamrp.privates.controller;
+
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.controller.BaseController;
+import com.mokamrp.privates.entity.SetUserTagHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pojo.User;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.SetUserTagMainService;
+import com.mokamrp.privates.mapper.pojo.SetUserTagMain;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+@RestController
+@RequestMapping("/setUserTagMain")
+public class SetUserTagMainController extends BaseController<SetUserTagMain> {
+
+    @Autowired
+    public SetUserTagMainService setUserTagMainService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    @RequestMapping("/list")
+    @ResponseBody
+    public Object setUserTagHistory(@AuthUser User authUser,
+                                    @Valid @RequestBody SetUserTagHandle handle, BindingResult bindingResult) {
+
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+
+        Map<String, Object> resMap = setUserTagMainService.searchList(handle,authUser);
+
+        return AjaxResult.success(resMap);
+    }
+
+
+
+}
+

+ 43 - 4
src/main/java/com/mokamrp/privates/controller/WorkContactEmployeeController.java

@@ -2,26 +2,28 @@ package com.mokamrp.privates.controller;
 
 
 import com.mokamrp.privates.constant.HttpStatus;
-import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
-import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
-import com.mokamrp.privates.entity.JobRedis;
-import com.mokamrp.privates.entity.JobWorkContactEmployeeRedis;
+import com.mokamrp.privates.entity.*;
 import com.mokamrp.privates.entity.job.ExportNovelRedis;
 import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.help.Analysis;
 import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.Downfile;
 import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.mokamrp.privates.service.DownfileService;
+import com.mokamrp.privates.service.SetUserTagService;
 import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.service.WorkContactEmployeeService;
 import com.mokamrp.privates.utils.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -50,6 +52,9 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
     @Autowired
     private DownfileService downfileService;
 
+    @Autowired
+    private SetUserTagService SetUserTagService;
+
     @PostMapping("/list")
     @ResponseBody
     public Object getList(
@@ -112,6 +117,40 @@ public class WorkContactEmployeeController extends BaseController<WorkContactEmp
 
     }
 
+    //接受文件上传
+    @RequestMapping("/setUserTagHistory")
+    @ResponseBody
+    public Object setUserTagHistory(@AuthUser User authUser,
+                                    @Valid @RequestBody SetUserTagHandle handle, BindingResult bindingResult) {
+
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+
+        Map<String, Object> resMap = SetUserTagService.searchList(handle,authUser);
+
+        return AjaxResult.success(resMap);
+    }
+
+    //接受文件上传
+    @RequestMapping("/upload")
+    @ResponseBody
+    public Object uploadFile(MultipartFile file,@AuthUser User authUser) {
+        Map<String, Object> map = new HashMap<>(16);
+        Map<Integer, String> feild = new HashMap<>(2);
+        feild.put(0,"fanId");
+        feild.put(1,"tagNames");
+
+        //调用工具类解析excel文件
+        System.out.println(file.getName());
+        List<Map<String,String>> row = Analysis.analysis(file,feild);
+        System.out.println(authUser.getId());
+        System.out.println(authUser.getName());
+        Map<String, Object> resMap = WorkContactEmployeeService.batchSetNovelFanTags(row,authUser);
+
+        return AjaxResult.success(resMap);
+    }
+
     @PostMapping("/hublist")
     @ResponseBody
     public Object hubList(

+ 16 - 0
src/main/java/com/mokamrp/privates/entity/SetUserTagHandle.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import java.util.List;
+
+@Data
+public class SetUserTagHandle {
+    @Min(value = 1,message = "页码错误")
+    private Integer pagesize;
+    @Min(value = 1,message = "页码错误")
+    private Integer page;
+
+    private Integer mainId;
+}

+ 102 - 0
src/main/java/com/mokamrp/privates/help/Analysis.java

@@ -0,0 +1,102 @@
+package com.mokamrp.privates.help;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author:huang
+ * @Date:2019-09-10 10:29
+ * @Description:excel文件解析类
+ */
+public class Analysis {
+
+    public Analysis() {
+        throw new Error("工具类不允许实例化!");
+    }
+
+    /**
+     * 获取并解析excel文件,返回一个二维集合
+     * @param file 上传的文件
+     * @return 二维集合(第一重集合为行,第二重集合为列,每一行包含该行的列集合,列集合包含该行的全部单元格的值)
+     */
+    public static ArrayList<Map<String,String>> analysis(MultipartFile file, Map<Integer, String> field) {
+
+        ArrayList<Map<String,String>> row = new ArrayList<>();
+        if(field.size()<=0){
+            return row;
+        }
+
+        //获取文件名称
+        String fileName = file.getOriginalFilename();
+        System.out.println(fileName);
+
+        try {
+            //获取输入流
+            InputStream in = file.getInputStream();
+            //判断excel版本
+            Workbook workbook = null;
+            if (judegExcelEdition(fileName)) {
+                workbook = new XSSFWorkbook(in);
+            } else {
+                workbook = new HSSFWorkbook(in);
+            }
+
+            //获取第一张工作表
+            Sheet sheet = workbook.getSheetAt(0);
+            //从第二行开始获取
+            for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
+                //循环获取工作表的每一行
+                Row sheetRow = sheet.getRow(i);
+                //循环获取每一列
+                Map<String,String> cell = new HashMap<>();
+                for (int j = 0; j < sheetRow.getPhysicalNumberOfCells(); j++) {
+                    //将每一个单元格的值装入列集合
+                    sheetRow.getCell(j).setCellType(CellType.STRING);
+                    if(j>=field.size()){
+                        break;
+                    }
+
+                    String tempKey = field.get(j);
+                    cell.put(tempKey,sheetRow.getCell(j).getStringCellValue());
+                }
+                //将装有每一列的集合装入大集合
+                row.add(cell);
+
+                //关闭资源
+                workbook.close();
+            }
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            System.out.println("===================未找到文件======================");
+        } catch (IOException e) {
+            e.printStackTrace();
+            System.out.println("===================上传失败======================");
+        }
+
+        return row;
+    }
+
+    /**
+     * 判断上传的excel文件版本(xls为2003,xlsx为2017)
+     * @param fileName 文件路径
+     * @return excel2007及以上版本返回true,excel2007以下版本返回false
+     */
+    private static boolean judegExcelEdition(String fileName){
+        if (fileName.matches("^.+\\.(?i)(xls)$")){
+            return false;
+        }else {
+            return true;
+        }
+
+    }
+}

+ 21 - 0
src/main/java/com/mokamrp/privates/help/MultipartResolverHelp.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.help;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.multipart.MultipartResolver;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+public class MultipartResolverHelp {
+
+    @Bean(name = "multipartResolver")
+    public MultipartResolver multipartResolver() {
+        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
+        resolver.setDefaultEncoding("UTF-8");
+        // resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
+        resolver.setResolveLazily(true);
+        resolver.setMaxInMemorySize(40960);
+        // 上传文件大小 5G
+        resolver.setMaxUploadSize(5 * 1024 * 1024 * 1024);
+        return resolver;
+    }
+
+}

+ 26 - 0
src/main/java/com/mokamrp/privates/mapper/SetUserTagMainMapper.java

@@ -0,0 +1,26 @@
+package com.mokamrp.privates.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.mapper.pojo.SetUserTag;
+import com.mokamrp.privates.mapper.pojo.SetUserTagMain;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+public interface SetUserTagMainMapper extends BaseMapper<SetUserTagMain> {
+
+    public List<Map<String, Object>> getList(@Param("ew") QueryWrapper<SetUserTagMain> queryWrapper, @Param("limit") Integer limit, @Param("offset") Integer offset);
+
+    public Integer getListTotal(@Param("ew") QueryWrapper<SetUserTagMain> queryWrapper);
+
+}

+ 41 - 0
src/main/java/com/mokamrp/privates/mapper/SetUserTagMainMapper.xml

@@ -0,0 +1,41 @@
+<?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.mokamrp.privates.mapper.SetUserTagMainMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pojo.SetUserTagMain">
+        <id column="id" property="id" />
+        <result column="createtime" property="createtime" />
+        <result column="updatetime" property="updatetime" />
+        <result column="auth_id" property="authId" />
+        <result column="auth_name" property="authName" />
+        <result column="success_num" property="successNum" />
+        <result column="total_num" property="totalNum" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, createtime, updatetime, auth_id, auth_name, success_num, total_num
+    </sql>
+
+    <select id="getList" resultType="map">
+        SELECT
+            *
+        FROM mc_set_user_tag_main
+        <where>
+            ${ew.sqlSegment}
+        </where>
+        order by id asc
+        LIMIT #{limit} offset #{offset}
+    </select>
+
+    <select id="getListTotal" resultType="Integer">
+        SELECT
+            count(*)
+        FROM mc_set_user_tag_main
+        <where>
+            ${ew.sqlSegment}
+        </where>
+    </select>
+
+</mapper>

+ 26 - 0
src/main/java/com/mokamrp/privates/mapper/SetUserTagMapper.java

@@ -0,0 +1,26 @@
+package com.mokamrp.privates.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.mapper.pojo.SetUserTag;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+public interface SetUserTagMapper extends BaseMapper<SetUserTag> {
+
+    public List<Map<String, Object>> getList(@Param("ew") QueryWrapper<SetUserTag> queryWrapper, @Param("limit") Integer limit,@Param("offset") Integer offset);
+
+    public Integer getListTotal(@Param("ew") QueryWrapper<SetUserTag> queryWrapper);
+
+}

+ 58 - 0
src/main/java/com/mokamrp/privates/mapper/SetUserTagMapper.xml

@@ -0,0 +1,58 @@
+<?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.mokamrp.privates.mapper.SetUserTagMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pojo.SetUserTag">
+        <id column="id" property="id" />
+        <result column="source_fan_id" property="sourceFanId" />
+        <result column="source_tag_names" property="sourceTagNames" />
+        <result column="tag_param" property="tagParam" />
+        <result column="createtime" property="createtime" />
+        <result column="updatetime" property="updatetime" />
+        <result column="auth_id" property="authId" />
+        <result column="auth_name" property="authName" />
+        <result column="status" property="status" />
+        <result column="msg" property="msg" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, source_fan_id, source_tag_names, tag_param, createtime, updatetime, auth_id, auth_name, status, tag_name_param,msg
+    </sql>
+
+    <select id="getList" resultType="map">
+        SELECT
+            a.id,
+            a.`source_fan_id`   AS sourceFanId,
+            a.`source_tag_names`   AS sourceTagNames,
+            a.createtime,
+            a.`status`,
+            a.`msg`,
+            a.`keyword`,
+            a.`auth_name` as authName,
+            c.`name` as companyName,
+            a.tag_name_param,
+            a.updatetime
+        FROM mc_set_user_tag AS a
+        LEFT JOIN mc_work_contact_employee AS b ON a.source_fan_id = b.id
+        LEFT JOIN mc_corp AS c ON c.id = b.corp_id
+        <where>
+            ${ew.sqlSegment}
+        </where>
+        order by a.id asc
+        LIMIT #{limit} offset #{offset}
+    </select>
+
+    <select id="getListTotal" resultType="Integer">
+        SELECT
+            count(*)
+        FROM mc_set_user_tag as a
+        <where>
+            ${ew.sqlSegment}
+        </where>
+    </select>
+
+
+
+</mapper>

+ 157 - 0
src/main/java/com/mokamrp/privates/mapper/pojo/SetUserTag.java

@@ -0,0 +1,157 @@
+package com.mokamrp.privates.mapper.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+@TableName("mc_set_user_tag")
+public class SetUserTag extends Model<SetUserTag> {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer sourceFanId;
+
+    private String sourceTagNames;
+
+    private String tagParam;
+
+    private LocalDateTime createtime;
+
+    private LocalDateTime updatetime;
+
+    private Integer authId;
+
+    private String authName;
+
+    /**
+     * 0进行中 1-成功 2-失败
+     */
+    private Integer status;
+
+    private String msg;
+
+    private String tagNameParam;
+
+    public String getTagNameParam() {
+        return tagNameParam;
+    }
+
+    public void setTagNameParam(String tagNameParam) {
+        this.tagNameParam = tagNameParam;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getSourceFanId() {
+        return sourceFanId;
+    }
+
+    public void setSourceFanId(Integer sourceFanId) {
+        this.sourceFanId = sourceFanId;
+    }
+
+    public String getSourceTagNames() {
+        return sourceTagNames;
+    }
+
+    public void setSourceTagNames(String sourceTagNames) {
+        this.sourceTagNames = sourceTagNames;
+    }
+
+    public String getTagParam() {
+        return tagParam;
+    }
+
+    public void setTagParam(String tagParam) {
+        this.tagParam = tagParam;
+    }
+
+    public LocalDateTime getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(LocalDateTime createtime) {
+        this.createtime = createtime;
+    }
+
+    public LocalDateTime getUpdatetime() {
+        return updatetime;
+    }
+
+    public void setUpdatetime(LocalDateTime updatetime) {
+        this.updatetime = updatetime;
+    }
+
+    public Integer getAuthId() {
+        return authId;
+    }
+
+    public void setAuthId(Integer authId) {
+        this.authId = authId;
+    }
+
+    public String getAuthName() {
+        return authName;
+    }
+
+    public void setAuthName(String authName) {
+        this.authName = authName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "SetUserTag{" +
+        "id=" + id +
+        ", sourceFanId=" + sourceFanId +
+        ", sourceTagNames=" + sourceTagNames +
+        ", tagParam=" + tagParam +
+        ", createtime=" + createtime +
+        ", updatetime=" + updatetime +
+        ", authId=" + authId +
+        ", authName=" + authName +
+        ", status=" + status +
+        ", msg=" + msg +
+        "}";
+    }
+}

+ 118 - 0
src/main/java/com/mokamrp/privates/mapper/pojo/SetUserTagMain.java

@@ -0,0 +1,118 @@
+package com.mokamrp.privates.mapper.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+@TableName("mc_set_user_tag_main")
+public class SetUserTagMain extends Model<SetUserTagMain> {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private LocalDateTime createtime;
+
+    private LocalDateTime updatetime;
+
+    private Integer authId;
+
+    private String authName;
+
+    /**
+     * 成功
+     */
+    private Integer successNum;
+
+    /**
+     * 所有
+     */
+    private Integer totalNum;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public LocalDateTime getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(LocalDateTime createtime) {
+        this.createtime = createtime;
+    }
+
+    public LocalDateTime getUpdatetime() {
+        return updatetime;
+    }
+
+    public void setUpdatetime(LocalDateTime updatetime) {
+        this.updatetime = updatetime;
+    }
+
+    public Integer getAuthId() {
+        return authId;
+    }
+
+    public void setAuthId(Integer authId) {
+        this.authId = authId;
+    }
+
+    public String getAuthName() {
+        return authName;
+    }
+
+    public void setAuthName(String authName) {
+        this.authName = authName;
+    }
+
+    public Integer getSuccessNum() {
+        return successNum;
+    }
+
+    public void setSuccessNum(Integer successNum) {
+        this.successNum = successNum;
+    }
+
+    public Integer getTotalNum() {
+        return totalNum;
+    }
+
+    public void setTotalNum(Integer totalNum) {
+        this.totalNum = totalNum;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "SetUserTagMain{" +
+        "id=" + id +
+        ", createtime=" + createtime +
+        ", updatetime=" + updatetime +
+        ", authId=" + authId +
+        ", authName=" + authName +
+        ", successNum=" + successNum +
+        ", totalNum=" + totalNum +
+        "}";
+    }
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/service/SetUserTagMainService.java

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.service;
+
+import com.mokamrp.privates.entity.SetUserTagHandle;
+import com.mokamrp.privates.mapper.pojo.SetUserTagMain;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.pojo.User;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+public interface SetUserTagMainService extends IService<SetUserTagMain> {
+    public Map<String, Object> searchList(SetUserTagHandle handle, User authUser);
+}

+ 23 - 0
src/main/java/com/mokamrp/privates/service/SetUserTagService.java

@@ -0,0 +1,23 @@
+package com.mokamrp.privates.service;
+
+import com.mokamrp.privates.entity.SetUserTagHandle;
+import com.mokamrp.privates.mapper.pojo.SetUserTag;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.pojo.User;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+public interface SetUserTagService extends IService<SetUserTag> {
+
+    public Map<String, Object> searchList(SetUserTagHandle handle, User authUser);
+
+}

+ 4 - 0
src/main/java/com/mokamrp/privates/service/WorkContactEmployeeService.java

@@ -3,7 +3,9 @@ package com.mokamrp.privates.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
+import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.Downfile;
+import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeHubVo;
 
@@ -24,6 +26,8 @@ public interface WorkContactEmployeeService extends IService<WorkContactEmployee
 
     public Map<String, Object> getHubPageList(HubWorkContactEmployeeHandle handle);
 
+    public Map<String, Object> batchSetNovelFanTags(List<Map<String,String>> row, User authUser);
+
     public Map<String, Object> getCronHubPageList();
 
     public void export(Downfile downFile,GetWorkContactEmployeeHandle handle);

+ 52 - 0
src/main/java/com/mokamrp/privates/service/impl/SetUserTagMainServiceImpl.java

@@ -0,0 +1,52 @@
+package com.mokamrp.privates.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.entity.SetUserTagHandle;
+import com.mokamrp.privates.mapper.SetUserTagMapper;
+import com.mokamrp.privates.mapper.pojo.SetUserTag;
+import com.mokamrp.privates.mapper.pojo.SetUserTagMain;
+import com.mokamrp.privates.mapper.SetUserTagMainMapper;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.SetUserTagMainService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.utils.PageUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+@Service
+public class SetUserTagMainServiceImpl extends ServiceImpl<SetUserTagMainMapper, SetUserTagMain> implements SetUserTagMainService {
+
+    @Autowired
+    private SetUserTagMainMapper mapperObj;
+
+    public Map<String, Object> searchList(SetUserTagHandle handle, User authUser){
+
+        Map<String, Object> resMap = new HashMap<String, Object>();
+        resMap.put("list", null);
+        resMap.put("total", 0);
+
+        QueryWrapper<SetUserTagMain> obj = new QueryWrapper<SetUserTagMain>();
+        obj.eq("auth_id",authUser.getId());
+
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
+        List<Map<String,Object>> list = mapperObj.getList(obj,handle.getPagesize(),offset);
+        System.out.println(list);
+        Integer total = mapperObj.getListTotal(obj);
+        System.out.println(total);
+        resMap.put("list",list);
+        resMap.put("total",total);
+        return resMap;
+    }
+}

+ 75 - 0
src/main/java/com/mokamrp/privates/service/impl/SetUserTagServiceImpl.java

@@ -0,0 +1,75 @@
+package com.mokamrp.privates.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.entity.SetUserTagHandle;
+import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
+import com.mokamrp.privates.mapper.pojo.SetUserTag;
+import com.mokamrp.privates.mapper.SetUserTagMapper;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
+import com.mokamrp.privates.service.SetUserTagService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.utils.PageUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author gy
+ * @since 2021-06-22
+ */
+@Service
+public class SetUserTagServiceImpl extends ServiceImpl<SetUserTagMapper, SetUserTag> implements SetUserTagService {
+
+    @Autowired
+    private SetUserTagMapper mapperObj;
+
+    @Override
+    public Map<String, Object> searchList(SetUserTagHandle handle, User authUser) {
+
+        Map<String, Object> resMap = new HashMap<String, Object>();
+        resMap.put("list", null);
+        resMap.put("total", 0);
+
+        QueryWrapper<SetUserTag> obj = new QueryWrapper<SetUserTag>();
+        obj.eq("a.auth_id",authUser.getId());
+
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
+        List<Map<String,Object>> list = mapperObj.getList(obj,handle.getPagesize(),offset);
+        System.out.println(list);
+        Integer total = mapperObj.getListTotal(obj);
+        System.out.println(total);
+        resMap.put("list",list);
+        resMap.put("total",total);
+
+        return resMap;
+    }
+
+    public Map<String, Object> get(SetUserTagHandle handle, User authUser) {
+
+        Map<String, Object> resMap = new HashMap<String, Object>();
+        resMap.put("list", null);
+        resMap.put("total", 0);
+
+        QueryWrapper<SetUserTag> obj = new QueryWrapper<SetUserTag>();
+        obj.eq("a.auth_id",authUser.getId());
+
+        Integer offset = PageUtil.getOffset(handle.getPage(),handle.getPagesize());
+        List<Map<String,Object>> list = mapperObj.getList(obj,handle.getPagesize(),offset);
+        System.out.println(list);
+        Integer total = mapperObj.getListTotal(obj);
+        System.out.println(total);
+        resMap.put("list",list);
+        resMap.put("total",total);
+
+        return resMap;
+    }
+
+}

+ 52 - 2
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -11,13 +11,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.config.OSSConfiguration;
 import com.mokamrp.privates.entity.GetWorkContactEmployeeHandle;
 import com.mokamrp.privates.entity.HubWorkContactEmployeeHandle;
+import com.mokamrp.privates.entity.SetUserCorpsHandle;
 import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.DownfileMapper;
 import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
-import com.mokamrp.privates.mapper.pojo.Downfile;
-import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
+import com.mokamrp.privates.mapper.pojo.*;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeHubVo;
 import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
+import com.mokamrp.privates.service.DownfileService;
+import com.mokamrp.privates.service.SetUserTagMainService;
+import com.mokamrp.privates.service.SetUserTagService;
 import com.mokamrp.privates.service.WorkContactEmployeeService;
 import com.mokamrp.privates.utils.OssFile;
 import com.mokamrp.privates.utils.PageUtil;
@@ -51,6 +55,11 @@ import java.util.stream.Collectors;
 @Service
 public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmployeeMapper, WorkContactEmployee> implements WorkContactEmployeeService {
 
+    @Autowired
+    private SetUserTagService setUserTagService;
+
+    @Autowired
+    private SetUserTagMainService SetUserTagMainService;
 
     @Autowired
     private OSS ossClient;
@@ -61,6 +70,7 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     @Autowired
     private OSSConfiguration ossConfiguration;
 
+
     @Autowired
     private WorkContactEmployeeMapper mapperObj;
 
@@ -103,6 +113,46 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     }
 
     @Override
+    public Map<String, Object> batchSetNovelFanTags(List<Map<String,String>> row, User authUser) {
+
+        Map<String,Object> res = new HashMap<String,Object>();
+
+        if(row.size() <= 0){
+            return res;
+        }
+
+        Collection<SetUserTag> entityList = new ArrayList<SetUserTag>();
+        SetUserTagMain mainObj = new SetUserTagMain();
+        for (int i = 0;i<row.size();i++) {
+            Map<String, String> cell = row.get(i);
+            SetUserTag obj = new SetUserTag();
+
+            Integer fanId = Integer.valueOf(row.get(i).get("fanId"));
+            String tagNames = row.get(i).get("tagNames");
+
+            String[] tagNameArrs = tagNames.split("、");
+            JSONArray jsonArray=new JSONArray(Arrays.asList(tagNameArrs));
+
+            obj.setTagNameParam(jsonArray.toString());
+            obj.setAuthId(authUser.getId());
+            obj.setAuthName(authUser.getName());
+            obj.setSourceFanId(fanId);
+            obj.setSourceTagNames(tagNames);
+            //查找指定的标签
+            entityList.add(obj);
+        }
+
+        setUserTagService.saveBatch(entityList);
+        mainObj.setAuthId(authUser.getId());
+        mainObj.setAuthName(authUser.getName());
+        mainObj.setTotalNum(entityList.size());
+        SetUserTagMainService.save(mainObj);
+
+        return null;
+    }
+
+
+    @Override
     public Map<String, Object> getHubPageList(HubWorkContactEmployeeHandle handle) {
 
         List<Map<String,Object>> resList = new ArrayList<Map<String,Object>>();

+ 2 - 0
src/main/resources/application.properties

@@ -1,6 +1,8 @@
 spring.application.name=moka-private
 server.port=8085
 spring.jackson.time-zone= GMT+8
+spring.resources.static-locations=classpath:static/
+spring.http.encoding.force=true
 
 server.servlet.context-path=/private
 spring.profiles.active=${profileActive}

+ 2 - 0
src/main/resources/static/用户标签设置.xls

@@ -0,0 +1,2 @@
+用户id(阿拉伯)	标签(、隔开,保证用户id所在主体存在标签)
+112	周一、年费