Просмотр исходного кода

各接口操作数据同步到客户统计表

anderx лет назад: 3
Родитель
Сommit
b3e2d8c8b3

+ 55 - 0
src/main/java/com/goafanti/common/mapper/UserMidMapper.xml

@@ -538,4 +538,59 @@
       and b.last_sales_type = #{lastSalesType}
     </if>
   </select>
+
+  <select id="selectsignStatisticsList" resultType="com.goafanti.order.bo.OutSignStatistics">
+    select a.id,a.name ,sum(x.counts)counts ,sum(x.totalAmount)totalAmount,sum(x.newSignNumber)newSignNumber,
+    sum(x.repeatSignNumber)repeatSignNumber,sum(x.channelSignNumber)channelSignNumber
+    from  admin a
+    left join user_role ur on ur.uid =a.id left join `role` r on r.id=ur.rid
+    left join ( select b.aid,count(*)counts,sum(a.total_amount) totalAmount ,
+    sum(if(a.sales_type &lt; 3 || (a.sales_type &gt; 3 && a.sales_type &lt; 6),1,0 ))newSignNumber,
+    sum(if(a.sales_type=3,1,0 ))repeatSignNumber,sum(if(a.sales_type &gt; 5,1,0 ))channelSignNumber
+    from t_order_new a left join user b on b.id=a.buyer_id
+    where a.process_status>4 and b.share_type =2
+  <if test="amountType != null">
+    <if test="amountType = 1">
+      and  a.total_amount &lt; 10
+    </if>
+    <if test="amountType = 2">
+      and  a.total_amount BETWEEN 10 and 20
+    </if>
+    <if test="amountType = 3">
+      and  a.total_amount BETWEEN 20 and 30
+    </if>
+    <if test="amountType = 4">
+      and  a.total_amount &gt; 30
+    </if>
+  </if>
+  <if test="signTimeStart != null and signTimeEnd!=null">
+    and a.sign_time BETWEEN #{signTimeStart} and #{signTimeEnd}
+  </if>
+    group by b.aid)x on x.aid=a.id
+    where r.role_type in (96,996)
+
+  <if test="aid != null">
+    and a.id= #{aid}
+  </if>
+    <if test="depId != null">
+    and a.department_id = #{depId}
+    </if>
+    group by a.id,a.name
+    <if test="page_sql!=null">
+      ${page_sql}
+    </if>
+  </select>
+
+  <select id="selectsignStatisticsCount" resultType="integer">
+    select count(*)from (select a.id,a.name
+    from  admin a left join user_role ur on ur.uid =a.id left join `role` r on r.id=ur.rid
+    where r.role_type in (96,996)
+    <if test="aid != null">
+      and a.id= #{aid}
+    </if>
+    <if test="depId != null">
+      and a.department_id = #{depId}
+    </if>
+    group by a.id,a.name)x
+  </select>
 </mapper>

+ 69 - 0
src/main/java/com/goafanti/order/bo/InputSignStatistics.java

