Просмотр исходного кода

客户档案日志修改新增日志

anderx 1 год назад
Родитель
Сommit
366ceb4ab3

+ 74 - 7
src/main/java/com/goafanti/common/dao/UserDataLogMapper.java

@@ -2,21 +2,88 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.UserDataLog;
 import com.goafanti.customer.bo.OutUserDateLogList;
+import org.apache.ibatis.annotations.Param;
 
+import java.awt.print.Pageable;
 import java.util.List;
 
+/**
+ * 用户信息日志(UserDataLog)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-09-29 09:52:13
+ */
 public interface UserDataLogMapper {
-    int deleteByPrimaryKey(Integer id);
 
-    int insert(UserDataLog record);
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    UserDataLog queryById(Integer id);
 
-    int insertSelective(UserDataLog record);
 
-    UserDataLog selectByPrimaryKey(Integer id);
+    /**
+     * 查询指定行数据
+     *
+     * @param userDataLog 查询条件
+     * @param pageable    分页对象
+     * @return 对象列表
+     */
+    List<UserDataLog> findUserDataLogList(UserDataLog userDataLog, @Param("pageable") Pageable pageable);
 
-    int updateByPrimaryKeySelective(UserDataLog record);
+    /**
+     * 统计总行数
+     *
+     * @param userDataLog 查询条件
+     * @return 总行数
+     */
+    int findUserDataLogCount(UserDataLog userDataLog);
+
+    /**
+     * 新增数据
+     *
+     * @param userDataLog 实例对象
+     * @return 影响行数
+     */
+    int insert(UserDataLog userDataLog);
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<UserDataLog> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<UserDataLog> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<UserDataLog> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<UserDataLog> entities);
+
+    /**
+     * 修改数据
+     *
+     * @param userDataLog 实例对象
+     * @return 影响行数
+     */
+    int update(UserDataLog userDataLog);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
 
-    int updateByPrimaryKey(UserDataLog record);
 
     List<OutUserDateLogList> userDateLogList(String uid);
-}
+
+}
+

+ 138 - 82
src/main/java/com/goafanti/common/mapper/UserDataLogMapper.xml

@@ -1,85 +1,141 @@
 <?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.goafanti.common.dao.UserDataLogMapper">
