Guo1B0 1 vuosi sitten
vanhempi
commit
340d380a32

+ 16 - 8
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -2,15 +2,13 @@ package com.management.platform.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.BusinessOpportunity;
-import com.management.platform.entity.Clue;
-import com.management.platform.entity.Stage;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.BusinessOpportunityMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.BusinessOpportunityService;
 import com.management.platform.service.StageService;
 import com.management.platform.service.SysFunctionService;
+import com.management.platform.service.TaskService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -46,8 +44,7 @@ public class BusinessOpportunityController {
 
     @Resource
     private BusinessOpportunityService bOservice;
-    @Resource
-    private BusinessOpportunityMapper bOMapper;
+
 
     @RequestMapping("exportData")
     public Object exportData(BusinessOpportunity bo, HttpServletRequest request) throws Exception {
@@ -139,14 +136,25 @@ public class BusinessOpportunityController {
         msg.setData(r);
         return msg;
     }
+    @RequestMapping("getInfo")
+    public HttpRespMsg getInfo(BusinessOpportunity bo ,HttpServletRequest request) {
+        User user = userMapper.selectById(request.getHeader("Token"));
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setData(bOservice.getInfo(bo,user));
+        return msg;
+    }
+    @RequestMapping("saveProduct")
+    public HttpRespMsg saveProduct(BusinessOpportunity bo , HttpServletRequest request) {
+        User user = userMapper.selectById(request.getHeader("Token"));
+        return bOservice.saveProduct(bo,user);
+    }
+
     @RequestMapping("saveStage")
     public HttpRespMsg insertStage(List<Stage> stages, HttpServletRequest request) {
-//        request
         return stageService.changeStage(stages);
     }
     @RequestMapping("getStage")
     public HttpRespMsg Stage() {
-//        request
         return stageService.getStage();
     }
 

+ 8 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/BusinessOpportunity.java

@@ -3,6 +3,8 @@ 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.math.BigDecimal;
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
@@ -123,6 +125,8 @@ public class BusinessOpportunity extends Model<BusinessOpportunity> {
     private String remark;
     @TableField(exist = false)
     private String ids;
+    @TableField(exist = false)
+    private BigDecimal finalPrice;
 
     /**
      * 回收站(是否删除) 0-否 1-是
@@ -169,6 +173,10 @@ public class BusinessOpportunity extends Model<BusinessOpportunity> {
     private List<BusinessItemProduct> businessItemProductList;
     @TableField(exist = false)
     private List<ActionLog> actionLogList;
+    @TableField(exist = false)
+    private List<Task> taskList;
+    @TableField(exist = false)
+    private List<UploadFile> uploadFilePList;
 
 
 

+ 3 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/UploadFileMapper.java

@@ -3,6 +3,7 @@ package com.management.platform.mapper;
 import com.management.platform.entity.Clue;
 import com.management.platform.entity.UploadFile;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
@@ -17,6 +18,6 @@ import java.util.List;
  */
 public interface UploadFileMapper extends BaseMapper<UploadFile> {
 
-    @Select("select a.*,u.`name` userName from upload_file a left join `user` u on a.create_id = u.id where code = 'clue' and item_id = #{id}")
-    List<UploadFile> selectByInfoList(Clue clue1);
+    @Select("select a.*,u.`name` userName from upload_file a left join `user` u on a.create_id = u.id where code = #{code} and item_id = #{id}")
+    List<UploadFile> selectByInfoList(@Param("code") String code ,@Param("id") Integer id);
 }

+ 4 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/BusinessOpportunityService.java

@@ -1,9 +1,8 @@
 package com.management.platform.service;
 
-import com.management.platform.entity.BusinessOpportunity;
+import com.management.platform.entity.*;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.management.platform.entity.Clue;
-import com.management.platform.entity.User;
+import com.management.platform.util.HttpRespMsg;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
@@ -37,4 +36,6 @@ public interface BusinessOpportunityService extends IService<BusinessOpportunity
     void getAndTransfer(BusinessOpportunity bo, User user);
 
     Object exportData(BusinessOpportunity bo, HttpServletRequest request) throws Exception;
+
+    HttpRespMsg saveProduct(BusinessOpportunity bo, User user);
 }

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

@@ -11,6 +11,7 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.BusinessOpportunityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.service.WxCorpInfoService;
+import com.management.platform.util.HttpRespMsg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -18,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -40,6 +42,8 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
     @Resource
     private BusinessOpportunityMapper bOMapper;
     @Resource
+    private TaskMapper taskMapper;
+    @Resource
     private ActionLogMapper actionLogMapper;
     @Resource
     private UserMapper userMapper;
@@ -47,6 +51,8 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
     private BusinessItemProductMapper biMapper;
     @Autowired
     private SysFormMapper sysFormMapper;
+    @Autowired
+    private UploadFileMapper uploadFileMapper;
 
     @Override
     public List<BusinessOpportunity> getAll(BusinessOpportunity bo) {
@@ -61,8 +67,27 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
     @Override
     public BusinessOpportunity getInfo(BusinessOpportunity bo, User user) {
         BusinessOpportunity businessOpportunity = bOMapper.selectById(bo.getId());
-        businessOpportunity.setBusinessItemProductList(biMapper.selectListToBoId(bo.getId()));
         businessOpportunity.setActionLogList(actionLogMapper.selectList(new QueryWrapper<ActionLog>().eq("item_id", bo.getId()).eq("code", "business")));
+        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);
+        if (businessItemProducts.size() > 0){
+            BigDecimal finalPrice = new BigDecimal(0);
+            BigDecimal discountedPrice = new BigDecimal(0);
+            for (BusinessItemProduct businessItemProduct : businessItemProducts) {
+                BigDecimal price = businessItemProduct.getPrice();
+                // 原价
+                finalPrice = finalPrice.add(price.multiply(new BigDecimal(businessItemProduct.getQuantity())));
+                //折扣率
+                BigDecimal divide = new BigDecimal(businessItemProduct.getDiscount()).divide(new BigDecimal(100));
+                // 折后价格
+                discountedPrice = discountedPrice.add(price.multiply(divide));
+            }
+            BigDecimal divide = discountedPrice.divide(finalPrice);
+            // 整单折扣率
+            businessOpportunity.setFinalPrice(divide.multiply(new BigDecimal(100)));
+        }
         return businessOpportunity;
     }
 
@@ -179,6 +204,26 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo, fileName, dataList, path);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HttpRespMsg saveProduct(BusinessOpportunity bo, User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setMsg("操作成功");
+        biMapper.delete(new QueryWrapper<BusinessItemProduct>().eq("business_id",bo.getId()));
+        List<BusinessItemProduct> businessItemProductList = bo.getBusinessItemProductList();
+//        biMapper.saveBatch()
+        for (BusinessItemProduct businessItemProduct : businessItemProductList) {
+            biMapper.insert(businessItemProduct);
+        }
+        ActionLog al = new ActionLog();
+        al.setCode("business");
+        al.setName("编辑了产品");
+        al.setUserId(user.getId());
+        al.setItemId(bo.getId());
+        actionLogMapper.insert(al);
+        return msg;
+    }
+
     private BusinessOpportunity setNull(BusinessOpportunity bo) {
         if (bo.getPlate1() == "") {
             bo.setPlate1(null);

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

@@ -167,7 +167,7 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
     public Clue getInfo(Clue clue) {
         Clue clue1 = clueMapper.selectById2Info(clue.getId());
         clue1.setClueLogList(actionLogMapper.selectByInfoList(clue1));
-        clue1.setFiles(uploadFileMapper.selectByInfoList(clue1));
+        clue1.setFiles(uploadFileMapper.selectByInfoList("clue",clue1.getId()));
         List<Task> tasks = taskMapper.selectList(new QueryWrapper<Task>().in("clue_id", clue.getId()));
         for (Task task : tasks) {
             String executorId = task.getExecutorId();

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

@@ -37,6 +37,7 @@ public class StageServiceImpl extends ServiceImpl<StageMapper, Stage> implements
             }else {
                 stageMapper.insert(stage);
             }
+            i++;
         }
         msg.setMsg("操作成功");
         return msg;