Commit 50d4527f by songyinghui

feat: 数据统计页面

parent 40c3f7d3
...@@ -19,14 +19,11 @@ import com.gic.haoban.common.utils.EntityUtil; ...@@ -19,14 +19,11 @@ import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.controller.goods.GoodsInfoAdaptor; import com.gic.haoban.manage.web.controller.goods.GoodsInfoAdaptor;
import com.gic.haoban.manage.web.qo.content.ContentColumnClerkViewQO; import com.gic.haoban.manage.web.qo.content.ContentColumnClerkViewQO;
import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO;
import com.gic.haoban.manage.web.qo.content.ContentMaterialQO; import com.gic.haoban.manage.web.qo.content.ContentMaterialQO;
import com.gic.haoban.manage.web.qo.content.ContentMaterialShareQO; import com.gic.haoban.manage.web.qo.content.ContentMaterialShareQO;
import com.gic.haoban.manage.web.qo.goods.GoodsSimpleSearchQO;
import com.gic.haoban.manage.web.vo.content.ContentColumnInfoVO; import com.gic.haoban.manage.web.vo.content.ContentColumnInfoVO;
import com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO; import com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO;
import com.gic.haoban.manage.web.vo.content.ContentMaterialShareInfoVO; import com.gic.haoban.manage.web.vo.content.ContentMaterialShareInfoVO;
import com.gic.haoban.manage.web.vo.content.MaterialIndexDataVO;
import com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO; import com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -34,7 +31,6 @@ import org.slf4j.Logger; ...@@ -34,7 +31,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -250,28 +246,4 @@ public class ContentMaterialController { ...@@ -250,28 +246,4 @@ public class ContentMaterialController {
return storeIds; return storeIds;
} }
/**
* 获取素材首页数据
*
* @param contentMaterialBaseQO
* @return
*/
@RequestMapping(path = "/content/material/index/data")
public RestResponse<MaterialIndexDataVO> queryMaterialIndexData(@RequestBody ContentMaterialBaseQO contentMaterialBaseQO) {
return RestResponse.successResult();
}
/**
* 查询商品数据
*
* @param goodsSimpleSearchQO
* @return
*/
@RequestMapping(path = "/goods/list")
public RestResponse<List<SimpleGoodsInfoVO>> querySimpleGoodsList(@RequestBody GoodsSimpleSearchQO goodsSimpleSearchQO) {
return RestResponse.successResult();
}
} }
package com.gic.haoban.manage.web.controller.content;
import com.gic.api.base.commons.Page;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO;
import com.gic.haoban.manage.web.qo.content.statistics.MaterialAnalyzeDataQO;
import com.gic.haoban.manage.web.qo.content.statistics.MaterialStatisticsBaseQO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialClerkUsedDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialDataOverviewVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialIndexDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialRealDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialStoreUsedDataVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 素材-好办数据统计
**/
@RequestMapping(path = "/material/data")
@RestController
public class MaterialDataStaticsController {
/**
* 获取素材首页数据
*
* @param contentMaterialBaseQO
* @return
*/
@RequestMapping(path = "/content/material/index/data")
public RestResponse<MaterialIndexDataVO> queryMaterialIndexData(@RequestBody ContentMaterialBaseQO contentMaterialBaseQO) {
return RestResponse.successResult();
}
/**
* 素材使用分析页面-实时数据统计
*
* @return
*/
@RequestMapping(path = "/content/material/real/use/data")
public RestResponse<MaterialRealDataVO> queryMaterialUsedAnalyze(@RequestBody MaterialStatisticsBaseQO materialStatisticsBaseQO) {
return RestResponse.successResult();
}
/**
* 素材使用分析页面-数据概览
*
* @param materialStatisticsBaseQO
* @return
*/
@RequestMapping(path = "/content/material/overview/data")
public RestResponse<MaterialDataOverviewVO> queryMaterialOverviewData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
return RestResponse.successResult();
}
/**
* 素材使用分析页面-导购纬度使用数据
*
* @return
*/
@RequestMapping(path = "/content/material/clerk/data")
public RestResponse<Page<MaterialClerkUsedDataVO>> queryMaterialClerkUsedData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
return RestResponse.successResult();
}
/**
* 素材使用分析页面-门店纬度使用数据
*
* @return
*/
@RequestMapping(path = "/content/material/store/data")
public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUsedData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
return RestResponse.successResult();
}
}
package com.gic.haoban.manage.web.qo.content.statistics;
/**
* @Author MUSI
* @Date 2023/3/23 1:00 PM
* @Description
* @Version
**/
public class MaterialAnalyzeDataQO extends MaterialStatisticsBaseQO {
private static final long serialVersionUID = 3422937373665522931L;
/**
* 时间筛选
* 1 过去7天(默认选中),2 过去30天,3 过去60天,4 过去90天,5本周,6 本月,7 上月,8 上上月,9 上上上月
*/
private Integer fixedDateDiff;
/**
* 排序字段
* 日均使用导购占比
* 转化客户数
*/
private Integer orderByField;
/**
* 1 生序
* 0 降序
*/
private Integer order;
@Override
public Integer getFixedDateDiff() {
return fixedDateDiff;
}
@Override
public void setFixedDateDiff(Integer fixedDateDiff) {
this.fixedDateDiff = fixedDateDiff;
}
@Override
public Integer getOrderByField() {
return orderByField;
}
@Override
public void setOrderByField(Integer orderByField) {
this.orderByField = orderByField;
}
@Override
public Integer getOrder() {
return order;
}
@Override
public void setOrder(Integer order) {
this.order = order;
}
}
package com.gic.haoban.manage.web.qo.content.statistics;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2023/3/23 12:48 PM
* @Description
* @Version
* 素材使用纬度参数
**/
public class MaterialClerkUsedQO extends BasePageInfo {
private String enterpriseId;
}
package com.gic.haoban.manage.web.qo.content.statistics;
import com.gic.api.base.commons.BasePageInfo;
/**
* @Author MUSI
* @Date 2023/3/23 12:49 PM
* @Description
* @Version
**/
public class MaterialStatisticsBaseQO extends BasePageInfo {
/**
* 企业id
*/
private String enterpriseId;
/**
* 导购id
*/
private String clerkId;
/**
* 门店id
*/
private String storeId;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public Integer getFixedDateDiff() {
return fixedDateDiff;
}
public void setFixedDateDiff(Integer fixedDateDiff) {
this.fixedDateDiff = fixedDateDiff;
}
public Integer getOrderByField() {
return orderByField;
}
public void setOrderByField(Integer orderByField) {
this.orderByField = orderByField;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
}
package com.gic.haoban.manage.web.vo.content.statistics;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author MUSI
* @Date 2023/3/23 11:43 AM
* @Description
* @Version
* 导购纬度使用数据
**/
public class MaterialClerkUsedDataVO implements Serializable {
private static final long serialVersionUID = -6389925840088323751L;
/**
* 门店id
*/
private String storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 门店code
*/
private String storeCode;
/**
* 导购id
*/
private String clerkId;
/**
* 导购名称
*/
private String clerkName;
/**
* 导购code
*/
private String clerkCode;
/**
* 是否离职 0否1是
*/
private Integer isDimission;
/**
* 使用素材天数
*/
private Integer useMatlDayNum;
/**
* 使用素材数
*/
private Integer useMatlNum;
/**
* 单个素材平均使用次数
*/
private BigDecimal singleMatlAvgCnt;
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public Integer getIsDimission() {
return isDimission;
}
public void setIsDimission(Integer isDimission) {
this.isDimission = isDimission;
}
public Integer getUseMatlDayNum() {
return useMatlDayNum;
}
public void setUseMatlDayNum(Integer useMatlDayNum) {
this.useMatlDayNum = useMatlDayNum;
}
public Integer getUseMatlNum() {
return useMatlNum;
}
public void setUseMatlNum(Integer useMatlNum) {
this.useMatlNum = useMatlNum;
}
public BigDecimal getSingleMatlAvgCnt() {
return singleMatlAvgCnt;
}
public void setSingleMatlAvgCnt(BigDecimal singleMatlAvgCnt) {
this.singleMatlAvgCnt = singleMatlAvgCnt;
}
}
package com.gic.haoban.manage.web.vo.content.statistics;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author MUSI
* @Date 2023/3/23 1:05 PM
* @Description
* @Version
**/
public class MaterialDataOverviewVO implements Serializable {
/**
* 日均使用素材导购数
*/
private Integer dayAvgUseMatlNum;
/**
* 日均导购使用占比
*/
private BigDecimal dayAvgUseRate;
/**
* 点击客户数
*/
private Integer clickUserNum;
/**
* 转化客户数
*/
private Integer convUserNum;
/**
* 客户转化金额
*/
private BigDecimal convSalesNmt;
public Integer getDayAvgUseMatlNum() {
return dayAvgUseMatlNum;
}
public void setDayAvgUseMatlNum(Integer dayAvgUseMatlNum) {
this.dayAvgUseMatlNum = dayAvgUseMatlNum;
}
public BigDecimal getDayAvgUseRate() {
return dayAvgUseRate;
}
public void setDayAvgUseRate(BigDecimal dayAvgUseRate) {
this.dayAvgUseRate = dayAvgUseRate;
}
public Integer getClickUserNum() {
return clickUserNum;
}
public void setClickUserNum(Integer clickUserNum) {
this.clickUserNum = clickUserNum;
}
public Integer getConvUserNum() {
return convUserNum;
}
public void setConvUserNum(Integer convUserNum) {
this.convUserNum = convUserNum;
}
public BigDecimal getConvSalesNmt() {
return convSalesNmt;
}
public void setConvSalesNmt(BigDecimal convSalesNmt) {
this.convSalesNmt = convSalesNmt;
}
}
package com.gic.haoban.manage.web.vo.content; package com.gic.haoban.manage.web.vo.content.statistics;
import java.io.Serializable; import java.io.Serializable;
...@@ -7,6 +7,7 @@ import java.io.Serializable; ...@@ -7,6 +7,7 @@ import java.io.Serializable;
* @Date 2023/3/13 3:32 PM * @Date 2023/3/13 3:32 PM
* @Description * @Description
* @Version * @Version
* 好办素材首页数据统计
**/ **/
public class MaterialIndexDataVO implements Serializable { public class MaterialIndexDataVO implements Serializable {
......
package com.gic.haoban.manage.web.vo.content.statistics;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author MUSI
* @Date 2023/3/23 12:58 PM
* @Description
* @Version
**/
public class MaterialRealDataVO implements Serializable {
/**
* 素材使用导购数
*/
private Integer useMatlClerkNum;
/**
* 未使用素材导购数
*/
private Integer unusedMatlClerkNum;
/**
* 点击客户数
*/
private Integer clickUserNum;
/**
* 转换客户数
*/
private Integer convUserNum;
/**
* 客户转化金额
*/
private BigDecimal convSalesAmt;
public Integer getUseMatlClerkNum() {
return useMatlClerkNum;
}
public void setUseMatlClerkNum(Integer useMatlClerkNum) {
this.useMatlClerkNum = useMatlClerkNum;
}
public Integer getUnusedMatlClerkNum() {
return unusedMatlClerkNum;
}
public void setUnusedMatlClerkNum(Integer unusedMatlClerkNum) {
this.unusedMatlClerkNum = unusedMatlClerkNum;
}
public Integer getClickUserNum() {
return clickUserNum;
}
public void setClickUserNum(Integer clickUserNum) {
this.clickUserNum = clickUserNum;
}
public Integer getConvUserNum() {
return convUserNum;
}
public void setConvUserNum(Integer convUserNum) {
this.convUserNum = convUserNum;
}
public BigDecimal getConvSalesAmt() {
return convSalesAmt;
}
public void setConvSalesAmt(BigDecimal convSalesAmt) {
this.convSalesAmt = convSalesAmt;
}
}
package com.gic.haoban.manage.web.vo.content.statistics;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author MUSI
* @Date 2023/3/23 11:43 AM
* @Description
* @Version
* 导购纬度使用数据
**/
public class MaterialStoreUsedDataVO implements Serializable {
private static final long serialVersionUID = -6389925840088323751L;
/**
* 日均使用素材导购数
*/
private Integer dayAvgUseMatlNum;
/**
* 日均导购使用占比
*/
private BigDecimal dayAvgUseRate;
/**
* 点击客户数
*/
private Integer clickUserNum;
/**
* 转化客户数
*/
private Integer convUserNum;
/**
* 客户转化金额
*/
private BigDecimal convSalesNmt;
/**
* 门店id
*/
private String storeId;
/**
* 门店code
*/
private String storeCode;
/**
* 门店名称
*/
private String storeName;
public Integer getDayAvgUseMatlNum() {
return dayAvgUseMatlNum;
}
public void setDayAvgUseMatlNum(Integer dayAvgUseMatlNum) {
this.dayAvgUseMatlNum = dayAvgUseMatlNum;
}
public BigDecimal getDayAvgUseRate() {
return dayAvgUseRate;
}
public void setDayAvgUseRate(BigDecimal dayAvgUseRate) {
this.dayAvgUseRate = dayAvgUseRate;
}
public Integer getClickUserNum() {
return clickUserNum;
}
public void setClickUserNum(Integer clickUserNum) {
this.clickUserNum = clickUserNum;
}
public Integer getConvUserNum() {
return convUserNum;
}
public void setConvUserNum(Integer convUserNum) {
this.convUserNum = convUserNum;
}
public BigDecimal getConvSalesNmt() {
return convSalesNmt;
}
public void setConvSalesNmt(BigDecimal convSalesNmt) {
this.convSalesNmt = convSalesNmt;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}
package com.gic.haoban.manage.web.vo.content.statistics;
import com.gic.mall.api.dto.wxapp.Page;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author MUSI
* @Date 2023/3/23 10:44 AM
* @Description
* @Version
**/
public class MaterialUsedAnalyzeVO implements Serializable {
private static final long serialVersionUID = 2812548946909489908L;
/**
* 素材概览数据
*/
private MaterialDataOverview materialDataOverview;
/**
* 素材概览
*/
public static class MaterialDataOverview {
/**
* 日均使用素材导购数
*/
private Integer dayAvgUseMatlNum;
/**
* 日均导购使用占比
*/
private BigDecimal dayAvgUseRate;
/**
* 点击客户数
*/
private Integer clickUserNum;
/**
* 转化客户数
*/
private Integer convUserNum;
/**
* 客户转化金额
*/
private BigDecimal convSalesNmt;
public Integer getDayAvgUseMatlNum() {
return dayAvgUseMatlNum;
}
public void setDayAvgUseMatlNum(Integer dayAvgUseMatlNum) {
this.dayAvgUseMatlNum = dayAvgUseMatlNum;
}
public BigDecimal getDayAvgUseRate() {
return dayAvgUseRate;
}
public void setDayAvgUseRate(BigDecimal dayAvgUseRate) {
this.dayAvgUseRate = dayAvgUseRate;
}
public Integer getClickUserNum() {
return clickUserNum;
}
public void setClickUserNum(Integer clickUserNum) {
this.clickUserNum = clickUserNum;
}
public Integer getConvUserNum() {
return convUserNum;
}
public void setConvUserNum(Integer convUserNum) {
this.convUserNum = convUserNum;
}
public BigDecimal getConvSalesNmt() {
return convSalesNmt;
}
public void setConvSalesNmt(BigDecimal convSalesNmt) {
this.convSalesNmt = convSalesNmt;
}
}
public MaterialDataOverview getMaterialDataOverview() {
return materialDataOverview;
}
public void setMaterialDataOverview(MaterialDataOverview materialDataOverview) {
this.materialDataOverview = materialDataOverview;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment