Commit e954fa5d by guojx

店长 任务列表

parent a5f2a0c0
...@@ -4,18 +4,21 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,18 +4,21 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils; import com.gic.commons.util.DataApiUtils;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionClerkQO; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionDataQO; import com.gic.haoban.manage.web.qo.canvas.*;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionMemberQO;
import com.gic.haoban.manage.web.utils.EsMemberInfoUtils; import com.gic.haoban.manage.web.utils.EsMemberInfoUtils;
import com.gic.haoban.manage.web.vo.canvas.CanvasConversionDataVO; import com.gic.haoban.manage.web.vo.canvas.CanvasConversionDataVO;
import com.gic.haoban.manage.web.vo.canvas.CanvasConversionMemberVO; import com.gic.haoban.manage.web.vo.canvas.CanvasConversionMemberVO;
import com.gic.haoban.manage.web.vo.canvas.CanvasStoreTaskVO;
import com.gic.haoban.manage.web.vo.canvas.CanvasTaskVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -30,6 +33,8 @@ import java.util.stream.Stream; ...@@ -30,6 +33,8 @@ import java.util.stream.Stream;
public class CanvasDataController { public class CanvasDataController {
@Autowired @Autowired
private EsMemberInfoUtils esMemberInfoUtils; private EsMemberInfoUtils esMemberInfoUtils;
@Autowired
private StaffApiService staffApiService;
/** /**
* 活动转化数据 * 活动转化数据
...@@ -87,6 +92,58 @@ public class CanvasDataController { ...@@ -87,6 +92,58 @@ public class CanvasDataController {
return RestResponse.successResult(page); return RestResponse.successResult(page);
} }
/**
* 区经的话务/群发 门店和活动数据
* @param qo
* @return
*/
@RequestMapping("get-tel-or-mass-task-data")
public RestResponse<Page<CanvasTaskVO>> getTelOrMassTaskData(@RequestBody CanvasTaskQO qo) {
boolean isStore = qo.getDataType() == 1;
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo);
setPageParam(jsonObject, qo.getPageNum(), qo.getPageSize());
List<String> authStoreIdList = staffApiService
.getHaobanStoreIdsRolesByClerkIdAndStoreStatus(qo.getClerkId(), qo.getWxEnterpriseId(), null, null);
if (CollectionUtils.isNotEmpty(authStoreIdList)) {
jsonObject.put("storeId", authStoreIdList.stream().collect(Collectors.joining(",")));
}
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mkt_canvas_haoban_mkt_task");
Page<CanvasTaskVO> page = DataApiUtils.getPageData(res, CanvasTaskVO.class);
List<CanvasTaskVO> list = page.getResult();
if (qo.getPageNum() == 1) {
//合计
jsonObject.put("dataType", 4);
res = DataApiUtils.http(jsonObject.toJSONString(), "data_mkt_canvas_haoban_mkt_task");
JSONObject total = DataApiUtils.getPageOne(res);
total.put(isStore ? "storeName" : "canvasName", "合计");
if (CollectionUtils.isEmpty(list)) {
list = new ArrayList<>();
}
list.add(0, JSONObject.parseObject(total.toJSONString(), CanvasTaskVO.class));
page.setResult(list);
}
return RestResponse.successResult(page);
}
/**
* 店长 任务列表
* @param qo
* @return
*/
@RequestMapping("get-tel-and-mass-task-data")
public RestResponse<Page<CanvasStoreTaskVO>> getTelAndMassTaskData(@RequestBody CanvasStoreTaskQO qo) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo);
setPageParam(jsonObject, qo.getPageNum(), qo.getPageSize());
jsonObject.put("subType", "all");
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mkt_canvas_haoban_mkt_task");
Page<CanvasStoreTaskVO> page = DataApiUtils.getPageData(res, CanvasStoreTaskVO.class);
return RestResponse.successResult(page);
}
private void setPageParam(JSONObject jsonObject, Integer pageNum, Integer pageSize) { private void setPageParam(JSONObject jsonObject, Integer pageNum, Integer pageSize) {
jsonObject.put("pageNum", pageNum == null ? 1 : pageNum); jsonObject.put("pageNum", pageNum == null ? 1 : pageNum);
jsonObject.put("pageSize", pageSize == null ? 10 : pageSize); jsonObject.put("pageSize", pageSize == null ? 10 : pageSize);
......
...@@ -12,4 +12,9 @@ public class CanvasConversionMemberQO extends CanvasConversionDataQO implements ...@@ -12,4 +12,9 @@ public class CanvasConversionMemberQO extends CanvasConversionDataQO implements
private Integer pageNum; private Integer pageNum;
private Integer pageSize; private Integer pageSize;
/**
* 1已转化2为转化 默认已转化
*/
private Integer isConvs;
} }
package com.gic.haoban.manage.web.qo.canvas;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.gic.commons.web.qo.PageQo;
import lombok.Data;
import java.io.Serializable;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CanvasStoreTaskQO extends PageQo implements Serializable {
/**
* 1 升序 2降序
*/
private Integer orderByType;
/**
* 1完成任务数2待完成任务数3逾期任务数4逾期失效任务数5总任务数6任务完成率
*/
private String orderByFields;
/**
* 开始时间 yyyy-MM-dd
*/
private String startDate;
private String endDate;
/**
* 导购筛选
*/
private String clerkQuery;
/**
* 画布活动筛选
*/
private String canvasQuery;
/**
* 门店ID
*/
private String storeId;
/**
* 普通导购
*/
private String clerkId;
/**
* 2导购3活动 4:门店合计
*/
private Integer dataType;
/**
* 企业ID.
*/
private String enterpriseId;
public Integer getDataType() {
return dataType == null ? 2 : dataType;
}
}
package com.gic.haoban.manage.web.qo.canvas;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.gic.commons.web.qo.PageQo;
import lombok.Data;
import java.io.Serializable;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CanvasTaskQO extends PageQo implements Serializable {
/**
* 1 升序 2降序
*/
private Integer orderByType;
/**
* 1完成任务数2待完成任务数3逾期任务数4逾期失效任务数5总任务数6任务完成率
*/
private String orderByFields;
/**
* tel_task 话务任务 mass 群发任务
*/
private String subType;
/**
* 开始时间 yyyy-MM-dd
*/
private String startDate;
private String endDate;
/**
* 门店筛选
*/
private String storeQuery;
/**
* 画布活动筛选
*/
private String canvasQuery;
/**
* 门店维度跳转到活动维度时候,传递
*/
private String storeId;
/**
* 1门店 3活动
*/
private Integer dataType;
/**
* 企业ID.
*/
private String enterpriseId;
/**
* 微信企业
*/
private String wxEnterpriseId;
/**
* 区经,用于查询管辖门店权限
*/
private String clerkId;
public Integer getDataType() {
return dataType == null ? 1 : dataType;
}
}
package com.gic.haoban.manage.web.vo.canvas;
import lombok.Data;
import java.io.Serializable;
@Data
public class CanvasStoreTaskVO implements Serializable {
/**
* 完成任务数
*/
private Integer complTaskCnt;
/**
* 待完成任务数
*/
private Integer untreatedTaskCnt;
/**
* 逾期中任务数
*/
private Integer overdueTaskCnt;
/**
* 逾期失效任务数
*/
private Integer overdueInvalidTaskCnt;
/**
* 总任务数
*/
private Integer assignedTaskCnt;
/**
* 任务完成率
*/
private Double taskComplRate;
/**
* 放弃任务数
*/
private Integer abandonTaskCnt;
/**
* 导购名称
*/
private String clerkName;
private String clerkId;
/**
* 画布活动名称
*/
private String canvasName;
/**
* 活动ID
*/
private String canvasId;
}
package com.gic.haoban.manage.web.vo.canvas;
import lombok.Data;
import java.io.Serializable;
@Data
public class CanvasTaskVO implements Serializable {
/**
* 完成任务数
*/
private Integer complTaskCnt;
/**
* 待完成任务数
*/
private Integer untreatedTaskCnt;
/**
* 逾期中任务数
*/
private Integer overdueTaskCnt;
/**
* 逾期失效任务数
*/
private Integer overdueInvalidTaskCnt;
/**
* 总任务数
*/
private Integer assignedTaskCnt;
/**
* 任务完成率
*/
private Double taskComplRate;
/**
*
*/
private String storeId;
/**
* 放弃任务数
*/
private Integer abandonTaskCnt;
/**
* 门店名称
*/
private String storeName;
/**
* 画布活动名称
*/
private String canvasName;
/**
* 活动ID
*/
private String canvasId;
}
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