-  <resultMap id="BaseResultMap" type="com.goafanti.common.model.UserDataLog">
-    <id column="id" jdbcType="INTEGER" property="id" />
-    <result column="uid" jdbcType="VARCHAR" property="uid" />
-    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
-    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, `uid`, create_time, remarks
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from user_data_log
-    where id = #{id,jdbcType=INTEGER}
-  </select>
-
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-    delete from user_data_log
-    where id = #{id,jdbcType=INTEGER}
-  </delete>
-  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.UserDataLog" useGeneratedKeys="true">
-    insert into user_data_log (`uid`, create_time, remarks
-      )
-    values (#{uid,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}
-      )
-  </insert>
-  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.UserDataLog" useGeneratedKeys="true">
-    insert into user_data_log
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="uid != null">
-        `uid`,
-      </if>
-      <if test="createTime != null">
-        create_time,
-      </if>
-      <if test="remarks != null">
-        remarks,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="uid != null">
-        #{uid,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="remarks != null">
-        #{remarks,jdbcType=VARCHAR},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.UserDataLog">
-    update user_data_log
-    <set>
-      <if test="uid != null">
-        `uid` = #{uid,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        create_time = #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="remarks != null">
-        remarks = #{remarks,jdbcType=VARCHAR},
-      </if>
-    </set>
-    where id = #{id,jdbcType=INTEGER}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.UserDataLog">
-    update user_data_log
-    set `uid` = #{uid,jdbcType=VARCHAR},
-      create_time = #{createTime,jdbcType=TIMESTAMP},
-      remarks = #{remarks,jdbcType=VARCHAR}
-    where id = #{id,jdbcType=INTEGER}
-  </update>
-
-  <select id="userDateLogList" resultType="com.goafanti.customer.bo.OutUserDateLogList">
-    select id,uid,remarks ,create_time ,
-    date_format(create_time ,'%Y-%m-%d %H:%i:%s')createTimes
-    from user_data_log
-    where uid= #{uid}
-    order by create_time desc
-  </select>
-</mapper>
+
+    <resultMap type="com.goafanti.common.model.UserDataLog" id="UserDataLogMap">
+        <result property="id" column="id" jdbcType="INTEGER"/>
+        <result property="uid" column="uid" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
+        <result property="type" column="type" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="UserDataLogAllSql">
+        id, uid, create_time, remarks, type
+    </sql>
+
+    <!--查询单个-->
+    <select id="queryById" resultMap="UserDataLogMap">
+        select
+        <include refid="UserDataLogAllSql"/>
+        from user_data_log
+        where id = #{id}
+    </select>
+
+    <!--查询指定行数据-->
+    <select id="findUserDataLogList" resultMap="UserDataLogMap">
+        select
+        <include refid="UserDataLogAllSql"/>
+
+        from user_data_log
+        <where>
+            <if test="id != null">
+                and id = #{id}
+            </if>
+            <if test="uid != null and uid != ''">
+                and uid = #{uid}
+            </if>
+            <if test="createTime != null">
+                and create_time = #{createTime}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                and remarks = #{remarks}
+            </if>
+            <if test="type != null">
+                and type = #{type}
+            </if>
+        </where>
+        <if test="page_sql != null">
+            ${page_sql}
+        </if>
+    </select>
+
+    <!--统计总行数-->
+    <select id="findUserDataLogCount" resultType="java.lang.Integer">
+        select count(1)
+        from user_data_log
+        <where>
+            <if test="id != null">
+                and id = #{id}
+            </if>
+            <if test="uid != null and uid != ''">
+                and uid = #{uid}
+            </if>
+            <if test="createTime != null">
+                and create_time = #{createTime}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                and remarks = #{remarks}
+            </if>
+            <if test="type != null">
+                and type = #{type}
+            </if>
+        </where>
+    </select>
+
+    <!--新增所有列-->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
+        insert into user_data_log(uid, create_time, remarks, type)
+        values (#{uid}, #{createTime}, #{remarks}, #{type})
+    </insert>
+
+    <insert id="insertBatch">
+        insert into user_data_log(uid, create_time, remarks, type)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.uid}, #{entity.createTime}, #{entity.remarks}, #{entity.type})
+        </foreach>
+    </insert>
+
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into user_data_log(uid, create_time, remarks, type)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.uid}, #{entity.createTime}, #{entity.remarks}, #{entity.type})
+        </foreach>
+        on duplicate key update
+        uid = values(uid),
+        create_time = values(create_time),
+        remarks = values(remarks),
+        type = values(type)
+    </insert>
+
+    <!--通过主键修改数据-->
+    <update id="update">
+        update user_data_log
+        <set>
+            <if test="uid != null and uid != ''">
+                uid = #{uid},
+            </if>
+            <if test="createTime != null">
+                create_time = #{createTime},
+            </if>
+            <if test="remarks != null and remarks != ''">
+                remarks = #{remarks},
+            </if>
+            <if test="type != null">
+                type = #{type},
+            </if>
+        </set>
+        where id = #{id}
+    </update>
+
+    <!--通过主键删除-->
+    <delete id="deleteById">
+        delete
+        from user_data_log
+        where id = #{id}
+    </delete>
+
+
+
+    <select id="userDateLogList" resultType="com.goafanti.customer.bo.OutUserDateLogList">
+        select id,uid,remarks ,create_time ,
+               date_format(create_time ,'%Y-%m-%d %H:%i:%s')createTimes
+        from user_data_log
+        where uid= #{uid}
+        order by create_time desc
+    </select>
+
+</mapper>
+

+ 32 - 9
src/main/java/com/goafanti/common/model/UserDataLog.java

@@ -3,39 +3,52 @@ package com.goafanti.common.model;
 import java.io.Serializable;
 import java.util.Date;
 
