统计查询
This commit is contained in:
@@ -8,6 +8,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("user_contribution")
|
@TableName("user_contribution")
|
||||||
@@ -37,4 +38,10 @@ public class UserContribution {
|
|||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private MyUserEntity user;
|
private MyUserEntity user;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<UserContribution> contributions;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private int StatQueryFlag;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal StatQueryScore;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.peanut.modules.master.controller;
|
package com.peanut.modules.master.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
@@ -12,11 +13,13 @@ import com.peanut.modules.master.service.UserContributionService;
|
|||||||
import com.peanut.modules.sys.service.SysDictDataService;
|
import com.peanut.modules.sys.service.SysDictDataService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.commons.lang.time.DateUtils;
|
||||||
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.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -113,6 +116,39 @@ public class UserContributionController {
|
|||||||
return R.ok().put("result", page);
|
return R.ok().put("result", page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//统计查询
|
||||||
|
@RequestMapping("/contributionStatQuery")
|
||||||
|
public R contributionStatQuery(@RequestBody Map<String, Object> params) {
|
||||||
|
MPJLambdaWrapper<UserContribution> wrapper = new MPJLambdaWrapper();
|
||||||
|
wrapper.select(UserContribution::getUserId);
|
||||||
|
wrapper.selectSum(UserContribution::getScore);
|
||||||
|
wrapper.leftJoin(MyUserEntity.class, MyUserEntity::getId, UserContribution::getUserId);
|
||||||
|
if (params.containsKey("tel")&&StringUtils.isNotEmpty(params.get("tel").toString())) {
|
||||||
|
wrapper.like(MyUserEntity::getTel,params.get("tel"));
|
||||||
|
}
|
||||||
|
wrapper.groupBy(UserContribution::getUserId);
|
||||||
|
Page<UserContribution> page = contributionService.page(new Page<>(
|
||||||
|
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
|
||||||
|
List<UserContribution> userContributions = page.getRecords();
|
||||||
|
for (UserContribution contribution : userContributions) {
|
||||||
|
List<UserContribution> cs = contributionService.list(new LambdaQueryWrapper<UserContribution>()
|
||||||
|
.eq(UserContribution::getUserId,contribution.getUserId()));
|
||||||
|
if(params.containsKey("startTime")&&StringUtils.isNotEmpty(params.get("startTime").toString())){
|
||||||
|
BigDecimal statQueryScore = BigDecimal.ZERO;
|
||||||
|
for (UserContribution c:cs) {
|
||||||
|
if (c.getCreateTime().getTime()>=DateUtil.parse(params.get("startTime").toString(),"yyyy-MM-dd").getTime()){
|
||||||
|
c.setStatQueryFlag(1);
|
||||||
|
statQueryScore.add(c.getScore());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
contribution.setStatQueryScore(statQueryScore);
|
||||||
|
}
|
||||||
|
contribution.setContributions(cs);
|
||||||
|
contribution.setUser(userService.getById(contribution.getUserId()));
|
||||||
|
}
|
||||||
|
return R.ok().put("result", page);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/saveUserContribution")
|
@RequestMapping("/saveUserContribution")
|
||||||
public R saveUserContribution(@RequestBody UserContribution contribution) {
|
public R saveUserContribution(@RequestBody UserContribution contribution) {
|
||||||
contributionService.save(contribution);
|
contributionService.save(contribution);
|
||||||
|
|||||||
Reference in New Issue
Block a user