统计查询
This commit is contained in:
@@ -8,6 +8,7 @@ import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@TableName("user_contribution")
|
||||
@@ -37,4 +38,10 @@ public class UserContribution {
|
||||
|
||||
@TableField(exist = false)
|
||||
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;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang.time.DateUtils;
|
||||
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.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -113,6 +116,39 @@ public class UserContributionController {
|
||||
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")
|
||||
public R saveUserContribution(@RequestBody UserContribution contribution) {
|
||||
contributionService.save(contribution);
|
||||
|
||||
Reference in New Issue
Block a user