Quellcode durchsuchen

联系人模块修改联系人,获取回收站的联系人

yusm vor 1 Jahr
Ursprung
Commit
71bc88790c

+ 53 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -33,20 +34,71 @@ public class ContactsController {
     @Autowired
     private ContactsService contactsService;
 
+    /**
+     * 添加联系人
+     * @param contacts
+     * @return
+     */
     @RequestMapping("/addContacts")
     public HttpRespMsg addContacts(@RequestBody Contacts contacts){
         return contactsService.addContacts(contacts, request);
     }
 
+    /**
+     * 分页查询联系人
+     * @param pageIndex
+     * @param pageSize
+     * @param customName
+     * @param name
+     * @param phone
+     * @param ownerName
+     * @return
+     */
     @RequestMapping("/pageContacts")
     public HttpRespMsg pageContacts(@RequestParam Integer pageIndex, @RequestParam Integer pageSize,String customName, String name, String phone, String ownerName){
         return contactsService.pageContacts(pageIndex,pageSize,customName,name,phone,ownerName,request);
     }
 
+    /**
+     * 客户对应的联系人有哪些
+     * @param custom
+     * @return
+     */
     @RequestMapping("selectContactsByCustomId")
-    public HttpRespMsg selectContactsByCustomId(@RequestBody Custom custom,HttpServletRequest request){
+    public HttpRespMsg selectContactsByCustomId(@RequestBody Custom custom){
         return contactsService.selectContactsByCustomId(custom,request);
     }
 
+    /**
+     * 修改联系人信息
+     * @param contacts
+     * @return
+     */
+    @RequestMapping("updateContacts")
+    public HttpRespMsg updateContacts(@RequestBody Contacts contacts){
+        return contactsService.updateContacts(contacts,request);
+    }
+
+    /**
+     * 放入回收站
+     * @param ids
+     * @return
+     */
+    @RequestMapping("deleteContacts")
+    public HttpRespMsg deleteContacts(@RequestBody List<Integer> ids){
+        return contactsService.deleteContacts(ids,request);
+    }
+
+    /**
+     * 获取回收站的联系人
+     * @param pageIndex
+     * @param pageSize
+     * @return
+     */
+    @RequestMapping("getDeletedContacts")
+    public HttpRespMsg getDeletedContacts(@RequestParam Integer pageIndex, @RequestParam Integer pageSize){
+        return contactsService.getDeletedContacts(pageIndex,pageSize,request);
+    }
+
 }
 

+ 21 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsLogController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@RestController
+@RequestMapping("/contacts-log")
+public class ContactsLogController {
+
+}
+

+ 67 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/ContactsLog.java

@@ -0,0 +1,67 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ContactsLog extends Model<ContactsLog> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 联系人的id
+     */
+    @TableField("contacts_id")
+    private Integer contactsId;
+
+    /**
+     * 操作时间
+     */
+    @TableField("operate_date")
+    private LocalDateTime operateDate;
+
+    /**
+     * 操作者id
+     */
+    @TableField("operate_id")
+    private String operateId;
+
+    /**
+     * 操作信息
+     */
+    @TableField("msg")
+    private String msg;
+
+    /**
+     * 公司id
+     */
+    @TableField("company_id")
+    private Integer companyId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/ContactsLogMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ContactsLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+public interface ContactsLogMapper extends BaseMapper<ContactsLog> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsLogService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ContactsLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+public interface ContactsLogService extends IService<ContactsLog> {
+
+}

+ 7 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsService.java

@@ -3,10 +3,10 @@ package com.management.platform.service;
 import com.management.platform.entity.Contacts;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.management.platform.entity.Custom;
-import com.management.platform.entity.vo.ContactsVo;
 import com.management.platform.util.HttpRespMsg;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +23,10 @@ public interface ContactsService extends IService<Contacts> {
     HttpRespMsg pageContacts(Integer pageIndex, Integer pageSize, String customName, String name, String phone, String ownerName, HttpServletRequest request);
 
     HttpRespMsg selectContactsByCustomId(Custom custom,HttpServletRequest request);
+
+    HttpRespMsg updateContacts(Contacts contacts, HttpServletRequest request);
+
+    HttpRespMsg deleteContacts(List<Integer> ids, HttpServletRequest request);
+
+    HttpRespMsg getDeletedContacts(Integer pageIndex, Integer pageSize, HttpServletRequest request);
 }

+ 20 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContactsLogServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ContactsLog;
+import com.management.platform.mapper.ContactsLogMapper;
+import com.management.platform.service.ContactsLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@Service
+public class ContactsLogServiceImpl extends ServiceImpl<ContactsLogMapper, ContactsLog> implements ContactsLogService {
+
+}

+ 79 - 14
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContactsServiceImpl.java

@@ -1,26 +1,22 @@
 package com.management.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.management.platform.entity.Contacts;
-import com.management.platform.entity.Custom;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.entity.vo.ContactsVo;
+import com.management.platform.mapper.ContactsLogMapper;
 import com.management.platform.mapper.ContactsMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ContactsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.util.HttpRespMsg;
-import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -38,6 +34,8 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
     @Resource
     private ContactsMapper contactsMapper;
     @Resource
+    private ContactsLogMapper contactsLogMapper;
+    @Resource
     private UserMapper userMapper;
 
 
@@ -61,10 +59,16 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
 //                .setOwnerId(user.getId())//添加时默认
                 .setIsDelete(0)
                 .setCreateTime(LocalDateTime.now());
-        int insert = contactsMapper.insert(contacts);
-        if (insert<=0){
-            httpRespMsg.setError("添加失败!");
-        }
+        contactsMapper.insert(contacts);
+
+        ContactsLog contactsLog = new ContactsLog();
+        contactsLog.setContactsId(contacts.getId())
+                .setOperateId(user.getId())
+                .setMsg("创建联系人")
+                .setOperateDate(LocalDateTime.now())
+                .setCompanyId(companyId);
+        contactsLogMapper.insert(contactsLog);
+
         return httpRespMsg;
     }
 