+
 /**
- * user_data_log
- * @author 
+ * 用户信息日志(UserDataLog)实体类
+ *
+ * @author makejava
+ * @since 2024-09-29 09:52:13
  */
 public class UserDataLog implements Serializable {
+    private static final long serialVersionUID = 804604822835019319L;
     /**
      * 日志编号
      */
     private Integer id;
-
     /**
      * 用户ID
      */
     private String uid;
-
     /**
      * 创建时间
      */
     private Date createTime;
-
     /**
      * 备注
      */
     private String remarks;
-
-    public UserDataLog(){}
+    /**
+     * 分类 0=主营产品,1=财务数据,2=前期沟通,3=面谈思路及目的
+     */
+    private Integer type;
 
     public UserDataLog(String uid,String remarks){
         setUid(uid);
         setRemarks(remarks);
+        setType(0);
+        setCreateTime(new Date());
+    }
+
+    public UserDataLog(String uid,String remarks,Integer type){
+        setUid(uid);
+        setRemarks(remarks);
+        setType(type);
+        setCreateTime(new Date());
     }
 
-    private static final long serialVersionUID = 1L;
+    public UserDataLog() {
+    }
 
     public Integer getId() {
         return id;
@@ -68,4 +81,14 @@ public class UserDataLog implements Serializable {
     public void setRemarks(String remarks) {
         this.remarks = remarks;
     }
-}
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+}
+

+ 1 - 1
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -640,7 +640,7 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		StringBuffer str=new StringBuffer(a.getName()).append("修改了主营产品");
 		if (useBusinnessScope==null){useBusinnessScope="无";}
 		str.append("[").append(useBusinnessScope).append("=> ").append(businnessScope).append("]");
-		userDataLogMapper.insertSelective(new UserDataLog(uid,str.toString()));
+		userDataLogMapper.insert(new UserDataLog(uid,str.toString()));
 	}
 
 	public Double countIntegrity(CustomerOrganizationDetailBo bo) {

+ 28 - 4
src/main/java/com/goafanti/customer/service/impl/UserArchivesServiceImpl.java

@@ -1,9 +1,6 @@
 package com.goafanti.customer.service.impl;
 
-import com.goafanti.common.dao.UserArchivesMapper;
-import com.goafanti.common.dao.UserLimitCheckMapper;
-import com.goafanti.common.dao.UserMapper;
-import com.goafanti.common.dao.UserMidMapper;
+import com.goafanti.common.dao.*;
 import com.goafanti.common.model.*;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -16,6 +13,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -39,6 +37,10 @@ public class UserArchivesServiceImpl extends BaseMybatisDao< UserArchivesMapper>
     private UserMidMapper userMidMapper;
     @Resource
     private UserLimitCheckMapper userLimitCheckMapper;
+    @Resource
+    private AdminMapper adminMapper;
+    @Resource
+    private UserDataLogMapper userDataLogMapper;
     
     
     @Override
@@ -175,6 +177,28 @@ public class UserArchivesServiceImpl extends BaseMybatisDao< UserArchivesMapper>
 
     }
 
+    private void addUserLog(UserArchives userArchives) {
+        UserArchives use = userArchivesMapper.queryById(userArchives.getId());
+        Admin admin = adminMapper.selectByPrimaryKey(TokenManager.getAdminId());
+        List<UserDataLog> list =new ArrayList<>();
+        if(userArchives.getFinancialData()!=null&&!use.getFinancialData().equals(userArchives.getFinancialData())){
+            String builder = admin.getName() + "修改了财务数据: " + use.getFinancialData() + "=>" + userArchives.getFinancialData();
+            UserDataLog userDataLog = new UserDataLog(userArchives.getUid(), builder,1);
+            list.add(userDataLog);
+        }
+        if (userArchives.getEarlyCommunication()!=null&&!use.getEarlyCommunication().equals(userArchives.getEarlyCommunication())){
+            String builder = admin.getName() + "修改了前期沟通: " + use.getEarlyCommunication() + "=>" + userArchives.getEarlyCommunication();
+            UserDataLog userDataLog = new UserDataLog(userArchives.getUid(), builder,2);
+            list.add(userDataLog);
+        }
+        if (userArchives.getInterviewIdeas()!=null&&!use.getInterviewIdeas().equals(userArchives.getInterviewIdeas())){
+            String builder = admin.getName() + "修改了面谈思路: " + use.getInterviewIdeas() + "=>" + userArchives.getInterviewIdeas();
+            UserDataLog userDataLog = new UserDataLog(userArchives.getUid(), builder,3);
+            list.add(userDataLog);
+        }
+        userDataLogMapper.insertBatch(list);
+    }
+
     /**
      * 计算专利总数,必须5个都传,不然会导致计算漏掉
      * @param userArchives 用户档案参数