Commit e954fa5d by guojx

店长 任务列表

parent a5f2a0c0
......@@ -4,18 +4,21 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionClerkQO;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionDataQO;
import com.gic.haoban.manage.web.qo.canvas.CanvasConversionMemberQO;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.qo.canvas.*;
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.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 org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -30,6 +33,8 @@ import java.util.stream.Stream;
public class CanvasDataController {
@Autowired
private EsMemberInfoUtils esMemberInfoUtils;
@Autowired
private StaffApiService staffApiService;
/**
* 活动转化数据
......@@ -87,6 +92,58 @@ public class CanvasDataController {
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) {
jsonObject.put("pageNum", pageNum == null ? 1 : pageNum);
jsonObject.put("pageSize", pageSize == null ? 10 : pageSize);
......
......@@ -12,4 +12,9 @@ public class CanvasConversionMemberQO extends CanvasConversionDataQO implements
private Integer pageNum;
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