@@ -78,11 +82,18 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         map.put("companyId",user.getCompanyId());
+        map.put("isDelete",0);
         Page<ContactsVo> pageContacts = contactsMapper.pageContacts(new Page(pageIndex, pageSize), map);
-        List<ContactsVo> contactsVoList = pageContacts.getRecords();
+
+        List<ContactsVo> records = pageContacts.getRecords();
+        long total = pageContacts.getTotal();
+
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("records",records);
+        hashMap.put("total",total);
 
         HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(contactsVoList);
+        msg.setData(hashMap);
         return msg;
     }
 
@@ -92,11 +103,65 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         LambdaQueryWrapper<Contacts> contactsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        contactsLambdaQueryWrapper.eq(Contacts::getCustomId,custom.getId()).eq(Contacts::getCompanyId,user.getCompanyId());
+        contactsLambdaQueryWrapper.eq(Contacts::getCustomId,custom.getId()).eq(Contacts::getCompanyId,user.getCompanyId()).eq(Contacts::getIsDelete,0);
         List<Contacts> contactsList = contactsMapper.selectList(contactsLambdaQueryWrapper);
         msg.setData(contactsList);
         return msg;
     }
 
+    @Override
+    public HttpRespMsg updateContacts(Contacts contacts, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String token = String.valueOf(request.getHeader("Token"));
+        User user = userMapper.selectById(token);
+        Integer companyId = user.getCompanyId();
+        if (contacts==null||contacts.getId()==null){
+            msg.setError("关键信息为空");
+        }
+        contactsMapper.updateById(contacts);
+
+        ContactsLog contactsLog = new ContactsLog();
+        contactsLog.setContactsId(contacts.getId())
+                .setOperateId(user.getId())
+                .setMsg("修改联系人")
+                .setOperateDate(LocalDateTime.now())
+                .setCompanyId(companyId);
+        contactsLogMapper.insert(contactsLog);
+
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg deleteContacts(List<Integer> ids, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        UpdateWrapper<Contacts> contactsUpdateWrapper = new UpdateWrapper<>();
+        contactsUpdateWrapper.in("id", ids);
+        contactsUpdateWrapper.set("is_delete",1);
+        contactsMapper.update(null,contactsUpdateWrapper);
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getDeletedContacts(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+
+        Map<String, Object> map = new HashMap<>();
+        String token = String.valueOf(request.getHeader("Token"));
+        User user = userMapper.selectById(token);
+        map.put("companyId",user.getCompanyId());
+        map.put("isDelete",1);
+        Page<ContactsVo> pageContacts = contactsMapper.pageContacts(new Page(pageIndex, pageSize), map);
+
+        List<ContactsVo> records = pageContacts.getRecords();
+        long total = pageContacts.getTotal();
+
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("records",records);
+        hashMap.put("total",total);
+
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setData(hashMap);
+        return msg;
+    }
+
 
 }

+ 20 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsLogMapper.xml

@@ -0,0 +1,20 @@
+<?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.management.platform.mapper.ContactsLogMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ContactsLog">
+        <id column="id" property="id" />
+        <result column="contacts_id" property="contactsId" />
+        <result column="operate_date" property="operateDate" />
+        <result column="operate_id" property="operateId" />
+        <result column="msg" property="msg" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, contacts_id, operate_date, operate_id, msg, company_id
+    </sql>
+
+</mapper>

+ 3 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsMapper.xml

@@ -30,8 +30,9 @@
         LEFT JOIN custom cust ON c.custom_id = cust.id
         LEFT JOIN user own ON c.owner_id = own.id
         <where>
-            1=1 and c.is_delete=0
-
+            <if test="map.isDelete != null ">
+                AND c.is_delete =#{map.isDelete}
+            </if>
             <if test="map.customName != null and map.customName != ''">
                 AND cust.custom_name LIKE CONCAT('%', #{map.customName}, '%')
             </if>