67 lines
2.8 KiB
Java
67 lines
2.8 KiB
Java
package com.peanut.modules.common.controller;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.github.yulichang.base.MPJBaseMapper;
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
import com.peanut.common.utils.R;
|
|
import com.peanut.common.utils.ShiroUtils;
|
|
import com.peanut.modules.common.entity.UserContribution;
|
|
import com.peanut.modules.master.service.UserContributionService;
|
|
import com.peanut.modules.sys.entity.SysDictDataEntity;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
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.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 湖分
|
|
*/
|
|
@Slf4j
|
|
@RestController("commonUserContribution")
|
|
@RequestMapping("common/userContribution")
|
|
public class UserContributionController {
|
|
|
|
@Autowired
|
|
private UserContributionService contributionService;
|
|
|
|
//获取我的湖分列表
|
|
@RequestMapping("/getUserContribution")
|
|
public R getUserContribution(){
|
|
Integer userId = ShiroUtils.getUId();
|
|
//各分类总分
|
|
MPJLambdaWrapper<UserContribution> wrapper = new MPJLambdaWrapper();
|
|
wrapper.leftJoin(SysDictDataEntity.class,
|
|
SysDictDataEntity::getDictType,UserContribution::getType);
|
|
wrapper.eq(SysDictDataEntity::getDictLabel,"userContributionLabel");
|
|
wrapper.eq("user_id",userId);
|
|
wrapper.select("type");
|
|
wrapper.select("sum(score) as score");
|
|
wrapper.select(SysDictDataEntity::getDictValue);
|
|
wrapper.groupBy("type");
|
|
List contributions = contributionService.listMaps(wrapper);
|
|
//统计总分
|
|
MPJLambdaWrapper totalWrapper = new MPJLambdaWrapper();
|
|
totalWrapper.eq("user_id",userId);
|
|
totalWrapper.select("sum(score) as score");
|
|
Map map = contributionService.getMap(totalWrapper);
|
|
return R.ok().put("list",contributions).put("total",map==null?0:map.get("score"));
|
|
}
|
|
|
|
//分类下湖分明细
|
|
@RequestMapping("/getUserContributionByType")
|
|
public R getUserContributionByType(@RequestBody Map<String,Object> params){
|
|
LambdaQueryWrapper<UserContribution> wrapper = new LambdaQueryWrapper();
|
|
wrapper.eq(UserContribution::getUserId,ShiroUtils.getUId());
|
|
wrapper.eq(UserContribution::getType,params.get("type"));
|
|
wrapper.orderByDesc(UserContribution::getCreateTime);
|
|
Page<UserContribution> contributions = contributionService.page(new Page<>(
|
|
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())),wrapper);
|
|
return R.ok().put("list",contributions);
|
|
}
|
|
}
|