|
@@ -456,10 +456,6 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
Set<String> operatorUserIds = new HashSet<>();
|
|
|
|
|
|
try {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
if ("admin".equals(roleCode)) {
|
|
|
//所有运营
|
|
|
List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("perat");
|
|
@@ -480,13 +476,20 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
|
|
|
long now = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
|
|
|
|
|
|
-
|
|
|
//查询运营数据 -- 区分媒体
|
|
|
//List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
List<KuaiShouOperateVo> listOperate = new ArrayList<>();
|
|
|
if (mediaType.equals("1")){
|
|
|
- PageHelper.startPage(pageNum,pageSize);
|
|
|
- listOperate = materialStareMapper.getBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+
|
|
|
+ if (startDate == now){
|
|
|
+ PageHelper.startPage(pageNum,pageSize);
|
|
|
+ //查询 当天有效 上新计划 上新组
|
|
|
+ listOperate = materialStareMapper.getBytedanceOperateInfoHourly(now,now,operatorUserIds);
|
|
|
+ }else {
|
|
|
+ PageHelper.startPage(pageNum,pageSize);
|
|
|
+ listOperate = materialStareMapper.getBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+ }
|
|
|
+
|
|
|
for (KuaiShouOperateVo operate : listOperate) {
|
|
|
Set<String> ids = new HashSet<String>(){{
|
|
|
add(operate.getUserId());
|
|
@@ -559,7 +562,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Result exportKuaiShouOperateInfo(String startTime, String endTime, String userId, HttpServletResponse response) {
|
|
|
+ public Result exportKuaiShouOperateInfo(String startTime, String endTime, String mediaType,String userId, HttpServletResponse response) {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("0.00%");
|
|
|
String roleCode = materialStareMapper.getRoleCodeByUserId(userId);
|
|
|
Set<String> operatorUserIds = new HashSet<>();
|
|
@@ -587,45 +590,80 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
|
|
|
long now = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
|
|
|
|
|
|
- //查询运营数据
|
|
|
- //List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
- List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+ //查询运营数据 -- 区分媒体
|
|
|
+ //List<KuaiShouOperateVo> listOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+ List<KuaiShouOperateVo> listOperate = new ArrayList<>();
|
|
|
+ if (mediaType.equals("1")){
|
|
|
|
|
|
- for (KuaiShouOperateVo operate : listOperate) {
|
|
|
+ if (startDate == now){
|
|
|
+ //查询 当天有效 上新计划 上新组
|
|
|
+ listOperate = materialStareMapper.getBytedanceOperateInfoHourly(now,now,operatorUserIds);
|
|
|
+ }else {
|
|
|
+ listOperate = materialStareMapper.getBytedanceOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+ }
|
|
|
|
|
|
- Set<String> ids = new HashSet<String>(){{
|
|
|
- add(operate.getUserId());
|
|
|
- }};
|
|
|
+ for (KuaiShouOperateVo operate : listOperate) {
|
|
|
+ Set<String> ids = new HashSet<String>(){{
|
|
|
+ add(operate.getUserId());
|
|
|
+ }};
|
|
|
+ // 头条 没有当天数据
|
|
|
+ int newUnitNumNow = 0;
|
|
|
+// if (startDate == now || entDate == now){
|
|
|
+// //查询 当天有效 上新计划 上新组
|
|
|
+// JSONObject newEffect = materialStareMapper.getBytedanceAccountNowBaseByUserId(ids,null,null,now,now);
|
|
|
+// newUnitNumNow = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
|
|
|
+// }
|
|
|
+ //查询 有效 上新计划 上新组
|
|
|
+ JSONObject newEffect = materialStareMapper.getBytedanceAccountBaseByUserId(ids,null,null,startDate,entDate);
|
|
|
+ //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
|
|
|
+ operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
|
|
|
+ operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
|
|
|
|
|
|
- //当天
|
|
|
- int effect = 0;
|
|
|
- if (startDate == now || entDate == now){
|
|
|
- //查询 当天有效 上新计划 上新组
|
|
|
- JSONObject newEffect = materialStareMapper.getKuaiShouAccountNowBaseByUserId(ids,null,null,startDate,entDate);
|
|
|
- effect = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
|
|
|
- }
|
|
|
- //查询 有效 上新计划 上新组
|
|
|
- JSONObject newEffect = materialStareMapper.getKuaiShouAccountBaseByUserId(ids,null,null,startDate,entDate);
|
|
|
- //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
|
|
|
- operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
|
|
|
- operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+effect);//组
|
|
|
+ //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
|
|
|
+ List<KuaiShouOperateVo> userOperate = materialStareMapper.getBytedanceOperateInfo(lastTimeStart,lastTimeEnd,ids);
|
|
|
+ String rate = "0";
|
|
|
+ if (!Check.isNull(userOperate)){
|
|
|
+ //环比
|
|
|
+ Double rateDoulbe = (operate.getTotalCost() - userOperate.get(0).getTotalCost()) / userOperate.get(0).getTotalCost();
|
|
|
+ rate = decimalFormat.format(rateDoulbe);
|
|
|
+ }
|
|
|
+ operate.setRate(rate);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
+ for (KuaiShouOperateVo operate : listOperate) {
|
|
|
|
|
|
+ Set<String> ids = new HashSet<String>(){{
|
|
|
+ add(operate.getUserId());
|
|
|
+ }};
|
|
|
|
|
|
+ //当天
|
|
|
+ int newUnitNumNow = 0;
|
|
|
+ if (startDate == now || entDate == now){
|
|
|
+ //查询 当天有效 上新计划 上新组
|
|
|
+ JSONObject newEffect = materialStareMapper.getKuaiShouAccountNowBaseByUserId(ids,null,null,now,now);
|
|
|
+ newUnitNumNow = Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum");//组
|
|
|
+ }
|
|
|
|
|
|
- Set<String> userSet = new HashSet<String>(){{
|
|
|
- add(operate.getUserId());
|
|
|
- }};
|
|
|
- //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
|
|
|
- List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOrBytedanceOperateInfo(lastTimeStart,lastTimeEnd,ids);
|
|
|
- String rate = "0";
|
|
|
- if (!Check.isNull(userOperate)){
|
|
|
- //环比 = (当前 - 上阶段 ) / 上阶段
|
|
|
- Double rateDouble = (operate.getTotalCost() - userOperate.get(0).getTotalCost() ) / userOperate.get(0).getTotalCost();
|
|
|
- rate = decimalFormat.format(rateDouble);
|
|
|
+ //查询 有效 上新计划 上新组
|
|
|
+ JSONObject newEffect = materialStareMapper.getKuaiShouAccountBaseByUserId(ids,null,null,startDate,entDate);
|
|
|
+ //operate.setNewEffectNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newEffectNum"));//有效
|
|
|
+ operate.setNewCampaignNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newCampaignNum"));//计划
|
|
|
+ operate.setNewUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
|
|
|
+
|
|
|
+
|
|
|
+ //List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,userSet);
|
|
|
+ List<KuaiShouOperateVo> userOperate = materialStareMapper.getKuaiShouOperateInfo(lastTimeStart,lastTimeEnd,ids);
|
|
|
+ String rate = "0";
|
|
|
+ if (!Check.isNull(userOperate)){
|
|
|
+ //环比
|
|
|
+ Double rateDoulbe = (operate.getTotalCost() - userOperate.get(0).getTotalCost()) / userOperate.get(0).getTotalCost();
|
|
|
+ rate = decimalFormat.format(rateDoulbe);
|
|
|
+ }
|
|
|
+ operate.setRate(rate);
|
|
|
+ }
|
|
|
}
|
|
|
- operate.setRate(rate);
|
|
|
- }
|
|
|
- Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("运营数据详情", "运营数据"), KuaiShouOperateVo.class, listOperate);
|
|
|
+ Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("运营数据详情", "运营数据"), KuaiShouOperateVo.class, listOperate);
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
response.setHeader("content-Type", "application/vnd.ms-excel");
|
|
|
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("运营数据详情.xlsx", "UTF-8"));
|