@@ -0,0 +1,69 @@
+package com.goafanti.order.bo;
+
+public class InputSignStatistics {
+
+    private String depId;
+    private String aid;
+    private Integer amountType;
+    private String signTimeStart;
+    private String signTimeEnd;
+
+    private Integer pageSize;
+    private Integer pageNo;
+
+    public String getDepId() {
+        return depId;
+    }
+
+    public void setDepId(String depId) {
+        this.depId = depId;
+    }
+
+    public String getAid() {
+        return aid;
+    }
+
+    public void setAid(String aid) {
+        this.aid = aid;
+    }
+
+    public Integer getAmountType() {
+        return amountType;
+    }
+
+    public void setAmountType(Integer amountType) {
+        this.amountType = amountType;
+    }
+
+    public String getSignTimeStart() {
+        return signTimeStart;
+    }
+
+    public void setSignTimeStart(String signTimeStart) {
+        this.signTimeStart = signTimeStart;
+    }
+
+    public String getSignTimeEnd() {
+        return signTimeEnd;
+    }
+
+    public void setSignTimeEnd(String signTimeEnd) {
+        this.signTimeEnd = signTimeEnd;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public Integer getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(Integer pageNo) {
+        this.pageNo = pageNo;
+    }
+}

+ 1 - 0
src/main/java/com/goafanti/order/bo/InputSignSummary.java

@@ -16,6 +16,7 @@ public class InputSignSummary {
     private String firstSigningTimeEnd;
     private String lastSigningTimeStart;
     private String lastSigningTimeEnd;
+    /** 签单次数 0=全部 1=1次,2=2次,3=3次,4=3次以上 **/
     private Integer signNumber;
     private Integer lastSalesType;
     private Integer pageNo;

+ 5 - 0
src/main/java/com/goafanti/order/bo/OutSignStatistics.java

@@ -0,0 +1,5 @@
+package com.goafanti.order.bo;
+
+public class OutSignStatistics {
+
+}

+ 1 - 1
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -43,7 +43,7 @@ public class OrderProjectApiController extends CertifyApiController {
 	private String	uploadPath			= null;
 
 	/**
-	 * 项目分配
+	 * 项目分配、项目派单
 	 * taskId 项目ID
 	 * taskReceiverId 受理人ID
 	 * type 0管理员派单 1经理转交 2经理派单 3咨询师转交 4回退

+ 10 - 0
src/main/java/com/goafanti/order/controller/StatisticsApiController.java

@@ -125,5 +125,15 @@ public class StatisticsApiController extends CertifyApiController {
 		return excelUtil.exportExcel(list,"签单客户汇总表",uploadPath);
 	}
 
+	/**
+	 * 签单客户汇总
+	 */
+	@RequestMapping(value = "/signStatistics",method = RequestMethod.GET)
+	public Result signStatistics(InputSignStatistics in){
+		Result res = new Result();
+		res.data(userStaticticsService.signStatistics(in));
+		return res;
+	}
+
 
 }

+ 4 - 0
src/main/java/com/goafanti/order/service/UserStaticticsService.java

@@ -1,7 +1,9 @@
 package com.goafanti.order.service;
 
 import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.order.bo.InputSignStatistics;
 import com.goafanti.order.bo.InputSignSummary;
+import com.goafanti.order.bo.OutSignStatistics;
 import com.goafanti.order.bo.OutSignSummary;
 
 import java.util.List;
@@ -11,4 +13,6 @@ public interface UserStaticticsService {
     Pagination<OutSignSummary> signSummary(InputSignSummary in);
 
     List<OutSignSummary> signSummaryList(InputSignSummary in);
+
+    Pagination<OutSignStatistics> signStatistics(InputSignStatistics in);
 }

+ 19 - 7
src/main/java/com/goafanti/order/service/impl/UserStatisticsServiceImpl.java

@@ -4,10 +4,7 @@ import com.goafanti.common.dao.TOrderNewMapper;
 import com.goafanti.common.dao.UserMidMapper;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
-import com.goafanti.order.bo.InputOrderSalesSource;
-import com.goafanti.order.bo.InputSignSummary;
-import com.goafanti.order.bo.OutOrderSalesSource;
-import com.goafanti.order.bo.OutSignSummary;
+import com.goafanti.order.bo.*;
 import com.goafanti.order.service.OrderStatisticsService;
 import com.goafanti.order.service.UserStaticticsService;
 import groovy.util.logging.Log4j;
@@ -26,11 +23,11 @@ public class UserStatisticsServiceImpl extends BaseMybatisDao<UserMidMapper> imp
 	@Override
 	public Pagination<OutSignSummary> signSummary(InputSignSummary in) {
 		Map<String, Object> map = new HashMap<>();
-		addParam(in, map);
+		addSignSummaryParam(in, map);
 		return (Pagination<OutSignSummary>) findPage("selectSignSummaryList","selectSignSummaryCount",map,in.getPageNo(),in.getPageSize());
 	}
 
-	private void addParam(InputSignSummary in, Map<String, Object> map) {
+	private void addSignSummaryParam(InputSignSummary in, Map<String, Object> map) {
 		if (in.getUserName()!=null) map.put("userName", in.getUserName());
 		if (in.getAdminName()!=null) map.put("adminName", in.getAdminName());
 		if (in.getFollowAname()!=null) map.put("followAname", in.getFollowAname());
@@ -52,7 +49,22 @@ public class UserStatisticsServiceImpl extends BaseMybatisDao<UserMidMapper> imp
 	@Override
 	public List<OutSignSummary> signSummaryList(InputSignSummary in) {
 		Map<String, Object> map = new HashMap<>();
-		addParam(in, map);
+		addSignSummaryParam(in, map);
 		return (List<OutSignSummary>) findList("selectSignSummaryList",map,1,9999);
 	}
+
+	@Override
+	public Pagination<OutSignStatistics> signStatistics(InputSignStatistics in) {
+		Map<String, Object> map = new HashMap<>();
+		addsignStatisticsParam(in, map);
+		return (Pagination<OutSignStatistics>) findPage("selectsignStatisticsList","selectsignStatisticsCount",map,in.getPageNo(),in.getPageSize());
+	}
+
+	private void addsignStatisticsParam(InputSignStatistics in, Map<String, Object> map) {
+		if (in.getDepId()!=null)map.put("depId",in.getDepId());
+		if (in.getAid()!=null)map.put("aid",in.getAid());
+		if (in.getAmountType()!=null)map.put("amountType",in.getAmountType());
+		if (in.getSignTimeStart()!=null)map.put("signTimeStart",in.getSignTimeStart());
+		if (in.getSignTimeEnd()!=null)map.put("signTimeEnd",in.getSignTimeEnd()+" 23:59:59");
+	}
 }

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -46,7 +46,7 @@ user_remind_days=15
 user_channel_days=90
 
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.29
+static.host=//static.jishutao.com/1.2.31
 #avatar.host=//172.16.0.255:3000
 #static.host=//172.16.0.255:3000/1.2.27
 #static.host=http://172.16.1.187/prod/1.2.25