|
@@ -1,6 +1,7 @@
|
|
package com.txz.cif.web.mng;
|
|
package com.txz.cif.web.mng;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.math.RoundingMode;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -51,6 +52,9 @@ public class ReportController extends AbstractApiController {
|
|
@Resource
|
|
@Resource
|
|
private RechargeRecordService rechargeRecordService;
|
|
private RechargeRecordService rechargeRecordService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private WithdrawRecordService withdrawRecordService;
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
@PostMapping("/query")
|
|
@PostMapping("/query")
|
|
@@ -60,13 +64,13 @@ public class ReportController extends AbstractApiController {
|
|
Condition c = new Condition(User.class);
|
|
Condition c = new Condition(User.class);
|
|
c.createCriteria().andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59");
|
|
c.createCriteria().andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59");
|
|
Integer num = userService.countByCondition(c);
|
|
Integer num = userService.countByCondition(c);
|
|
- return ResultGenerator.genSuccessResult(num);
|
|
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
} else if (query.getType() == 2){
|
|
} else if (query.getType() == 2){
|
|
Condition c = new Condition(User.class);
|
|
Condition c = new Condition(User.class);
|
|
c.createCriteria().andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
c.createCriteria().andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
.andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
.andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
Integer num = userService.countByCondition(c);
|
|
Integer num = userService.countByCondition(c);
|
|
- return ResultGenerator.genSuccessResult(num);
|
|
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
} else if (query.getType() == 3){
|
|
} else if (query.getType() == 3){
|
|
Condition c = new Condition(User.class);
|
|
Condition c = new Condition(User.class);
|
|
Date date = DateUtil.parseDate(query.getDay());
|
|
Date date = DateUtil.parseDate(query.getDay());
|
|
@@ -74,29 +78,169 @@ public class ReportController extends AbstractApiController {
|
|
c.createCriteria().andLessThanOrEqualTo("lastLoginTime",date)
|
|
c.createCriteria().andLessThanOrEqualTo("lastLoginTime",date)
|
|
.andGreaterThanOrEqualTo("lastLoginTime",day7);
|
|
.andGreaterThanOrEqualTo("lastLoginTime",day7);
|
|
Integer num = userService.countByCondition(c);
|
|
Integer num = userService.countByCondition(c);
|
|
- return ResultGenerator.genSuccessResult(num);
|
|
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
} else if (query.getType() == 4){
|
|
} else if (query.getType() == 4){
|
|
HashMap map = new HashMap();
|
|
HashMap map = new HashMap();
|
|
map.put("status",2);
|
|
map.put("status",2);
|
|
map.put("startTime",query.getDay()+" 00:00:00");
|
|
map.put("startTime",query.getDay()+" 00:00:00");
|
|
map.put("endTime",query.getDay()+" 23:59:59");
|
|
map.put("endTime",query.getDay()+" 23:59:59");
|
|
-// Condition c = new Condition(RechargeRecord.class);
|
|
|
|
-// c.createCriteria().andEqualTo("status",2).andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
-// .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
Integer num = rechargeRecordService.countByUserId(map);
|
|
Integer num = rechargeRecordService.countByUserId(map);
|
|
- return ResultGenerator.genSuccessResult(num);
|
|
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
} else if (query.getType() == 5){
|
|
} else if (query.getType() == 5){
|
|
-// Condition c = new Condition(Flow.class);
|
|
|
|
-// c.createCriteria().andEqualTo("type",6).andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
-// .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
-// c.setDistinct(true);
|
|
|
|
-// c.setCountProperty("user_id");
|
|
|
|
-
|
|
|
|
HashMap map = new HashMap();
|
|
HashMap map = new HashMap();
|
|
map.put("type",6);
|
|
map.put("type",6);
|
|
map.put("startTime",query.getDay()+" 00:00:00");
|
|
map.put("startTime",query.getDay()+" 00:00:00");
|
|
map.put("endTime",query.getDay()+" 23:59:59");
|
|
map.put("endTime",query.getDay()+" 23:59:59");
|
|
- Integer integer = flowService.countByUserId(map);
|
|
|
|
|
|
+ Integer num = flowService.countByUserId(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
|
|
+ } else if (query.getType() == 6){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",4);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ Integer num = withdrawRecordService.countByUserId(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
|
|
+ } else if (query.getType() == 9){
|
|
|
|
+ //充值总金额
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",2);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = rechargeRecordService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ } else if (query.getType() == 8){
|
|
|
|
+ Condition c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria().andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ Integer num = userService.countByCondition(c);
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(num));
|
|
|
|
+ } else if (query.getType() == 10){
|
|
|
|
+ //充值成功率
|
|
|
|
+ Condition c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria().andEqualTo("status",2)
|
|
|
|
+ .andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ Integer count = rechargeRecordService.countByCondition(c);
|
|
|
|
+ c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria()
|
|
|
|
+ .andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ Integer total = rechargeRecordService.countByCondition(c);
|
|
|
|
+ if (total != 0){
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(count).divide(BigDecimal.valueOf(total),2, RoundingMode.DOWN));
|
|
|
|
+ }
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.ZERO);
|
|
|
|
+ }else if (query.getType() == 11){
|
|
|
|
+ //平均充值金额
|
|
|
|
+ //充值金额
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",2);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ BigDecimal sum = rechargeRecordService.sumByStatus(map);
|
|
|
|
+ //充值订单数
|
|
|
|
+ Condition c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria().andEqualTo("status",2)
|
|
|
|
+ .andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ Integer count = rechargeRecordService.countByCondition(c);
|
|
|
|
+ if (count != 0){
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum.divide(BigDecimal.valueOf(count),2, RoundingMode.DOWN));
|
|
|
|
+ }
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.ZERO);
|
|
|
|
+ } else if (query.getType() == 14){
|
|
|
|
+ //提现总金额
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",4);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = withdrawRecordService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ } else if (query.getType() == 13){
|
|
|
|
+ //提现订单数
|
|
|
|
+ Condition c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria().andEqualTo("status",4)
|
|
|
|
+ .andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ Integer count = withdrawRecordService.countByCondition(c);
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.valueOf(count));
|
|
|
|
+ } else if (query.getType() == 16){
|
|
|
|
+ //平均提现金额
|
|
|
|
+ //提现金额
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",4);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ BigDecimal sum = withdrawRecordService.sumByStatus(map);
|
|
|
|
+ //提现订单数
|
|
|
|
+ Condition c = new Condition(RechargeRecord.class);
|
|
|
|
+ c.createCriteria().andEqualTo("status",4)
|
|
|
|
+ .andLessThanOrEqualTo("createTime",query.getDay()+" 23:59:59")
|
|
|
|
+ .andGreaterThanOrEqualTo("createTime",query.getDay()+" 00:00:00");
|
|
|
|
+ Integer count = withdrawRecordService.countByCondition(c);
|
|
|
|
+ if (count != 0){
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum.divide(BigDecimal.valueOf(count),2, RoundingMode.DOWN));
|
|
|
|
+ }
|
|
|
|
+ return ResultGenerator.genSuccessResult(BigDecimal.ZERO);
|
|
|
|
+ }else if (query.getType() == 17){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 18){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",1);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 19){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("status",2);
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 20){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("bizType",BizTypeEnum.PROMOTION_COMMISSION.getValue());
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 21){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("bizType",BizTypeEnum.OPEN_GROUP_RED_ENVELOPE.getValue());
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 22){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("bizType",BizTypeEnum.JOIN_GROUP_RED_ENVELOPE.getValue());
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
|
|
+ }else if (query.getType() == 23){
|
|
|
|
+ HashMap map = new HashMap();
|
|
|
|
+ map.put("bizType",BizTypeEnum.SIGN_RED_ENVELOPE.getValue());
|
|
|
|
+ map.put("startTime",query.getDay()+" 00:00:00");
|
|
|
|
+ map.put("endTime",query.getDay()+" 23:59:59");
|
|
|
|
+ // 执行查询,返回一个包含求和结果的对象列表
|
|
|
|
+ BigDecimal sum = redEnvelopeService.sumByStatus(map);
|
|
|
|
+ return ResultGenerator.genSuccessResult(sum);
|
|
}
|
|
}
|
|
return ResultGenerator.genSuccessResult(BigDecimal.ZERO);
|
|
return ResultGenerator.genSuccessResult(BigDecimal.ZERO);
|
|
}
|
|
}
|