Kaynağa Gözat

营销客户统计相关接口修改

anderx 2 yıl önce
ebeveyn
işleme
ed2efe5c53

+ 7 - 1
pom.xml

@@ -437,7 +437,13 @@
 			<artifactId>thumbnailator</artifactId>
 			<version>0.4.8</version>
 		</dependency>
-
+		<!-- 爬虫JsoupXpath-->
+		<dependency>
+			<groupId>cn.wanghaomiao</groupId>
+			<artifactId>JsoupXpath</artifactId>
+			<version>2.5.3</version>
+			<type>pom</type>
+		</dependency>
 
 
 	</dependencies>

+ 20 - 0
src/main/java/com/goafanti/admin/bo/AdminStatisticsBo.java

@@ -1,5 +1,7 @@
 package com.goafanti.admin.bo;
 
+import java.math.BigDecimal;
+
 public class AdminStatisticsBo {
     private Integer privateSum;
     private Integer channelSum;
@@ -12,12 +14,30 @@ public class AdminStatisticsBo {
     private Integer followSum;
     private Integer rangeFollowSum;
     private Integer orderSum;
+    private BigDecimal receivables;
+    private BigDecimal rangeReceivables;
     private Integer rejectSum;
     private Integer changeSum;
     private Integer rangeOrderSum;
     private Integer projectStopSum;
     private Integer projectCheckSum;
 
+    public BigDecimal getReceivables() {
+        return receivables;
+    }
+
+    public void setReceivables(BigDecimal receivables) {
+        this.receivables = receivables;
+    }
+
+    public BigDecimal getRangeReceivables() {
+        return rangeReceivables;
+    }
+
+    public void setRangeReceivables(BigDecimal rangeReceivables) {
+        this.rangeReceivables = rangeReceivables;
+    }
+
     public Integer getPrivateSum() {
         if (privateSum == null) return 0;
         return privateSum;

+ 3 - 0
src/main/java/com/goafanti/admin/service/impl/AdminStatisticsServiceImpl.java

@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 @Service
@@ -45,6 +46,8 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
         Integer rangePublicReleaseSum=adminMapper.adminStatisticsPublicReleaseByAidAndTime(aid, startTime, endTime);
         if (rangePublicReleaseSum==null)rangePublicReleaseSum=0;
         adminStatisticsBo.setRangePublicReleaseSum(rangePublicReleaseSum);
+        BigDecimal rangeReceivables=adminMapper.addAdminContactsRangeReceivables(aid,startTime,endTime);
+        adminStatisticsBo.setRangeReceivables(rangeReceivables);
         return adminStatisticsBo;
     }
 

+ 3 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -11,6 +11,7 @@ import com.goafanti.common.model.Department;
 import com.goafanti.common.model.Role;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public interface AdminMapper {
@@ -190,4 +191,6 @@ public interface AdminMapper {
 
 
     Integer adminStatisticsPublicReleaseByAidAndTime(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+    BigDecimal addAdminContactsRangeReceivables(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }

+ 13 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -921,6 +921,8 @@
     (#{id,jdbcType=VARCHAR},#{aid,jdbcType=VARCHAR},#{contactsId,jdbcType=VARCHAR})
   </insert>
 
+
+
   <select id="frequentContactsList" parameterType="java.lang.String" resultType="com.goafanti.admin.bo.AdminListBo">
     select a.id,b.id as contactId,b.name,b.position,b.contact_mobile as contactMobile,c.name as departmentName,y.role_name as roleName
     from admin_contacts a left join admin b
@@ -1260,6 +1262,10 @@
     left join (  select salesman_id aid,  sum(if(order_status=3 or order_status=5,1,0))rejectSum
             from t_order_new where delete_sign in (0,2,3)
             and salesman_id =  #{aid})z on x.aid=z.aid
+    left join (  SELECT b.salesman_id aid ,sum(a.money)  receivables
+                 from new_order_dun a left join t_order_new b on a.order_no =b.order_no
+                 where a.status =1   and b.delete_sign in (0,2,3)
+                   and b.salesman_id = #{aid})t on x.aid=t.aid
   </select>
 
   <select id="adminStatisticsInfoByTime" resultType="com.goafanti.admin.bo.AdminStatisticsBo">
@@ -1307,4 +1313,11 @@
            (a.release_end &gt;  #{startTime} and a.release_end &lt;  #{endTime})or
            (a.release_start &lt;  #{startTime} and a.release_end &gt;  #{endTime}))
   </select>
+  <select id="addAdminContactsRangeReceivables" resultType="java.math.BigDecimal">
+    SELECT  ifnull(sum(a.money),0)  receivables
+    from new_order_dun a left join t_order_new b on a.order_no =b.order_no
+    where a.status =1   and b.delete_sign in (0,2,3)
+      and b.salesman_id = #{aid}
+      and a.start_time  between #{startTime} and #{endTime}
+  </select>
 </mapper>