Procházet zdrojové kódy

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

anderx před 3 roky
rodič
revize
61c1def739

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

@@ -555,7 +555,7 @@
 
   <select id="selectsignStatisticsList" resultType="com.goafanti.order.bo.OutSignStatistics">
     select a.id, a.name,  userCount, orderCount, totalAmount, newSignNumber, repeatSignNumber, channelSignNumber,
-    (newSignNumber/orderCount)newRatio,(repeatSignNumber/orderCount)repeatRatio,(newSignNumber/orderCount)channelRatio
+    (newSignNumber/orderCount)newRatio,(repeatSignNumber/orderCount)repeatRatio,(channelSignNumber/orderCount)channelRatio
     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 x.aid,count(id) userCount, sum(x.orderCount)orderCount,sum(x.totalAmount)totalAmount,

+ 8 - 3
src/main/java/com/goafanti/common/utils/excel/NewExcelUtil.java

@@ -463,8 +463,13 @@ public class NewExcelUtil<T> {
 	public void setCellVo(Object value, Excel attr, Cell cell) {
 		if (ColumnType.STRING == attr.cellType()) {
 			if (attr.percentage()==1){
-				BigDecimal v=new BigDecimal(value.toString());
-				value=v.multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%";
+				if (value!=null){
+					BigDecimal v=new BigDecimal(value.toString());
+					value=v.multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%";
+				}else {
+					value="0%";
+				}
+
 			}
 			cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix());
 		} else if (ColumnType.NUMERIC == attr.cellType()) {
@@ -727,7 +732,7 @@ public class NewExcelUtil<T> {
 	 * 编码文件名
 	 */
 	public String encodingFilename(String filename) {
-		filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx";
+		filename = filename + "_" +UUID.randomUUID().toString()  + ".xlsx";
 		return filename;
 	}
 

+ 14 - 2
src/main/java/com/goafanti/order/bo/OutSignStatistics.java

@@ -1,19 +1,31 @@
 package com.goafanti.order.bo;
 
+import com.goafanti.common.utils.excel.Excel;
+
 import java.math.BigDecimal;
 
 public class OutSignStatistics {
 
     private String id;
+    @Excel(name = "营销员")
     private String name;
+    @Excel(name = "签单客户",width = 8,defaultValue="0")
     private Integer userCount;
+    @Excel(name = "签单个数",width = 8,defaultValue="0")
     private Integer orderCount;
+    @Excel(name = "签单总金额",defaultValue="0")
     private BigDecimal totalAmount;
+    @Excel(name = "新签数",width = 8,defaultValue="0")
     private Integer newSignNumber;
-    private Integer repeatSignNumber;
-    private Integer channelSignNumber;
+    @Excel(name = "新签率",width = 8,percentage=1 ,defaultValue="0")
     private BigDecimal newRatio;
+    @Excel(name = "复购数",width = 8,defaultValue="0")
+    private Integer repeatSignNumber;
+    @Excel(name = "复购率",width = 8,percentage=1 ,defaultValue="0")
     private BigDecimal repeatRatio;
+    @Excel(name = "渠道签单数",width = 8,defaultValue="0")
+    private Integer channelSignNumber;
+    @Excel(name = "渠道签单率",width = 8,percentage=1 ,defaultValue="0")
     private BigDecimal channelRatio;
 
     public Integer getUserCount() {

+ 13 - 2
src/main/java/com/goafanti/order/controller/StatisticsApiController.java

@@ -116,7 +116,7 @@ public class StatisticsApiController extends CertifyApiController {
 	}
 
 	/**
-	 * 签单客户汇总
+	 * 签单客户汇总导出
 	 */
 	@RequestMapping(value = "/signSummary/export",method = RequestMethod.GET)
 	public Result signSummaryExport(InputSignSummary in){
@@ -126,7 +126,7 @@ public class StatisticsApiController extends CertifyApiController {
 	}
 
 	/**
-	 * 签单客户汇总
+	 * 签单客户统计表
 	 */
 	@RequestMapping(value = "/signStatistics",method = RequestMethod.GET)
 	public Result signStatistics(InputSignStatistics in){
@@ -136,6 +136,17 @@ public class StatisticsApiController extends CertifyApiController {
 	}
 
 	/**
+	 * 签单客户统计表导出
+	 */
+	@RequestMapping(value = "/signStatistics/export",method = RequestMethod.GET)
+	public Result signStatisticsExport(InputSignStatistics in){
+		Result res = new Result();
+		List<OutSignStatistics> list = userStaticticsService.signStatisticsGetList(in);
+		NewExcelUtil<OutSignStatistics> excelUtil=new NewExcelUtil<>(OutSignStatistics.class);
+		return excelUtil.exportExcel(list,"签单客户统计表",uploadPath);
+	}
+
+	/**
 	 * 销售来源订单列表
 	 * @param in
 	 * @return

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

@@ -14,4 +14,6 @@ public interface UserStaticticsService {
     Pagination<OutSignStatistics> signStatistics(InputSignStatistics in);
 
     Pagination<TOrderNewBo> signStatisticsOrderList(InputSignStatistics in);
+
+    List<OutSignStatistics> signStatisticsGetList(InputSignStatistics in);
 }

+ 8 - 1
src/main/java/com/goafanti/order/service/impl/UserStatisticsServiceImpl.java

@@ -59,7 +59,12 @@ public class UserStatisticsServiceImpl extends BaseMybatisDao<UserMidMapper> imp
 		addsignStatisticsParam(in, map);
 		return (Pagination<OutSignStatistics>) findPage("selectsignStatisticsList","selectsignStatisticsCount",map,in.getPageNo(),in.getPageSize());
 	}
-
+	@Override
+	public List<OutSignStatistics> signStatisticsGetList(InputSignStatistics in) {
+		Map<String, Object> map = new HashMap<>();
+		addsignStatisticsParam(in, map);
+		return (List<OutSignStatistics>) findList("selectsignStatisticsList",map,1,9999);
+	}
 
 
 	private void addsignStatisticsParam(InputSignStatistics in, Map<String, Object> map) {
@@ -78,5 +83,7 @@ public class UserStatisticsServiceImpl extends BaseMybatisDao<UserMidMapper> imp
 		return (Pagination<TOrderNewBo>) findPage("selectsignStatisticsOrderList","selectsignStatisticsOrderCount",map,in.getPageNo(),in.getPageSize());
 	}
 
+
+
 }