瀏覽代碼

Merge remote-tracking branch 'origin/master'

yusm 1 年之前
父節點
當前提交
f12f7e7969
共有 13 個文件被更改,包括 394 次插入21 次删除
  1. 4 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueController.java
  2. 21 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueUploadfileController.java
  3. 73 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/CustomController.java
  4. 2 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Clue.java
  5. 68 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/ClueUploadfile.java
  6. 17 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Custom.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/ClueUploadfileMapper.java
  8. 16 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ClueUploadfileService.java
  9. 12 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/CustomService.java
  10. 20 18
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ClueServiceImpl.java
  11. 20 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ClueUploadfileServiceImpl.java
  12. 106 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/CustomServiceImpl.java
  13. 19 0
      fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ClueUploadfileMapper.xml

+ 4 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueController.java

@@ -151,7 +151,7 @@ public class ClueController {
     }
 
 
-    //放入回收站
+    // 批量放入回收站
     @RequestMapping("delete")
     public Object delete(Clue clue) {
         HttpRespMsg msg = new HttpRespMsg();
@@ -170,6 +170,7 @@ public class ClueController {
         return msg;
     }
 
+    // 批量恢复
     @RequestMapping("rollback")
     public Object rollback(Clue clue) {
         HttpRespMsg msg = new HttpRespMsg();
@@ -189,6 +190,7 @@ public class ClueController {
         return msg;
     }
 
+    // 认领&转移线索
     @RequestMapping("claim")
     public Object claim( Clue clue, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
@@ -198,6 +200,7 @@ public class ClueController {
         return msg;
     }
 
+    //回收站内删除
     @RequestMapping("deleterDelete")
     public Object deleterDelete( Clue clue) {
         HttpRespMsg msg = new HttpRespMsg();

+ 21 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueUploadfileController.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-25
+ */
+@RestController
+@RequestMapping("/clue-uploadfile")
+public class ClueUploadfileController {
+
+}
+

+ 73 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/CustomController.java

@@ -1,10 +1,19 @@
 package com.management.platform.controller;
 
 
+import com.management.platform.entity.Clue;
+import com.management.platform.entity.Custom;
+import com.management.platform.service.CustomService;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  前端控制器
@@ -17,5 +26,69 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/custom")
 public class CustomController {
 
+    @Autowired
+    private CustomService customService;
+
+
+    @RequestMapping("insertAndUpdate")
+    public HttpRespMsg insertAndUpdate(Custom custom , HttpServletRequest request){
+        return customService.insertAndUpdate(custom,request);
+    }
+    // 批量放入回收站
+    @RequestMapping("deleter")
+    public Object delete(Custom custom) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String ids1 = custom.getIds();
+        List<Integer> ids = new ArrayList<>();
+        if (!ids1.isEmpty()) {
+            for (String id : ids1.split(",")) {
+                ids.add(Integer.parseInt(id));
+            }
+            customService.isDelete(ids);
+            msg.setMsg("操作成功");
+        }else {
+            msg.setError("请选择客户");
+
+        }
+        return msg;
+    }
+    // 批量恢复
+    @RequestMapping("rollback")
+    public Object rollback(Custom custom) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String ids1 = custom.getIds();
+        List<Integer> ids = new ArrayList<>();
+        if (!ids1.isEmpty()) {
+            for (String id : ids1.split(",")) {
+                ids.add(Integer.parseInt(id));
+            }
+            customService.isRollback(ids);
+            msg.setMsg("操作成功");
+        }else {
+            msg.setError("请选择客户");
+
+        }
+        return msg;
+    }
+    //彻底删除
+    @RequestMapping("reallyDelete")
+    public Object reallyDelete(Custom custom) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String ids1 = custom.getIds();
+        List<Integer> ids = new ArrayList<>();
+        if (!ids1.isEmpty()) {
+            for (String id : ids1.split(",")) {
+                ids.add(Integer.parseInt(id));
+            }
+            customService.isReallyDelete(ids);
+            msg.setMsg("操作成功");
+        }else {
+            msg.setError("请选择客户");
+
+        }
+        return msg;
+    }
+
+
 }
 

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Clue.java

@@ -162,6 +162,8 @@ public class Clue extends Model<Clue> {
     private Integer pageFrom;
     @TableField(exist = false)
     private List<ClueLog> clueLogList;
+    @TableField(exist = false)
+    private List<ClueUploadfile> clueUploadfileList;
 
 
 

+ 68 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/ClueUploadfile.java

@@ -0,0 +1,68 @@
+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 java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ClueUploadfile extends Model<ClueUploadfile> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 名称
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 文件地址
+     */
+    @TableField("path")
+    private String path;
+    /**
+     * 上传人
+     */
+    @TableField("create_id")
+    private String createId;
+
+    /**
+     * 线索id
+     */
+    @TableField("clue_id")
+    private Integer clueId;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 17 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Custom.java

@@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -36,6 +39,17 @@ public class Custom extends Model<Custom> {
      */
     @TableField("custom_name")
     private String customName;
+    /**
+     * 负责人
+     */
+    @TableField("incharger_id")
+    private String inchargerId;
+
+    /**
+     * 公司电话
+     */
+    @TableField("company_phone")
+    private String companyPhone;
 
     /**
      * 客户来源id
@@ -137,7 +151,7 @@ public class Custom extends Model<Custom> {
      * 创建时间
      */
     @TableField("create_time")
-    private LocalDateTime createTime;
+    private Date createTime;
 
     /**
      * 自定义字段存值
@@ -186,6 +200,8 @@ public class Custom extends Model<Custom> {
      */
     @TableField("is_delete")
     private Integer isDelete;
+    @TableField(exist = false)
+    private String ids;
 
 
     @Override

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

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

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

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

+ 12 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/CustomService.java

@@ -2,6 +2,10 @@ package com.management.platform.service;
 
 import com.management.platform.entity.Custom;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.util.HttpRespMsg;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface CustomService extends IService<Custom> {
 
+    HttpRespMsg insertAndUpdate(Custom custom, HttpServletRequest request);
+
+
+    void isDelete(List<Integer> ids);
+
+    void isRollback(List<Integer> ids);
+
+    void isReallyDelete(List<Integer> ids);
 }

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

@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.TasKVo;
-import com.management.platform.mapper.ClueLogMapper;
-import com.management.platform.mapper.ClueMapper;
-import com.management.platform.mapper.SysFormMapper;
-import com.management.platform.mapper.UserMapper;
+import com.management.platform.mapper.*;
 import com.management.platform.service.ClueService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.service.SysFunctionService;
@@ -48,6 +45,8 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
     private SysFunctionService sysFunctionService;
     @Autowired
     private ClueMapper clueMapper;
+    @Autowired
+    private ClueUploadfileMapper clueUploadfileMapper;
     @Resource
     private WxCorpInfoService wxCorpInfoService;
     @Autowired
@@ -152,10 +151,11 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
     @Override
     public Clue getInfo(Clue clue) {
         Clue clue1 = clueMapper.selectById(clue.getId());
-        QueryWrapper<ClueLog> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("clue_id", clue.getId());
-        List<ClueLog> logs = clueLogMapper.selectList(queryWrapper);
-        clue1.setClueLogList(logs);
+        clue1.setClueLogList(clueLogMapper.selectList(
+                new QueryWrapper<ClueLog>().eq("clue_id", clue.getId())
+        ));
+        clue1.setClueUploadfileList(clueUploadfileMapper.selectList(
+                    new QueryWrapper<ClueUploadfile>().eq("clue_id", clue.getId())));
         return clue1;
     }
 
@@ -176,20 +176,20 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
     }
 
     @Override
-    public void getAndTransfer(Clue clue,User user) {
+    public void getAndTransfer(Clue clue, User user) {
         UpdateWrapper<Clue> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("id",clue.getId());
+        updateWrapper.eq("id", clue.getId());
         String inchargerId = clue.getInchargerId();
         ClueLog clueLog = new ClueLog();
         clueLog.setUserId(user.getId());
         clueLog.setClueId(clue.getId());
         clueLog.setCreatTime(new Date());
-        if (inchargerId == null ){
+        if (inchargerId == null) {
             //认领
             clueLog.setName("认领了线索");
             clue.setInchargerId(user.getId());
             clueLogMapper.insert(clueLog);
-        }else {
+        } else {
             //转移
             clueLog.setName("转移了线索");
             clue.setInchargerId(clue.getInchargerId());
@@ -201,16 +201,18 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
 
     @Override
     public int getTotal1(Clue clue, User user) {
-        return clueMapper.getTotal1(clue,user.getId());
+        return clueMapper.getTotal1(clue, user.getId());
     }
 
     @Override
     public int getTotal2(Clue clue, User user) {
-        return clueMapper.getTotal2(clue,user.getId());
+        return clueMapper.getTotal2(clue, user.getId());
 
     }
+
     @Value(value = "${upload.path}")
     private String path;
+
     @Override
     public HttpRespMsg exportData(Clue clue, HttpServletRequest request) throws Exception {
         User user = userMapper.selectById(request.getHeader("token"));
@@ -219,8 +221,8 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
         String config = sysForm.getConfig();
         JSONObject configOb = JSON.parseObject(config);
         JSONArray configObJSONArray = configOb.getJSONArray("list");
-        List<List<String>> dataList=new ArrayList<>();
-        List<String> titleList=new ArrayList<>();
+        List<List<String>> dataList = new ArrayList<>();
+        List<String> titleList = new ArrayList<>();
         for (int i = 0; i < configObJSONArray.size(); i++) {
             JSONObject item = configObJSONArray.getJSONObject(i);
             titleList.add(item.getString("label"));
@@ -230,8 +232,8 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
 
         clue.setCompanyId(user.getCompanyId());
 
-        String fileName="线索表导出_"+ System.currentTimeMillis();
-        return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo,fileName,dataList,path);
+        String fileName = "线索表导出_" + System.currentTimeMillis();
+        return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo, fileName, dataList, path);
     }
 
 

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

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

+ 106 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/CustomServiceImpl.java

@@ -1,14 +1,26 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.management.platform.entity.Clue;
 import com.management.platform.entity.Custom;
+import com.management.platform.entity.User;
 import com.management.platform.mapper.CustomMapper;
+import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.CustomService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author Seyason
@@ -16,5 +28,98 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CustomServiceImpl extends ServiceImpl<CustomMapper, Custom> implements CustomService {
+    @Autowired
+    private UserMapper userMapper;
+    @Autowired
+    private CustomMapper customMapper;
+
+    @Override
+    public HttpRespMsg insertAndUpdate(Custom custom, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        if (custom.getCustomName().isEmpty()) {
+            msg.setError("请填写客户名称");
+            return msg;
+        }
+        User user = userMapper.selectById(request.getHeader("Token"));
+        custom.setCompanyId(user.getCompanyId());
+        setNull(custom);
+        if (custom.getId() != null) {
+            Custom custom1 = customMapper.selectById(custom.getId());
+            if (customMapper.selectCount(new QueryWrapper<Custom>()
+                    .eq("custom_name", custom.getCustomName())
+                    .ne("custom_name", custom1.getCustomName())) > 0) {
+                msg.setError("客户名称重复了");
+                return msg;
+            }
+            if (customMapper.selectCount(new QueryWrapper<Custom>()
+                    .eq("tel_phone", custom.getTelPhone())
+                    .ne("tel_phone", custom1.getTelPhone())
+            ) > 0) {
+                msg.setError("电话号码重复了");
+                return msg;
+            }
+            customMapper.updateById(custom);
+        } else {
+            if (customMapper.selectCount(new QueryWrapper<Custom>().eq("custom_name", custom.getCustomName())) > 0) {
+                msg.setError("客户名称重复了");
+                return msg;
+            }
+            if (customMapper.selectCount(new QueryWrapper<Custom>().eq("tel_phone", custom.getTelPhone())) > 0) {
+                msg.setError("电话号码重复了");
+                return msg;
+            }
+            custom.setCreateTime(new Date());
+            custom.setCreatorId(user.getId());
+            customMapper.insert(custom);
+        }
+        msg.setMsg("操作成功");
+        return msg;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void isDelete(List<Integer> ids) {
+        UpdateWrapper<Custom> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids);
+        Custom custom = new Custom();
+        custom.setIsDelete(1);
+        customMapper.update(custom, updateWrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void isRollback(List<Integer> ids) {
+        UpdateWrapper<Custom> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids);
+        Custom custom = new Custom();
+        custom.setIsDelete(0);
+        customMapper.update(custom, updateWrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void isReallyDelete(List<Integer> ids) {
+        customMapper.deleteBatchIds(ids);
+    }
+
+
+    private Custom setNull(Custom clue) {
+        if (clue.getPlate1() == "") {
+            clue.setPlate1(null);
+        }
+        if (clue.getPlate2() == "") {
+            clue.setPlate2(null);
+        }
+        if (clue.getPlate3() == "") {
+            clue.setPlate3(null);
+        }
+        if (clue.getPlate4() == "") {
+            clue.setPlate4(null);
+        }
+        if (clue.getPlate5() == "") {
+            clue.setPlate5(null);
+        }
+        return clue;
+    }
 
 }

+ 19 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ClueUploadfileMapper.xml

@@ -0,0 +1,19 @@
+<?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.ClueUploadfileMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ClueUploadfile">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="path" property="path" />
+        <result column="clue_id" property="clueId" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, name, path, clue_id, create_time
+    </sql>
+
+</mapper>