Jelajahi Sumber

新增Excel导入失败记录处理

王苗苗 1 bulan lalu
induk
melakukan
a7f900c8f6

+ 21 - 0
slibra-admin/src/main/java/com/slibra/web/controller/business/ExcelController.java

@@ -12,6 +12,7 @@ import com.slibra.business.res.UserExcelInfo;
 import com.slibra.business.service.IFrontService;
 import com.slibra.common.core.controller.BaseController;
 import com.slibra.common.core.domain.AjaxResult;
+import com.slibra.common.core.domain.R;
 import com.slibra.common.core.domain.entity.SysUser;
 import com.slibra.common.exception.ServiceException;
 import com.slibra.common.utils.StringUtils;
@@ -65,6 +66,9 @@ public class ExcelController extends BaseController {
     @Autowired
     private TUserInfoMapper tUserInfoMapper;
 
+    @Autowired
+    private TImportFailMapper tiImportFailMapper;
+
 
 
     public static void main(String[] args) {
@@ -266,11 +270,28 @@ public class ExcelController extends BaseController {
     }
 
 
+    /**
+     *
+     * 前端上传一个Excel数据,获取到里面的用户编号和手机号,通过编号查询用户然后再更新手机号;同时把查询失败的用户记录下来,写成文件,返回给前端。
+     *
+     *
+     */
 
 
 
 
 
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @GetMapping("/getImportFailList")
+    public R<List<TImportFail>> getImportFailList()
+    {
+         return R.ok(tiImportFailMapper.selectTImportFailList(null));
+    }
+
+
+
 
 
 }

+ 83 - 0
slibra-system/src/main/java/com/slibra/business/domain/TImportFail.java

@@ -0,0 +1,83 @@
+package com.slibra.business.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.slibra.common.annotation.Excel;
+import com.slibra.common.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】对象 t_import_fail
+ * 
+ * @author slibra
+ * @date 2025-01-14
+ */
+public class TImportFail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long id;
+
+    /** 失败内容(JSON格式) */
+    @Excel(name = "失败内容", readConverterExp = "J=SON格式")
+    private String content;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private Long delFlag;
+
+    /** 乐观锁 */
+    @Excel(name = "乐观锁")
+    private Long revision;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setDelFlag(Long delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag() 
+    {
+        return delFlag;
+    }
+    public void setRevision(Long revision) 
+    {
+        this.revision = revision;
+    }
+
+    public Long getRevision() 
+    {
+        return revision;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("content", getContent())
+            .append("delFlag", getDelFlag())
+            .append("revision", getRevision())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TImportFailMapper.java

@@ -0,0 +1,61 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+import com.slibra.business.domain.TImportFail;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ * 
+ * @author slibra
+ * @date 2025-01-14
+ */
+public interface TImportFailMapper 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    public TImportFail selectTImportFailById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<TImportFail> selectTImportFailList(TImportFail tImportFail);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertTImportFail(TImportFail tImportFail);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateTImportFail(TImportFail tImportFail);
+
+    /**
+     * 删除【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteTImportFailById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTImportFailByIds(Long[] ids);
+}

+ 61 - 0
slibra-system/src/main/java/com/slibra/business/service/ITImportFailService.java

@@ -0,0 +1,61 @@
+package com.slibra.business.service;
+
+import java.util.List;
+import com.slibra.business.domain.TImportFail;
+
+/**
+ * 【请填写功能名称】Service接口
+ * 
+ * @author slibra
+ * @date 2025-01-14
+ */
+public interface ITImportFailService 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    public TImportFail selectTImportFailById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<TImportFail> selectTImportFailList(TImportFail tImportFail);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertTImportFail(TImportFail tImportFail);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateTImportFail(TImportFail tImportFail);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果
+     */
+    public int deleteTImportFailByIds(Long[] ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteTImportFailById(Long id);
+}

+ 96 - 0
slibra-system/src/main/java/com/slibra/business/service/impl/TImportFailServiceImpl.java

@@ -0,0 +1,96 @@
+package com.slibra.business.service.impl;
+
+import java.util.List;
+import com.slibra.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.slibra.business.mapper.TImportFailMapper;
+import com.slibra.business.domain.TImportFail;
+import com.slibra.business.service.ITImportFailService;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ * 
+ * @author slibra
+ * @date 2025-01-14
+ */
+@Service
+public class TImportFailServiceImpl implements ITImportFailService 
+{
+    @Autowired
+    private TImportFailMapper tImportFailMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public TImportFail selectTImportFailById(Long id)
+    {
+        return tImportFailMapper.selectTImportFailById(id);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<TImportFail> selectTImportFailList(TImportFail tImportFail)
+    {
+        return tImportFailMapper.selectTImportFailList(tImportFail);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertTImportFail(TImportFail tImportFail)
+    {
+        tImportFail.setCreateTime(DateUtils.getNowDate());
+        return tImportFailMapper.insertTImportFail(tImportFail);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param tImportFail 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateTImportFail(TImportFail tImportFail)
+    {
+        tImportFail.setUpdateTime(DateUtils.getNowDate());
+        return tImportFailMapper.updateTImportFail(tImportFail);
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTImportFailByIds(Long[] ids)
+    {
+        return tImportFailMapper.deleteTImportFailByIds(ids);
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTImportFailById(Long id)
+    {
+        return tImportFailMapper.deleteTImportFailById(id);
+    }
+}

+ 90 - 0
slibra-system/src/main/resources/mapper/business/TImportFailMapper.xml

@@ -0,0 +1,90 @@
+<?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.slibra.business.mapper.TImportFailMapper">
+    
+    <resultMap type="TImportFail" id="TImportFailResult">
+        <result property="id"    column="id"    />
+        <result property="content"    column="content"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="revision"    column="revision"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectTImportFailVo">
+        select id, content, del_flag, revision, create_by, create_time, update_by, update_time, remark from t_import_fail
+    </sql>
+
+    <select id="selectTImportFailList" parameterType="TImportFail" resultMap="TImportFailResult">
+        <include refid="selectTImportFailVo"/>
+        <where>
+            1 = 1
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="revision != null "> and revision = #{revision}</if>
+        </where>
+        and del_flag = 0 order by id desc
+    </select>
+    
+    <select id="selectTImportFailById" parameterType="Long" resultMap="TImportFailResult">
+        <include refid="selectTImportFailVo"/>
+        where id = #{id} and del_flag = 0
+    </select>
+        
+    <insert id="insertTImportFail" parameterType="TImportFail" useGeneratedKeys="true" keyProperty="id">
+        insert into t_import_fail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="content != null">content,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="revision != null">revision,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="content != null">#{content},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="revision != null">#{revision},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTImportFail" parameterType="TImportFail">
+        update t_import_fail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="content != null">content = #{content},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="revision != null">revision = #{revision},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        ,revision = revision + 1
+        where id = #{id}
+    </update>
+
+    
+
+    <delete id="deleteTImportFailById" parameterType="Long">
+        update t_import_fail set del_flag = 2,revision = revision + 1 where del_flag = 0 and id = #{id}
+    </delete>
+
+    <delete id="deleteTImportFailByIds" parameterType="String">
+        update t_import_fail set del_flag = 2,revision = revision + 1 where del_flag = 0 and id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>