Guo1B0 1 年間 前
コミット
08ba7ee8e8

+ 5 - 0
fhKeeper/formulahousekeeper/management-crm/pom.xml

@@ -14,6 +14,11 @@
     <version>3.4.0</version>
 
     <dependencies>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.9.8</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>

+ 19 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -82,7 +82,25 @@ public class BusinessOpportunityController {
 
         }
         return msg;
-    } @RequestMapping("rollBack")
+    }
+
+    @RequestMapping("deleterDelete")
+    public Object deleterDelete(BusinessOpportunity bo) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String ids1 = bo.getIds();
+        List<Integer> ids = new ArrayList<>();
+        if (!ids1.isEmpty()) {
+            for (String id : ids1.split(",")) {
+                ids.add(Integer.parseInt(id));
+            }
+            bOservice.deleterDelete(ids);
+            msg.setMsg("操作成功");
+        } else {
+            msg.setError("请选择线索");
+        }
+        return msg;
+    }
+    @RequestMapping("rollBack")
     public Object rollBack(BusinessOpportunity bo) {
         HttpRespMsg msg = new HttpRespMsg();
         String ids1 = bo.getIds();

+ 4 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/BusinessOpportunity.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
 import java.util.Date;
@@ -174,8 +173,11 @@ public class BusinessOpportunity extends Model<BusinessOpportunity> {
      */
     @TableField("plate5")
     private String plate5;
+//    @JsonDeserialize(using = BusinessItemProductListDeserializer.class)
     @TableField(exist = false)
-    private List<BusinessItemProduct> businessItemProductList;
+    private String businessItemProductList;
+    @TableField(exist = false)
+    private List<BusinessItemProduct> businessItemProducts;
     @TableField(exist = false)
     private List<ActionLog> actionLogList;
     @TableField(exist = false)

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/BusinessOpportunityService.java

@@ -58,4 +58,6 @@ public interface BusinessOpportunityService extends IService<BusinessOpportunity
     Map<String, Object> getDataSummary(Integer companyId, String startDate, String endDate, String userId,List<String> targetUserIds);
 
     Map<String, Object> getDataStage(Integer companyId, String startDate, String endDate, String userId,List<String> targetUserIds);
+
+    void deleterDelete(List<Integer> ids);
 }

+ 15 - 6
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/BusinessOpportunityServiceImpl.java

@@ -3,9 +3,11 @@ package com.management.platform.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.management.platform.entity.*;
 import com.management.platform.mapper.*;
 import com.management.platform.service.BusinessOpportunityService;
@@ -77,7 +79,7 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         businessOpportunity.setUploadFilePList(uploadFileMapper.selectByInfoList("business",bo.getId()));
         businessOpportunity.setTaskList(taskMapper.selectList(new QueryWrapper<Task>().eq("business_opportunity_id",bo.getId())));
         List<BusinessItemProduct> businessItemProducts = biMapper.selectListToBoId(bo.getId());
-        businessOpportunity.setBusinessItemProductList(businessItemProducts);
+        businessOpportunity.setBusinessItemProducts(businessItemProducts);
         if (businessItemProducts.size() > 0){
             BigDecimal finalPrice = new BigDecimal(0);
             BigDecimal discountedPrice = new BigDecimal(0);
@@ -123,11 +125,13 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         setNull(bo);
         bo.setCreateTime(new Date());
         bOMapper.insert(bo);
+        List<BusinessItemProduct> businessItemProducts = JSONArray.parseArray(bo.getBusinessItemProductList(), BusinessItemProduct.class);
+        System.out.println(businessItemProducts);
         ActionLog actionLog = new ActionLog();
         actionLog.setUserId(bo.getUserId());
         actionLog.setItemId(bo.getId());
         actionLog.setCode("business");
-        actionLog.setName("创建了线索");
+        actionLog.setName("创建了商机");
         actionLogMapper.insert(actionLog);
     }
 
@@ -168,13 +172,13 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         for (BusinessOpportunity clue1 : clues) {
             if (clue1.getInchargerId() == null) {
                 //认领
-                clueLog.setName("认领了线索");
+                clueLog.setName("认领了商机");
                 clueLog.setUserId(user.getId());
                 bo.setInchargerId(user.getId());
                 actionLogMapper.insert(clueLog);
             } else {
                 //转移
-                clueLog.setName("转移了线索");
+                clueLog.setName("转移了商机");
                 bo.setInchargerId(bo.getInchargerId());
                 actionLogMapper.insert(clueLog);
             }
@@ -216,9 +220,9 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         HttpRespMsg msg = new HttpRespMsg();
         msg.setMsg("操作成功");
         biMapper.delete(new QueryWrapper<BusinessItemProduct>().eq("business_id",bo.getId()));
-        List<BusinessItemProduct> businessItemProductList = bo.getBusinessItemProductList();
+        List<BusinessItemProduct> businessItemProducts = JSONArray.parseArray(bo.getBusinessItemProductList(), BusinessItemProduct.class);
 //        biMapper.saveBatch()
-        for (BusinessItemProduct businessItemProduct : businessItemProductList) {
+        for (BusinessItemProduct businessItemProduct : businessItemProducts) {
             biMapper.insert(businessItemProduct);
         }
         ActionLog al = new ActionLog();
@@ -371,6 +375,11 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         return bOMapper.getDataStage(companyId,startDate,endDate,userId,targetUserIds);
     }
 
+    @Override
+    public void deleterDelete(List<Integer> ids) {
+        bOMapper.deleteBatchIds(ids);
+    }
+
     private BusinessOpportunity setNull(BusinessOpportunity bo) {
         if (bo.getPlate1() == "") {
             bo.setPlate1(null);

+ 31 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/util/BusinessItemProductListDeserializer.java

@@ -0,0 +1,31 @@
+package com.management.platform.util;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.management.platform.entity.BusinessItemProduct;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class BusinessItemProductListDeserializer extends JsonDeserializer<List<BusinessItemProduct>> {
+
+    @Override
+    public List<BusinessItemProduct> deserialize(JsonParser p, DeserializationContext ctxt)
+            throws IOException, JsonProcessingException {
+        ObjectMapper mapper = (ObjectMapper) p.getCodec();
+        JsonNode node = mapper.readTree(p);
+        List<BusinessItemProduct> products = new ArrayList<>();
+        if (node.isArray()) {
+            for (JsonNode jsonNode : node) {
+                BusinessItemProduct product = mapper.treeToValue(jsonNode, BusinessItemProduct.class);
+                products.add(product);
+            }
+        }
+        return products;
+    }
+}